:root{--laend-dark: #021526;--laend-dark-2: #283847;--laend-yellow: #fffc00;--ink: #021526;--muted: #55606e;--line: #d9dee5;--bg: var(--laend-dark);--panel: #ffffff;--accent: var(--laend-yellow);--accent-ink: var(--laend-dark);--link: #0b4fa8;--permit: #0a7d33;--permit-bg: #e8f5ec;--deny: #b00020;--deny-bg: #fdebee;--warn-bg: #fff6e5;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;display:flex;flex-direction:column;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);background:var(--bg)}medicus-app{display:flex;flex-direction:column;flex:1;min-height:100vh}a{color:var(--link)}.app-header{display:flex;align-items:center;gap:1.25rem;padding:.65rem 1.5rem;background:var(--laend-dark);color:#fff;border-bottom:4px solid var(--laend-yellow)}.app-header .brand{display:flex;align-items:center;gap:.9rem;font-weight:800;letter-spacing:.02em}.app-header .brand img.logo-dl{height:30px;display:block}.app-header .brand .brand-title{display:flex;flex-direction:column;line-height:1.15}.app-header .brand .brand-title small{font-weight:400;opacity:.75}.app-header .brand-divider{width:1px;height:30px;background:#ffffff4d}.app-header img.logo-bw{height:26px;display:block;opacity:.95}.app-header nav{display:flex;gap:.25rem;flex:1}.app-header nav a{color:#fff;text-decoration:none;padding:.4rem .75rem;border-bottom:3px solid transparent;font-weight:600}.app-header nav a[aria-current=page]{color:var(--laend-yellow);border-bottom-color:var(--laend-yellow)}.app-header nav a:hover,.app-header nav a:focus-visible{color:var(--laend-yellow)}.user-badge{font-size:.85rem;color:#d9e2f2;text-align:right}.user-badge code{color:var(--laend-yellow)}.app-header button.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}.app-header button.secondary:hover{border-color:var(--laend-yellow);color:var(--laend-yellow)}.app-header :is(a,button):focus-visible{outline:2px solid var(--laend-yellow);outline-offset:2px}main{width:100%;max-width:1240px;margin:1.5rem auto 3rem;padding:0 1.25rem;flex:1}.app-footer{background:var(--laend-dark);color:#cbd5e1;border-top:1px solid var(--laend-dark-2);padding:.9rem 1.5rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;font-size:.82rem}.app-footer img.logo-bw{height:24px;display:block}.app-footer .credit{margin-left:auto}.app-footer a{color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1.15rem 1.3rem;margin-bottom:1.1rem}.panel h2{margin:0 0 .35rem;font-size:1.25rem;font-weight:800;text-transform:none}.panel h2:after{content:"";display:block;width:3.5rem;height:4px;margin-top:.35rem;background:var(--laend-yellow)}.panel h3{margin:1.1rem 0 .35rem;font-size:1rem;font-weight:700}.panel .hint{color:var(--muted);font-size:.86rem;margin:.15rem 0 .75rem}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem 1rem;align-items:end}form.grid .full{grid-column:1 / -1}label{display:block;font-size:.82rem;font-weight:700;margin-bottom:.2rem}label .opt{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;padding:.45rem .55rem;border:1px solid var(--laend-dark-2);border-radius:3px;font:inherit;background:#fff;color:var(--ink)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--laend-dark);outline-offset:1px}fieldset{border:1px solid var(--line);border-radius:3px;padding:.4rem .6rem;margin:0}fieldset legend{font-size:.82rem;font-weight:700;padding:0 .25rem}fieldset label{display:inline-flex;align-items:center;gap:.3rem;font-weight:400;margin-right:.9rem}fieldset input[type=checkbox],input[type=radio]{width:auto}button{font:inherit;font-weight:700;padding:.5rem 1.1rem;border-radius:3px;border:2px solid var(--laend-dark);background:var(--laend-yellow);color:var(--laend-dark);cursor:pointer}button:hover{background:#fff746}button.secondary{background:#fff;color:var(--laend-dark);border-color:var(--laend-dark)}button.secondary:hover{background:#f2f3f4}button.danger{background:#fff;color:var(--deny);border-color:var(--deny)}button:disabled{opacity:.55;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}td code,.mono{font-family:var(--mono);font-size:.85em;word-break:break-all}.decision-banner{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:.6rem .9rem;border-radius:3px;border:1px solid var(--line);border-left-width:6px;font-size:.86rem;margin:.75rem 0}.decision-banner.permit{background:var(--permit-bg);border-color:var(--permit)}.decision-banner.deny{background:var(--deny-bg);border-color:var(--deny)}.decision-banner dt{font-weight:700;display:inline}.decision-banner dd{display:inline;margin:0 0 0 .3rem;font-family:var(--mono)}.decision-banner div{white-space:nowrap}.outcome{background:var(--deny-bg);border:1px solid var(--deny);border-left-width:6px;border-radius:3px;padding:.75rem 1rem;margin:.75rem 0}.outcome h3{margin:0 0 .4rem;color:var(--deny);font-size:1rem}.outcome .reason{font-family:var(--mono);font-weight:700}.notice{background:var(--warn-bg);border:1px solid #e3b341;border-left-width:6px;border-radius:3px;padding:.6rem .9rem;margin:.75rem 0;font-size:.9rem}.success{background:var(--permit-bg);border:1px solid var(--permit);border-left-width:6px;border-radius:3px;padding:.6rem .9rem;margin:.75rem 0;font-size:.9rem}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--laend-dark);margin-bottom:1rem;flex-wrap:wrap}.tabs button{background:none;border:none;border-bottom:4px solid transparent;border-radius:0;color:var(--muted);font-weight:600;padding:.5rem .9rem}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--laend-yellow);font-weight:800}.section-card{border:1px solid var(--line);border-left:4px solid var(--laend-yellow);border-radius:3px;padding:.7rem .9rem;margin:.6rem 0}.section-card h4{margin:0 0 .4rem;font-size:.95rem}.landing{background:transparent;border:none;color:#fff;text-align:center;padding:4.5rem 1rem}.landing h1{font-size:2.1rem;font-weight:800;letter-spacing:.01em;color:#fff}.landing h1 .laend-accent{color:var(--laend-yellow)}.landing .hero-logo{height:56px;margin-bottom:1.5rem}.landing p{color:#c7d2de;max-width:46rem;margin:.5rem auto 1.5rem}.landing p a{color:var(--laend-yellow)}.landing code{color:#fff}.landing .hint{color:#8fa1b3;font-size:.86rem;max-width:46rem;margin:1.5rem auto .75rem;text-align:center}.landing button:focus-visible{outline-color:var(--laend-yellow)}details.raw{margin-top:.75rem}details.raw pre{background:var(--laend-dark);color:#d7e3f4;padding:.75rem;border-radius:3px;overflow:auto;font-size:.78rem;max-height:30rem}pre.raw-inline{background:var(--laend-dark);color:#d7e3f4;padding:.75rem;border-radius:3px;overflow:auto;font-size:.78rem;max-height:24rem;margin:.3rem 0}.audit-table td{vertical-align:top}.field-error{color:var(--deny);font-size:.8rem;margin:.2rem 0 0}.inline-banner{margin-top:.3rem}.inline-banner .decision-banner{margin:0;font-size:.75rem}form.grid div>button.secondary{margin-top:.35rem;padding:.3rem .7rem;font-size:.82rem}form.grid div>select+label,form.grid div>input+label{margin-top:.45rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600}.badge.on{background:var(--permit-bg);color:var(--permit)}.badge.off{background:var(--deny-bg);color:var(--deny)}.subpanel{border:1px solid var(--line);border-radius:3px;padding:.8rem 1rem;margin:.8rem 0}.subpanel h4{margin:0 0 .5rem}.subpanel h5{margin:.4rem 0;font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:900px){.split{grid-template-columns:1fr}}tr.selected td{background:var(--permit-bg)}.inline-banner .outcome{margin:.3rem 0;font-size:.8rem}.inline-banner details.raw{margin-top:.3rem}.consent-table{font-size:.82rem}.consent-table td,.consent-table th{padding:.35rem .45rem}.consent-table .row-toggle{padding:0 .4rem;margin-right:.3rem;font-size:.8rem;border-width:1px}.consent-actions button{display:block;margin:.15rem 0;padding:.25rem .55rem;font-size:.78rem;white-space:nowrap}tr.consent-expand td{background:#f6f8fb}.revoke-confirm h3{font-size:1.05rem}.revoke-confirm button{margin-right:.5rem}
