@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
.clinic-auth{--bg:#f5f6f3;--paper:#fff;--ink:#203c35;--muted:#6f7e73;--line:#e6ebe5;--green:#1c5747;font-family:"Segoe UI",Arial,sans-serif}.shell-sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);z-index:20;overflow-y:auto}.shell-sidebar-inner{min-height:100%;display:flex;flex-direction:column;padding:28px 18px 18px}.shell-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:27px}.shell-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:29px;font-weight:750;letter-spacing:-1px;padding:0 12px;line-height:1.15}.shell-brand small{display:block;font-size:8px;letter-spacing:1.5px;font-weight:600;color:var(--muted);margin-top:7px;white-space:nowrap}.shell-symbol{position:relative;display:grid;place-items:center;width:41px;height:43px;border-radius:13px;background:var(--green);color:white;font:700 36px Georgia,serif;padding-bottom:7px;flex-shrink:0}.shell-symbol>span{position:absolute;font:600 18px Arial,sans-serif;right:3px;top:1px;color:#c4dbbb}.shell-workspace{display:flex;gap:10px;align-items:center;padding:13px 10px;margin:0 3px 28px;border:1px solid var(--line);border-radius:12px}.shell-workspace>div{min-width:0}.shell-workspace strong{display:block;font-size:12px}.shell-workspace small{display:block;font-size:11px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.shell-avatar{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;background:#e8eee5;color:#516749;font-size:12px;font-weight:700}.shell-dot{margin-left:auto;width:6px;height:6px;background:#8cae81;border-radius:50%;flex-shrink:0}.shell-caption{font-size:10px;letter-spacing:1.7px;color:#798a79;font-weight:650;padding:0 15px;margin:0 0 10px}.shell-sidebar-inner nav{display:flex;flex-direction:column;gap:4px;margin-bottom:26px}.shell-nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 14px;border:0;border-radius:9px;color:#5f7466;text-decoration:none;font-size:13px;font-weight:500;text-align:left;line-height:1.4;overflow-wrap:anywhere}.shell-nav-link svg,.shell-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell-nav-link:hover{background:#f5f7f2;color:var(--green)}.shell-nav-link[aria-current=page]{background:#e7f1e8;color:var(--green);font-weight:700}.shell-nav-link[aria-current=page]:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto;flex-shrink:0}.shell-sidebar-bottom{margin-top:auto;padding-top:25px}.shell-logout{width:100%;background:transparent;justify-content:flex-start}.shell-build{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding:18px 12px 0;margin-top:15px;border-top:1px solid var(--line)}.shell-build>span{width:5px;height:5px;background:#afbaab;border-radius:50%;flex-shrink:0}.shell-app{margin-left:238px;min-width:0}.shell-topbar{height:79px;border-bottom:1px solid var(--line);background:#fafbf8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 32px}.shell-topbar-left{display:flex;align-items:center;gap:12px;min-width:0;color:#617366;font-size:13px}.shell-topbar-left>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar-right{display:flex;gap:22px;align-items:center;flex-shrink:0}.shell-mode{font-size:9px;letter-spacing:1px;background:#ebeee7;padding:6px 9px;border-radius:5px;color:#65775d;font-weight:650}.shell-topbar time{font-size:12px;color:var(--muted)}.shell-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;background:transparent;border:0;border-radius:8px;color:#617366}.shell-menu-toggle{display:none}.shell-drawer{inset:0 auto 0 0;margin:0;width:min(290px,calc(100vw - 30px));max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:#fff;color:var(--ink);box-shadow:10px 0 40px #20402a25}.shell-drawer::backdrop{background:#142d2580}.shell-drawer .shell-sidebar-inner{min-height:100dvh}.shell-drawer .shell-brand{padding-left:4px}.shell-drawer .shell-brand-row{gap:0}.clinic-auth main{max-width:1510px;padding:32px;min-height:calc(100vh - 175px)}.clinic-auth .environment{font-size:11px;padding:7px 18px;background:#eef1e8;color:#61745b}.clinic-auth h1{font-size:30px;letter-spacing:-1px}.clinic-auth h2{font-size:18px}.clinic-auth .card{border-radius:17px;padding:24px;box-shadow:0 3px 16px #233e3004}.clinic-auth .patient-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr))}.clinic-auth .summary-number{font-size:35px;margin:12px 0}.clinic-auth .summary-grid .eyebrow{font-size:10px;letter-spacing:1.1px}.clinic-auth .eyebrow{font-size:10px;letter-spacing:1.5px}.clinic-auth footer{display:flex;justify-content:space-between;gap:16px;text-align:left;font-size:10px;padding:20px 32px;color:var(--muted)}.clinic-guest footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.clinic-auth .skip{z-index:100}.clinic-navigation-open{overflow:hidden}
@media(min-width:901px){.shell-drawer[open]{display:none}.clinic-auth .summary-grid{gap:15px}.clinic-auth .detail-grid{gap:20px}}
@media(max-width:1100px) and (min-width:901px){.shell-sidebar{width:215px}.shell-app{margin-left:215px}.shell-sidebar-inner{padding-left:12px;padding-right:12px}.clinic-auth main{padding:26px 24px}.shell-topbar{padding:0 24px}.shell-topbar time{display:none}.clinic-auth .summary-grid .card{padding:18px}.clinic-auth .summary-grid{gap:12px}.clinic-auth .detail-grid{grid-template-columns:1fr}.clinic-auth .booking-row{grid-template-columns:60px minmax(0,1fr)}.clinic-auth .booking-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:900px){.shell-sidebar{display:none}.shell-app{margin-left:0}.shell-menu-toggle{display:inline-flex}.shell-topbar{height:67px;padding:0 22px}.shell-topbar-right{gap:15px}.clinic-auth main{padding:26px 22px}.clinic-auth footer{padding:20px 22px;flex-direction:column;gap:6px}}
@media(max-width:560px){.shell-topbar{padding:0 12px;gap:8px}.shell-topbar-left{gap:4px;font-size:12px}.shell-topbar-right{gap:9px}.shell-topbar time{display:none}.shell-mode{font-size:8px;padding:5px 6px;letter-spacing:.5px}.shell-topbar .shell-avatar{width:30px;height:30px;font-size:11px}.clinic-auth main{padding:24px 16px}.clinic-auth h1{font-size:27px}.clinic-auth .card{padding:20px}.clinic-auth .summary-grid .eyebrow{font-size:9px}.clinic-auth .summary-number{margin:0;font-size:33px}.clinic-auth .environment{font-size:10px;padding:7px 16px}.clinic-auth footer{padding:18px 16px}}
@media(prefers-reduced-motion:no-preference){.shell-nav-link{transition:background .15s}}
.shell-fallback{display:flex;flex-wrap:wrap;gap:16px;padding:14px 20px;background:white;border-bottom:1px solid var(--line)}.clinic-auth .card h2{overflow-wrap:anywhere;}
.clinical-entry{padding:22px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.clinical-text{white-space:pre-wrap;line-height:1.8;font-size:15px;margin:16px 0}.clinical-supplement summary{cursor:pointer;padding:12px 0}.clinical-supplement form{display:grid;gap:14px}.clinical-entry header .hint{overflow-wrap:anywhere}@media(max-width:600px){.clinical-text{font-size:16px}.clinical-supplement button{min-height:44px}}
.clinical-form .full{grid-column:1/-1;margin-top:0}.clinical-form label{min-width:0}.clinical-form select{max-width:100%}
.patient-document-paper{max-width:840px;margin:26px auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.patient-document-paper header{display:flex;gap:20px;align-items:center}.patient-document-paper header img{width:80px;height:80px;object-fit:contain}.patient-document-paper header p{font-size:13px;line-height:1.6}.patient-document-paper hr{border:0;border-top:2px solid;margin:24px 0}.clinic-auth .patient-document-paper footer{display:block;border-top:1px solid #ddd;margin-top:36px;padding:15px 0;font-size:10px}.document-controls{overflow-wrap:anywhere}.document-controls form>label{display:flex;gap:10px;align-items:center}.document-controls input[type=checkbox]{width:22px;height:22px;flex-shrink:0}.document-controls .actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:600px){.patient-document-paper{padding:20px}.patient-document-paper header{align-items:flex-start;flex-direction:column}}@media print{@page{size:A4;margin:15mm}body.clinic-auth{background:white}.shell-sidebar,.shell-topbar,.shell-fallback,.environment,.skip,.document-controls,.shell-app>footer{display:none!important}.shell-app{margin:0!important}.clinic-auth main{padding:0!important;margin:0!important;max-width:none!important}.patient-document-paper{border:0;border-radius:0;margin:0;padding:0;max-width:none}.patient-document-paper h2,.patient-document-paper header{break-after:avoid}.patient-document-paper .clinical-text{font-size:11pt}}

/* Same sidebar geometry, typography and active palette as the full system. */
.shell-sidebar-inner,.shell-drawer .shell-sidebar-inner{padding:29px 18px 18px;font-family:'DM Sans',sans-serif;line-height:normal;--muted:#7b8780}
.shell-sidebar{width:238px}.shell-app{margin-left:238px}
.shell-brand-row{margin:0;padding:0 0 25px}.shell-brand,.shell-drawer .shell-brand{padding:0 12px;font-family:'Manrope',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.3px;line-height:1.35;gap:11px;text-decoration:none}
.shell-brand small{font:600 8px 'DM Sans',sans-serif;letter-spacing:1.8px;line-height:normal;margin-top:4px;color:#8b968d}
.shell-brand img{width:43px;height:43px}.shell-symbol{font:800 35px 'Manrope',sans-serif;padding-bottom:4px;display:flex;align-items:center;justify-content:center}.shell-symbol>span{font:600 17px sans-serif;right:3px;top:0;color:#bcd5b8}
.shell-workspace{margin:0 3px 28px;padding:12px 10px;gap:9px}.shell-workspace .shell-avatar{width:34px;height:34px;background:#e8eee5;color:#516749;font:700 12px 'DM Sans',sans-serif}.shell-workspace strong{font-size:11px}.shell-workspace small{font-size:10px;margin-top:4px;line-height:1.4;max-width:130px}
.shell-caption{font-size:9px;letter-spacing:1.7px;color:#9ca69e;font-weight:700;padding:0 15px;margin:0 0 10px}
.shell-sidebar-inner nav{display:block;margin-bottom:22px}.shell-nav-link{display:flex;position:relative;gap:12px;border-radius:9px;padding:11px 15px;min-height:42px;margin:3px 0;font:500 12px 'DM Sans',sans-serif;line-height:normal;color:#6b7b70;text-decoration:none}.shell-nav-link[aria-current=page]{background:var(--mint);color:var(--green);font-weight:700}.shell-nav-link:hover{background:#f5f7f2}.shell-nav-link[aria-current=page]:hover{background:var(--mint)}
.shell-sidebar-bottom{margin-top:auto;padding-top:0}.shell-build{font:9px 'DM Sans',sans-serif;color:#9ca79f;padding:17px 14px 0;margin-top:18px}
.shell-patient-context{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 24px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.shell-patient-context>div{min-width:0}.shell-patient-label{display:block;margin:0 0 5px;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.shell-patient-context strong{display:block;font-size:14px}.shell-patient-actions{display:flex;gap:14px;flex-wrap:wrap}.shell-patient-actions a{display:inline-block;font-size:12px;color:var(--green);line-height:1.6}
.shell-account-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.shell-account-actions form{margin:0}.shell-account-actions button{font-size:11px;padding:6px 10px;min-height:36px;background:transparent;border:1px solid var(--line);color:var(--green)}
@media(max-height:820px) and (min-width:901px){.shell-sidebar-inner{padding-top:20px}.shell-brand-row{padding-bottom:18px}.shell-workspace{margin-bottom:18px}.shell-nav-link{padding:9px 15px}.shell-sidebar-inner nav{margin-bottom:16px}.shell-caption{margin-bottom:5px}}
@media(max-width:1180px) and (min-width:901px){.shell-sidebar{width:205px}.shell-app{margin-left:205px}.shell-sidebar-inner{padding-left:12px;padding-right:12px}}
@media(max-width:900px){.shell-app{margin-left:0}.shell-drawer{width:min(290px,calc(100vw - 30px));overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:560px){.shell-patient-context{align-items:flex-start;flex-direction:column;gap:10px}.shell-patient-actions{gap:10px}}
@media print{.shell-patient-context,.shell-account-actions{display:none!important}}
.shell-sidebar-inner,.shell-drawer .shell-sidebar-inner{font-size:14px}.shell-workspace small{white-space:normal;max-width:none;text-overflow:clip;overflow:visible}
/* Persistent patient header and professional document paper. */
.shell-patient-context{display:block;padding:0;overflow:hidden}.shell-patient-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.shell-patient-hero strong{font-size:18px}.shell-patient-hero small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.shell-patient-actions .button{font-size:12px;min-height:40px;padding:9px 14px;text-decoration:none}.shell-patient-tabs{display:flex;gap:22px;padding:0 24px;margin:0;overflow-x:auto;border-top:1px solid var(--line)}.shell-patient-tabs a{display:block;white-space:nowrap;padding:14px 0;font-size:12px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}.shell-patient-tabs a[aria-current=page]{color:var(--green);border-color:var(--green);font-weight:700}
.document-professional{max-width:820px;padding:42px 46px;border:1px solid #e0e4e7;border-radius:12px;color:#26343e;font-family:'DM Sans',Arial,sans-serif}.document-professional .document-letterhead{display:flex;align-items:center;gap:20px;padding-bottom:26px;border-bottom:2px solid var(--document-color)}.document-professional .document-letterhead img{width:70px;height:70px;object-fit:contain}.document-clinic{min-width:0}.document-professional .document-clinic h2{font:750 23px/1.3 'Manrope',Arial,sans-serif;color:var(--document-color);letter-spacing:-.5px;margin:0 0 8px}.document-professional .document-clinic p{font-size:11px;line-height:1.6;margin:3px 0}.document-contact{white-space:pre-wrap;color:#5e6870}.document-title{margin:30px 0 22px}.document-kicker{font-size:8px;letter-spacing:1.5px;font-weight:650;color:#76828a;margin:0 0 9px}.document-professional .document-title h1{font:700 24px/1.3 'Manrope',Arial,sans-serif;letter-spacing:-.5px;margin:0;color:#24333e}.document-identification{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:15px 17px;border:1px solid #e2e7eb;border-radius:8px;background:#f8fafb}.document-identification small{display:block;font-size:8px;letter-spacing:1px;color:#78848d;margin-bottom:6px}.document-identification strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.document-professional .document-body{font-size:13px;line-height:1.85;white-space:pre-wrap;margin:28px 0 38px;color:#26343e}.document-signatures{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:46px;break-inside:avoid}.document-signatures span{display:block;border-top:1px solid #9eabb5;margin:32px 0 12px}.document-signatures strong,.document-signatures small{display:block;text-align:center;font-size:10px;line-height:1.5}.document-signatures small{font-size:9px;color:#697780;margin-top:4px}.clinic-auth .document-professional .document-footer{display:flex;justify-content:space-between;gap:18px;font-size:8px;color:#7b8790;border-top:1px solid #e2e7eb;margin:35px 0 0;padding:14px 0 0}
@media(max-width:600px){.shell-patient-hero{align-items:flex-start;flex-direction:column;padding:18px}.shell-patient-hero strong{font-size:16px}.shell-patient-tabs{padding:0 18px;gap:20px}.document-professional{padding:26px 20px}.document-professional .document-letterhead{align-items:flex-start}.document-professional .document-clinic h2{font-size:20px}.document-identification{grid-template-columns:1fr}.document-signatures{grid-template-columns:1fr;gap:14px}}
@media print{@page{size:A4;margin:17mm 16mm}.document-professional{padding:0;border:0;border-radius:0;max-width:none;width:100%;box-shadow:none}.document-professional .document-letterhead{flex-direction:row;align-items:center;break-inside:avoid}.document-professional .document-title h1{font-size:21pt}.document-identification{grid-template-columns:minmax(0,1fr) auto;break-inside:avoid;background:white}.document-professional .document-body{font-size:10.5pt;line-height:1.75;orphans:3;widows:3}.document-signatures{grid-template-columns:1fr 1fr;gap:30px}.document-professional .document-footer{break-inside:avoid}.document-professional *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}