@font-face{font-family:Nunito;src:url(/fonts/Nunito-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito-ExtraBold.ttf)format("truetype");font-weight:800;font-display:swap}:root{--purple:#8547db;--purple-dark:#7135c5;--ink:#321044;--lavender:#c7a1f0;--mint:#73d99b;--mint-light:#e5f9eb;--sky:#72c9ee;--apricot:#ffb47d;--paper:#fffbf7;--dark:#20152b;--muted:#73677c;--bg:var(--paper);--surface:#fff;--surface-2:#f7f1fb;--text:var(--ink);--text-2:#5e5368;--border:#ece3f2;--border-strong:#d9cbe6;--accent:var(--purple);--accent-strong:var(--purple-dark);--on-accent:#fff;--success-text:#1f7a45;--success-bg:var(--mint-light);--danger:#b42346;--danger-bg:#fde8ee;--warning-text:#9a4b12;--warning-bg:#fff0e4;--focus:#5a1fb5;--shadow:0 1px 2px #3210440f, 0 4px 16px #3210440f;--g-purple-bg:#efe6fb;--g-purple-fg:#6a2fc0;--g-sky-bg:#e3f4fc;--g-sky-fg:#0f6c93;--g-mint-bg:#e5f9eb;--g-mint-fg:#1f7a45;--g-apricot-bg:#fff0e4;--g-apricot-fg:#a2531a;--g-lavender-bg:#f3eafd;--g-lavender-fg:#7135c5;--g-rose-bg:#fde8ee;--g-rose-fg:#a8325a;--g-teal-bg:#e0f6f3;--g-teal-fg:#1d7468;--g-slate-bg:#eceaf0;--g-slate-fg:#4f4659;--radius-card:20px;--radius-sm:12px;--radius-pill:999px;--font:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--sidebar:240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:var(--dark);--surface:#2a1f37;--surface-2:#332745;--text:#f3ecfa;--text-2:#c6b9d3;--border:#3d3050;--border-strong:#54446a;--accent:#a57be8;--accent-strong:#b993f0;--on-accent:#1b1025;--success-text:#8be3ae;--success-bg:#1f3a2c;--danger:#ff8fa6;--danger-bg:#432234;--warning-text:#ffc79e;--warning-bg:#45301f;--focus:#d7bfff;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--g-purple-bg:#3b2a57;--g-purple-fg:#d3b8fa;--g-sky-bg:#1f3a4a;--g-sky-fg:#a6ddf5;--g-mint-bg:#1f3a2c;--g-mint-fg:#9be7b9;--g-apricot-bg:#45301f;--g-apricot-fg:#ffc79e;--g-lavender-bg:#3a2c4f;--g-lavender-fg:#dcc4f8;--g-rose-bg:#452434;--g-rose-fg:#f7a9c2;--g-teal-bg:#1c3b37;--g-teal-fg:#8fddd0;--g-slate-bg:#353040;--g-slate-fg:#cfc8da;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}h1,h2,h3{margin:0;font-weight:800;line-height:1.2}h1{font-size:30px}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:var(--accent-strong)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-2)}.small{font-size:14px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-strong)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.icon{width:44px;padding:0}.btn:disabled{opacity:.55;cursor:not-allowed}.field{flex-direction:column;gap:4px;display:flex}.field label{font-size:14px;font-weight:600}.input,select.input,textarea.input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:44px;padding:10px 12px}textarea.input{resize:vertical;min-height:96px}.field-error{color:var(--danger);font-size:14px}.checkbox{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:inline-flex}.checkbox input{width:20px;height:20px;accent-color:var(--accent)}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.pill[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.chip{border-radius:var(--radius-pill);align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.g-purple{background:var(--g-purple-bg);color:var(--g-purple-fg)}.g-sky{background:var(--g-sky-bg);color:var(--g-sky-fg)}.g-mint{background:var(--g-mint-bg);color:var(--g-mint-fg)}.g-apricot{background:var(--g-apricot-bg);color:var(--g-apricot-fg)}.g-lavender{background:var(--g-lavender-bg);color:var(--g-lavender-fg)}.g-rose{background:var(--g-rose-bg);color:var(--g-rose-fg)}.g-teal{background:var(--g-teal-bg);color:var(--g-teal-fg)}.g-slate{background:var(--g-slate-bg);color:var(--g-slate-fg)}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:16px 18px}.card h2{margin-bottom:10px}.card.tinted{box-shadow:none}.summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{border-radius:var(--radius-card);padding:14px 16px}.stat strong{font-size:28px;font-weight:800;display:block}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100%;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .logo{padding:4px 8px 16px}.sidebar .logo img{width:auto;height:36px}.nav-link{border-radius:var(--radius-sm);min-height:44px;color:var(--text);align-items:center;gap:10px;padding:0 12px;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--g-purple-bg);color:var(--g-purple-fg)}.nav-section{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:16px 12px 6px;font-size:13px;font-weight:800}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar h1{font-size:24px}.content{flex-direction:column;gap:20px;width:100%;max-width:1440px;margin:0 auto;padding:24px;display:flex}.split{grid-template-columns:1fr;gap:20px;display:grid}.split.with-panel{grid-template-columns:minmax(0,1fr) 420px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);max-height:calc(100vh - 104px);padding:18px;position:sticky;top:84px;overflow-y:auto}.bottom-nav{display:none}.banner{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-text);padding:12px 16px;font-weight:600}.banner.info{background:var(--g-sky-bg);color:var(--g-sky-fg)}.banner.error{background:var(--danger-bg);color:var(--danger)}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;min-height:52px;padding:10px 6px;display:flex}.item:last-child{border-bottom:0}.item .title{overflow-wrap:anywhere;font-weight:600}.item button.link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.item.done .title{color:var(--text-2);text-decoration:line-through}.item.now{background:var(--g-purple-bg);border-radius:var(--radius-sm)}.check{border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;display:inline-flex}.check[aria-checked=true]{background:var(--mint);border-color:var(--mint);color:#12391f}.check-hit{cursor:pointer;background:0 0;border:0;margin:-9px;padding:9px}.meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}.overdue{color:var(--danger);font-weight:600}.empty{text-align:center;color:var(--text-2);padding:24px}.kanban{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;display:grid;overflow-x:auto}.kanban .col{background:var(--surface-2);border-radius:var(--radius-card);min-height:200px;padding:12px}.kanban .col h3{margin:4px 4px 10px}.kanban .kcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;margin-bottom:8px;padding:10px}.cal-month{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal-month .dow{color:var(--text-2);border-bottom:1px solid var(--border);padding:8px;font-size:13px;font-weight:800}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;flex-direction:column;gap:3px;min-width:0;min-height:110px;padding:6px;display:flex}.cal-cell:nth-child(7n){border-right:0}.cal-cell.other{color:var(--text-2);background:var(--surface-2)}.cal-cell.today .num{background:var(--accent);color:var(--on-accent)}.cal-cell.selected{outline:2px solid var(--accent);outline-offset:-2px}.num{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:inline-flex}.ev-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:100%;padding:1px 6px;font-size:12px;font-weight:600;overflow:hidden}.ev-chip.cancelled{opacity:.7;text-decoration:line-through}.timeline{grid-template-columns:56px 1fr;display:grid;position:relative}.timeline .hours{flex-direction:column;display:flex}.timeline .hour{height:48px;color:var(--text-2);text-align:right;padding-right:8px;font-size:12px;transform:translateY(-7px)}.timeline .lane{border-left:1px solid var(--border);position:relative}.timeline .slot{border-top:1px solid var(--border);height:48px}.tl-event{cursor:pointer;text-align:left;border:1px solid #0000000f;border-radius:8px;padding:4px 6px;font-size:13px;font-weight:600;position:absolute;overflow:hidden}.tl-now{background:var(--danger);height:2px;position:absolute;left:0;right:0}.week{grid-template-columns:56px repeat(7,1fr);display:grid}.week .head{text-align:center;border-bottom:1px solid var(--border);padding:8px 4px;font-size:14px;font-weight:800}.board{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.idea{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:8px;padding:14px;display:flex}.idea.pinned{border-color:var(--apricot);box-shadow:inset 0 0 0 1px var(--apricot)}.overlay{z-index:40;background:#20152b73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius-card);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);padding:20px;overflow-y:auto}.dialog h2{margin-bottom:12px}.toast{background:var(--ink);color:#fff;border-radius:var(--radius-sm);z-index:60;max-width:calc(100vw - 32px);padding:12px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.prose :where(p,ul,ol){margin:0 0 8px}.visible-for{border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 12px;font-size:14px}.auth{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.auth .card{width:min(440px,100%);padding:28px}.auth .logo{justify-content:center;margin-bottom:18px;display:flex}.auth .logo img{width:auto;height:48px}@media (max-width:1100px){.split.with-panel{grid-template-columns:1fr}.panel{z-index:30;border-radius:0;max-height:none;position:fixed;inset:0}}@media (max-width:900px){:root{--sidebar:76px}.sidebar .label,.sidebar .nav-section,.sidebar .ws-list{display:none}.sidebar .logo img{content:url(/brand/plannuby-symbol-primary.svg);height:32px}.nav-link{justify-content:center;padding:0}}@media (max-width:640px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:10px 16px}.topbar h1{font-size:22px}.content{padding:16px 16px 96px}h1{font-size:28px}.bottom-nav{z-index:20;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:58px;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--accent-strong)}.overlay{align-items:flex-end;padding:0}.dialog{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-height:92vh;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.kanban{grid-template-columns:repeat(4,80vw)}.cal-cell{min-height:56px;padding:4px}.cal-cell .ev-chip{display:none}.cal-cell .dots{gap:3px;display:flex}.hide-mobile{display:none!important}.summary{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:10px 12px;font-size:14px}.stat strong{font-size:24px}}@media (min-width:641px){.cal-cell .dots{display:none}.show-mobile{display:none!important}}:root[data-theme=dark] .sidebar{background:var(--bg)}:root[data-theme=dark] .sidebar .logo img,:root[data-theme=dark] .auth .logo img{content:url(/brand/plannuby-horizontal-dark.svg)}@media (max-width:900px){:root[data-theme=dark] .sidebar .logo img{content:url(/brand/plannuby-symbol-dark.svg)}}
