:root{--ink:#1e2540;--muted:#737b94;--line:#e9ebf3;--paper:#fff;--wash:#f7f8fc;--accent:#6258e8;--mint:#4bc7a3;--peach:#ffb76c;--pink:#fa7a93}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{width:254px;background:#fff;border-right:1px solid var(--line);padding:27px 15px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.1;letter-spacing:-.3px;padding:0 9px 33px}.brand b{font-size:16px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--accent);color:white;font-size:19px;font-weight:800}.project-label{font-size:10px;color:#959bb0;font-weight:800;letter-spacing:.9px;padding:0 9px 8px}select,input{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px}#project{width:100%;margin-bottom:25px;font-size:13px}nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;text-align:left;color:#65708d;font:600 14px inherit;padding:11px 10px;border-radius:9px;cursor:pointer}.nav-item span{width:25px;display:inline-block;font-size:17px}.nav-item i{font-size:11px;font-style:normal;float:right;background:#f0efff;color:var(--accent);padding:2px 7px;border-radius:9px}.nav-item.active,.nav-item:hover{background:#f0efff;color:#544ad4}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:flex;align-items:center;gap:9px;font-size:12px}.sidebar-footer small{color:var(--muted)}.avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dfe2ff;color:#5148cc;font-size:10px;font-weight:800}main{width:100%;padding:40px clamp(24px,5vw,70px);max-width:1500px;margin:auto}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}#eyebrow{font-size:11px;font-weight:800;color:#8890a8;letter-spacing:1px;margin:0 0 7px}h1{font-size:29px;letter-spacing:-1.1px;margin:0}.primary{background:var(--accent);color:white;border:0;padding:11px 16px;border-radius:9px;font:700 13px inherit;cursor:pointer;box-shadow:0 7px 16px #6258e833}.secondary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 14px;color:#69718a;font-weight:700;cursor:pointer}.grid{display:grid;gap:18px}.metrics{grid-template-columns:repeat(4,1fr);margin-bottom:28px}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}.metric-label{font-size:12px;color:var(--muted);font-weight:600}.metric-number{font-size:29px;font-weight:750;letter-spacing:-1px;margin:8px 0}.metric-note{font-size:11px;color:#4caf8d;font-weight:700}.metric-note.warn{color:#de7585}.dashboard-columns{grid-template-columns:1.45fr .9fr;align-items:start}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-title h2{font-size:16px;margin:0}.text-button{border:0;background:transparent;color:var(--accent);font:700 12px inherit;cursor:pointer}.task-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.task-row:first-of-type{border-top:0}.check{width:18px;height:18px;border:1.5px solid #cdd2e2;border-radius:6px;cursor:pointer;background:white;flex:0 0 auto}.check.done{background:var(--mint);border-color:var(--mint)}.task-copy{flex:1}.task-copy.done{text-decoration:line-through;color:#9ca2b5}.tag{font-size:10px;font-weight:800;padding:4px 7px;border-radius:6px}.high{color:#d85d78;background:#fff0f2}.medium{color:#c47a23;background:#fff5e7}.low{color:#378c75;background:#eafff9}.date{color:#8990a8;font-size:11px}.progress{height:8px;background:#eef0f6;border-radius:9px;overflow:hidden;margin:13px 0 8px}.progress span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--accent),#958dff)}.goal-row{padding:13px 0;border-top:1px solid var(--line)}.goal-row h3{font-size:13px;margin:0}.goal-row p{font-size:11px;color:var(--muted);margin:6px 0}.calendar-wrap{display:grid;grid-template-columns:1fr 275px;gap:20px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.day-name{padding:13px;text-align:center;color:#8890a8;font-size:10px;font-weight:800;background:#fafbfe}.day{min-height:102px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px;font-size:12px;cursor:pointer}.day:nth-child(7n){border-right:0}.day.muted{color:#b6bccd}.day.today .day-num{background:var(--accent);color:#fff;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.cal-event{font-size:10px;margin-top:6px;padding:4px 5px;border-radius:5px;background:#f0efff;color:#554bc9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.goal{background:#e7fbf5;color:#218c70}.upcoming{font-size:13px}.empty{color:var(--muted);font-size:13px;padding:20px 0}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter{font-size:12px;color:var(--muted)}.files{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:2;color:#53607b}.folder{color:#cf8a2c}.brand-layout{grid-template-columns:1fr 1fr}.brand-preview{border-radius:12px;background:#252b4c;min-height:200px;padding:28px;color:#fff}.brand-preview .mini-logo{font-size:24px;font-weight:800}.swatches{display:flex;gap:9px;margin-top:22px}.swatch{width:38px;height:38px;border-radius:50%;border:2px solid #fff}.brand-form{display:grid;gap:13px}.brand-form label{font-size:12px;font-weight:700;color:#66708b;display:grid;gap:6px}dialog{border:0;border-radius:15px;padding:0;box-shadow:0 20px 60px #1b214544;width:min(420px,92vw)}dialog::backdrop{background:#20243c66}form{padding:23px;display:grid;gap:14px}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top h2{font-size:18px;margin:0}.close{border:0;background:transparent;font-size:25px;color:#78809a;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}form label{font-size:11px;color:#68718a;font-weight:700;display:grid;gap:6px}form input,form select{width:100%}#itemTitle{font-size:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}@media(max-width:800px){.sidebar{position:fixed;z-index:3;bottom:0;left:0;width:100%;height:63px;padding:7px 9px;border-top:1px solid var(--line);border-right:0;display:block}.brand,.project-label,#project,.sidebar-footer{display:none}nav{display:flex;justify-content:space-around}.nav-item{font-size:0;padding:5px 8px}.nav-item span{font-size:20px;width:auto}.nav-item i{display:none}main{padding:29px 18px 85px}h1{font-size:23px}.metrics{grid-template-columns:1fr 1fr}.dashboard-columns,.calendar-wrap,.brand-layout{grid-template-columns:1fr}.calendar-wrap aside{order:-1}.day{min-height:72px;padding:6px}.cal-event{font-size:0;height:6px;padding:0}.day-name{padding:9px 3px;font-size:8px}header{margin-bottom:22px}}
.access-locked{overflow:hidden!important}
.toast{z-index:11000!important}
.access-gate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 75% 15%,rgba(98,88,232,.23),transparent 32%),linear-gradient(145deg,#11162a,#181d34 58%,#12162a);color:#f7f8ff;overflow:auto}
.access-gate[hidden]{display:none}
.access-card{width:min(1040px,100%);position:relative;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(30,36,64,.94);box-shadow:0 28px 90px rgba(2,5,18,.45);padding:44px}
.login-gate{max-width:580px;text-align:center}
.access-logo{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 24px;border-radius:17px;background:linear-gradient(145deg,#7569ff,#574bdc);font-size:28px;font-weight:850;box-shadow:0 16px 34px rgba(98,88,232,.35)}
.access-logo.error{background:#ef6464}
.access-kicker{margin:0 0 12px;color:#9d94ff;font-size:12px;font-weight:850;letter-spacing:.14em}
.access-card h1{margin:0;color:#fff;font-size:clamp(31px,5vw,52px);line-height:1.04;letter-spacing:-.04em}
.access-copy{max-width:650px;margin:18px 0 28px;color:#b9c1dc;font-size:16px;line-height:1.65}
.login-gate .access-copy{margin-inline:auto}
.access-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:#fff;color:#1d2540;font:inherit;font-weight:800;cursor:pointer;transition:.2s transform,.2s box-shadow}
.access-google:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.25)}
.access-google span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f2f4ff;color:#4285f4;font-size:17px;font-weight:900}
.access-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:#929bb9;font-size:12px}
.access-security span{color:#4bc7a3}
.access-loading{display:flex;align-items:center;gap:14px;padding:18px 22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#202744;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.access-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.2);border-top-color:#7569ff;border-radius:50%;animation:access-spin .8s linear infinite}
@keyframes access-spin{to{transform:rotate(360deg)}}
.onboarding-user{display:flex;align-items:center;gap:14px;padding-bottom:25px;margin-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.onboarding-user img,.onboarding-user>span{display:grid;place-items:center;width:50px;height:50px;object-fit:cover;border-radius:15px;background:#6258e8;color:#fff;font-weight:850}
.onboarding-user div{display:grid;gap:2px}.onboarding-user small{color:#8c96b9;font-size:10px;font-weight:850;letter-spacing:.12em}.onboarding-user b{font-size:16px}.onboarding-user p{margin:0;color:#9da6c3;font-size:13px}
.onboarding-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:48px;align-items:start}
.first-project-form{display:grid;gap:12px;max-width:560px;margin-top:30px}
.first-project-form label{display:grid;gap:9px;color:#dfe3f4;font-weight:750}
.first-project-form input{min-height:54px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:#171d34;color:#fff;padding:0 17px;font:inherit;font-size:16px;outline:none}
.first-project-form input:focus{border-color:#7569ff;box-shadow:0 0 0 4px rgba(117,105,255,.14)}
.first-project-form .primary{min-height:52px;margin-top:5px;font-size:15px}.first-project-form .primary:disabled{opacity:.65;cursor:wait}
.form-error{min-height:20px;margin:0;color:#ff9999;font-size:13px}
.onboarding-preview{display:grid;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#171d34}
.onboarding-preview div{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:14px;border-radius:14px;background:#202744}
.onboarding-preview span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(117,105,255,.16);color:#9d94ff;font-weight:850}
.onboarding-preview b{font-size:14px}.onboarding-preview p{margin:4px 0 0;color:#98a2c1;font-size:12px;line-height:1.45}
.legacy-notice{display:flex;gap:13px;margin-top:28px;padding:16px 18px;border:1px solid rgba(75,199,163,.25);border-radius:16px;background:rgba(75,199,163,.08)}
.legacy-notice>span{color:#4bc7a3}.legacy-notice b{display:block;font-size:13px}.legacy-notice p{margin:4px 0 0;color:#9fabc8;font-size:12px;line-height:1.5}
.onboarding-close{position:absolute;top:22px;right:24px;width:38px;height:38px;border:0;border-radius:12px;background:#171d34;color:#cbd2e8;font-size:24px;cursor:pointer}
@media(max-width:760px){.access-gate{padding:14px;place-items:start center}.access-card{margin-block:10px;padding:25px;border-radius:22px}.onboarding-layout{grid-template-columns:1fr;gap:25px}.access-card h1{font-size:34px}.onboarding-user{padding-right:35px}.onboarding-preview{padding:10px}}
