:root{--c-primary: #4A6B3A;--c-primary-hover: #3B5730;--c-primary-fg: #FFFFFF;--c-secondary: #2C5F7C;--c-secondary-hover: #234B63;--c-fg: #1F2A24;--c-fg-muted: #6B7570;--c-fg-subtle: #99A19C;--c-bg: #F5F6F3;--c-surface: #FFFFFF;--c-surface-alt: #F8F9F6;--c-border: #E1E4DD;--c-border-strong: #C8CEC3;--c-success: #3B7A4A;--c-success-bg: #EAF3EC;--c-warning: #B8860B;--c-warning-bg: #FBF5E4;--c-danger: #B4432E;--c-danger-bg: #FBEBE6;--c-info: #2C5F7C;--c-info-bg: #E7EFF4;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-h1: 28px;--fs-h2: 20px;--fs-h3: 16px;--fs-body: 14px;--fs-sm: 12px;--fs-mono: 13px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--s-0: 0;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 20, .05);--shadow-md: 0 2px 8px rgba(15, 23, 20, .08);--shadow-nav: 0 1px 0 rgba(0, 0, 0, .08);--nav-height: 56px;--sidebar-width: 220px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;color:var(--c-fg);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{padding:var(--s-5);max-width:1280px;margin:0 auto}h1,h2,h3,h4{color:var(--c-fg);margin:0 0 var(--s-3)}h1{font-size:var(--fs-h1);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.01em}h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold);line-height:1.3}h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:1.4}a{color:var(--c-primary);text-decoration:none}a:hover{color:var(--c-primary-hover);text-decoration:underline}hr{border:0;border-top:1px solid var(--c-border);margin:var(--s-5) 0}code{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--c-fg);background:var(--c-surface-alt);padding:1px 5px;border-radius:var(--radius-sm)}label{color:var(--c-fg);font-weight:var(--fw-medium)}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-fg);transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #4a6b3a26}input[type=checkbox],input[type=radio]{accent-color:var(--c-primary);padding:0}input:disabled,select:disabled,textarea:disabled{background:var(--c-surface-alt);color:var(--c-fg-muted);cursor:not-allowed}.field-error{color:var(--c-danger);margin-top:var(--s-1);font-size:var(--fs-sm)}form input:not([type=checkbox]):not([type=radio]){width:100%;max-width:400px}button,.btn{cursor:pointer;font:inherit;font-weight:var(--fw-semibold);min-height:36px;padding:6px 14px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-fg);border-radius:var(--radius-md);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,.btn:hover{background:var(--c-surface-alt);border-color:var(--c-border-strong)}button:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4a6b3a40}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn-primary{background:var(--c-primary);color:var(--c-primary-fg);border-color:var(--c-primary)}button.primary:hover,.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-primary-fg)}.btn-secondary{background:var(--c-secondary);color:#fff;border-color:var(--c-secondary)}.btn-secondary:hover{background:var(--c-secondary-hover);border-color:var(--c-secondary-hover);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--c-primary)}.btn-ghost:hover{background:#4a6b3a14;color:var(--c-primary-hover)}.btn-danger{background:var(--c-surface);border-color:var(--c-danger);color:var(--c-danger)}.btn-danger:hover{background:var(--c-danger-bg);border-color:var(--c-danger);color:var(--c-danger)}.btn-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;min-height:32px;border-radius:var(--radius-md);color:var(--c-primary);background:var(--c-surface);border:1px solid var(--c-border);font-weight:var(--fw-semibold);font-size:var(--fs-body);text-decoration:none;cursor:pointer}.btn-link:hover{background:var(--c-surface-alt);border-color:var(--c-border-strong);text-decoration:none;color:var(--c-primary-hover)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--s-4) var(--s-5);box-shadow:var(--shadow-sm)}.card-hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--s-3)}.card-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--c-fg);margin:0}.stat{display:block;color:var(--c-fg-muted);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold)}.stat-value{display:block;color:var(--c-fg);font-size:24px;font-weight:var(--fw-semibold);margin-top:4px;font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--c-surface-alt);color:var(--c-fg);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:1px solid var(--c-border);white-space:nowrap}.chip-success{background:var(--c-success-bg);color:var(--c-success);border-color:transparent}.chip-warning{background:var(--c-warning-bg);color:var(--c-warning);border-color:transparent}.chip-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:transparent}.chip-info{background:var(--c-info-bg);color:var(--c-info);border-color:transparent}.app-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.app-table thead th{text-align:left;padding:10px 12px;background:var(--c-surface-alt);color:var(--c-fg-muted);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--c-border)}.app-table tbody td{padding:12px;border-bottom:1px solid var(--c-border);color:var(--c-fg);vertical-align:top}.app-table tbody tr:last-child td{border-bottom:0}.app-table tbody tr:hover td{background:var(--c-surface-alt)}.app-table .num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:var(--fs-mono)}.app-table .muted{color:var(--c-fg-muted)}.section{border:1px solid var(--c-border);background:var(--c-surface);padding:var(--s-4) var(--s-5);border-radius:var(--radius-md);margin-bottom:var(--s-4)}.section>legend,.section-title{padding:0 var(--s-2);color:var(--c-fg-muted);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em}.app-nav{background:var(--c-surface);color:var(--c-fg);padding:0 var(--s-5);height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-nav);position:sticky;top:0;z-index:10}.app-nav .brand{display:inline-flex;align-items:center;gap:8px;font-weight:var(--fw-semibold);color:var(--c-primary);font-size:16px;letter-spacing:-.01em}.app-nav .brand:before{content:"";display:inline-block;width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-hover) 100%)}.app-nav nav{display:flex;gap:var(--s-1);align-items:center}.app-nav nav a{color:var(--c-fg-muted);padding:6px 12px;border-radius:var(--radius-md);font-weight:var(--fw-medium);font-size:var(--fs-body)}.app-nav nav a:hover{color:var(--c-fg);background:var(--c-surface-alt);text-decoration:none}.app-nav nav a.active{color:var(--c-primary);background:#4a6b3a1a}.app-nav .user{display:inline-flex;align-items:center;gap:var(--s-3);color:var(--c-fg-muted);font-size:var(--fs-sm);margin-left:var(--s-3);padding-left:var(--s-3);border-left:1px solid var(--c-border)}.app-nav .user form button{min-height:32px;padding:4px 12px}.app-sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);padding:var(--s-4);font-size:var(--fs-body);min-height:calc(100vh - var(--nav-height))}.app-sidebar h2{font-size:var(--fs-sm);margin:0 0 var(--s-3);text-transform:uppercase;letter-spacing:.05em;color:var(--c-fg-muted);font-weight:var(--fw-semibold)}.app-sidebar nav{display:flex;flex-direction:column;gap:2px}.app-sidebar nav a{display:block;padding:8px 12px;border-radius:var(--radius-md);color:var(--c-fg);font-weight:var(--fw-medium);text-decoration:none}.app-sidebar nav a:hover{background:var(--c-surface-alt);color:var(--c-fg);text-decoration:none}.app-sidebar nav a.active{background:var(--c-primary);color:var(--c-primary-fg)}.app-sidebar .back{margin-top:var(--s-5);font-size:var(--fs-sm);color:var(--c-fg-muted)}.app-sidebar-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:calc(100vh - var(--nav-height))}.app-sidebar-content{padding:var(--s-5) var(--s-6);max-width:1080px}.patient-header{position:sticky;top:var(--nav-height);z-index:5;background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:var(--s-3) var(--s-5);display:flex;align-items:center;gap:var(--s-4);box-shadow:var(--shadow-sm)}.patient-header .avatar{width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-hover) 100%);color:var(--c-primary-fg);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);font-size:14px;letter-spacing:.02em;flex-shrink:0}.patient-header .name{font-size:16px;font-weight:var(--fw-semibold);color:var(--c-fg);line-height:1.2}.patient-header .meta{color:var(--c-fg-muted);font-size:var(--fs-sm)}.patient-header .chips{margin-left:auto;display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.patient-header .quick-links{display:flex;gap:var(--s-1);align-items:center}.patient-header .quick-links a{padding:4px 10px;border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--c-fg-muted);font-weight:var(--fw-medium)}.patient-header .quick-links a:hover{background:var(--c-surface-alt);color:var(--c-fg);text-decoration:none}.patient-header .quick-links a.active{background:#4a6b3a1a;color:var(--c-primary)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.row{display:flex;align-items:center;gap:var(--s-3)}.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.grow{flex:1}.muted{color:var(--c-fg-muted)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.small{font-size:var(--fs-sm)}.error-page{text-align:center;padding-top:var(--s-8)}.request-id{color:var(--c-fg-muted);font-family:var(--font-mono);font-size:var(--fs-sm);margin-top:var(--s-6)}.notice{background:var(--c-warning-bg);border:1px solid var(--c-warning);color:var(--c-warning);padding:var(--s-3) var(--s-4);border-radius:var(--radius-md);margin:var(--s-4) 0}.bl-slot-target{transition:background-color .12s ease;cursor:cell}.bl-slot-target:hover{background-color:#4a6b3a17;color:#4a6b3ae6;font-size:.7rem;line-height:18px;padding-left:6px}.bl-slot-target:hover:before{content:"+ "}
