:root{--ink:#16202a;--muted:#62707d;--line:#dfe5e8;--soft:#f4f7f8;--panel:#fff;--nav:#0f2f36;--nav-2:#184852;--accent:#16718a;--accent-dark:#0f596d;--danger:#a93636;--warning:#835d12;--success:#2b7145;--radius:14px;--shadow:0 8px 30px rgba(24,47,54,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f4}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#0a252b);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;margin:0 8px 28px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--nav);font-weight:900;font-size:20px}.brand strong{display:block;letter-spacing:.12em}.brand small,.login-brand small{display:block;opacity:.72;margin-top:2px}.sidebar nav{display:grid;gap:5px}.nav-link{color:#d9e8eb;padding:11px 13px;border-radius:9px;font-weight:650}.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.user-chip{border-top:1px solid rgba(255,255,255,.16);padding-top:18px}.user-chip strong,.user-chip small{display:block}.user-chip small{color:#b9d1d6;margin-top:3px}.environment-badge{display:block;padding:7px 9px;border:1px solid rgba(255,255,255,.22);border-radius:8px;text-align:center;color:#cce0e4;font-size:12px}.content{min-width:0;padding:0 34px 50px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(22,32,42,.08);margin-bottom:28px}.privacy-indicator,.eyebrow,.breadcrumb{font-size:13px;font-weight:750;letter-spacing:.03em;color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-heading h1{font-size:30px;line-height:1.15;margin:0 0 6px}.page-heading p{margin:0;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.panel-heading h2,.compact-panel h2,.note-actions h2{font-size:17px;margin:0 0 4px}.panel-heading p{margin:0;color:var(--muted);font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.metric-card span{display:block;color:var(--muted);font-weight:650;font-size:13px}.metric-card strong{display:block;font-size:32px;margin-top:8px}.metric-card .metric-text{font-size:22px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-column>.panel{padding:22px}.list-table{display:grid}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line);color:var(--ink)}.list-row:first-child{border-top:0}.list-row span{display:flex;flex-direction:column;align-items:flex-start}.list-row>span:last-child{align-items:flex-end;text-align:right}.list-row small,td small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#eef1f2;color:#44515d;font-size:12px;font-weight:800}.status-draft{background:#fff0cb;color:#765313}.status-signed{background:#dff3e6;color:#225f39}.status-entered_in_error{background:#f7dddd;color:#832b2b}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:760;cursor:pointer}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-dark)}.button-secondary{background:#fff;border-color:#b9c8cc;color:var(--ink)}.button-ghost{background:transparent;border-color:rgba(255,255,255,.22);color:inherit}.content .button-ghost{border-color:var(--line);color:var(--muted)}.button-danger{background:var(--danger);color:#fff}.button-block{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:10px}.messages{display:grid;gap:10px;margin-bottom:18px}.message{padding:12px 14px;border-radius:9px;border:1px solid #c7d6db;background:#edf6f8}.message-success{border-color:#b8dec6;background:#e9f7ee;color:#245f39}.message-error{border-color:#e6baba;background:#fceaea;color:#842e2e}.message-warning{border-color:#ead49a;background:#fff7dc;color:#73520e}.form-control{width:100%;min-height:42px;border:1px solid #b9c7cc;border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink)}textarea.form-control{line-height:1.55;resize:vertical}.form-control:focus{outline:3px solid rgba(22,113,138,.16);border-color:var(--accent)}.compact{max-width:110px}.form-panel{padding:24px}.form-panel fieldset{border:0;padding:0;margin:0 0 24px}.form-panel legend{font-size:17px;font-weight:800;margin-bottom:15px}.form-grid{display:grid;gap:16px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:13px;font-weight:760;color:#394650}.field-error{color:var(--danger);font-weight:650}.help{color:var(--muted);line-height:1.45}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px}.search-form,.filter-form{display:flex;align-items:flex-end;gap:10px;padding:20px}.search-form .form-control{flex:1}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafb}td strong{display:block}.text-link{font-weight:760;white-space:nowrap}.empty-state{padding:34px;text-align:center;color:var(--muted)}.patient-banner,.patient-strip{background:linear-gradient(120deg,#fff,#f4fafb);border:1px solid var(--line);border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow)}.patient-identity{display:flex;align-items:center;gap:15px}.patient-identity h1{font-size:25px;margin:0 0 5px}.patient-identity p,.patient-strip span{margin:0;color:var(--muted)}.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#dceff2;color:var(--nav);font-weight:900}.chart-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.chart-sidebar{display:grid;gap:16px;align-content:start}.compact-panel{padding:19px}.detail-list{display:grid;grid-template-columns:85px 1fr;gap:10px;margin:15px 0 0}.detail-list dt{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase}.detail-list dd{margin:0;line-height:1.45}.alert-panel{border-left:4px solid #cb6e45}.clinical-item{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.clinical-item:first-of-type{border-top:0}.clinical-item span{color:var(--muted);font-size:13px}.chart-main{padding:22px}.timeline{display:grid}.timeline-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;color:var(--ink);padding:13px 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:6px}.timeline-title{display:flex;justify-content:space-between;gap:12px}.timeline-item p{margin:4px 0;color:var(--muted)}.privacy-panel{text-align:center;padding:70px 20px}.patient-strip strong,.patient-strip span{display:block}.note-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.note-main{display:grid;gap:18px}.note-actions{position:sticky;top:90px;padding:20px;display:grid;gap:12px}.hpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.safe-ai-badge{font-size:12px;font-weight:800;background:#e6f3f5;color:#135e70;padding:5px 8px;border-radius:999px}.ap-stack{display:grid;gap:14px}.ap-card{border:1px solid var(--line);background:#fafcfc;border-radius:10px;padding:16px}.ap-header{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}.grow{flex:1}.field-position{width:70px}.delete-field{align-items:center}.clinical-note{overflow:hidden}.note-header{display:grid;grid-template-columns:2fr 1fr;gap:20px;background:#f6f9fa;border-bottom:1px solid var(--line);padding:20px 24px}.note-header span,.signature-block span,.signature-block small{display:block;color:var(--muted);font-size:13px}.note-header strong{display:block;margin-top:4px}.clinical-note>section{padding:22px 24px;border-bottom:1px solid var(--line)}.clinical-note h2{font-size:16px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 13px}.note-text{line-height:1.65}.note-text p{margin:0 0 10px}.source-text{background:#f6f8f9;border-radius:8px;padding:14px;margin-top:10px;color:#44515d}.problem-note{border-top:1px solid var(--line);padding:18px 0}.problem-note:first-of-type{border-top:0}.problem-note h3{font-size:17px;margin:0 0 12px}.problem-note h3 span{font-size:12px;color:var(--muted);margin-left:8px}.problem-note>div{margin-top:10px}.problem-note>div>strong{display:block;font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.signature-block{padding:22px 24px;background:#f4f8f8;border-top:2px solid #b9d5d9}.signature-block strong{display:block;margin-bottom:4px}.addenda article{border-left:4px solid #7caeb8;padding:12px 16px;background:#f5f9fa;margin-top:12px}.addenda footer{color:var(--muted);font-size:13px}.sign-panel{margin-top:18px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-left:4px solid var(--danger)}.sign-panel h2{margin:0 0 4px}.sign-panel p{margin:0;color:var(--muted)}.narrow-form{max-width:760px}.audit-table{min-width:1150px}.audit-table code{white-space:pre-wrap;word-break:break-word;font-size:11px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dfeff2,#eef3f4 45%,#d8e6e8)}.login-card{width:min(440px,100%);background:#fff;border:1px solid rgba(22,32,42,.1);border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(15,47,54,.18)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.login-brand strong{display:block;letter-spacing:.08em}.login-card h1{font-size:28px;margin:0 0 8px}.muted{color:var(--muted)}.stacked-form{display:grid;gap:16px;margin-top:24px}.security-copy{font-size:12px;color:var(--muted);line-height:1.5;margin:20px 0 0}.error-page{max-width:600px;margin:100px auto;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.chart-grid{grid-template-columns:1fr}.chart-sidebar{grid-template-columns:repeat(3,1fr)}.note-layout{grid-template-columns:1fr}.note-actions{position:static;grid-template-columns:repeat(2,1fr)}.note-actions h2,.note-actions p,.note-actions small{grid-column:1/-1}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-footer{margin-top:20px}.content{padding:0 18px 36px}.topbar{height:58px}.two-column,.metric-grid,.form-grid-4,.form-grid-3,.form-grid-2,.hpi-grid,.chart-sidebar{grid-template-columns:1fr}.page-heading,.patient-banner,.sign-panel{align-items:stretch;flex-direction:column}.form-grid .span-2{grid-column:auto}.note-header{grid-template-columns:1fr}.ap-header{align-items:stretch;flex-direction:column}.field-position{width:auto}.sidebar-footer{display:none}}@media(max-width:520px){.sidebar nav{grid-template-columns:1fr 1fr}.page-heading h1{font-size:25px}.patient-identity{align-items:flex-start}.button-row{width:100%}.button-row .button{flex:1}.content{padding-inline:12px}.form-panel{padding:18px}.note-actions{grid-template-columns:1fr}}.login-logo {
    display: block;
    width: 54px;
    height: 54px;
    object-fit: contain;
    flex: 0 0 54px;
}
