:root{--navy:#10283f;--navy-2:#183a59;--gold:#b8954b;--gold-light:#e6d7ae;--cream:#f6f2e9;--paper:#fff;--ink:#1d2b36;--muted:#6c7882;--line:#dfe5e8;--success:#277a55;--success-bg:#e8f5ee;--warning:#9a6a13;--warning-bg:#fff6dc;--danger:#a53f42;--danger-bg:#fff0f0;--shadow:0 18px 45px rgba(16,40,63,.09);--radius:16px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#edf1f3}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy),#0b1c2c);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand.centered{justify-content:center;margin-bottom:26px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(230,215,174,.65);border-radius:14px;color:var(--gold-light);font-family:Georgia,serif;font-weight:700;letter-spacing:.06em}.brand strong{display:block;font-family:Georgia,serif;font-size:17px}.brand span{display:block;margin-top:3px;font-size:12px;color:rgba(255,255,255,.62)}.nav{display:grid;gap:6px;margin-top:38px}.nav a{padding:12px 14px;border-radius:10px;color:rgba(255,255,255,.78);font-size:14px;transition:.15s}.nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}.user-mini strong,.user-mini span{display:block}.user-mini strong{font-size:14px}.user-mini span{margin-top:3px;font-size:12px;color:rgba(255,255,255,.58)}.link-button{border:0;background:none;color:var(--gold-light);padding:12px 0 0;cursor:pointer;font-size:13px}.main{min-width:0;padding:0 34px 28px}.topbar{display:flex;align-items:center;gap:18px;min-height:112px}.topbar h1{font-family:Georgia,serif;margin:3px 0 0;color:var(--navy);font-size:30px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:var(--gold)}.security-chip{margin-left:auto;border:1px solid #c6d8cf;background:#f3fbf7;color:var(--success);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.menu-button{display:none;border:0;background:var(--navy);color:#fff;border-radius:10px;width:42px;height:42px}.content{display:grid;gap:22px;max-width:1500px}.footer{max-width:1500px;margin:28px 0 0;padding-top:18px;border-top:1px solid #d7dde1;color:var(--muted);font-size:12px}.alert,.notice{border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14px}.alert.success{background:var(--success-bg);border:1px solid #bcdcca;color:var(--success)}.alert.error{background:var(--danger-bg);border:1px solid #efc5c6;color:var(--danger)}.notice{background:#f7fafb;border:1px solid var(--line);color:#52616c}.clinical-warning{background:var(--warning-bg);border-color:#ead79e;color:#72520f}.card,.form-card,.clinical-note{background:var(--paper);border:1px solid rgba(16,40,63,.08);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px}.compact-card{padding:16px 22px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.card h2,.form-card h2,.clinical-note h2{font-family:Georgia,serif;color:var(--navy);margin:3px 0 0;font-size:22px}.card h3{color:var(--navy);margin-bottom:8px}.card p{color:#5f6d77;line-height:1.55}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border-radius:15px;padding:20px;border-left:4px solid var(--gold);box-shadow:0 10px 30px rgba(16,40,63,.07)}.stat-card span,.stat-card strong{display:block}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{font-family:Georgia,serif;color:var(--navy);font-size:34px;margin-top:7px}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.action-tile{border:1px solid var(--line);border-radius:12px;padding:16px;transition:.15s}.action-tile:hover{border-color:var(--gold);transform:translateY(-1px)}.action-tile strong,.action-tile span{display:block}.action-tile strong{color:var(--navy)}.action-tile span{color:var(--muted);font-size:12px;margin-top:5px}.simple-list{display:grid}.simple-list a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f2}.simple-list a:last-child{border-bottom:0}.simple-list strong,.simple-list small{display:block}.simple-list small,td small{color:var(--muted);font-size:11px;margin-top:3px}.page-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;border-radius:10px;padding:10px 15px;font-weight:750;font-size:13px;cursor:pointer;transition:.15s}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--navy-2)}.button.secondary{background:#fff;border-color:#cfd8dd;color:var(--navy)}.button.ghost{background:transparent;border-color:#cfd8dd;color:#53616b}.button.danger{background:var(--danger);color:#fff}.button.wide{width:100%}.text-link{color:#846922;font-weight:750;font-size:13px}.search-form,.filter-bar{display:flex;gap:10px;align-items:end}.search-form input{min-width:340px}.filter-bar{background:#fff;padding:16px;border-radius:14px;border:1px solid var(--line)}.filter-bar label{min-width:220px}.form-card{padding:28px}.section-heading{margin:4px 0 18px}.section-heading>span{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.section-heading h1,.section-heading h2{margin:4px 0 0;font-family:Georgia,serif;color:var(--navy)}.section-heading:not(:first-child){padding-top:26px;margin-top:26px;border-top:1px solid var(--line)}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}label{display:grid;gap:7px;color:#42515d;font-size:12px;font-weight:750}input,select,textarea{width:100%;border:1px solid #cfd8dd;background:#fff;color:var(--ink);border-radius:9px;padding:11px 12px;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,149,75,.14)}textarea{resize:vertical;line-height:1.55}.checkbox-label{display:flex;align-items:center;gap:9px;align-self:end;min-height:43px}.checkbox-label input{width:auto}.field-error{color:var(--danger);font-weight:650}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.stack-form{display:grid;gap:15px}.hint,.muted,.fine-print{color:var(--muted);font-size:12px}.patient-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,var(--navy),#224a6c);color:#fff;border-radius:18px;padding:24px 27px;box-shadow:var(--shadow)}.patient-banner.compact{padding:18px 22px}.patient-banner h2{font-family:Georgia,serif;margin:4px 0;font-size:27px}.patient-banner p{margin:0;color:rgba(255,255,255,.68)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.muted-badge{background:#edf0f2;color:#69757e}.details{display:grid;gap:0;margin:0}.details>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f2}.details>div:last-child{border-bottom:0}.details dt{color:var(--muted);font-size:11px}.details dd{margin:0;font-size:13px;font-weight:650}.inline-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.inline-details>div{display:block;border:0;padding:0}.inline-details dd{margin-top:5px}.timeline{display:grid}.timeline a{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #edf0f2}.timeline a:last-child{border-bottom:0}.timeline-date{color:var(--muted);font-size:12px}.timeline strong,.timeline small{display:block}.timeline small{margin-top:4px;color:var(--muted)}.restricted-box,.empty-state{padding:26px;text-align:center;border:1px dashed #cbd5da;border-radius:12px;background:#f8fafb}.restricted-box p,.empty-state p{margin-bottom:0;color:var(--muted)}.preline{white-space:pre-line}.clinical-note{overflow:hidden}.clinical-note.draft{border-top:4px solid #d2a84d}.clinical-note.finalized{border-top:4px solid var(--success)}.clinical-note>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.clinical-note>header p{margin:5px 0 0;color:var(--muted);font-size:12px}.note-content{padding:26px 24px;line-height:1.65;white-space:normal}.signature-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f3f8f5;border-top:1px solid #dce9e1;padding:16px 24px}.signature-strip strong,.signature-strip span{display:block}.signature-strip span{font-size:11px;color:var(--muted);margin-top:4px}.signature-strip code{display:block;word-break:break-all;font-size:10px;color:#52636b;margin-top:5px}.note-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:16px 24px;background:#fafbfb}.inline-confirm{display:flex;gap:8px}.inline-confirm input{width:220px}.addendum-box{border-top:1px solid var(--line);padding:16px 24px;background:#fafbfb}.addendum-box summary,.danger-zone summary{cursor:pointer;font-weight:750;color:var(--navy)}.addendum-box form,.danger-zone form{margin-top:16px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.permission-group{border:1px solid var(--line);border-radius:12px;padding:16px}.permission-group h3{margin:0 0 10px;color:var(--navy)}.permission-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid #edf0f2}.permission-row:last-child{border-bottom:0}.permission-row span,.permission-row small{display:block}.permission-row small{color:var(--muted);margin-top:3px;font-weight:500}.permission-row select{width:110px}.table-card{padding:0;overflow:hidden}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{position:sticky;top:0;background:#f3f6f7;color:#53616b;text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:10px;padding:13px 15px;white-space:nowrap}td{padding:14px 15px;border-top:1px solid #e8edef;vertical-align:middle}td strong,td small{display:block}.nowrap{white-space:nowrap}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty{text-align:center;color:var(--muted);padding:30px!important}.migration-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(135deg,#fff,#f4efe3);border:1px solid #e3d7ba;border-radius:18px;padding:28px}.migration-hero h2{font-family:Georgia,serif;color:var(--navy);font-size:28px;margin:5px 0}.migration-hero p{max-width:760px;color:#596872;line-height:1.6}.migration-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--navy);color:var(--gold-light);font-size:34px}.step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.secret-box{padding:15px;border:1px solid #e1d2aa;background:#fffaf0;border-radius:11px;margin-bottom:15px}.secret-box span,.secret-box code,.secret-box small{display:block}.secret-box code{font-size:16px;letter-spacing:.08em;margin:8px 0;word-break:break-all}.secret-box small{color:var(--muted);word-break:break-all}.danger-zone{margin-top:18px;padding:14px;border:1px solid #ebc5c6;background:#fff8f8;border-radius:10px}.error-page{text-align:center;padding:70px 20px}.error-page>span{font-family:Georgia,serif;font-size:70px;color:var(--gold)}.error-page h2{font-family:Georgia,serif;color:var(--navy);font-size:30px}.error-page p{color:var(--muted);max-width:560px;margin:0 auto 24px}.auth-page,.install-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top left,#244967,var(--navy) 45%,#0b1b2a)}.auth-card{width:min(440px,calc(100% - 30px));background:#fff;border-radius:20px;padding:32px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.auth-card h2{font-family:Georgia,serif;color:var(--navy);font-size:27px;margin-bottom:8px}.auth-card .brand strong{color:var(--navy)}.auth-card .brand span{color:var(--muted)}.fine-print{text-align:center;margin:22px 0 0;line-height:1.5}.install-wrap{width:min(900px,calc(100% - 30px));margin:35px auto}.install-wrap>.brand{color:#fff;margin-bottom:20px}.install-card{background:#fff;border-radius:20px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.24)}.install-card .lead{color:var(--muted);line-height:1.55}.install-card fieldset{border:1px solid var(--line);border-radius:12px;padding:18px;margin:0}.install-card legend{color:var(--navy);font-weight:800;padding:0 8px}.install-card fieldset>.form-grid,.install-card fieldset>label+*{margin-top:14px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:1fr}.permission-groups{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:270px;transition:.2s}.sidebar.open{left:0}.main{padding:0 18px 24px}.menu-button{display:block}.topbar{min-height:94px}.security-chip{display:none}.grid.two,.form-grid.three,.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.action-grid{grid-template-columns:1fr}.inline-details{grid-template-columns:1fr}.signature-strip{grid-template-columns:1fr}.timeline a{grid-template-columns:1fr;gap:5px}.patient-banner{align-items:flex-start}.page-actions{align-items:stretch;flex-direction:column}.search-form{width:100%}.search-form input{min-width:0;flex:1}.filter-bar{display:grid}.filter-bar label{min-width:0}.note-actions,.inline-confirm{align-items:stretch;flex-direction:column}.inline-confirm input{width:100%}.permission-row{align-items:flex-start;flex-direction:column}.permission-row select{width:100%}}@media(max-width:560px){.main{padding:0 12px 20px}.topbar h1{font-size:24px}.stats-grid{grid-template-columns:1fr}.form-card,.card{padding:18px}.form-grid.four{grid-template-columns:1fr}.patient-banner{padding:20px;flex-direction:column}.clinical-note>header{flex-direction:column}.clinical-note>header,.note-content,.signature-strip,.note-actions,.addendum-box{padding-left:18px;padding-right:18px}.search-form{display:grid}.migration-hero{align-items:flex-start;flex-direction:column}.migration-icon{width:54px;height:54px}.install-card,.auth-card{padding:24px}}

/* Identidade visual oficial Instituto Cambiare */
.brand-logo{display:grid;gap:9px;align-items:start;padding:4px 4px 2px}.brand-logo img{display:block;width:218px;max-width:100%;height:auto;object-fit:contain}.brand-logo .brand-subtitle{margin:0 0 0 4px;color:rgba(255,255,255,.68);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:750}.auth-brand-panel{display:grid;place-items:center;gap:8px;margin:-32px -32px 28px;padding:24px 28px 20px;background:linear-gradient(135deg,var(--navy),#173c5b);border-radius:20px 20px 0 0}.auth-brand-panel img{display:block;width:min(300px,100%);height:auto}.auth-brand-panel span,.install-brand-panel span{color:var(--gold-light);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.install-brand-panel{display:grid;justify-items:start;gap:8px;margin-bottom:22px}.install-brand-panel img{display:block;width:min(360px,75vw);height:auto}.sidebar .brand-logo:hover{opacity:.96}.sidebar .brand-logo:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px;border-radius:10px}@media(max-width:560px){.auth-brand-panel{margin:-24px -24px 24px;padding:20px 22px 18px}.brand-logo img{width:205px}}

/* Fase 2A — núcleo clínico estruturado */
.is-hidden{display:none!important}.badge.danger-badge,.danger-badge{background:#fee7e7;color:#982f34}.critical-alert-panel{margin:18px 0;padding:18px 20px;border:1px solid #e8aeb0;border-left:6px solid var(--danger);border-radius:12px;background:#fff5f5;color:#7f252a;box-shadow:0 10px 28px rgba(165,63,66,.08)}.critical-alert-panel>strong{display:block;margin-bottom:10px;font-size:14px}.critical-alert-list{display:flex;flex-wrap:wrap;gap:8px 14px}.critical-alert-list span{display:inline-flex;padding:7px 10px;border-radius:8px;background:#fff;border:1px solid #f1c8ca;font-size:12px}.critical-alert-panel .text-link{display:inline-block;margin-top:12px}.clinical-nav{position:sticky;top:0;z-index:8;display:flex;gap:8px;overflow:auto;margin:18px 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.clinical-nav a{white-space:nowrap;padding:8px 12px;border-radius:8px;color:var(--navy);font-size:12px;font-weight:750}.clinical-nav a:hover{background:var(--cream)}.clinical-section{scroll-margin-top:82px}.clinical-record-list{display:grid;gap:10px}.clinical-record{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}.clinical-record.critical{border-color:#e7a5a8;background:#fff8f8}.clinical-record p{margin:7px 0;color:#4d5b65}.clinical-record small{color:var(--muted)}.record-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.clinical-entry-form,.encounter-measurements{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fafcfc}.clinical-entry-form summary,.encounter-measurements summary{cursor:pointer;padding:15px 17px;color:var(--navy);font-weight:800}.clinical-entry-form>form,.encounter-measurements>div{padding:5px 17px 17px}.button.small{padding:7px 10px;font-size:11px}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.history-group{padding:16px;border:1px solid var(--line);border-radius:11px;background:#fbfcfc}.history-group h3{margin:0 0 10px;color:var(--navy);font-size:15px}.history-item{position:relative;padding:12px 0;border-top:1px solid #e7edef}.history-item:first-of-type{border-top:0}.history-item p{margin:0 0 6px;line-height:1.5}.history-item small{color:var(--muted)}.history-item.inactive{opacity:.55}.history-item form{margin-top:5px}.measurement-timeline{display:grid;gap:12px}.measurement-entry{border:1px solid var(--line);border-radius:12px;overflow:hidden}.measurement-entry header{display:flex;justify-content:space-between;padding:12px 15px;background:#f4f7f8}.measurement-entry header small{color:var(--muted)}.measurement-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.measurement-values>div{min-height:75px;padding:13px;background:#fff}.measurement-values span,.measurement-values strong{display:block}.measurement-values span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.measurement-values strong{margin-top:6px;color:var(--navy);font-size:15px}.measurement-values-wide{border:1px solid var(--line);border-radius:10px;overflow:hidden}.clinical-format-controls{padding:16px;border:1px solid #ddcfaa;border-radius:12px;background:#fffaf0}.clinical-format-panel{margin-top:15px}.clinical-format-panel .section-heading h3{margin:4px 0 0;font-family:Georgia,serif;color:var(--navy);font-size:21px}.specialty-field-group{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}.structured-note-sections{display:grid;gap:0}.structured-note-sections section{padding:20px 24px;border-top:1px solid var(--line)}.structured-note-sections section:first-child{border-top:0}.structured-note-sections h3{margin:0 0 10px;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.07em}.structured-note-sections section>div{line-height:1.65}.encounter-measurements{margin:24px 0}.encounter-measurements[open] summary{border-bottom:1px solid var(--line)}
@media(max-width:900px){.history-grid{grid-template-columns:1fr}.measurement-values{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-nav{top:0}.clinical-record{flex-direction:column}}
@media(max-width:520px){.measurement-values{grid-template-columns:1fr}.critical-alert-list{display:grid}.clinical-nav{margin-left:-4px;margin-right:-4px}}


/* Fase 2B — documentos clínicos e papel timbrado */
.document-list{display:grid;gap:10px}.document-list.compact{gap:7px}.document-list-item{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.15s}.document-list-item:hover{border-color:var(--gold);transform:translateY(-1px)}.document-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:11px;background:var(--cream);color:#7a6023;font-size:10px;font-weight:900;letter-spacing:.08em}.document-list-main{min-width:0;flex:1}.document-list-main strong,.document-list-main small{display:block}.document-list-main strong{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-list-main small{margin-top:5px;color:var(--muted);font-size:11px}.document-status-stack{display:grid;justify-items:end;gap:5px}.document-status-stack small{font-size:10px;color:var(--success)}.danger-badge{background:var(--danger-bg);color:var(--danger)}.document-banner{align-items:center}.document-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.document-summary-grid .details dd{overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.truncate-hash{max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-preview{padding:0}.document-preview>.card-header{padding:22px 22px 0}.document-section{padding:18px 22px;border-top:1px solid var(--line)}.document-section:first-of-type{border-top:0}.document-section h3{margin:0 0 8px;color:var(--navy);font-size:15px}.document-section p{margin:0;color:#344653;line-height:1.65}.document-type-panel{margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}.document-wide-field{margin-top:18px}.repeatable-list{display:grid;gap:14px;margin:12px 0}.repeatable-row{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}.repeatable-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:var(--navy)}.danger-text{color:var(--danger);padding:0}.field-error{display:block;color:var(--danger);font-size:11px;font-weight:700}.inline-secure-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-secure-form label{min-width:280px;flex:1}.stack-form{display:grid;gap:14px}.danger-zone{border-color:#e7c4c5}.letterhead-preview{align-self:start}.letterhead-paper{min-height:520px;padding:28px;background:#fff;border:1px solid #d7dde1;box-shadow:0 14px 30px rgba(16,40,63,.08);display:flex;flex-direction:column;text-align:center}.letterhead-paper img{width:min(330px,80%);height:auto;margin:0 auto 14px}.letterhead-paper hr{width:100%;border:0;border-top:1px solid #c7a75c;margin:0 0 20px}.letterhead-paper strong{font-family:Georgia,serif;color:var(--navy);font-size:18px}.letterhead-paper>span{color:var(--muted);font-size:11px;margin-top:4px}.letterhead-body{margin:auto;color:#a6afb5;font-weight:800;letter-spacing:.08em;font-size:12px}.letterhead-paper footer{border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:9px}.verification-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:#edf1f3}.verification-card{width:min(680px,100%);background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:34px}.verification-card>img{display:block;width:min(360px,80%);height:auto;margin:0 auto 24px}.verification-status{padding:13px 16px;border-radius:11px;font-weight:850;text-align:center;margin-bottom:20px}.verification-status.valid{background:var(--success-bg);color:var(--success)}.verification-status.invalid{background:var(--danger-bg);color:var(--danger)}.verification-details{margin-top:20px}.verification-note{color:var(--muted);font-size:12px;line-height:1.6;margin-top:22px}.is-hidden{display:none!important}
@media(max-width:760px){.document-list-item{align-items:flex-start}.document-status-stack{justify-items:start}.document-badges{justify-content:flex-start}.inline-secure-form{display:grid}.repeatable-row .form-grid.three{grid-template-columns:1fr}.verification-card{padding:24px}.document-summary-grid{grid-template-columns:1fr!important}}

/* Fase 3A — Agenda e retornos */
.schedule-toolbar{padding:18px 20px}.schedule-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;align-items:end}.schedule-filters label{margin:0}.schedule-list{display:flex;flex-direction:column;gap:8px}.schedule-item{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:inherit;background:#fff;transition:.18s ease}.schedule-item:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(13,32,56,.08);border-color:rgba(181,137,56,.48)}.schedule-time{display:flex;flex-direction:column;border-right:1px solid var(--border);padding-right:14px}.schedule-time strong{font-size:1.12rem;color:var(--navy)}.schedule-time small,.schedule-main small{color:var(--muted)}.schedule-main{display:flex;flex-direction:column;gap:3px;min-width:0}.schedule-day-divider{display:flex;justify-content:space-between;align-items:center;margin:16px 0 3px;padding:8px 2px;border-bottom:1px solid var(--border);color:var(--navy)}.schedule-day-divider span{font-size:.86rem;color:var(--muted)}.info-badge{background:#e8f1fb;color:#1f5d94}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form select{min-width:220px}.return-list{display:flex;flex-direction:column;gap:10px}.return-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr) auto;gap:18px;align-items:center;padding:15px 16px;border:1px solid var(--border);border-radius:14px;background:#fff}.return-item.overdue{border-color:#d9a6a6;background:#fff8f8}.return-item>div{display:flex;flex-direction:column;gap:3px}.return-item small{color:var(--muted)}.button.small{padding:8px 11px;font-size:.82rem}.notice.success{background:#eff8f2;border-color:#b7dcc4;color:#225f38}
@media (max-width:1050px){.schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.return-item{grid-template-columns:1fr 1fr}.return-item .button-row{grid-column:1/-1}}
@media (max-width:720px){.schedule-filters{grid-template-columns:1fr}.schedule-item{grid-template-columns:70px minmax(0,1fr)}.schedule-item>.badge{grid-column:2;justify-self:start}.return-item{grid-template-columns:1fr}.return-item .button-row{grid-column:auto}.schedule-day-divider{align-items:flex-start;flex-direction:column;gap:3px}}

.inline-button-form{display:inline-flex;margin:0}

/* Fase 3A.1 — Cadastro de agendas profissionais e encaixes */
.compact-filters{grid-template-columns:minmax(220px,420px) auto}.professional-schedule-list{display:grid;gap:12px}.professional-schedule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:15px;background:#fff}.professional-schedule-card.inactive{opacity:.68;background:#f7f8f8}.professional-schedule-main{display:flex;flex-direction:column;gap:5px}.professional-schedule-main>strong,.schedule-title-row>strong{font-size:1.05rem;color:var(--navy)}.professional-schedule-main small{color:var(--muted)}.schedule-title-row{align-items:center}.professional-schedule-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.extend-form{display:flex;align-items:center;gap:8px}.extend-form select{min-width:100px}.checkbox-fieldset{border:1px solid var(--border);border-radius:14px;padding:16px}.checkbox-fieldset legend{padding:0 7px;color:var(--navy);font-weight:800}.checkbox-grid{display:grid;gap:10px}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.month-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-option{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#fff}.check-option input{width:auto}.toggle-label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px}.toggle-label input{width:auto;margin-top:3px}.toggle-label span{display:flex;flex-direction:column;gap:3px}.toggle-label small{color:var(--muted)}.input-suffix{display:flex;align-items:center}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix span{align-self:stretch;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-left:0;border-radius:0 10px 10px 0;background:#f4f6f7;color:var(--muted);font-size:.86rem}.slot-picker{border:1px solid rgba(181,137,56,.35);border-radius:16px;padding:18px;background:linear-gradient(135deg,#fffdf8,#fff)}.slot-picker-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.slot-picker-head h3{margin:2px 0 0;color:var(--navy)}.slot-picker-controls{display:flex;align-items:end;gap:12px;margin-top:14px;flex-wrap:wrap}.slot-picker-controls label{min-width:220px;margin:0}.slot-message{color:var(--muted);margin:12px 0}.slot-groups{display:grid;gap:16px}.slot-groups>div{display:grid;gap:8px}.slot-groups small{color:var(--muted)}.slot-buttons{display:flex;gap:8px;flex-wrap:wrap}.slot-button{border:1px solid var(--border);background:#fff;color:var(--navy);padding:9px 11px;border-radius:10px;cursor:pointer;font-weight:750}.slot-button:hover{border-color:var(--gold);box-shadow:0 5px 14px rgba(13,32,56,.08)}.slot-button.fit-slot{background:#eef5fb;border-color:#b9d2e8;color:#1f5d94}.slot-empty{color:var(--muted);font-size:.88rem}.selected-slot{margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--success-bg);color:var(--success);font-weight:800}
@media(max-width:900px){.professional-schedule-card{grid-template-columns:1fr}.professional-schedule-actions{justify-content:flex-start}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.week-grid,.month-week-grid{grid-template-columns:1fr}.slot-picker-head{flex-direction:column}.slot-picker-controls{display:grid}.slot-picker-controls label{min-width:0}.extend-form{width:100%}}

/* Fase 3B — Antropometria, bioimpedância e integração */
.anthropometry-editor{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.anthro-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.anthro-main{display:grid;gap:16px}.anthro-block{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fbfcfc}.anthro-block legend{display:flex;align-items:center;gap:12px;padding:0 8px;color:var(--navy)}.anthro-block legend>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--navy);color:var(--gold-light);font-size:.78rem}.anthro-block legend span{display:flex;flex-direction:column}.anthro-block legend small{color:var(--muted);font-weight:500;margin-top:2px}.anthro-preview{position:sticky;top:20px;border-radius:16px;padding:22px;background:linear-gradient(160deg,var(--navy),#0b1c2c);color:#fff;box-shadow:var(--shadow)}.anthro-preview h3{font-family:Georgia,serif;margin:4px 0 18px;color:#fff}.anthro-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12)}.anthro-preview>div span{font-size:.79rem;color:rgba(255,255,255,.68)}.anthro-preview>div strong{color:var(--gold-light);text-align:right}.anthro-preview>small{display:block;margin-top:16px;color:rgba(255,255,255,.55);line-height:1.5}.anthro-history-list{display:grid;gap:14px}.anthro-history-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}.anthro-history-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.anthro-history-card h3{margin:3px 0;color:var(--navy)}.measurement-values-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.integration-status-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}.integration-status-grid span,.integration-status-grid strong{display:block}.integration-status-grid span{color:var(--muted);font-size:.76rem}.integration-status-grid strong{margin-top:4px;color:var(--navy)}.external-record-groups{display:grid;gap:14px}.external-record-group{padding:16px;border:1px solid var(--line);border-radius:14px}.external-record-group summary{cursor:pointer;color:var(--navy);font-weight:800}.external-record-item{margin-top:10px;padding:12px;border-radius:10px;background:#f7f9fa}.external-record-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;margin:8px 0 0}.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:22px}.settings-grid .form-card{padding:24px}.settings-grid code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:#eef2f4;overflow-wrap:anywhere}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.anthro-layout{grid-template-columns:1fr}.anthro-preview{position:static}.measurement-values-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.form-grid.four,.measurement-values-wide,.integration-status-grid{grid-template-columns:1fr}.anthro-history-card>header{flex-direction:column}.anthro-block{padding:14px}.anthro-preview{padding:18px}}

.security-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.security-health-card{display:grid;gap:7px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.security-health-card>span{font-size:.68rem;font-weight:900;letter-spacing:.08em}.security-health-card>strong{color:var(--navy)}.security-health-card>p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.security-health-card.ok{border-left:5px solid var(--success)}.security-health-card.ok>span{color:var(--success)}.security-health-card.warning{border-left:5px solid var(--danger);background:#fffafa}.security-health-card.warning>span{color:var(--danger)}.backup-guidance{padding:0 22px 18px}.backup-guidance code{display:block;padding:12px;border-radius:9px;background:#eef2f4;overflow:auto}.muted{color:var(--muted)}@media(max-width:1000px){.security-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.security-health-grid{grid-template-columns:1fr}}
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.backup-guidance code{display:block;max-width:100%;overflow:auto;padding:.8rem 1rem;border-radius:10px;background:#0c2538;color:#fff;margin:.5rem 0 1rem}.table-card .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}@media(max-width:1100px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.form-grid.four{grid-template-columns:1fr}}

/* Fase 5A — assinatura digital */
.signature-certificate-card,.signature-validation-card,.signature-a1-card{position:relative;overflow:hidden}
.signature-certificate-card::before,.signature-a1-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#b88a3b,#e2c47d)}
.signature-details dd{overflow-wrap:anywhere}
.signature-upload-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border,#d9e1e8)}
.signature-actions-grid{align-items:start}
.checkbox-line{display:flex!important;align-items:center;gap:.65rem;font-weight:600}
.checkbox-line input{width:auto;min-width:1rem}
.signature-validation-card .button-row form{margin:0}
.signature-validation-card .inline-details{margin-bottom:1rem}
.compact-grid{gap:.8rem}
button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.signature-actions-grid,.compact-grid{grid-template-columns:1fr}.signature-validation-card .button-row{align-items:stretch}.signature-validation-card .button-row>*{width:100%}}


/* Fase 5.1 — preparação de assinatura em nuvem */
.cloud-provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:22px}
.cloud-provider-card .card-header p{margin:6px 0 0;color:var(--muted,#667085)}
.callback-box{display:grid;gap:7px;background:#f5f7fa;border:1px solid #dce3ea;border-radius:14px;padding:14px;margin-bottom:18px}
.callback-box code{display:block;overflow-wrap:anywhere;font-size:.82rem}
.cloud-provider-status-grid,.cloud-provider-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.cloud-provider-status,.cloud-provider-action{border:1px solid #dce3ea;border-radius:14px;padding:15px;background:#fbfcfd;display:grid;gap:10px}
.cloud-provider-status strong,.cloud-provider-action strong{display:block;color:#0e2b43}
.cloud-provider-action>div{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cloud-signature-document-card{margin-bottom:22px}
.cloud-transaction-table{margin-top:18px}
@media(max-width:760px){.cloud-provider-grid{grid-template-columns:1fr}}

/* Fase 5.2 — assinatura híbrida com certificado local */
.local-signature-settings-card,.local-signature-document-card{position:relative;overflow:hidden}
.local-signature-settings-card::before,.local-signature-document-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#b88a3b,#e2c47d)}
.local-signature-status{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7f9fa;color:var(--muted);font-size:.88rem;margin:14px 0}
.local-signature-status.is-ok{background:var(--success-bg);border-color:#bcdcca;color:var(--success)}
.local-signature-status.is-error{background:var(--danger-bg);border-color:#efc5c6;color:var(--danger)}
.local-signature-status.is-working{background:#eef5fb;border-color:#bdd4e7;color:#245f8e}
.signature-history-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.signature-history-details summary{cursor:pointer;color:var(--navy);font-weight:800}
.section-divider{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin:4px 0}
.section-divider::before,.section-divider::after{content:"";height:1px;background:var(--line);flex:1}
@media(max-width:760px){.local-signature-document-card .button-row>*{width:100%}.local-signature-document-card .button-row form .button{width:100%}}
/* cambiare-safeid-endpoints-v523 */
.form-section-title{margin:22px 0 8px;color:#0c2940;font-size:1rem}.endpoint-map-box{margin-top:14px;padding:14px 16px;border:1px solid #d7e0e6;border-radius:12px;background:#f7fafb}.endpoint-map-box ol{margin:8px 0 0 20px}.endpoint-map-box li+li{margin-top:5px}
/* cambiare-safeid-functional-v530 */
.safeid-functional-card .safeid-sign-form{max-width:760px}.safeid-functional-card .safeid-sign-form small{color:var(--muted,#64748b)}
.safeid-functional-card .birdid-preflight-details{margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,184,.28)}
.safeid-functional-card .birdid-preflight-details summary{cursor:pointer;font-weight:600;margin-bottom:12px}
