@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--ink: #0B0B0C;--ink-soft: #141417;--ink-2: #1E1E22;--paper: #FFFFFF;--paper-2: #F4F4F1;--paper-3: #ECECE7;--fg-brand: #0B0B0C;--fg-muted-brand: #5C5C63;--fg-faint-brand: #8A8A90;--on-dark: #FFFFFF;--on-dark-muted: #A7A7AE;--on-dark-faint: #6E6E76;--line: #E4E4DF;--line-dark: #26262B;--volt: #C9F23C;--volt-deep: #A9D31E;--volt-ink: #0B0B0C;--danger: oklch(55% .18 25);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--radius: 4px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(11,11,12,.06);--shadow: 0 18px 50px -22px rgba(11,11,12,.28);--ease: cubic-bezier(.22,.61,.36,1);--t-bg: var(--paper-2);--t-surface: var(--paper);--t-surface2: var(--paper-3);--t-sidebar: var(--ink);--t-fg: var(--fg-brand);--t-fg-muted: var(--fg-muted-brand);--t-fg-faint: var(--fg-faint-brand);--t-border: var(--line)}[data-theme=dark]{--t-bg: var(--ink);--t-surface: var(--ink-soft);--t-surface2: var(--ink-2);--t-sidebar: var(--ink-soft);--t-fg: var(--on-dark);--t-fg-muted: var(--on-dark-muted);--t-fg-faint: var(--on-dark-faint);--t-border: var(--line-dark)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{font-family:var(--font-body);font-size:14px;color:var(--t-fg);background:var(--t-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:var(--font-body)}input::placeholder,textarea::placeholder{color:var(--t-fg-faint)}::selection{background:var(--volt);color:var(--volt-ink)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--t-border);border-radius:6px}#root{height:100vh}@keyframes panelIn{0%{transform:translate(28px);opacity:0}to{transform:none;opacity:1}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.input,.select,.textarea{background:var(--t-surface2);border:1px solid var(--t-border);border-radius:7px;padding:8px 10px;font-size:13px;color:var(--t-fg);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--volt-deep)}.select{cursor:pointer}.textarea{resize:vertical;width:100%}.btn-volt{background:var(--volt);color:var(--volt-ink);border:none;border-radius:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:background .2s var(--ease)}.btn-volt:hover{background:var(--volt-deep)}.btn-volt:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:none;border:1px solid var(--t-border);color:var(--t-fg-muted);border-radius:7px;padding:9px 14px;font-size:12.5px}.btn-ghost:hover{border-color:var(--t-fg-muted)}.btn-ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.btn-dashed{align-self:flex-start;display:flex;align-items:center;gap:6px;background:none;border:1px dashed var(--t-border);border-radius:8px;padding:8px 12px;font-size:12.5px;color:var(--t-fg-muted)}.btn-dashed:hover{border-color:var(--t-fg-muted)}.icon-btn{background:none;border:none;color:var(--t-fg-faint);display:flex;padding:4px}.icon-btn:hover{color:var(--t-fg)}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.chip-mono{font-family:var(--font-mono);font-size:10.5px;padding:3px 7px;border-radius:100px;white-space:nowrap}.mono-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-fg-faint)}.dot{border-radius:50%;flex-shrink:0;display:inline-block}.dot-8{width:8px;height:8px}.dot-7{width:7px;height:7px}.dot-6{width:6px;height:6px}.dot-10{width:10px;height:10px}.auth-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--on-dark);padding:24px}.auth-card{width:420px;max-width:94vw;background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:14px;padding:36px;animation:riseIn .5s var(--ease) both}.auth-logo{width:44px;height:44px;border-radius:10px;background:var(--volt);color:var(--volt-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:24px;margin-bottom:18px}.auth-title{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.02em}.auth-sub{color:var(--on-dark-muted);font-size:13.5px;margin-top:6px;line-height:1.5}.auth-users{display:flex;flex-direction:column;gap:6px;margin-top:22px}.auth-user{display:flex;align-items:center;gap:12px;text-align:left;background:var(--ink-2);border:1px solid transparent;border-radius:9px;padding:10px 12px;color:var(--on-dark);transition:border-color .2s var(--ease)}.auth-user:hover{border-color:var(--volt)}.auth-user .name{font-weight:600;font-size:13.5px}.auth-user .role{font-size:11.5px;color:var(--on-dark-faint)}.auth-note{margin-top:20px;font-size:12px;color:var(--on-dark-faint);line-height:1.5}.auth-input{width:100%;background:var(--ink-2);border:1px solid var(--line-dark);border-radius:8px;padding:11px 12px;font-size:14px;color:var(--on-dark);outline:none;margin-top:14px}.auth-input:focus{border-color:var(--volt)}.auth-btn{width:100%;margin-top:14px;background:var(--volt);color:var(--volt-ink);border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:600}.auth-btn:hover{background:var(--volt-deep)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#ff8f7a;font-size:12.5px;margin-top:10px}.auth-project-badge{display:inline-flex;align-items:center;gap:8px;margin-top:16px;border:1px solid var(--line-dark);border-radius:100px;padding:7px 14px;font-size:13px;color:var(--on-dark-muted)}.auth-link-btn{background:none;border:none;color:var(--volt);font-size:12.5px;cursor:pointer;padding:0;text-decoration:underline}.shell{height:100vh;width:100%;display:flex;overflow:hidden;font-size:14px}.sidebar{width:264px;flex-shrink:0;background:var(--t-sidebar);display:flex;flex-direction:column;padding:20px 14px}.sidebar-head{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}.sidebar-logo{width:30px;height:30px;border-radius:8px;background:var(--volt);color:var(--volt-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;flex-shrink:0}.sidebar-brand{flex:1;font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--on-dark);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .icon-btn{color:var(--on-dark-muted)}.sidebar .icon-btn:hover{color:var(--on-dark)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:8px;border:none;background:transparent;color:var(--on-dark-muted);font-weight:600;font-size:13.5px;text-align:left}.nav-item:hover{color:var(--on-dark)}.nav-item.active{background:var(--ink-2);color:var(--on-dark)}.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--on-dark-faint)}.sidebar-section{margin-top:22px;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.sidebar-section span{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint)}.project-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;flex:1;overflow-y:auto}.project-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;background:transparent}.project-row:hover .p-name{color:var(--on-dark)}.project-row.active{background:var(--ink-2)}.project-row .p-name{flex:1;font-size:13.5px;color:var(--on-dark-muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row.active .p-name{color:var(--on-dark);font-weight:600}.project-row .p-count{font-family:var(--font-mono);font-size:10.5px;color:var(--on-dark-faint)}.project-rename{flex:1;min-width:0;background:var(--ink-2);border:1px solid var(--line-dark);border-radius:5px;color:var(--on-dark);font-size:13px;padding:3px 6px;outline:none}.sidebar-foot{border-top:1px solid var(--line-dark);margin-top:10px;padding-top:14px;position:relative}.profile-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer}.profile-row .name{font-size:13px;font-weight:600;color:var(--on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-row .role{font-size:11.5px;color:var(--on-dark-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{background:var(--ink-2);border:none;border-radius:20px;width:38px;height:22px;position:relative;flex-shrink:0}.theme-toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--volt);transition:left .2s var(--ease)}.theme-toggle.dark .knob{left:18px}.profile-menu{position:absolute;bottom:64px;left:8px;right:8px;background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:10px;padding:8px;box-shadow:var(--shadow);animation:dropIn .16s var(--ease) both;z-index:40}.profile-menu .info{padding:8px 10px;font-size:12.5px;color:var(--on-dark-muted)}.profile-menu .info strong{color:var(--on-dark)}.profile-menu .sep{height:1px;background:var(--line-dark);margin:4px 0}.profile-menu .item{padding:8px 10px;font-size:13px;color:var(--on-dark-muted);border-radius:6px;cursor:pointer}.profile-menu .item:hover{background:var(--ink-2);color:var(--on-dark)}.guest-badge{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;background:var(--ink-2);color:var(--volt);border-radius:100px;padding:2px 8px}.main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:64px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--t-border);overflow-x:auto;overflow-y:visible}.topbar-title{display:flex;align-items:center;gap:10px;min-width:110px;flex-shrink:1}.topbar-title h1{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-box{position:relative;width:180px;flex-shrink:0}.search-box svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}.search-box input{width:100%;padding-left:32px}.topbar .select{width:100px;padding:8px 4px;font-size:12px;flex-shrink:0}.topbar-sep{width:1px;height:26px;background:var(--t-border);flex-shrink:0}.notif-wrap{position:relative;flex-shrink:0}.notif-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--volt-deep)}.notif-menu{position:absolute;top:44px;right:0;width:320px;background:var(--t-surface);border:1px solid var(--t-border);border-radius:10px;box-shadow:var(--shadow);z-index:60;animation:dropIn .16s var(--ease) both;overflow:hidden}.notif-menu .head{padding:12px 14px;border-bottom:1px solid var(--t-border)}.notif-item{padding:11px 14px;border-bottom:1px solid var(--t-border)}.notif-item .text{font-size:12.5px;color:var(--t-fg);line-height:1.4}.notif-item .sub{font-size:11px;color:var(--t-fg-faint);margin-top:2px}.notif-empty{padding:20px 14px;text-align:center;font-size:12.5px;color:var(--t-fg-faint)}.invite-btn{display:flex;align-items:center;gap:6px;flex-shrink:0;background:none;border:1px solid var(--t-border);border-radius:7px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--t-fg-muted)}.invite-btn:hover{border-color:var(--volt-deep);color:var(--t-fg)}.tabs{height:46px;flex-shrink:0;display:flex;align-items:center;gap:4px;padding:0 24px;border-bottom:1px solid var(--t-border);overflow-x:auto}.tab{background:none;border:none;padding:10px 12px;font-size:13.5px;font-weight:600;color:var(--t-fg-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--t-fg)}.tab.active{color:var(--t-fg);border-bottom-color:var(--volt-deep)}.content{flex:1;overflow:auto;padding:22px 24px 60px}.list-wrap{display:flex;flex-direction:column;gap:16px;max-width:1120px}.mode-switch{display:flex;align-items:center;gap:4px;background:var(--t-surface2);padding:3px;border-radius:8px;width:fit-content}.mode-switch button{border:none;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600;background:transparent;color:var(--t-fg-muted)}.mode-switch button.active{background:var(--t-surface);color:var(--t-fg)}.list-toolbar{display:flex;align-items:center;gap:10px}.column-picker-wrap{position:relative;flex-shrink:0}.column-picker-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--t-border);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--t-fg-muted)}.column-picker-btn:hover{border-color:var(--t-fg-muted);color:var(--t-fg)}.column-picker-menu{position:absolute;top:40px;left:0;width:220px;background:var(--t-surface);border:1px solid var(--t-border);border-radius:10px;box-shadow:var(--shadow);z-index:60;animation:dropIn .16s var(--ease) both;padding:8px;max-height:340px;overflow-y:auto}.column-picker-menu .head{padding:4px 6px 8px}.column-picker-item{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:6px;font-size:13px;color:var(--t-fg);cursor:pointer}.column-picker-item:hover{background:var(--t-surface2)}.column-picker-item input{accent-color:var(--volt-deep);width:15px;height:15px;cursor:pointer;flex-shrink:0}.column-picker-sep{height:1px;background:var(--t-border);margin:6px 2px}.group-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.group-head .g-label{font-weight:600;font-size:13.5px;color:var(--t-fg)}.group-head .g-count{font-family:var(--font-mono);font-size:11px;color:var(--t-fg-faint)}.task-card-list{border:1px solid var(--t-border);border-radius:10px;overflow:hidden;background:var(--t-surface)}.task-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--t-border);cursor:pointer}.task-row:hover{background:var(--t-surface2)}.check{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--t-border);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center}.check.done{border-color:var(--volt-deep);background:var(--volt-deep)}.task-row .t-title{flex:1;font-size:13.5px;color:var(--t-fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row .t-title.done{color:var(--t-fg-faint);text-decoration:line-through}.t-project{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--t-fg-muted);flex-shrink:0}.t-due{font-size:11.5px;color:var(--t-fg-muted);width:52px;text-align:right;flex-shrink:0}.t-due.overdue{color:var(--danger)}.add-row{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;color:var(--t-fg-faint);font-size:12.5px}.add-row:hover{color:var(--t-fg)}.table-wrap{border:1px solid var(--t-border);border-radius:10px;background:var(--t-surface);overflow-x:auto}.table-head{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--t-border);background:var(--t-surface2);min-width:fit-content}.th{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--t-fg-faint);flex-shrink:0}.table-row{min-width:fit-content}.cell-status{width:110px;flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t-fg-muted)}.cell-custom{width:130px;flex-shrink:0}.cell-custom .input,.cell-custom .select{width:100%;background:transparent;border-color:transparent;padding:4px 6px;font-size:12px}.cell-custom .input:hover,.cell-custom .select:hover,.cell-custom .input:focus,.cell-custom .select:focus{border-color:var(--t-border);background:var(--t-surface2)}.cell-formula{font-family:var(--font-mono);font-size:11.5px;color:var(--volt-deep);padding:4px 6px}.board{display:flex;gap:16px;align-items:flex-start;height:100%}.board-col{width:264px;flex-shrink:0;background:var(--t-surface2);border-radius:10px;padding:10px;display:flex;flex-direction:column;max-height:100%}.board-col.drag-over{outline:2px dashed var(--volt-deep);outline-offset:-2px}.board-col-head{display:flex;align-items:center;gap:8px;padding:6px 6px 10px}.board-col-head .label{font-weight:600;font-size:13px;color:var(--t-fg)}.board-col-head .count{font-family:var(--font-mono);font-size:11px;color:var(--t-fg-faint)}.board-cards{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:2px}.board-card{background:var(--t-surface);border:1px solid var(--t-border);border-radius:9px;padding:11px;cursor:grab;display:flex;flex-direction:column;gap:8px}.board-card:hover{border-color:var(--t-fg-faint)}.board-card:active{cursor:grabbing}.board-card .b-title{font-size:13px;color:var(--t-fg);line-height:1.35}.board-card .b-meta{display:flex;align-items:center;gap:8px}.board-card .b-due{font-size:11px;color:var(--t-fg-muted)}.board-card .b-due.overdue{color:var(--danger)}.timeline{max-width:1100px}.tl-months{position:relative;height:28px;margin-left:220px;border-bottom:1px solid var(--t-border);margin-bottom:6px}.tl-month{position:absolute;top:0;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--t-fg-faint)}.tl-rows{display:flex;flex-direction:column;gap:4px}.tl-row{display:flex;align-items:center;height:38px}.tl-left{width:220px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding-right:12px;cursor:pointer}.tl-left .name{font-size:12.5px;color:var(--t-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-track{flex:1;position:relative;height:100%;border-left:1px solid var(--t-border)}.tl-today{position:absolute;top:0;bottom:0;width:1px;background:var(--t-fg-faint);opacity:.5}.tl-bar{position:absolute;top:9px;height:20px;min-width:14px;border-radius:6px;cursor:pointer}.dash{display:flex;flex-direction:column;gap:20px;max-width:1040px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{background:var(--t-surface);border:1px solid var(--t-border);border-radius:10px;padding:18px}.stat-card .label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--t-fg-faint)}.stat-card .value{font-family:var(--font-display);font-size:30px;font-weight:600;margin-top:8px}.dash-grid-2{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.dash-grid-2b{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash-card{background:var(--t-surface);border:1px solid var(--t-border);border-radius:10px;padding:20px}.dash-card .card-title{font-weight:600;font-size:13.5px;color:var(--t-fg);margin-bottom:14px}.bar-row-label{display:flex;justify-content:space-between;font-size:12px;color:var(--t-fg-muted);margin-bottom:5px}.bar-track{height:8px;border-radius:5px;background:var(--t-surface2);overflow:hidden}.bar-fill{height:100%;border-radius:5px}.donut-wrap{display:flex;align-items:center;gap:22px}.donut-pct{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--t-fg)}.workload-row{display:flex;align-items:center;gap:10px}.workload-row .w-name{font-size:12.5px;color:var(--t-fg-muted);width:96px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workload-row .w-track{flex:1;height:7px;border-radius:5px;background:var(--t-surface2);overflow:hidden}.workload-row .w-count{font-family:var(--font-mono);font-size:11px;color:var(--t-fg-faint);width:16px;text-align:right}.upcoming-row{display:flex;align-items:center;gap:10px;cursor:pointer}.upcoming-row .u-title{flex:1;font-size:12.5px;color:var(--t-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt{overflow-x:auto}.gantt-head-row{display:flex}.gantt-side{width:220px;flex-shrink:0;position:sticky;left:0;background:var(--t-bg);z-index:2}.gantt-days{display:flex;height:26px;border-bottom:1px solid var(--t-border)}.gantt-day-m{width:32px;flex-shrink:0;font-size:9.5px;text-align:center;font-family:var(--font-mono);position:relative}.gantt-day-m .m-label{position:absolute;top:2px;left:0;font-size:9px;text-transform:uppercase;color:var(--t-fg-faint)}.gantt-nums{display:flex;height:16px}.gantt-num{width:32px;flex-shrink:0;font-size:10px;text-align:center;color:var(--t-fg-faint);font-family:var(--font-mono)}.gantt-num.today{background:var(--volt);color:var(--volt-ink)}.gantt-num.weekend{background:var(--t-surface2)}.gantt-group-head{display:flex;align-items:center;gap:8px;padding:12px 0 6px;position:sticky;left:0}.gantt-group-head .label{font-weight:600;font-size:12.5px;color:var(--t-fg)}.gantt-row{display:flex;align-items:center;height:34px}.gantt-row-label{width:220px;flex-shrink:0;font-size:12px;color:var(--t-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px;cursor:pointer;position:sticky;left:0;background:var(--t-bg);z-index:1}.gantt-track{position:relative;flex:1;height:100%;border-top:1px solid var(--t-border)}.gantt-bar{position:absolute;top:6px;height:22px;border-radius:5px;cursor:pointer;display:flex;align-items:center;padding:0 8px;overflow:hidden}.gantt-bar span{font-size:10.5px;color:var(--paper);white-space:nowrap}.calendar{max-width:980px}.cal-nav{display:flex;align-items:center;gap:14px;margin-bottom:14px}.cal-nav .label{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--t-fg);min-width:150px;text-transform:capitalize}.cal-nav button{background:var(--t-surface2);border:none;border-radius:7px;width:28px;height:28px;color:var(--t-fg);display:flex;align-items:center;justify-content:center}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--t-border);border:1px solid var(--t-border);border-radius:10px 10px 0 0;overflow:hidden}.cal-weekdays div{background:var(--t-surface2);padding:8px;text-align:center;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--t-fg-faint)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--t-border);border:1px solid var(--t-border);border-top:none;border-radius:0 0 10px 10px;overflow:hidden}.cal-cell{background:var(--t-surface);min-height:96px;padding:6px}.cal-cell.out{opacity:.35}.cal-daynum{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11.5px;color:var(--t-fg);margin-bottom:5px}.cal-daynum.today{background:var(--volt);color:var(--volt-ink);font-weight:700}.cal-chips{display:flex;flex-direction:column;gap:3px}.cal-chip{font-size:10.5px;padding:2px 6px;border-radius:5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-more{font-size:10px;color:var(--t-fg-faint);padding:1px 6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:80;animation:overlayIn .18s var(--ease) both}.task-panel{position:absolute;top:0;right:0;bottom:0;width:460px;max-width:94vw;background:var(--t-surface);border-left:1px solid var(--t-border);padding:24px;overflow-y:auto;animation:panelIn .22s var(--ease) both;display:flex;flex-direction:column;gap:18px}.task-panel .panel-head{display:flex;align-items:center;justify-content:space-between}.task-panel .panel-project{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t-fg-muted)}.task-title-input{width:100%;border:none;resize:none;background:transparent;padding:0;outline:none;font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--t-fg)}.task-props{display:grid;grid-template-columns:100px 1fr;row-gap:14px;align-items:center;font-size:13px}.task-props>span{color:var(--t-fg-faint)}.task-props .select,.task-props input{width:fit-content;padding:7px 8px}.field-label{font-size:12px;color:var(--t-fg-faint);margin-bottom:6px}.cf-row .input,.cf-row .select{width:100%}.cf-formula-out{font-family:var(--font-mono);font-size:13px;color:var(--volt-deep);background:var(--t-surface2);border:1px dashed var(--t-border);border-radius:7px;padding:8px 10px}.multi-chips{display:flex;flex-wrap:wrap;gap:6px}.multi-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;border:1px solid var(--t-border);border-radius:100px;padding:4px 10px;color:var(--t-fg-muted);background:none}.multi-chip.on{background:var(--volt);color:var(--volt-ink);border-color:var(--volt);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90;animation:overlayIn .18s var(--ease) both;display:flex;align-items:center;justify-content:center}.settings-modal{width:820px;max-width:94vw;max-height:84vh;height:560px;background:var(--t-surface);border-radius:14px;overflow:hidden;display:flex;box-shadow:var(--shadow)}.settings-nav{width:190px;flex-shrink:0;background:var(--t-surface2);padding:16px 10px;display:flex;flex-direction:column;gap:2px}.settings-nav .title{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--t-fg);padding:6px 10px 14px}.settings-nav button{text-align:left;background:transparent;border:none;border-radius:7px;padding:9px 10px;font-size:13px;font-weight:600;color:var(--t-fg-muted)}.settings-nav button:hover{color:var(--t-fg)}.settings-nav button.active{background:var(--t-surface);color:var(--t-fg)}.settings-body{flex:1;padding:22px;overflow-y:auto;min-width:0}.settings-close{display:flex;justify-content:flex-end;margin-bottom:8px}.config-row{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--t-border);border-radius:9px}.config-row .input{padding:6px 8px;font-size:12.5px;border-radius:6px;min-width:0}.config-row .select{padding:6px 8px;font-size:12.5px;border-radius:6px}.swatches{display:flex;gap:5px;flex-shrink:0}.swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;padding:0}.swatch.on{border-color:var(--t-fg)}.settings-stack{display:flex;flex-direction:column;gap:10px}.settings-hint{font-size:12.5px;color:var(--t-fg-faint);padding:4px 2px;line-height:1.5}.type-tag{font-family:var(--font-mono);font-size:11px;color:var(--t-fg-faint);width:92px;flex-shrink:0}.invite-modal{width:460px;max-width:94vw;background:var(--t-surface);border-radius:14px;box-shadow:var(--shadow);padding:26px;display:flex;flex-direction:column;gap:14px}.invite-modal h3{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--t-fg)}.invite-modal p{font-size:13px;color:var(--t-fg-muted);line-height:1.5}.invite-link-box{display:flex;gap:8px;align-items:center;background:var(--t-surface2);border:1px solid var(--t-border);border-radius:8px;padding:8px}.invite-link-box code{flex:1;font-family:var(--font-mono);font-size:11px;color:var(--t-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-list-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--t-border);font-size:12.5px}.invite-list-row .email{flex:1;color:var(--t-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-list-row .status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--t-fg-faint)}.field-editor{border:1px solid var(--t-border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--t-surface2)}.field-editor .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.formula-help{font-size:11.5px;color:var(--t-fg-faint);line-height:1.5}.formula-help code{font-family:var(--font-mono);font-size:10.5px;background:var(--t-surface);padding:1px 5px;border-radius:4px}.formula-error{color:var(--danger);font-size:11.5px}.empty-view{color:var(--t-fg-faint);font-size:13px;padding:30px 0;text-align:center}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-dark);border:1px solid var(--line-dark);border-radius:100px;padding:10px 20px;font-size:13px;z-index:200;animation:dropIn .2s var(--ease) both;box-shadow:var(--shadow)}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dash-grid-2,.dash-grid-2b{grid-template-columns:1fr}.sidebar{width:220px}}
