:root{--ink:#0b2c60;--muted:#647788;--green:#009e9b;--pale:#eaf8f7;--line:#e2ecef;--bg:#f6f9fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}aside{width:254px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:36px 23px;display:flex;flex-direction:column;z-index:5}.brand{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.4px;display:flex;align-items:center;gap:9px}.brand-icon{background:var(--green);color:white;display:grid;place-items:center;border-radius:12px;width:39px;height:39px;font-size:26px}.dot{color:#81b188;margin-left:-7px}.brand-sub{font-size:9px;letter-spacing:2.4px;margin:14px 0 55px 2px;color:var(--muted)}.role-label{font-size:9px;color:#93a099;letter-spacing:1.4px;margin-bottom:15px}nav a{display:flex;gap:12px;align-items:center;padding:14px;border-radius:8px;color:#73827b;margin:5px 0;font-weight:500}nav a.active{background:var(--pale);color:var(--green);font-weight:700}nav a b{font-size:19px;width:20px;font-weight:400}.sidebar-foot{margin-top:auto;padding-top:30px;font-size:10px;line-height:1.7;display:flex;gap:9px;align-items:center}.sidebar-foot small{display:block;color:var(--muted);font-size:9px}.avatar{display:inline-grid;place-items:center;background:#e8eee7;border-radius:50%;width:36px;height:36px;font-size:11px;font-weight:700;flex-shrink:0}.shell{margin-left:254px}header{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px}.crumb{color:var(--muted)}.crumb span{margin:0 15px;color:#bdc7c0}.crumb strong{color:var(--ink);font-weight:500}.demo-pill{font-size:9px;font-weight:700;letter-spacing:1px;background:#f1f5ed;padding:9px 12px;border-radius:30px;display:flex;align-items:center;gap:7px}.demo-pill i{width:6px;height:6px;background:#78a36b;border-radius:50%}.demo-bar{padding:11px 42px;font-size:11px;background:#fff9e9;color:#8b7442;border-bottom:1px solid #f0e9d5}main{padding:40px 42px;min-height:calc(100vh - 180px);max-width:1560px;margin:auto}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.7px}h1{font-size:36px;line-height:1.2;margin:10px 0 16px}h2{font-size:21px;margin:0 0 10px}h3{font-size:16px;margin:0 0 9px}p{line-height:1.7;color:var(--muted);margin:0 0 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;background:#eaf1e7;border:1px solid #e0e8dc;border-radius:18px;padding:44px;margin-bottom:27px;position:relative;overflow:hidden}.hero h1{font-size:46px;max-width:540px}.hero h1 em{color:var(--green);font-style:normal}.hero p{max-width:440px;font-size:14px}.hero-visual{position:relative;min-height:285px;display:grid;place-items:center;background:radial-gradient(ellipse,#cadfc8 0,transparent 66%)}.orbit{width:240px;height:240px;border:1px solid #b6ceb5;border-radius:50%;position:absolute}.orbit.two{width:310px;height:310px;border-style:dashed;opacity:.65}.center-card{position:relative;border:1px solid #dfe8db;background:#ffffffdf;padding:28px 24px;border-radius:17px;box-shadow:0 18px 40px #355e3420;text-align:center;width:207px;transform:rotate(-4deg)}.center-card .avatar{width:49px;height:49px;background:#dcecd7;font-size:16px;margin-bottom:10px}.center-card strong{display:block;font-size:14px}.center-card small{font-size:10px;color:var(--muted)}.mini-pill{background:#eef5ea;color:var(--green);font-size:10px;padding:7px;border-radius:5px;margin-top:15px}.floating{position:absolute;background:white;border-radius:9px;padding:12px 15px;box-shadow:0 6px 20px #355e3412;font-size:11px;z-index:1}.floating.top{top:23px;right:0}.floating.bottom{bottom:9px;left:0}.floating span{color:var(--green);margin-right:7px}.btn{border:1px solid var(--line);background:white;color:var(--ink);padding:12px 17px;border-radius:7px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:13px;justify-content:center}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.soft{background:var(--pale);color:var(--green);border:0}.btn.danger{color:#a84e40;background:#fff7f3;border-color:#eedcd5}.actions{display:flex;gap:10px;flex-wrap:wrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 19px}.section-head p{margin:0;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.card p{font-size:13px;margin:0 0 15px}.card .icon{width:39px;height:39px;display:grid;place-items:center;font-size:22px;color:var(--green);background:var(--pale);border-radius:10px;margin-bottom:20px}.card-link{color:var(--green);font-size:12px;font-weight:700}.step{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{background:white;border:1px solid var(--line);padding:21px;border-radius:10px}.stat strong{font-family:Manrope;font-size:28px;display:block;margin-top:8px}.stat span{color:var(--muted);font-size:12px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-title h1{font-size:30px}.page-title p{font-size:13px}.badge{display:inline-flex;align-items:center;background:var(--pale);color:var(--green);padding:5px 9px;border-radius:25px;font-size:10px;white-space:nowrap}.badge.amber{background:#fcf2dc;color:#927030}.badge.gray{background:#f0f2f1;color:#7a817d}.filter{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.filter input{flex:1;min-width:180px}.filter input,select,form input,form textarea{padding:12px 14px;border:1px solid #dce3dc;background:white;border-radius:7px;color:var(--ink)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:9px;letter-spacing:1.3px;color:var(--muted);font-weight:600;background:#fafbf9;padding:15px}td{padding:18px 15px;border-top:1px solid var(--line)}td strong{display:block;font-size:12px;margin-bottom:5px}td small{color:var(--muted);font-size:10px}.table-wrap{border:1px solid var(--line);border-radius:10px;background:white;overflow:auto}.file-icon{background:#f4e9e4;color:#a77961;font-size:9px;display:inline-grid;place-items:center;width:31px;height:37px;border-radius:5px;float:left;margin-right:12px}.notice{background:#edf3e8;border:1px solid #dee8d7;padding:19px 22px;border-radius:10px;font-size:12px;line-height:1.7;color:#5b765c;margin-top:22px}.timeline{border-left:1px solid #d1dfcf;margin:15px 0 0 8px;padding-left:26px}.event{position:relative;padding-bottom:26px}.event:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--green);position:absolute;left:-31px;top:5px;border:2px solid #f6f8f5}.event small{font-size:10px;color:var(--muted)}.event h3{font-size:14px;margin:7px 0}.event p{font-size:12px;margin:0}.person{display:flex;align-items:center;gap:12px;margin-bottom:20px}.person .avatar{width:43px;height:43px}.person h3{margin-bottom:4px}.person small{color:var(--muted);font-size:11px}.permission{font-size:11px;color:var(--muted);margin:15px 0;line-height:1.8}.permission strong{color:var(--ink)}form label{display:block;font-size:12px;font-weight:600;margin:15px 0 7px}form input:not([type=checkbox]),form select,form textarea{width:100%}form .check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}form .check input{margin-top:3px}.muted{color:var(--muted);font-size:12px}.empty{text-align:center;padding:40px;color:var(--muted)}dialog{border:1px solid var(--line);padding:35px;border-radius:16px;width:min(560px,93vw);color:var(--ink);box-shadow:0 30px 100px #133a3030}dialog::backdrop{background:#12382e60;backdrop-filter:blur(3px)}dialog h2{padding-right:15px}.close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:25px;color:var(--muted)}.toast{position:fixed;bottom:25px;right:25px;background:#183c31;color:white;padding:16px 23px;border-radius:10px;font-size:13px;z-index:20;display:none;max-width:90vw}.toast.show{display:block}footer{border-top:1px solid var(--line);padding:20px 42px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between}.profile-strip{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#ecf2e9;border-radius:10px;margin-bottom:22px}.profile-strip strong{font-size:13px}.profile-strip small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.lock-state{padding:30px;border:1px dashed #d1dcd2;border-radius:10px;text-align:center;background:#fafbf9}.lock-state p{font-size:12px}.wide{grid-column:1/-1}@media(min-width:1600px){.hero{padding:65px}.hero h1{font-size:58px}}@media(max-width:1100px){aside{width:210px;padding:28px 16px}.shell{margin-left:210px}main{padding:28px}header,.demo-bar{padding-left:28px;padding-right:28px}.hero{padding:28px;gap:5px}.hero h1{font-size:36px}.floating{font-size:9px}.hero-visual{min-width:210px}.orbit.two{width:260px;height:260px}.grid{gap:12px}.card{padding:20px}}@media(max-width:760px){aside{position:static;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px}.brand-icon{width:32px;height:32px;font-size:22px}.brand-sub,.role-label,.sidebar-foot{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:14px}nav a{white-space:nowrap;font-size:11px;padding:9px;gap:6px}nav a b{font-size:14px;width:15px}.shell{margin:0}header{height:55px;padding:0 20px}.demo-bar{padding:9px 20px;line-height:1.5}.demo-pill{font-size:7px}main{padding:25px 20px}.hero{grid-template-columns:1fr;padding:27px}.hero h1{font-size:37px}.hero-visual{min-height:280px;margin-top:15px}.floating.top{right:0}.grid,.grid.two{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:14px}.stat span{font-size:10px}.stat strong{font-size:23px}.page-title{align-items:flex-start;flex-direction:column;gap:0}h1{font-size:30px}.page-title h1{font-size:27px}.section-head{align-items:flex-start}footer{padding:20px;display:block;line-height:2}footer span{display:block}td{padding:14px 10px}.hero .actions .btn{font-size:11px}.profile-strip{margin-top:15px}}

footer{gap:16px;flex-wrap:wrap;line-height:1.7}footer a{color:var(--green);text-decoration:underline;text-underline-offset:3px;font-weight:600}footer a:hover{color:var(--ink)}
/* Self-contained portal: no external font or analytics requests. */
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}h1,h2,h3,.brand,.stat strong{font-family:inherit}.brand b{display:grid;place-items:center;background:var(--green);color:white;width:39px;height:39px;border-radius:11px;font-size:27px}.brand>span{color:#81b188}.tagline{font-size:9px;letter-spacing:2px;margin:15px 0 48px}.pilot-bar{background:#fff6dd;color:#826b35;padding:12px 42px;font-size:12px}.grid.three{grid-template-columns:repeat(3,1fr)}.section{margin-top:28px}.page-title h1{font-size:32px}.profile-strip h2{font-size:19px;margin:0}.profile-strip p{margin:6px 0 0;font-size:12px}.profile-strip strong{font-size:12px}.card form+form{margin-top:14px}input,select,textarea{max-width:100%;box-sizing:border-box}form .grid.two{column-gap:22px;row-gap:0}form .grid.two>label{margin-top:16px}form .grid.two>input{margin-top:0}form input,form select,form textarea{width:100%;border:1px solid #dce3dc;border-radius:7px;background:white;padding:12px;color:var(--ink)}form .grid.two{display:block}form .grid.two:after{content:'';display:block;clear:both}label.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.7;margin:22px 0}.check input{width:17px;min-width:17px;margin:4px 0 0;padding:0}.check input:focus{outline:2px solid var(--green)}form button{margin-top:16px}.card>p{max-width:800px}.hero{display:block}.hero h1{font-size:46px;max-width:740px}.hero p{max-width:680px}summary{font-size:17px;font-weight:700;cursor:pointer;padding:5px 0}details[open]>summary{margin-bottom:20px}.share-code{display:block;padding:18px;background:#f2f5ef;overflow-wrap:anywhere;font-size:17px;margin:18px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.filters input,.filters select{border:1px solid var(--line);padding:12px;border-radius:7px;background:white;font-size:12px;min-width:110px}.filters input[type=search]{flex:1;min-width:220px}.table-wrap .document-description{margin:6px 0;font-size:12px;max-width:400px;white-space:pre-wrap;overflow-wrap:anywhere}td small{display:block;margin-top:5px}.vertical{flex-direction:column;gap:5px}.vertical form button{margin:0}.vertical .btn{white-space:nowrap;padding:9px 12px}.document-row[hidden],[hidden]{display:none!important}.document-row[data-archived='1']{opacity:.65}.count{display:inline-grid;place-items:center;border-radius:50%;background:#dcebd8;min-width:20px;height:20px;font-size:10px;margin-left:auto}.notice.error{background:#fff0ec;border-color:#efd0c5;color:#9f4b36}.notice.amber{background:#fff6de;color:#8a6a27;border-color:#efe1bb}.audit{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.8}.audit li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap}.audit li:last-child{border:0}.audit time{color:var(--muted);min-width:125px}.audit span{color:var(--muted);margin-left:auto}.stats strong{display:block;font-size:29px;margin-top:8px}.stats span{font-size:12px;color:var(--muted)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}.dialog-close{position:absolute;right:16px;top:13px;border:0;background:none;font-size:26px;cursor:pointer}#clp-toast{display:none;position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:17px 24px;border-radius:9px;font-size:13px;z-index:30}footer{gap:15px;flex-wrap:wrap;line-height:1.8}footer a{color:var(--green);text-decoration:underline;text-underline-offset:3px}main{min-height:calc(100vh - 193px)}form{margin:0}input:focus,select:focus,textarea:focus{outline:2px solid #8fbba1;outline-offset:1px}.compare-card p{white-space:pre-wrap}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8fbba1;outline-offset:3px}@media(max-width:760px){.tagline{display:none}.grid.three{grid-template-columns:1fr}.pilot-bar{padding:10px 20px;line-height:1.6}.hero h1{font-size:35px}.page-title h1{font-size:29px}.profile-strip{align-items:flex-start}.profile-strip p{line-height:1.7}.profile-strip .avatar{display:none}.audit span{margin-left:0}.section{margin-top:23px}.sidebar-foot{display:none}.filters input[type=date]{flex:1}header{font-size:10px;gap:10px}.badge{font-size:9px}.brand{display:flex}.brand b{width:32px;height:32px;font-size:24px}main{padding-bottom:35px}}.brand{font-size:23px;letter-spacing:-1px;white-space:nowrap;gap:7px}.brand b{flex-shrink:0}.brand>span{margin-left:-6px}.tagline{font-size:8px;letter-spacing:1.5px}#compare-dialog{width:min(900px,94vw)}
.drop-zone{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-height:145px;padding:24px;border:2px dashed #a4c4ae;border-radius:12px;background:#f6faf3;text-align:center;cursor:pointer;margin:22px 0}.drop-zone>span{font-size:11px;color:var(--muted);font-weight:400}.drop-zone input{width:min(420px,100%);font-size:12px;padding:10px}.drop-zone.drag-over{background:#e5f1df;border-color:var(--green)}.drop-zone strong{font-size:14px}#clp-file-name{overflow-wrap:anywhere;color:var(--green);font-weight:600}
.public-view{background:#fff}.public-view>aside,.public-view .shell>header,.public-view .shell>.pilot-bar{display:none}.public-view .shell{margin-left:0;min-height:100vh;display:flex;flex-direction:column}.public-view main{width:100%;max-width:1080px;min-height:0;flex:1;padding:45px 25px 28px}.public-view .access-brand{display:flex;justify-content:center;margin:12px 0 60px}.public-view .access-brand .brand{font-size:28px;font-weight:750;letter-spacing:-1.1px}.public-view .access-brand .brand b{width:42px;height:42px;border-radius:13px;font-size:29px}.access-welcome{text-align:center;margin-bottom:35px}.access-welcome h1{font-size:44px;letter-spacing:-1.7px;margin-top:15px}.access-welcome p{font-size:15px;line-height:1.8}.access-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:700px;margin:0 auto}.access-option{border:1px solid #e2e9e3;border-radius:17px;padding:32px 27px;background:#fff;display:flex;flex-direction:column;text-align:center;align-items:center;transition:box-shadow .2s,border-color .2s}.access-option:hover{border-color:#a5c3ac;box-shadow:0 12px 35px #18352f0a}.access-icon{background:#eff6ec;color:var(--green);width:68px;height:68px;border-radius:19px;display:grid;place-items:center;margin-bottom:24px}.access-option:nth-child(2) .access-icon{background:#f0f3f6;color:#49677c}.access-option h2{font-size:22px;letter-spacing:-.6px}.access-option p{font-size:13px;margin-bottom:27px}.full{width:100%;min-height:46px}.access-option .full{margin-top:auto}.access-pilot{text-align:center;font-size:10px;line-height:1.9;color:#8a9189;margin:32px auto 0;max-width:500px}.access-form{max-width:480px;margin:0 auto;padding:32px;border-radius:17px}.access-form h1{font-size:29px;letter-spacing:-1px;margin-top:12px}.access-form>p{font-size:13px}.back-link{display:block;color:var(--muted);font-size:11px;margin:0 0 27px}.access-help{font-size:11px;text-align:center;margin:20px 0 0}.access-help a{text-decoration:underline;text-underline-offset:3px}.access-divider{height:1px;background:var(--line);margin:25px 0}.admin-preview{font-size:10px;text-align:center;margin:-42px 0 32px;color:var(--muted)}.public-view footer{padding:25px;justify-content:center;column-gap:40px;background:#fafbf9;font-size:10px}.public-view form .grid{display:block}.public-view .notice{max-width:700px;margin:0 auto 20px;font-size:12px}.access-form label{font-size:12px}.public-view .check{font-size:11px}.public-view footer span{display:block}@media(max-width:650px){.public-view main{padding:25px 20px}.public-view .access-brand{margin:5px 0 42px}.public-view .access-brand .brand{font-size:25px}.access-welcome h1{font-size:33px;letter-spacing:-1.1px}.access-welcome p{font-size:13px}.access-welcome .eyebrow{font-size:8px;letter-spacing:1.5px}.access-options{grid-template-columns:1fr;max-width:390px;gap:14px}.access-option{padding:24px}.access-icon{height:50px;width:50px;border-radius:15px;margin-bottom:15px}.access-option h2{font-size:20px}.access-option p{margin-bottom:18px}.access-form{padding:25px 22px}.access-form h1{font-size:26px}.public-view footer{display:block;text-align:center;line-height:2}.access-pilot{font-size:9px}.admin-preview{margin-top:-25px}.public-view .access-brand .brand b{height:35px;width:35px;font-size:25px}}
.admin-access-link{color:var(--muted);font-size:10px;text-decoration:none;white-space:nowrap}.admin-access-link:hover{color:var(--green);text-decoration:underline}

.brand{display:block;width:100%;overflow:hidden}.portal-logo{display:block;width:100%;height:auto}.public-view .access-brand .brand{width:min(540px,100%)}.public-view .access-brand{margin:0 0 30px}.access-icon{background:#eaf8f7}.access-option:hover{border-color:#009e9b}.public-view footer{background:#f7fafc}

footer{flex-wrap:wrap}.legal-links{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:12px}.legal-links a{display:inline;padding:0;margin:0;font-size:10px;font-weight:400;line-height:1.6;color:#647788;border-radius:0}.legal-links a:hover{text-decoration:underline}.legal-page{max-width:760px;margin:20px auto 50px}.legal-page h1{font-size:30px}.legal-page h2{margin-top:28px}.legal-page p{line-height:1.8}.public-view footer .legal-links{margin-top:14px}

.legal-page table{width:100%;border-collapse:collapse;font-size:12px}.legal-page th,.legal-page td{padding:12px;text-align:left;border:1px solid var(--line);vertical-align:top}.legal-page h2{font-size:21px}.legal-page fieldset{padding:18px;border:1px solid var(--line)}

/* Simple patient and doctor home, same visual language as the public home. */
.simple-view{background:#fff}.simple-view>aside,.simple-view .shell>header,.simple-view .pilot-bar{display:none}.simple-view .shell{margin-left:0}.simple-view main{max-width:920px;min-height:75vh;padding:30px 24px 55px}.simple-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto 28px}.simple-brand>a{max-width:360px}.simple-account{display:flex;align-items:center;gap:15px;font-size:12px}.profile-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}.simple-account .profile-photo{width:42px;height:42px}.placeholder-photo{display:inline-grid;place-items:center;background:var(--pale);color:var(--green);font-size:28px}.simple-intro{text-align:center;margin:20px 0 32px}.simple-intro h1{font-size:34px;margin:0 0 8px}.simple-panel{border-radius:18px;border:1px solid var(--line);padding:22px 25px;background:#fff;margin:15px 0}.simple-panel>summary{font-size:18px;font-weight:700;cursor:pointer;color:var(--ink);list-style-position:inside}.simple-panel[open]>summary{margin-bottom:24px}.simple-view .card{box-shadow:none}.simple-view .section{margin-top:18px}.simple-view #carica{border:1px solid #a7dcd8}.simple-view .drop-zone{padding:24px;margin:18px 0}.simple-view .filters{display:flex;flex-wrap:wrap}.simple-view .filters>*{min-width:140px;flex:1}.simple-view footer{padding:24px;justify-content:center;background:#f7fafc}.photo-settings{padding:10px 0 24px}.photo-settings p,.upload-date-note{font-size:11px}.photo-settings form{margin:12px 0}.simple-view .profile-strip{margin:22px 0}.simple-view .table-wrap{max-width:100%;overflow:auto}.simple-view .simple-intro+p{display:none}@media(max-width:650px){.simple-view main{padding:18px 16px 35px}.simple-brand{display:block;text-align:center}.simple-brand>a{display:block;max-width:310px;margin:auto}.simple-account{justify-content:center;margin-top:10px}.simple-panel{padding:20px 17px}.simple-intro h1{font-size:28px}.simple-view .btn{min-height:44px}.simple-view footer{text-align:center}.simple-view .filters{display:block}.simple-view .filters>*{width:100%;margin-bottom:8px}}

/* Pulsanti quadrati, con riempimento pieno. */
.btn,button:not(.dialog-close),.access-option .full{border-radius:0;background:#0b2c60;color:#fff;border:1px solid #0b2c60;min-height:46px;justify-content:center;font-weight:700}.btn.primary,button.primary{background:#007e7b;border-color:#007e7b;color:#fff}.btn.soft,button.soft{background:#0b2c60;border-color:#0b2c60;color:#fff}.btn.danger,button.danger{background:#b42332;border-color:#b42332;color:#fff}.btn:hover,button:not(.dialog-close):hover{filter:brightness(.9)}.btn:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #009e9b;outline-offset:4px}.simple-panel>summary,#carica>summary,.simple-view details>summary{background:#0b2c60;color:#fff;padding:20px 22px;border-radius:0;min-height:64px;font-size:17px}.simple-view #carica>summary{background:#007e7b}.simple-panel,#carica,.simple-view details.card{border-radius:0;overflow:hidden}.simple-panel>summary,#carica>summary{margin:-22px -25px}.simple-panel[open]>summary,#carica[open]>summary{margin-bottom:24px}.simple-view .count{background:#fff;color:#0b2c60}.simple-view .simple-account a{border-radius:0;padding:10px 16px;background:#0b2c60;color:#fff}.simple-view .simple-account a:last-child{background:#007e7b}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:650px){.simple-panel>summary,#carica>summary{margin:-20px -17px}.simple-panel[open]>summary,#carica[open]>summary{margin-bottom:20px}}

.scanner-dialog{width:min(850px,96vw);max-height:94dvh;overflow:auto;border:1px solid var(--line);padding:22px;color:var(--ink)}.scanner-dialog::backdrop{background:#0b2c60b3}.scanner-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.scanner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.scanner-dialog video,.scanner-dialog canvas{display:block;max-width:100%;max-height:52dvh;width:auto;height:auto;margin:15px auto;background:#f2f5f7}.scanner-dialog [hidden]{display:none!important}.scanner-dialog canvas{touch-action:none;cursor:crosshair}.scanner-status{font-size:13px;min-height:22px}.scan-open{width:100%;margin:10px 0 20px}@media(max-width:600px){.scanner-dialog{padding:16px;width:96vw}.scanner-actions .btn{flex:1;min-width:120px;font-size:12px}}

.password-control{position:relative;display:flex;align-items:center;width:100%}.password-control input{padding-right:58px!important;width:100%;margin:0!important}.password-control .password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#102f59;cursor:pointer}.password-toggle:hover{background:#e9f6f5}.password-toggle:focus-visible{outline:3px solid #008b87;outline-offset:0}.password-toggle .eye-slash{display:none}.password-toggle[aria-pressed="true"] .eye-slash{display:block}

.patient-unregistered-callout{margin:20px 0 26px;padding:22px 24px;border:2px solid #007f80;border-left:8px solid #007f80;background:#e9f8f6;color:#102f59;box-shadow:0 5px 18px #102f5910}.patient-unregistered-callout strong{display:block;font-size:1.3rem;line-height:1.35;margin-bottom:10px}.patient-unregistered-callout p{color:#173c52;font-size:1.06rem;line-height:1.65;margin:0!important;font-weight:500}@media(max-width:600px){.patient-unregistered-callout{padding:18px}.patient-unregistered-callout strong{font-size:1.15rem}}

.document-edit{margin-top:16px;min-width:230px;max-width:520px}.document-edit>summary{display:inline-flex;cursor:pointer;list-style:none;margin:0!important;padding:12px 20px!important;min-height:44px;background:#102f59!important;color:#fff!important}.document-edit>summary::-webkit-details-marker{display:none}.document-edit form{margin-top:16px;padding:18px;background:#f2f9fa;border:1px solid #c7dedd}.document-edit input,.document-edit textarea{width:100%;min-width:0}.document-edit button{margin:8px 6px 0 0}.upload-extra{margin:16px 0;padding:16px;border:1px solid #c7dedd}.upload-extra>summary{cursor:pointer;font-weight:600;margin:0!important;padding:8px!important;background:#e9f8f6!important;color:#102f59!important}

.metrics-banner{position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;padding:24px;background:#fff;color:#17345b;border:2px solid #009d9a;box-shadow:0 12px 45px #0b285333;border-radius:12px}.metrics-banner[hidden]{display:none}.metrics-banner h2{font-size:20px;margin:0 0 10px}.metrics-banner p{font-size:15px;line-height:1.6;margin:0 0 16px}.metrics-banner .actions,.metrics-preferences .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.metrics-banner .btn{min-height:44px}.metrics-preferences{padding:20px 0}@media(max-width:540px){.metrics-banner{left:12px;right:12px;bottom:12px;padding:18px}.metrics-banner .actions .btn{flex:1}}
