:root,[data-theme=light]{--bg:#f3efe6;--bg-elevated:#fffdf8;--ink:#1c1914;--muted:#6b6458;--line:#ddd4c4;--accent:#0f6b5c;--accent-ink:#f7fffc;--aside:#1f2a24;--aside-ink:#e8f2ed;--danger:#9b2c2c;color:var(--ink);background:var(--bg);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}[data-theme=dark]{--bg:#121614;--bg-elevated:#1a211d;--ink:#e8f2ed;--muted:#9aab9f;--line:#2c3832;--accent:#3db89a;--accent-ink:#06241d;--aside:#0d1210;--aside-ink:#e8f2ed;--danger:#f07178}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left, #0f6b5c1f, transparent 40%), var(--bg)}button{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);cursor:pointer;border-radius:8px;padding:.4rem .75rem}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-shell__aside{background:var(--aside);color:var(--aside-ink);flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;display:flex}.aside-user{border-top:1px solid color-mix(in srgb, var(--aside-ink) 18%, transparent);flex-direction:column;gap:.2rem;margin-top:auto;padding-top:1rem;display:flex}.aside-user small{color:color-mix(in srgb, var(--aside-ink) 70%, transparent)}.brand{align-items:center;gap:.75rem;display:flex}.brand__mark{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--accent-ink);border-radius:.65rem;place-items:center;font-weight:700;display:grid}.brand strong{display:block}.brand small{color:color-mix(in srgb, var(--aside-ink) 70%, transparent)}.side-menu{flex-direction:column;flex:1;gap:.15rem;display:flex}.side-menu__group{flex-direction:column;gap:.15rem;display:flex}.side-menu__divider{background:color-mix(in srgb, var(--aside-ink) 18%, transparent);height:1px;margin:.65rem .35rem}.side-menu__link{color:inherit;border-radius:8px;align-items:center;gap:.55rem;padding:.55rem .75rem;text-decoration:none;display:flex}.side-menu__icon{text-align:center;width:1.25rem}.side-menu__link.is-active,.side-menu__link:hover{background:color-mix(in srgb, var(--accent) 35%, transparent)}.shortcut-row{flex-wrap:wrap;gap:.75rem;display:flex}.shortcut-row a,.stat-card a{color:var(--accent)}.subnav{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.subnav__btn{border-radius:999px}.subnav__btn.is-active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.checklist{gap:.45rem;display:grid}.checklist__item{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.app-shell__main{flex-direction:column;min-width:0;display:flex}.app-shell__header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.app-shell__actions{gap:.5rem;display:flex}.app-shell__content{padding:1.5rem}.phase-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:999px;padding:.2rem .65rem;font-size:.75rem}.page{background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;max-width:960px;padding:1.5rem}.page h1{margin-top:0}.page p,.muted{color:var(--muted)}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.dashboard__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.stat-card{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, var(--bg-elevated));border-radius:12px;padding:1rem}.stat-card h2{color:var(--muted);margin:0 0 .35rem;font-size:.85rem;font-weight:600}.stat-card--wide{grid-column:1/-1}.stat-card__value{color:var(--ink);margin:.25rem 0 .5rem;font-size:1.6rem;font-weight:700}.stat-card__value small{opacity:.75;font-size:.85rem;font-weight:500}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.65rem;margin:.75rem 0;display:grid}.metric{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 70%, transparent);border-radius:.55rem;padding:.55rem .65rem}.metric__label{color:var(--muted);margin-bottom:.2rem;font-size:.75rem;display:block}.metric strong{font-size:1.15rem}.ai-status{align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.85rem;display:inline-flex}.ai-status__dot{background:#888;border-radius:50%;width:.55rem;height:.55rem}.ai-status__dot.is-cloud{background:#2f9e44}.ai-status__dot.is-local{background:#e67700}.chat-bubble{border-radius:.75rem;max-width:92%;margin-bottom:.5rem;padding:.65rem .8rem}.chat-bubble--user{background:color-mix(in srgb, var(--accent) 18%, transparent);margin-left:auto}.chat-bubble--assistant{background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);border:1px solid var(--line)}.stat-card p{color:var(--ink);margin:0;font-size:1.25rem}.login-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:18px;width:min(420px,100%);padding:1.5rem;box-shadow:0 18px 50px #1c191414}.brand--login{margin-bottom:1.25rem}.login-form{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.login-form label{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.login-form input{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.65rem .75rem}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;padding:.7rem 1rem;font-weight:600}.task-create{flex-direction:column;gap:.65rem;margin-bottom:1.25rem;display:flex}.task-create input,.task-create textarea,.task-actions select,.task-item select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.65rem .75rem}.task-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.task-item{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, var(--bg-elevated));border-radius:12px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.task-item__main{min-width:0}.task-item a{color:var(--accent);text-decoration:none}.task-actions{gap:.5rem;margin:1rem 0;display:flex}.error-screen{text-align:center;min-height:100vh;color:var(--danger);place-content:center;gap:.75rem;display:grid}@media (width<=800px){.app-shell{grid-template-columns:1fr}.app-shell__aside{border-bottom:1px solid var(--line)}.dashboard__grid{grid-template-columns:1fr}}
