:root{--accent:#0865f5;--navy:#082541;--bg:#eaf5fd;--surface:#fff;--text:#142448;--muted:#58708c;--border:#d5e6f3;--head:#e5f3ff;--font:15px;--pad:11px;--danger:#c62b37;--green:#008856;--purple:#6435df}*{box-sizing:border-box}body{margin:0;font:var(--font)/1.45 'Segoe UI',Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--border);border-radius:7px;padding:8px 13px;color:var(--accent);background:var(--surface);text-decoration:none;display:inline-flex;gap:6px;align-items:center;justify-content:center}button:hover{filter:brightness(.95);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.purple{background:var(--purple);color:#fff}button.success{background:var(--green);color:#fff}button.danger{color:var(--danger)}button.icon{padding:3px 7px;border:0;background:transparent}.copy{font-size:14px;margin-left:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #50baff;outline-offset:2px}a{color:var(--accent);text-underline-offset:3px}aside#sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:10}.brand{height:145px;background:white;padding:19px 23px;color:#143863}.brand img{width:180px;height:65px;object-fit:contain}.second-brand{font-size:15px;margin-top:8px;line-height:1.05}.second-brand strong{font-size:22px;display:block;letter-spacing:1px}.second-brand sup{float:right;margin-top:-18px}nav{padding:10px;overflow:auto}nav a{display:flex;gap:12px;color:#eef6ff;text-decoration:none;padding:11px 13px;border-radius:7px;margin:2px 0}nav a.active{background:#085eac;border-left:4px solid #00d2e9;padding-left:9px}.sidebar-bottom{font-size:11px;color:#bfd1e3;padding:12px 22px;margin-top:auto}.workspace{margin-left:226px}.topbar{height:58px;padding:0 26px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);background:var(--surface)}.spacer{flex:1}.profile-label{display:flex;align-items:center;gap:8px;font-size:12px}.profile-label select{max-width:205px}.demo-banner{padding:6px 25px;background:#fff0ca;color:#654b00;font-size:12px}#mobile-menu{display:none}main{padding:22px 25px;max-width:2200px;margin:auto}.title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:17px}.title h1{font-size:30px;line-height:1.15;margin:0;letter-spacing:-.6px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin:13px 0}.card h2{font-size:17px;color:var(--accent);margin:-4px -4px 13px;padding:5px 7px;background:var(--head);border-radius:5px}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.toolbar>label{flex:0 1 160px}.toolbar .search{flex:1 1 250px}.toolbar input,.toolbar select{width:100%}input,select,textarea{min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px 10px;max-width:100%}textarea{width:100%;resize:vertical;min-height:85px}input[type=color]{height:40px;width:75px;padding:4px}input[type=checkbox]{width:auto;margin-right:7px}label{display:block;font-size:13px;color:var(--muted)}label>input,label>select,label>textarea{display:block;margin-top:4px;width:100%}label.inline{display:flex;align-items:center;gap:5px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.col3{grid-column:span 3}.col4{grid-column:span 4}.col6{grid-column:span 6}.col8{grid-column:span 8}.col12{grid-column:span 12}.table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--border);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{position:sticky;top:0;background:var(--head);z-index:1;font-weight:500;color:var(--accent)}td,th{padding:var(--pad) 10px;border-bottom:1px solid var(--border);white-space:nowrap}tbody tr:hover{background:var(--head)}.tag{font-size:12px;border-radius:20px;padding:5px 11px;background:var(--head);color:var(--accent);white-space:nowrap}.tag.green{background:#d7f6e9;color:#006b44}.tag.red{background:#ffe4e5;color:#a61829}.tag.amber{background:#fff0c7;color:#7d5300}.overdue{color:var(--danger);font-weight:700}.avatar{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;color:white;font-size:12px;font-weight:700;vertical-align:middle}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.tabs .active{background:var(--accent);color:white}.muted{color:var(--muted);font-size:13px}.notice{background:var(--head);padding:11px 14px;border-radius:6px;margin:12px 0}.audit-btn{border:0;background:transparent;font-size:18px;padding:2px 7px}.linked{display:flex;align-items:center;gap:12px;overflow:auto;white-space:nowrap;padding:3px}.linked>span+span{border-left:1px solid var(--border);padding-left:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}.stat strong{display:block;font-size:31px;color:var(--accent)}.stat small{color:var(--muted)}.timeline{max-height:285px;overflow:auto}.activity{display:flex;gap:11px;align-items:start;padding:12px 4px;border-bottom:1px solid var(--border)}.activity .body{flex:1;white-space:pre-wrap}.repeat-row{display:flex;gap:8px;align-items:center;margin:8px 0}.repeat-row input{flex:1}.repeat-row .short{max-width:85px}.repeat-row button{flex-shrink:0}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.tool-grid .card{margin:0}.tool-grid h3{margin:5px 0;font-size:16px}.tool-grid p{font-size:13px;color:var(--muted)}#save-state{padding:10px 26px;font-size:12px;color:var(--green)}dialog{border:1px solid var(--border);border-radius:12px;padding:22px;width:min(850px,94vw);max-height:90vh;overflow:auto;background:var(--surface);color:var(--text)}dialog::backdrop{background:#08254188}dialog h2{margin:0 0 15px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-head button{font-size:18px}.empty{padding:35px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:24px;right:24px;padding:12px 22px;background:var(--navy);color:white;border-radius:8px;display:none;z-index:100}.readonly{background:var(--head)}.login{max-width:600px;margin:55px auto}.login img{max-width:280px}.login .card{padding:30px}.unread td:nth-child(2){font-weight:700}.compact-fields{display:grid;grid-template-columns:2.4fr 1.3fr 1fr .8fr 1.1fr;gap:9px}.small-code{font:12px monospace}.steps{counter-reset:step}.steps p{padding:10px;border-bottom:1px solid var(--border)}.danger-note{color:var(--danger)}.chips{display:flex;gap:7px;flex-wrap:wrap}.theme-choice{padding:15px}.title .muted{max-width:600px}.hidden{display:none!important}@media(min-width:1700px){body{--font:16px}main{padding:26px 32px}.table-wrap{max-height:68vh}}@media(max-width:1100px){aside#sidebar{width:190px}.workspace{margin-left:190px}.brand{padding:16px}.brand img{width:155px}.split{grid-template-columns:1fr}.compact-fields{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){aside#sidebar{transform:translateX(-100%);width:220px}body.menu-open aside#sidebar{transform:translateX(0)}.workspace{margin:0}#mobile-menu{display:block}main{padding:15px}.topbar{padding:0 12px}.demo-banner{padding:7px 12px}.profile-label{font-size:0}.profile-label select{font-size:12px;max-width:145px}.title h1{font-size:25px}.actions{margin-left:0}.col3,.col4,.col6,.col8{grid-column:span 12}.compact-fields{grid-template-columns:1fr 1fr}.table-wrap{max-height:65vh}.repeat-row{flex-wrap:wrap}.repeat-row input{flex-basis:35%}.stats{gap:8px}}

.compact-fields>[class*="col"]{grid-column:auto}

@media(min-width:1200px){
form[data-form="client"]>fieldset{display:grid;grid-template-columns:1.15fr 1fr;column-gap:16px}
form[data-form="client"]>fieldset>.card:nth-of-type(n+3),form[data-form="client"]>fieldset>.form-actions{grid-column:1/-1}
form[data-form="client"] [data-repeat="licences"]{display:flex;flex-wrap:wrap;gap:12px}
form[data-form="client"] [data-repeat="licences"] input[type="date"]{max-width:170px}
}
.repeat-row input{min-width:0}
[data-repeat="phones"] [data-key="prefix"]{max-width:65px}
[data-repeat="phones"] [data-key="value"]{max-width:160px}
[data-repeat="addresses"] [data-key="value"]{flex:2.2}

button.primary{color:var(--buttonText,#fff)}

/* Distribución de trabajo próxima a las maquetas aprobadas. */
:root{--accent:#005cff;--navy:#032747;--bg:#e9f5ff}
body{background:linear-gradient(115deg,#eefaff,#e0efff)}
.workspace{min-height:100vh}
.brand{background:linear-gradient(#fff,#f6fcff);border-bottom:1px solid #dceeff}
.brand img{width:180px}
.topbar{background:linear-gradient(90deg,var(--surface),var(--head));position:sticky;top:0;z-index:8}
.title h1{font-size:30px;color:var(--text)}
.card{border-color:color-mix(in srgb,var(--border),transparent 15%);box-shadow:0 3px 12px #00478b06;border-radius:10px}
.card h2{color:var(--accent);background:transparent;margin:0 0 10px;padding:0;font-size:19px}
input,select{min-height:36px}
input[type=checkbox]{min-height:0}
.input-copy{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;background:var(--surface)}
.input-copy input{border:0;min-width:0;flex:1;width:100%;background:transparent}
.input-copy button{border-left:1px solid var(--border);border-radius:0}
.input-copy:focus-within{outline:2px solid #8ad7ff}
.input-copy input:focus-visible{outline:0}
.notice-count{background:#ed1743;color:white;border:2px solid white;min-width:25px;height:25px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 1px 6px #aa002840;margin-left:auto}
#unread{margin-left:0;position:absolute;right:-7px;top:-7px}
button[aria-label=Avisos]{position:relative;font-size:21px;min-width:45px}
#unread[hidden]{display:none}
.has-notice{animation:notice-emphasis 1.8s ease-in-out 3}
@keyframes notice-emphasis{50%{box-shadow:0 0 0 5px #ff164333}}
@media(prefers-reduced-motion:reduce){.has-notice{animation:none}}
nav a{padding:9px 12px}nav a.active{background:linear-gradient(90deg,#00508c,#005baf);box-shadow:inset 4px 0 #00e1ff}
.person-list{margin:16px 0;border-top:1px solid var(--border)}
.person-row{display:grid;grid-template-columns:130px 190px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:center}
.person-row>div:last-of-type{grid-column:3}
.person-row label{display:block}
.person-row>strong{color:var(--accent)}
.person-summary{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:6px;align-items:center}
.occasional-entry{display:flex;gap:10px;align-items:center;margin:7px 0;flex-wrap:wrap}
.occasional-entry>label{flex:1;min-width:200px}
.coverage-fields{background:var(--head);border-radius:8px;padding:14px}
.family-scroll{max-height:260px;min-height:205px;overflow:auto}
.server-error{position:fixed;bottom:12px;left:245px;right:15px;background:#fff1f0;color:#711726;padding:18px;border:2px solid #cc263d;border-radius:8px;z-index:110;box-shadow:0 8px 30px #0003}
.server-error button,.server-error a{margin-right:12px}
.server-saving #save-state{color:#a55d00}
body:has(#server-error) #save-state{color:#b51d32}
.profile-label[hidden]{display:none}
.tabs a{font-size:15px;font-weight:600;text-decoration:none}
.tabs{border:1px solid var(--border);background:var(--surface);padding:10px 14px;border-radius:7px;display:flex;gap:15px;flex-wrap:wrap;color:#b2cee8}
table td a{font-weight:600}
td:nth-child(2){white-space:nowrap}
@media(min-width:1200px){form[data-form="client"] [data-repeat=phones] [data-key=value]{max-width:160px}form[data-form="client"] .col3{grid-column:span 3}}
@media(max-width:850px){.person-row{grid-template-columns:1fr 1fr}.person-row>div:last-of-type{grid-column:1/-1}.server-error{left:12px}.person-row>strong{grid-column:1/-1}}
@media(min-width:1700px){main{padding-top:20px}}
@media(min-width:1200px){
form[data-form="client"]>fieldset{grid-template-columns:1.35fr 1fr}
form[data-form="client"] label:has(>select[name=docType]){grid-column:span 2}
form[data-form="client"] label:has(input[name=doc]){grid-column:span 3}
form[data-form="client"] label:has(input[name=name]){grid-column:span 3}
form[data-form="client"] label:has(input[name=surname]){grid-column:span 4}
}
form[data-form=client] .card{padding:14px;margin:9px 0}
form[data-form=client] h3{font-size:15px;margin:9px 0 6px}
pre{max-height:350px;overflow:auto;white-space:pre-wrap;font-size:12px;background:var(--head);padding:12px;border-radius:6px}

@media(min-width:1200px){
form[data-form="client"]>fieldset{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
form[data-form="client"]>fieldset>.card{min-width:0}
form[data-form="client"] .grid{gap:10px}
}
form[data-form="client"] label{font-size:12.5px}
form[data-form="client"] input,form[data-form="client"] select,form[data-form="client"] textarea{font-size:14px}
.wa-btn{width:34px;height:34px;min-width:34px;padding:5px;border-radius:7px}
[data-repeat="phones"] [data-key=label]{max-width:165px}
form[data-form=client] .card{position:relative}
form[data-form=client] .card:has(>[data-repeat=addresses])>[data-repeat=addresses]+button,
form[data-form=client] .card:has(>[data-repeat=accounts])>[data-repeat=accounts]+button,
form[data-form=client] .card:has(>[data-repeat=phones])>[data-repeat=phones]+button{position:absolute;top:10px;right:14px}
@media(min-width:1200px){
form[data-form=client] [data-repeat=licences]{display:inline-flex;max-width:calc(100% - 90px);vertical-align:middle}
form[data-form=client] [data-repeat=licences]+button{vertical-align:middle;margin-left:8px}
}
/* GestiSeg 0.3 */
.important-notes{font-size:1.14rem;font-weight:750;line-height:1.5;border:2px solid var(--accent);background:var(--head);min-height:100px}
.repeat-row>label{flex:1;min-width:120px;display:flex;flex-direction:column;gap:5px}
.accessory-row{display:flex;align-items:center;flex-wrap:nowrap}
.accessory-row>label:nth-of-type(1){flex:3;min-width:200px}
.accessory-row>label:nth-of-type(2){flex:1;max-width:230px;min-width:140px}
.accessory-row>.select-accessory{width:20px;flex:0 0 20px}
.catalog-row{padding:12px;border-bottom:1px solid var(--border)}
.catalog-row textarea{min-height:90px}
.account-row{flex-wrap:wrap;align-items:flex-end}
.account-row>label:nth-child(2),.account-row>label:nth-child(3){flex:2;min-width:240px}
.account-row .input-copy input{min-width:0}
label.inline input[type=checkbox]{width:auto}
@media(max-width:650px){.accessory-row{overflow-x:auto}.accessory-row>label:nth-of-type(1){min-width:150px}.accessory-row>label:nth-of-type(2){min-width:110px}}

.wa-test-link{display:inline-block;padding:12px 18px;border-radius:8px;background:#087c42;color:#fff;font-weight:700;text-decoration:none}

.security-lock{position:fixed;inset:0;z-index:10000;background:#eaf5fd;display:grid;place-items:center;padding:20px;overflow:auto;color:#142448}.security-lock .card{width:min(480px,100%)}.security-lock label{display:block;margin:16px 0}.security-lock input{width:100%}.security-lock [role=alert]{color:#9b1c1c}
/* 0.4.3: shared controls and session recovery must remain visible in the top layer. */
[hidden]{display:none!important}
.entity-picker{position:relative;min-width:0}.entity-picker>label{display:block}.entity-picker>input[type=search]{width:100%;box-sizing:border-box}.entity-results{max-height:260px;overflow:auto;border:1px solid var(--border);background:var(--surface);border-radius:6px;box-shadow:0 4px 12px #1233}.entity-results button{display:block;width:100%;text-align:left;border:0;border-radius:0;white-space:normal}.entity-results button:hover,.entity-results button:focus{background:var(--head)}.picker-state{display:block;color:var(--muted);margin-top:4px}.entity-results p{padding:8px}
.bold-text #app,.bold-text #nav,.bold-text input,.bold-text select,.bold-text textarea,.bold-text button,.bold-text dialog{font-weight:700}
[data-repeat=addresses] .repeat-row>label:first-child{flex:4;min-width:280px}[data-repeat=addresses] .repeat-row>label:nth-child(2){flex:.55;min-width:65px;max-width:105px}[data-repeat=addresses] .repeat-row>label:nth-child(4){flex:1;min-width:120px}
dialog.security-lock{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;z-index:2147483647;background:var(--bg);color:var(--text)}dialog.security-lock::backdrop{background:#123a}dialog.security-lock:not([open]){display:none}
#dialog #server-error{position:static;max-width:100%;margin:0 0 14px;padding:14px;box-sizing:border-box}#server-error button,#server-error a{margin:5px}
.audit-item{border-bottom:1px solid var(--border);padding:6px}.activity dd{white-space:pre-wrap;margin:0 0 6px}.activity dt{font-weight:700}.activity .body{min-width:0}.activity td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}.activity dl{margin:0}
.editor-tools{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:14px 0}.template-content{min-height:300px;width:100%;font-family:inherit}.letter-preview{background:var(--surface);border:1px solid var(--border);padding:22px;margin:15px 0;overflow-wrap:anywhere;line-height:1.6}.batch-error,.template-error{white-space:normal}
@media(max-width:650px){.entity-results{max-height:190px}[data-repeat=addresses] .repeat-row>label:first-child{min-width:100%}.editor-tools{align-items:stretch}.editor-tools label{width:100%}}
.catalog-head,.catalog-line{display:grid;grid-template-columns:minmax(200px,1fr) 100px;gap:10px;align-items:center}.catalog-head{font-weight:700;padding:6px 10px}.catalog-line{padding:5px 10px!important;border-bottom:1px solid var(--border);margin:0!important}.catalog-line>label{min-width:0!important;margin:0!important}.catalog-line>label:not(.catalog-available){font-size:0}.catalog-line input,.catalog-line select,.catalog-line textarea{font-size:var(--font);padding:7px!important}.catalog-line .catalog-available>span{display:none}.catalog-line .catalog-available{display:flex;justify-content:center}.catalog-head:has(span:nth-child(3)),.catalog-line:has(select[data-key=branch]){grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) 100px}.catalog-head:has(span:nth-child(4)),.catalog-line:has(textarea){grid-template-columns:minmax(160px,1fr) minmax(120px,.6fr) minmax(200px,1fr) 100px}.catalog-line textarea{min-height:65px}.report-columns{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.report-condition,.interest-row{padding:10px;border:1px solid var(--border);border-radius:8px;margin:10px 0}.report-condition>label,.interest-row>label{min-width:0}.report-condition input,.interest-row input{width:100%}
@media(max-width:650px){.catalog-head,.catalog-line{grid-template-columns:minmax(170px,1fr) 70px}.card:has(.catalog-head){overflow-x:auto}.catalog-line:has(textarea),.catalog-head:has(span:nth-child(4)){min-width:650px}.catalog-line:has(select[data-key=branch]),.catalog-head:has(span:nth-child(3)){min-width:420px}}
.rich-paper{background:white;color:#17223a;min-height:360px;max-height:62vh;overflow:auto}.rich-paper .ql-editor{max-width:790px;margin:auto;min-height:360px;padding:35px;line-height:1.6;font-size:15px}.letter-variable{background:#e5f3ff;color:#085ab7;border:1px solid #c1dcff;border-radius:5px;padding:1px 5px}.ql-toolbar.ql-snow{background:var(--head);border-radius:8px 8px 0 0;position:sticky;top:0;z-index:2}.ql-toolbar button{padding:3px!important;min-width:25px}.ql-picker{font-weight:400}.ql-snow .ql-picker-options{background:white;color:#17223a}.rich-paper .ql-editor p{margin-bottom:8px}.editor-tools{margin:10px 0}.editor-tools>label{flex:1}
@media(max-width:650px){.rich-paper .ql-editor{padding:18px}.rich-paper{max-height:52vh}.ql-toolbar.ql-snow{position:static}}
