:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183644;background:#f3f7f8;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dbe7e9;padding:20px max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{font-size:21px;text-decoration:none;color:#183644;white-space:nowrap}.brand strong{color:#087a76}.badge{font-size:12px;background:#e6f5f1;color:#12605c;padding:4px 10px;border-radius:20px}nav{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav form{margin:0}nav a{font-size:14px}main{max-width:1100px;margin:42px auto;padding:0 24px;min-height:65vh}h1{font-size:clamp(26px,4vw,36px);letter-spacing:-1px;line-height:1.2;margin-bottom:16px}h2{font-size:21px;line-height:1.3}.lead{color:#526d79;font-size:18px}.card{background:white;border:1px solid #dbe7e9;border-radius:16px;padding:28px;margin:24px 0;box-shadow:0 4px 14px #17364305}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid>.card{margin:0}.narrow{max-width:620px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1px;color:#087a76}label{display:block;font-size:14px;font-weight:600;margin:14px 0}input{display:block;width:100%;border:1px solid #b6cbd0;border-radius:8px;padding:12px;font:inherit;min-width:0;background:white;color:#183644}input:focus{outline:3px solid #b6e8df;outline-offset:1px}.input-row{display:flex;gap:8px;margin-top:7px}button,.button{display:inline-block;background:#087a76;color:white;border:1px solid #087a76;padding:11px 19px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#05645f}.secondary{background:white;color:#285360;border-color:#ccdadd;font-size:13px}.secondary:hover{background:#edf5f5}button:disabled{opacity:.5;cursor:not-allowed}.notice{border:1px solid #efc0bb;background:#fff1ef;padding:16px 20px;border-radius:10px;margin:20px 0;color:#903d34}.notice.ok{border-color:#b8e0ca;background:#eaf7ef;color:#256546}.notice.info{border-color:#bddbe6;background:#eaf4f8;color:#285b70}a{color:#087a76;text-underline-offset:3px}.muted{color:#667d86;font-size:13px}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:6px}.requirements{display:flex;gap:14px 28px;list-style:none;flex-wrap:wrap;padding:0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #e0eaec;overflow-wrap:anywhere}dl{display:grid;grid-template-columns:180px 1fr;gap:10px}dt{font-weight:600}dd{margin:0;overflow-wrap:anywhere}footer{padding:25px;text-align:center;color:#667d86;font-size:13px}@media(max-width:700px){.grid{grid-template-columns:1fr}nav{margin-left:0;width:100%;gap:12px}header{padding:16px 20px}main{margin-top:28px;padding:0 16px}.card{padding:21px}dl{grid-template-columns:1fr;gap:3px}dd{margin-bottom:12px}}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.search{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}.search label:first-of-type{flex:1;min-width:220px}.search label{margin:0}.search button,.search>a{margin-bottom:1px}select{display:block;border:1px solid #b6cbd0;border-radius:8px;padding:12px;font:inherit;background:white;color:#183644}.table-scroll{overflow-x:auto}.pagination{margin:20px 0 0;justify-content:flex-start}.pagination span{font-size:14px;color:#667d86}

textarea{display:block;width:100%;border:1px solid #b6cbd0;border-radius:8px;padding:12px;font:inherit;resize:vertical;color:#183644}textarea:focus,select:focus{outline:3px solid #b6e8df;outline-offset:1px}.field-value{white-space:pre-wrap}
fieldset{border:0;padding:0;margin:0;min-width:0}[hidden]{display:none!important}.pdf-field h2{overflow-wrap:anywhere}.pdf-field select{width:100%}.pdf-field .check{align-self:center}
.pdf-review{width:100%;height:65vh;border:1px solid #c8d9de;border-radius:8px;margin-top:18px}[data-signature]{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:10/3;border:2px solid #9db5bf;border-radius:8px;background:#fff;touch-action:none;margin:20px 0}select{max-width:100%}
.patient-picker{position:relative;max-width:700px}.patient-picker [role=listbox]{position:absolute;z-index:5;top:84px;left:0;right:0;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #b6cbd0;border-radius:10px;box-shadow:0 8px 24px #17364320}.patient-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e0eaec;border-radius:0;background:#fff;color:#183644;font-weight:400}.patient-option:hover,.patient-option[aria-selected=true]{background:#e6f5f1}.request-card h2{margin:0}.request-patient{font-size:18px;margin:8px 0}.document-list{list-style:none;margin:20px 0;padding:0}.document-list>li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #dbe7e9}.document-list p{margin:5px 0}.document-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}@media(max-width:700px){.document-list>li{align-items:flex-start;flex-direction:column}.patient-picker [role=listbox]{position:static}}

.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f3f7f8;padding:18px;border-radius:8px}

/* Administration shell: full available width, independent sidebar scrolling. */
.admin-layout{--sidebar-width:260px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:1fr auto;min-height:100dvh}
.admin-layout main{grid-column:2;grid-row:1;width:100%;max-width:none;min-width:0;margin:0;padding:32px clamp(20px,3vw,48px);min-height:calc(100dvh - 70px)}
.admin-layout main>h1{margin-top:0}.admin-layout>footer{grid-column:2;grid-row:2;padding:20px 24px}
.app-sidebar{grid-column:1;grid-row:1 / -1;position:sticky;top:0;align-self:start;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;padding:26px 18px;background:#fff;border-right:1px solid #dbe7e9}
.sidebar-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0 12px 26px}.sidebar-brand .brand{font-size:20px}
.app-navigation{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:24px;margin:0;width:100%;flex:1}.nav-links{display:flex;flex-direction:column;gap:6px}
.app-navigation a,.settings-navigation summary{display:block;padding:12px 14px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:600;color:#385761;overflow-wrap:anywhere}
.app-navigation a:hover,.settings-navigation summary:hover{background:#f0f7f7}.app-navigation a.active{background:#e1f3ef;color:#076e68;box-shadow:inset 3px 0 #087a76}
.app-navigation a:focus-visible,.settings-navigation summary:focus-visible{outline:3px solid #b6e8df;outline-offset:2px}
.settings-navigation{margin-top:14px;border-top:1px solid #e0eaec;padding-top:14px}.settings-navigation summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-navigation summary::-webkit-details-marker{display:none}.settings-navigation summary::after{content:'＋';font-size:18px;font-weight:400}.settings-navigation[open]>summary::after{content:'−'}
.settings-links{display:flex;flex-direction:column;gap:4px;padding:6px 0 0 12px}.settings-links a{font-weight:400;font-size:13px;padding:10px 14px}
.sidebar-account{margin-top:auto;border-top:1px solid #e0eaec;padding:20px 12px 0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.sidebar-account>span{font-size:12px;color:#667d86}.sidebar-account form{margin-top:14px}.sidebar-account button{width:100%}.sidebar-toggle{display:none}
@media(max-width:800px){.admin-layout{display:block}.app-sidebar{position:relative;height:auto;overflow:visible;padding:16px;border-right:0;border-bottom:1px solid #dbe7e9;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.sidebar-brand{padding:0;gap:4px}.sidebar-brand .brand{font-size:19px}.sidebar-brand .badge{font-size:11px}.sidebar-toggle{display:block}.app-navigation{grid-column:1 / -1;gap:16px}.admin-layout.navigation-ready .app-navigation{display:none}.admin-layout.navigation-ready.navigation-open .app-navigation{display:flex}.sidebar-account{margin-top:0}.admin-layout main{padding:24px 16px;min-height:65vh}.admin-layout>footer{padding:20px 16px}.settings-navigation{margin-top:6px}}
@media print{.app-sidebar,.admin-layout>footer{display:none}.admin-layout{display:block}.admin-layout main{padding:0;min-height:0}.card{box-shadow:none}}
