:root { color-scheme: light; font: 15px/1.45 Inter, system-ui, sans-serif; color:#14213d; background:#f5f7fb; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; }
button,input,textarea,select { font:inherit; }
button { border:0; border-radius:9px; padding:.7rem 1rem; color:white; background:#3659c9; cursor:pointer; }
button.quiet { color:#35507c; background:#eef2f8; }
.bar { position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:.8rem; min-height:60px; padding:0 28px; border-bottom:1px solid #e2e7ef; background:white; }
.brand { color:#12213d; font-size:18px; font-weight:800; text-decoration:none; }
.spacer { flex:1; }
.muted,.eyebrow { color:#75829a; }
main { min-height:calc(100vh - 60px); }
main:has(> #login-view:not([hidden])) { display:grid; align-items:center; padding:32px 20px; }
.login-card { width:100%; max-width:420px; margin:0 auto; padding:36px; border:1px solid #e2e7ef; border-radius:16px; background:white; box-shadow:0 16px 50px #27395a14; }
h1 { margin:.15rem 0 1.5rem; font-size:30px; line-height:1.12; }
.eyebrow { margin:0; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
label { display:grid; gap:.35rem; margin-bottom:1rem; color:#4a5870; font-size:13px; font-weight:650; }
input,textarea,select { width:100%; border:1px solid #cfd7e5; border-radius:9px; padding:.72rem .8rem; color:#14213d; background:white; }
.remember-choice { display:flex; align-items:center; gap:.55rem; }
.remember-choice input { width:auto; margin:0; accent-color:#3659c9; }
.remember-choice span { font-weight:500; }
#workspace { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:calc(100vh - 60px); }
aside { padding:32px 20px; border-right:1px solid #e2e7ef; background:#fafbfe; }
.nav { display:block; width:100%; margin-top:8px; color:#45546d; text-align:left; background:transparent; }
.nav.active { color:#2448ba; background:#e9efff; }
.content { width:100%; max-width:1040px; padding:38px 44px 80px; }
.heading { display:flex; align-items:flex-start; gap:24px; justify-content:space-between; }
.composer { margin:0 0 30px; padding:24px; border:1px solid #dfe5ef; border-radius:13px; background:white; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.actions { display:flex; gap:10px; }
.tasks { border-top:1px solid #dfe5ef; }
.task { padding:22px 0; border-bottom:1px solid #e2e7ef; }
.task h2 { margin:.35rem 0 .5rem; font-size:19px; }
.meta { display:flex; flex-wrap:wrap; gap:8px 16px; color:#75829a; font-size:13px; }
.badge { display:inline-block; border-radius:999px; padding:.2rem .55rem; color:#35507c; background:#edf1f7; }
.description { max-width:760px; white-space:pre-wrap; }
.status-form { display:flex; gap:8px; align-items:end; max-width:380px; margin-top:14px; }
.status-form label { flex:1; margin:0; }
.notice { padding:12px 14px; border-radius:9px; color:#24543a; background:#e9f7ef; }
.error { min-height:1.3em; color:#a92e36; }
@media (max-width:760px) { #workspace { grid-template-columns:1fr; } aside { border-right:0; border-bottom:1px solid #e2e7ef; padding:16px; } .content { padding:28px 20px; } .row { grid-template-columns:1fr; } }
