:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;color:#e2e8f0;background:#020617}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#020617}a{color:#a78bfa;text-decoration:none}button{font:inherit;cursor:pointer}.app-shell{max-width:42rem;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:50;border-bottom:1px solid #1e293b;background:#020617f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.logo{font-weight:700;font-size:1.125rem;color:#a78bfa}.logo span{color:#fff}.nav{display:flex;gap:.25rem;flex-wrap:wrap}.nav a,.nav button.link{padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;color:#94a3b8;background:none;border:none}.nav a:hover,.nav a.active{background:#7c3aed;color:#fff}.app-main{flex:1;padding:1.5rem 1rem 3rem}.card{background:#0f172a;border:1px solid #1e293b;border-radius:1rem;padding:1.25rem}.card h2{margin:0 0 .75rem;font-size:.875rem;color:#c4b5fd}.content-block{white-space:pre-line;font-size:.875rem;color:#e2e8f0;line-height:1.6}.btn{display:block;width:100%;text-align:left;padding:1rem 1.25rem;border-radius:1rem;border:1px solid transparent;font-weight:500;font-size:.875rem;margin-bottom:.5rem;transition:background .15s}.btn-primary{background:#7c3aed;color:#fff;border-color:#6d28d9}.btn-primary:hover{background:#6d28d9}.btn-secondary{background:#1e293b;color:#e2e8f0;border-color:#334155}.btn-secondary:hover{background:#334155}.btn-danger{background:#7f1d1d80;color:#fecaca;border-color:#991b1b}.btn-lg{padding:1rem;text-align:center;font-weight:700;font-size:1rem}.checklist label{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem 0;cursor:pointer;font-size:.875rem;color:#cbd5e1}.checklist input{width:1.25rem;height:1.25rem;margin-top:.125rem;accent-color:#7c3aed}.checklist label.done{opacity:.55;text-decoration:line-through}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.5rem 1rem;border-radius:.75rem;font-size:.875rem;border:none;background:#1e293b;color:#94a3b8}.chip.active{background:#7c3aed;color:#fff}.chip:disabled{opacity:.4;cursor:not-allowed}.grid-cards{display:grid;gap:1rem}@media(min-width:480px){.grid-cards{grid-template-columns:1fr 1fr}}.tile{display:block;padding:1.5rem;border-radius:1rem;border:1px solid #1e293b;background:#0f172a;color:inherit;transition:border-color .15s}.tile:hover{border-color:#475569}.tile.primary{background:linear-gradient(135deg,#7c3aed,#5b21b6);border-color:#7c3aed}.tile h3{margin:.75rem 0 .25rem;font-size:1.125rem}.tile p{margin:0;font-size:.875rem;opacity:.85}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:24rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.875rem;color:#94a3b8;margin-bottom:.25rem}.field input{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #334155;background:#1e293b;color:#fff}.error{color:#f87171;font-size:.875rem;margin-bottom:.75rem}.badge{font-size:.65rem;padding:.125rem .5rem;border-radius:9999px;background:#b4530966;color:#fcd34d;border:1px solid #b45309}.search{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #334155;background:#0f172a;color:#fff;margin-bottom:1rem}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.5rem}.page-title{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.page-sub{color:#94a3b8;font-size:.875rem;margin:0 0 1.5rem}.warn-box{background:#7f1d1d4d;border:1px solid #991b1b;border-radius:.75rem;padding:.75rem;font-size:.875rem;color:#fecaca}.objection-btn{width:100%;text-align:left;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #1e293b;background:#0f172a;color:#fff;margin-bottom:.5rem}.objection-btn.selected{border-color:#7c3aed;background:#7c3aed33}.text-muted{color:#64748b;font-size:.75rem}.ghost-btn{width:100%;padding:.5rem;background:none;border:none;color:#64748b;font-size:.875rem}.ghost-btn:hover{color:#f87171}
