:root{--font-scale:1;--bg:#08090a;--bg-2:#0d0f12;--panel:#ffffff09;--panel-2:#ffffff0f;--ink:#f7f8f8;--muted:#8a8f98;--muted-2:#62666d;--accent:#7170ff;--accent-2:#10b981;--warn:#f59e0b;--line:#ffffff14;--line-strong:#ffffff24;--shadow:0 18px 70px #0000006b;--radius:14px;--pad:14px;--gap:12px;color-scheme:dark;font-feature-settings:"cv01", "ss03";font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#f7f8f8;--bg-2:#e9ecef;--panel:#ffffffc7;--panel-2:#fffffff2;--ink:#111318;--muted:#535b68;--muted-2:#717987;--accent:#4f46e5;--accent-2:#059669;--warn:#b45309;--line:#1113181f;--line-strong:#11131833;--shadow:0 20px 60px #22263029;color-scheme:light}:root[data-theme=contrast]{--bg:#000;--bg-2:#050505;--panel:#ffffff12;--panel-2:#ffffff1f;--ink:#fff;--muted:#d9d9d9;--muted-2:#a8a8a8;--accent:#00e5ff;--accent-2:#00ff85;--warn:#ffd60a;--line:#ffffff38;--line-strong:#ffffff61}:root[data-density=ultra]{--pad:9px;--gap:7px;--radius:10px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 16% -10%, #7170ff57, transparent 30rem), radial-gradient(circle at 92% 4%, #10b98129, transparent 24rem), linear-gradient(135deg, var(--bg), var(--bg-2) 58%, var(--bg));font-size:calc(14px * var(--font-scale));margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;mask-image:radial-gradient(circle at top,#000,#0000 78%)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{z-index:30;gap:var(--gap);padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(18px);grid-template-columns:minmax(190px,280px) 1fr auto;align-items:center;display:grid;position:sticky;top:0}.app-brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.app-brand img{width:38px;height:38px;box-shadow:0 0 34px color-mix(in srgb, var(--accent) 32%, transparent);border-radius:12px}.app-brand span{min-width:0;display:grid}.app-brand strong{font-size:calc(17px * var(--font-scale));letter-spacing:-.04em;white-space:nowrap}.app-brand small{color:var(--muted);font-size:calc(11px * var(--font-scale));text-transform:uppercase;letter-spacing:.12em}.quick-nav{justify-content:center;gap:6px;display:flex}.quick-nav a,.icon-button,.primary-action,.ghost{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:650;line-height:1;text-decoration:none}.quick-nav a:hover,.icon-button:hover,.ghost:hover{border-color:var(--line-strong);background:var(--panel-2)}.icon-button{place-items:center;min-width:38px;min-height:38px;padding:0;font-size:20px;display:inline-grid}.primary-action{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 50%, #fff));color:#fff;box-shadow:0 12px 34px color-mix(in srgb, var(--accent) 28%, transparent);border-color:#0000}.app-shell{gap:var(--gap);grid-template-columns:minmax(210px,250px) minmax(0,1fr);width:min(1480px,100% - 18px);margin:0 auto;padding:10px 0 28px;display:grid}.side-menu{max-height:calc(100vh - 78px);padding:var(--pad);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:var(--shadow);backdrop-filter:blur(18px);align-self:start;gap:8px;display:grid;position:sticky;top:66px;overflow:auto}.menu-title span,.eyebrow,.panel span,.hero-card span,.settings-head span{color:var(--accent);font-size:calc(10px * var(--font-scale));text-transform:uppercase;letter-spacing:.14em;margin:0;font-weight:780}.menu-title strong{font-size:calc(18px * var(--font-scale));letter-spacing:-.04em;margin-top:3px;display:block}.module,.tree-item{border:1px solid var(--line);text-align:left;background:#ffffff06;border-radius:12px;grid-template-columns:28px 1fr;align-items:center;gap:9px;width:100%;padding:9px;text-decoration:none;display:grid}.module.active{border-color:color-mix(in srgb, var(--accent) 60%, var(--line));background:color-mix(in srgb, var(--accent) 12%, transparent)}.module.disabled{opacity:.45}.module-icon{font-size:18px}.module strong,.tree-item span{font-size:calc(13px * var(--font-scale));display:block}.module small{color:var(--muted);font-size:calc(11px * var(--font-scale));margin-top:2px;display:block}.module-tree{border-left:1px solid var(--line);gap:5px;margin-left:14px;padding-left:9px;display:grid}.tree-item{color:var(--muted);grid-template-columns:1fr auto;padding:7px 9px}.tree-item b{color:var(--muted-2);font-size:calc(11px * var(--font-scale))}.tree-item.active{color:var(--ink);background:var(--panel-2);border-color:var(--line-strong)}.workbench{gap:var(--gap);min-width:0;display:grid}.panel,.panel-xl,.panel-tight{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:var(--radius)}.panel{padding:var(--pad)}.panel-xl{padding:calc(var(--pad) + 6px)}.panel-tight{padding:calc(var(--pad) - 2px) var(--pad)}.hero{gap:var(--gap);grid-template-columns:minmax(0,1fr) minmax(230px,330px);align-items:stretch;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.7;width:42%;height:2px;position:absolute;inset:auto 0 0 auto}h1{letter-spacing:-.07em;max-width:780px;margin:6px 0 8px;font-size:clamp(28px,4.7vw,62px);font-weight:650;line-height:.92}h2{font-size:calc(clamp(19px, 2.2vw, 28px) * var(--font-scale));letter-spacing:-.045em;margin:3px 0 0;line-height:1}.hero-text{max-width:760px;color:var(--muted);font-size:calc(15px * var(--font-scale));margin:0;line-height:1.45}.hero-card{border:1px solid var(--line);border-radius:calc(var(--radius) - 2px);padding:var(--pad);background:linear-gradient(145deg, var(--panel-2), #7170ff14);align-content:center;gap:6px;display:grid}.hero-card strong{font-size:calc(24px * var(--font-scale));letter-spacing:-.04em}.hero-card small{color:var(--muted);line-height:1.35}.command-bar{justify-content:space-between;gap:var(--gap);align-items:center;display:flex}.command-bar div{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.command-bar small{color:var(--muted)}.kbd{border:1px solid var(--line);min-width:24px;height:24px;color:var(--muted);background:var(--panel-2);border-radius:7px;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-grid}.dashboard-grid{gap:var(--gap);grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;display:grid}.lower-grid{gap:var(--gap);grid-template-columns:.86fr 1.14fr;display:grid}.panel-head,.panel-title-row{justify-content:space-between;gap:var(--gap);margin-bottom:var(--gap);align-items:start;display:flex}.panel-head strong{font-size:calc(18px * var(--font-scale))}.panel-title-row.compact{margin-bottom:10px}.family-progress{align-items:center;gap:12px;margin:8px 0 12px;display:flex}.family-progress strong{font-size:calc(25px * var(--font-scale));display:block}.family-progress span{color:var(--muted);font-size:calc(12px * var(--font-scale));text-transform:none;letter-spacing:0}.progress-ring{--value:0;background:conic-gradient(var(--accent-2) calc(var(--value) * 1%), #ffffff14 0);border-radius:50%;flex:none;place-items:center;width:86px;height:86px;display:grid;position:relative}.progress-ring:after{content:"";background:color-mix(in srgb, var(--bg) 84%, black);border-radius:50%;position:absolute;inset:8px}.progress-ring span{z-index:1;font-size:calc(20px * var(--font-scale));color:var(--ink);font-weight:850}.stats-grid{gap:7px;display:grid}.mini-card{border:1px solid var(--line);background:#ffffff07;border-radius:10px;padding:8px}.mini-card span{color:var(--muted);letter-spacing:0;text-transform:none}.mini-card strong{font-size:calc(17px * var(--font-scale));margin:2px 0 6px;display:block}.mini-card.muted{opacity:.5}.bar{background:#ffffff14;border-radius:999px;height:5px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:inherit;height:100%;display:block}.updated{color:var(--muted);font-size:calc(11px * var(--font-scale));margin:12px 0 0}.sync-status{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-size:calc(11px * var(--font-scale));border-radius:999px;align-items:center;gap:6px;margin:7px 0 0;padding:6px 9px;font-weight:760;display:inline-flex}.sync-status:before{content:"•";font-size:20px;line-height:0}.sync-status.ok{background:color-mix(in srgb, var(--accent-2) 12%, transparent);color:var(--accent-2)}.sync-status.offline,.sync-status.error{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.filters{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:10px;display:grid}.filters label,.settings-panel label{color:var(--muted);font-size:calc(11px * var(--font-scale));gap:5px;font-weight:760;display:grid}.search-field{grid-column:span 1}select,input{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffff0d;border-radius:10px;outline:none;padding:9px 10px}:root[data-theme=light] select,:root[data-theme=light] input{background:#ffffffe6}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);font-size:calc(12px * var(--font-scale));background:#ffffff09;border-radius:999px;padding:6px 9px}.chip b{color:var(--accent)}.task-list{gap:7px;display:grid}.task{border:1px solid var(--line);background:#ffffff09;border-radius:12px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;transition:transform .14s,border-color .14s,background .14s;display:grid}.task:hover{border-color:var(--line-strong);background:#ffffff0e;transform:translateY(-1px)}.task.high{border-color:color-mix(in srgb, var(--warn) 48%, var(--line))}.task.done{background:color-mix(in srgb, var(--accent-2) 10%, transparent);color:color-mix(in srgb, var(--ink) 72%, var(--muted))}.task input{opacity:0;pointer-events:none;position:absolute}.check-ui{border:1px solid var(--line-strong);border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.task.done .check-ui{background:var(--accent-2);border-color:var(--accent-2)}.task.done .check-ui:after{content:"✓";color:#03120b;font-weight:900}.task-main{gap:2px;min-width:0;display:grid}.task-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-top strong{font-size:calc(14px * var(--font-scale))}.task-top em{color:var(--muted);font-size:calc(11px * var(--font-scale));white-space:nowrap;font-style:normal}.task small{color:var(--muted);line-height:1.3}.qty{color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, transparent);font-size:calc(11px * var(--font-scale));border-radius:999px;padding:5px 8px;font-weight:800}.empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:12px;padding:18px}.calendar-links,.folder-grid{gap:8px;display:grid}.calendar-link,.folder-card{border:1px solid var(--line);color:inherit;background:#ffffff09;border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:8px;padding:10px;text-decoration:none;display:grid}.calendar-link span,.folder-card span{grid-row:span 2;font-size:20px}.calendar-link strong,.folder-card strong{font-size:calc(14px * var(--font-scale))}.calendar-link small,.folder-card small{color:var(--muted);line-height:1.3}.notice{border:1px solid color-mix(in srgb, var(--warn) 34%, var(--line));background:color-mix(in srgb, var(--warn) 10%, transparent);color:color-mix(in srgb, var(--warn) 72%, var(--ink));border-radius:12px;margin-top:10px;padding:11px;line-height:1.4}.notice strong{color:var(--ink);margin-bottom:3px;display:block}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-panel{z-index:40;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg-2) 92%, transparent);backdrop-filter:blur(22px);border-radius:16px;gap:12px;width:min(340px,100vw - 24px);padding:14px;display:grid;position:fixed;top:66px;right:12px;box-shadow:0 24px 88px #0000008c}.settings-panel[hidden]{display:none}.settings-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.settings-head strong{font-size:calc(21px * var(--font-scale));letter-spacing:-.04em;display:block}.settings-panel p{color:var(--muted);font-size:calc(12px * var(--font-scale));margin:0}:root[data-density=ultra] .hero-text,:root[data-density=ultra] .hero-card small,:root[data-density=ultra] .command-bar small,:root[data-density=ultra] .task small,:root[data-density=ultra] .calendar-link small,:root[data-density=ultra] .folder-card small{display:none}:root[data-density=ultra] .app-shell{grid-template-columns:210px minmax(0,1fr)}:root[data-density=ultra] .progress-ring{width:68px;height:68px}:root[data-density=ultra] h1{font-size:clamp(24px,3.3vw,44px)}@media (width<=1050px){.app-shell,:root[data-density=ultra] .app-shell{grid-template-columns:1fr}.side-menu{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;position:static}.menu-title,.module-tree{grid-column:1/-1}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.summary-panel{order:2}.tasks-panel{order:1}}@media (width<=760px){.topbar{grid-template-columns:1fr auto}.quick-nav{order:3;grid-column:1/-1;justify-content:stretch}.quick-nav a{text-align:center;flex:1}.hero{grid-template-columns:1fr}.command-bar{flex-direction:column;align-items:stretch}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:1/-1}.folder-grid,.side-menu{grid-template-columns:1fr}}@media (width<=520px){.app-shell{width:min(100% - 10px,1480px);padding-top:6px}.topbar{padding-left:8px;padding-right:8px}.app-brand small{display:none}.filters{grid-template-columns:1fr}.panel-title-row{flex-direction:column}.task{grid-template-columns:24px minmax(0,1fr)}.task-main,.qty{grid-column:2}.qty{justify-self:start}.task-top{gap:2px;display:grid}}.account-bar{border:1px solid var(--line);background:#fffaf1db;border-radius:18px;align-items:center;gap:10px;width:min(1180px,100% - 28px);margin:0 auto 18px;padding:10px 16px;font-size:14px;display:flex}.account-bar .badge{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;background:#254f6e1f;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}.account-spacer{flex:1}.auth-overlay{z-index:100;background:radial-gradient(circle at 0 0,#d7edf0 0,#0000 34rem),linear-gradient(135deg,#f8f0df 0%,#edf5f3 100%);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-card{width:min(420px,100%);box-shadow:var(--shadow);text-align:center;background:#fffaf1f2;border:1px solid #ffffffa6;border-radius:28px;justify-items:stretch;gap:14px;padding:30px;display:grid}.auth-card img{filter:drop-shadow(0 10px 20px #0000001f);width:64px;height:64px;margin:0 auto}.auth-card h2{margin:0}.auth-sub{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.auth-card form{text-align:left;gap:12px;display:grid}.auth-card label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.auth-primary{color:#fff;background:var(--primary);border:0;border-radius:999px;padding:14px 18px;font-size:16px;font-weight:800}.auth-error{color:#8a2f2f;background:#b23a3a14;border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.admin-users{gap:10px;margin-bottom:18px;display:grid}.admin-user{border:1px solid var(--line);background:#ffffff8c;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-user-info{flex:1;gap:2px;min-width:200px;display:grid}.admin-user-info small{color:var(--muted)}.admin-user select{width:auto;padding:8px 10px}.admin-add{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.admin-add label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.admin-add button{color:#fff;background:var(--primary);border:0;border-radius:999px;padding:12px 16px;font-weight:800}.invite-out{border:1px solid var(--line);background:#4a8f6314;border-radius:16px;gap:8px;padding:14px;display:grid}.invite-out small{color:var(--muted)}.invite-row{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-row button{color:#fff;background:var(--green);border:0;border-radius:999px;padding:10px 14px;font-weight:800}@media (width<=720px){.admin-add,.invite-row{grid-template-columns:1fr}}[hidden]{display:none!important}
