:root{--bg:#16181d;--surface:#1e2127;--surface-raised:#262a31;--line:#3a4048;--line-strong:#4a525c;--text:#d6dae0;--text-dim:#9aa2ac;--text-bright:#f2f4f7;--brand:#4652a3;--accent:#52c6da;--done-bg:#163a31;--done-border:#2c5c4d;--done-text:#63c2a2;--blocked-bg:#3d3416;--blocked-border:#665824;--blocked-text:#e8c95a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:15px/1.45 Albert Sans,system-ui,Segoe UI,sans-serif}body{background:var(--bg);margin:0}#root{min-height:100svh}h1{color:var(--text-bright);margin:0;font-family:Poppins,Albert Sans,sans-serif;font-size:1.5rem;font-weight:800}h2{color:var(--text-bright);font-family:Poppins,Albert Sans,sans-serif;font-weight:700}button{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--line);cursor:pointer;border-radius:8px}button:hover{border-color:var(--line-strong);background:#2d323a}::-webkit-scrollbar{width:24px;height:24px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--line);border:6px solid var(--surface);border-radius:12px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}*{scrollbar-width:auto}.app-main{padding:2rem;font-family:system-ui}.app-header{justify-content:space-between;align-items:center;display:flex}.app-brand{align-items:center;gap:.9rem;display:flex}.app-brand img{height:2.4rem}.app-identity{align-items:center;gap:.6rem;display:flex}.company-logo{height:1.5rem;margin-right:.4rem}.app-brand{flex-direction:column;align-items:center;gap:.15rem}.logo-row{align-items:center;gap:.8rem;display:flex}.tagline{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.62rem;font-weight:600}@media (width<=950px){.app-main{padding:.6rem}.app-header{display:none}}:root.brand-supercritical{--bg:#12181b;--surface:#1a2226;--surface-raised:#223037;--line:#37474f;--line-strong:#4a5d66;--text:#d5dde1;--text-dim:#97a6ad;--text-bright:#f3f6f8;--brand:#37474f;--accent:#eb6a32}:root.brand-liminalarc{--bg:#07222c;--surface:#0b2f3c;--surface-raised:#11404f;--line:#24505e;--line-strong:#356879;--text:#d3dee2;--text-dim:#93a9b1;--text-bright:#f2f7f9;--brand:#0e4d64;--accent:#50bd92}.error-toast{z-index:100;color:#f0c9c2;cursor:pointer;background:#3d1f1f;border:1px solid #7a3b36;border-radius:8px;max-width:min(90vw,34rem);padding:.6rem 1rem;font-size:.95rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.gantt-scroll{touch-action:pan-y;border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow:auto}.gantt-inner{position:relative}.gantt-header{z-index:4;background:var(--surface);border-bottom:2px solid var(--line-strong);position:sticky;top:0}.gantt-corner{z-index:3;background:var(--surface-raised);height:100%;display:inline-block;position:sticky;left:0}.gantt-sprint{box-sizing:border-box;color:var(--text-dim);border-left:1px solid var(--line);white-space:nowrap;align-items:center;padding-left:.6em;font-family:Poppins,Albert Sans,sans-serif;font-weight:600;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-sprint.current{color:var(--accent)}.gantt-lane{border-bottom:1px solid var(--line);box-sizing:border-box;position:relative}.gantt-label{z-index:2;vertical-align:top;box-sizing:border-box;background:var(--accent);border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#12262b;white-space:nowrap;text-overflow:ellipsis;border-radius:0 0 8px;max-width:min(70%,24em);height:auto;padding:.2em .6em .25em;font-family:Poppins,Albert Sans,sans-serif;font-weight:600;display:inline-block;position:sticky;top:calc(3.7em + 2px);left:0;overflow:hidden}.gantt-gridline{border-left:1px solid var(--line);opacity:.5;position:absolute;top:0;bottom:0}.gantt-bar{z-index:2;border:1px solid var(--line-strong);background:var(--surface-raised);height:1.5em;color:var(--text);white-space:nowrap;box-sizing:border-box;border-radius:6px;align-items:center;padding:0 .45em;line-height:1.5em;display:flex;position:absolute}.gantt-bar-text{text-overflow:ellipsis;flex:1;overflow:hidden}.gantt-bar.status-done{background:var(--done-bg);border-color:var(--done-border);color:var(--done-text)}.gantt-bar.status-blocked{background:var(--blocked-bg);border-color:var(--blocked-border);color:var(--blocked-text)}.gantt-bar.priority{border-left:3px solid #e06c5a}.gantt-arrows{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.gantt-arrow-hit{pointer-events:stroke;cursor:pointer}.gantt-bar.conflict{border-color:#e06c5a;box-shadow:0 0 0 1px #e06c5a}.gantt-today{border-left:2px solid var(--accent);width:0;box-shadow:0 0 6px var(--accent);pointer-events:none;position:absolute;top:0;bottom:0}.gantt-note,.gantt-empty{color:var(--text-dim);margin-top:.5rem;font-size:.85rem}.view-toggle{border:1px solid var(--line);border-radius:8px;margin-bottom:.6rem;display:inline-flex;overflow:hidden}.view-toggle button{background:var(--surface);border:none;border-radius:0;padding:.3em 1em}.view-toggle button.on{background:var(--brand);color:#fff}.gantt-day{color:var(--text-dim);border-left:1px solid var(--line);box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.gantt-day>span{font-size:.75em}.gantt-day.monday{border-left:2px solid var(--line-strong)}.gantt-day.today{color:var(--accent);font-weight:700}.gantt-gridline.monday{border-left:2px solid var(--line-strong);opacity:.7}.gantt-bar{cursor:grab;touch-action:none}.gantt-bar.dragging{opacity:.75;z-index:3;cursor:grabbing}.gantt-lane.lane-target{background:#52c6da12}.gantt-dot.parent,.gantt-dot.child{cursor:pointer;transform:none}.gantt-dot.parent{inset:auto calc(6px - .5em) -.5em auto}.gantt-dot.child{inset:calc(6px - .5em) auto auto -.5em}.gantt-range{gap:.5em;margin-bottom:.5em;display:flex}.gantt-range button.on{background:var(--brand);color:#fff}.gantt-corner{box-sizing:border-box;align-items:center;padding:0 .4em;display:inline-flex}.gantt-settings>button{padding:.25em .6em;font-size:1em}.gantt-insert-line{border-top:3px solid var(--accent);height:0;box-shadow:0 0 4px var(--accent);z-index:2;pointer-events:none;position:absolute}.gantt-edge{z-index:1;cursor:ew-resize;width:10px;position:absolute;top:0;bottom:0}.gantt-edge.left{left:0}.gantt-edge.right{right:0}@media (pointer:coarse){.gantt-bar .link-dot{opacity:1}.gantt-dot.parent,.gantt-dot.child{width:1.25em;height:1.25em}.gantt-edge{width:18px}.gantt-range button{min-height:2.6em}}.gantt-bar-text.wrap{white-space:normal;-webkit-box-orient:vertical;align-self:flex-start;padding-top:.12em;line-height:1.2;display:-webkit-box;overflow:hidden}@media (pointer:coarse){.gantt-bar{touch-action:pan-y}.gantt-bar,.gantt-bar *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.gantt-tooltip{z-index:30;background:var(--surface-raised);border:1px solid var(--line-strong);pointer-events:none;white-space:pre-line;border-radius:6px;max-width:28em;padding:.35em .6em;position:fixed;box-shadow:0 4px 14px #0006}.corner{flex-direction:column;align-items:flex-start;gap:.4em;margin-bottom:.7em;display:flex}.projects-filter,.teams-filter{position:relative}.projects-menu{z-index:5;background:var(--surface-raised);border:1px solid var(--line-strong);white-space:nowrap;border-radius:10px;flex-direction:column;gap:.35rem;padding:.5rem .75rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000080}.projects-menu .show-all{margin-bottom:.2em;padding:.2em .5em}.projects-menu label{cursor:pointer;align-items:center;gap:.45rem;display:flex}.zoom{align-items:center;gap:.45em;display:flex}.zoom span{color:var(--text-dim);text-align:center;min-width:2.6em}.zoom .settings-label{text-align:left}.zoom button{justify-content:center;align-items:center;width:1.6em;height:1.6em;font-size:1em;line-height:1;display:flex}.board{--col-gap:.5em;column-gap:var(--col-gap);background:0 0;row-gap:0;font-size:.96em;display:grid;position:relative}.sprint-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.cell,.rowlabel{background:var(--bg);border-bottom:1px solid #4a525c59}.project-header,.corner{z-index:2;box-shadow:0 3px 0 var(--line-strong);position:sticky;top:0}.project-header{background:var(--surface-raised);cursor:grab;border-radius:8px 8px 0 0;margin-bottom:.7em;padding:.5em}.project-header.drop-target:before{content:"";top:0;bottom:0;left:calc(var(--col-gap) / -2 - 2px);background:var(--accent);border-radius:2px;width:4px;position:absolute}.project-hide-btn{opacity:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;padding:0;font-size:1.35em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.3em;right:2.4em}.project-header:hover .project-hide-btn{opacity:1}.project-edit-btn{opacity:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;padding:0;font-size:1.35em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.3em;right:.7em}.project-header:hover .project-edit-btn{opacity:1}.project-editor{z-index:6;background:var(--surface-raised);border:1px solid var(--line-strong);cursor:default;border-radius:10px;flex-direction:column;gap:.5em;min-width:16em;padding:.6em;font-weight:400;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000080}.project-editor label{color:var(--text-dim);flex-direction:column;gap:.15em;font-size:.85em;display:flex}.project-editor input,.project-editor select,.project-editor textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;padding:.3em}.col-gap-handle{touch-action:none;top:0;bottom:0;right:calc(-1 * var(--col-gap) - 2px);width:calc(var(--col-gap) + 4px);cursor:col-resize;z-index:2;position:absolute}.corner{background:var(--surface-raised);z-index:3;border-radius:8px 8px 0 0}.corner .projects-filter,.corner .teams-filter{width:100%}.corner .projects-filter>.projects-menu,.corner .teams-filter>.projects-menu{box-sizing:border-box;white-space:normal;width:100%}.corner .projects-filter>button,.corner .teams-filter>button,.corner .settings-gear>button{justify-content:space-between;align-items:center;gap:.5em;width:100%;padding:.3em .6em;font-size:1em;display:flex}.corner .settings-gear{width:100%}.corner .projects-filter>button>span:first-child,.corner .teams-filter>button>span:first-child,.corner .settings-gear>button>span:first-child{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.corner .caret{color:var(--text-dim)}.project-name{color:var(--text-bright);font-family:Poppins,Albert Sans,sans-serif;font-size:1em;font-weight:600}.project-meta{color:var(--text-dim);justify-content:space-between;margin-top:.15em;display:flex}.project-budget{color:var(--text);font-weight:600}.project-goals{color:var(--text-dim);margin-top:.3em;font-style:italic}.rowlabel{color:var(--text-dim);padding:.5em;font-family:Poppins,Albert Sans,sans-serif;font-weight:600}.rowlabel-text{top:calc(var(--header-h,5em) + .5em);display:inline-block;position:sticky}.cell{flex-direction:column;gap:.3em;min-height:2em;padding:.3em;display:flex;position:relative}.cell.two-up{grid-template-columns:1fr 1fr;align-content:start;align-items:stretch;display:grid}.cell.two-up .card{box-sizing:border-box;height:100%}.cell.two-up .add-card,.cell.two-up .quick-add,.cell.two-up .card.editing{grid-column:1/-1}.settings-gear{width:100%;position:relative}.settings-gear>button{text-align:left;width:100%;padding:.3em .6em;font-size:1em}.settings-menu{min-width:15em}.settings-menu>button{text-align:left}.settings-row{cursor:pointer;align-items:center;gap:.45em;display:flex}.settings-row select{box-sizing:border-box;width:6.7em;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;padding:.15em}.settings-label{color:var(--text-dim);flex:0 0 7.5em}.cell.drop-cell{outline:2px dashed var(--accent);outline-offset:-2px}.card.insert-before{box-shadow:0 -3px 0 var(--accent)}.link-dot{border:2px solid var(--accent);background:var(--surface);opacity:0;z-index:4;border-radius:50%;width:.85em;min-width:0;height:.85em;padding:0;transition:opacity .1s;position:absolute;top:50%;transform:translateY(-50%)}.link-dot.start{left:-.5em}.link-dot.end{right:-.5em}.card:hover .link-dot,.gantt-bar:hover .link-dot,.link-dot.active,.link-dot.target{opacity:1}.link-dot.active{background:var(--accent);box-shadow:0 0 6px var(--accent)}.dep-lists{color:var(--text-dim);flex-direction:column;gap:.2em;font-size:.85em;display:flex}.dep-lists .unlink{margin-left:.4em;padding:0 .45em;font-size:.9em}.dep-warning{text-align:left;color:#f2988f;background:#2c1d1a;border-color:#6b3a34;width:100%;padding:.15em .45em;font-size:.85em}.dep-warning:hover{background:#3d221f;border-color:#8f4a42}.card{border:1px solid var(--line);background:var(--surface-raised);cursor:grab;border-radius:4px;flex-wrap:wrap;align-items:flex-start;gap:.4em;padding:.35em 2.2em .35em .45em;line-height:1.25;display:flex;position:relative}.card-edit-btn{opacity:0;justify-content:center;align-items:center;width:1.4em;height:1.4em;padding:0;font-size:1.35em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.15em;right:.15em}.card:hover .card-edit-btn{opacity:1}.card:hover{border-color:var(--line-strong)}.card-text{flex:1;min-width:8em}.card-people{width:100%;color:var(--text-dim);text-align:right;font-size:.85em}.status-dot{border:2px solid var(--done-text);background:var(--surface);border-radius:50%;width:.9em;min-width:.9em;height:.9em;margin-top:.2em;padding:0;position:relative}.status-dot:after{content:"";border-radius:50%;position:absolute;inset:-18px}@keyframes done-pulse{0%,to{box-shadow:0 0 #63c2a28c}50%{box-shadow:0 0 0 5px #63c2a21f}}.card:not(.status-done) .status-dot:hover:not(:disabled){background:var(--done-bg);animation:1.6s ease-in-out infinite done-pulse}.status-todo .status-dot{background:var(--surface)}.status-blocked .status-dot{background:var(--blocked-text);border-color:var(--blocked-text)}.status-done .status-dot{background:var(--done-text);border-color:var(--done-text)}.card.editing{cursor:default;flex-direction:column;align-items:stretch}.card.editing textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);resize:vertical;border-radius:4px;padding:.3em}.assignees{flex-wrap:wrap;gap:.25em;display:flex}.chip{border-radius:999px;padding:.1em .5em;font-size:.85em}.chip.on{background:var(--done-bg);border-color:var(--done-border);color:var(--done-text)}.person-add{border-radius:999px;padding:.1em .5em;font-size:.9em}.person-menu{flex-direction:column;gap:.6em;min-width:21em;padding:.8rem 1rem;display:flex}.people-group.separated{border-top:1px solid var(--line-strong);padding-top:.55em}.people-group-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35em;font-size:.8em}.people-group-grid{grid-template-columns:repeat(2,minmax(9em,1fr));gap:.5em 1.2em;display:grid}.editor-buttons{justify-content:flex-end;gap:.35em;display:flex}.editor-buttons button{white-space:nowrap;padding:.25em .55em;font-size:.82em}.editor-buttons .primary{background:var(--brand);border-color:var(--brand);color:#fff}.editor-buttons .primary:hover{background:#5563bd;border-color:#5563bd}.editor-buttons .danger{color:#f2988f;border-color:#6b3a34}.editor-buttons .danger:hover{background:#3d221f;border-color:#8f4a42}.add-card{border:1px dashed var(--accent);color:var(--accent);opacity:0;background:0 0;border-radius:4px;padding:.1em 0;transition:opacity .1s}.add-card:hover{border-color:var(--accent);background:#52c6da1f}.cell:hover .add-card{opacity:1}.quick-add{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--line-strong);resize:vertical;border-radius:4px;padding:.3em}.history-btn,.about-btn,.edit-people-btn,.edit-teams-btn{text-align:left;width:100%;padding:.3em .6em;font-size:1em}.asof-banner{background:var(--blocked-bg);border:1px solid var(--blocked-border);color:var(--blocked-text);border-radius:6px;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.5rem .75rem;display:flex}.history-drawer{z-index:20;background:var(--surface-raised);border-left:1px solid var(--line-strong);flex-direction:column;width:24rem;max-width:90vw;padding:.75rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #00000080}.history-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.history-asof{gap:.5rem;margin-bottom:.75rem;display:flex}.history-asof input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;padding:.25em}.history-drawer ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.history-drawer li{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:.45rem .6rem}.history-when{color:var(--text-dim);font-size:.8rem}.history-what{margin:.2rem 0 .35rem;font-size:.9rem}.history-rollback{padding:.15em .6em;font-size:.8rem}.card.status-done{background:var(--done-bg);border-color:var(--done-border);color:var(--done-text)}.card-flag-btn{opacity:0;filter:grayscale();justify-content:center;align-items:center;width:1.89em;height:1.89em;padding:0;font-size:1em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.2em;right:2.3em}.card:hover .card-flag-btn{opacity:1}.card-flag-btn.on{filter:none;border-color:#8f4a42}.project-budget.over,.plan-total.over{color:#f2988f}.plan-total{color:var(--text-dim);font-size:.85em}.freeze-btn{opacity:0;margin-left:.6em;padding:.1em .5em;font-size:.8em;transition:opacity .1s}.rowlabel:hover .freeze-btn{opacity:1}.frozen-flag{color:var(--accent);margin-left:.5em}.review-btn{margin-left:.4em;padding:.1em .5em;font-size:.8em}.team-row{align-items:center;gap:.5rem;display:flex;position:relative}.team-row label{flex:1}.team-members-menu{top:0;left:100%}.review-overlay{z-index:30;background:#0a0c10bf;justify-content:center;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.review-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;width:100%;max-width:62rem;height:fit-content;padding:1.2rem 1.5rem}.review-head{align-items:baseline;gap:1rem;display:flex}.review-head h2{flex:1;margin:0}.review-frozen{color:var(--text-dim);font-size:.85rem}.review-metrics{gap:1rem;margin:1rem 0;display:flex}.metric{background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:1;padding:.7rem 1rem;display:flex}.metric strong{color:var(--text-bright);font-family:Poppins,Albert Sans,sans-serif;font-size:1.6rem}.metric span{color:var(--text-dim);font-size:.85rem}.review-section{border-top:1px solid var(--line);padding:.7rem 0}.review-section h3{margin:0 0 .4rem;font-family:Poppins,Albert Sans,sans-serif;font-size:1rem}.review-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.review-columns h4{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .4rem;font-size:.8rem;font-weight:500}.review-card{flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:.9rem;display:flex}.review-badge{white-space:nowrap;border-radius:999px;padding:.05em .6em;font-size:.75rem}.review-badge.done{background:var(--done-bg);color:var(--done-text)}.review-badge.delayed{background:var(--blocked-bg);color:var(--blocked-text)}.review-badge.open{background:var(--surface-raised);color:var(--text-dim)}.review-badge.removed,.review-badge.added{color:#f2988f;background:#2c1d1a}.review-badge.added{color:var(--accent);background:#16303d}.review-note{color:var(--text-dim);font-size:.8rem}.review-none{color:var(--text-dim);margin:0;font-size:.85rem;font-style:italic}.review-trend table{border-collapse:collapse;width:100%}.review-trend th,.review-trend td{text-align:left;border-bottom:1px solid var(--line);padding:.3rem .6rem}.review-trend th{color:var(--text-dim);font-weight:500}.collapse-btn{color:var(--text-dim);background:0 0;border:none;padding:0 .3em 0 0;font-size:1em}.current-sprint .rowlabel-text{color:var(--accent)}.collapsed-cell{min-height:.5em}.add-sprint button{border:1px dashed var(--accent);width:100%;color:var(--accent);background:0 0;border-radius:4px;padding:.15em .6em;font-size:.9em}.add-sprint-form{align-items:center;gap:.4em;display:flex}.add-sprint-form input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;padding:.15em;font-size:.9em}.card.status-blocked{background:var(--blocked-bg);border-color:var(--blocked-border);color:var(--blocked-text)}.card.priority{border-left:3px solid #e06c5a}.drop-endzone{z-index:5;height:1.3em;position:absolute;bottom:0;left:0;right:0}.drop-endzone.ready{border-bottom:3px solid var(--accent)}.card-block-btn{opacity:0;justify-content:center;align-items:center;width:1.89em;height:1.89em;padding:0;font-size:1em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.2em;right:4.39em}.card:hover .card-block-btn{opacity:1}.block-dot{background:var(--text-dim);border-radius:50%;width:.75em;height:.75em;display:block}.card-block-btn.on{border-color:var(--blocked-border)}.card-block-btn.on .block-dot{background:var(--blocked-text)}.card-person-btn{opacity:0;filter:grayscale();justify-content:center;align-items:center;width:1.89em;height:1.89em;padding:0;font-size:1em;line-height:1;transition:opacity .1s;display:flex;position:absolute;top:.2em;right:6.48em}.card:hover .card-person-btn{opacity:1}.card-person-btn.on{filter:none}.card-people-menu{z-index:7;position:absolute;top:2.4em;left:auto;right:4.5em}.team-row.drop-before{box-shadow:0 -3px 0 var(--accent)}.team-row{cursor:grab}.team-row.drop-after{box-shadow:0 3px 0 var(--accent)}.topbar{align-items:flex-start;gap:.8rem;margin:1.2rem 0 .8rem;display:flex}.view-toggle{margin-bottom:0}.people-filter-top{position:relative}.people-filter-top>button{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:.5em;padding:.3em .8em;display:flex}.about-panel{max-width:44rem}.about-panel h3{margin:1rem 0 .4rem}.about-stack dt{color:var(--accent);margin-top:.7rem;font-family:Poppins,Albert Sans,sans-serif;font-weight:600}.about-stack dd{color:var(--text);margin:.15rem 0 0}.about-stack a{color:var(--accent)}.sprint-stats{color:var(--text-dim);max-width:13em;margin-top:.5em;font-size:.85em;font-weight:400}.sprint-stats-line{line-height:1.4}.sprint-progress{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;height:.55em;margin-top:.35em;overflow:hidden}.sprint-progress-fill{background:var(--done-text,#63c2a2);border-radius:999px;height:100%;transition:width .3s}.sprint-stats-pct{margin-top:.2em}.schema-svg{width:100%;height:auto;margin-top:.6rem}.schema-box{fill:var(--surface-raised);stroke:var(--line-strong)}.schema-head{fill:var(--brand)}.schema-title{fill:#fff;font-family:Poppins,Albert Sans,sans-serif;font-size:12px;font-weight:600}.schema-pk{fill:var(--accent);font-size:11px}.schema-field{fill:var(--text);font-size:11px}.schema-link{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.8}.schema-link.m2m{stroke-dasharray:4 3}.schema-arrowhead{fill:var(--accent)}.schema-label{fill:var(--text-dim);font-size:10px}@media (pointer:coarse){.project-hide-btn,.project-edit-btn,.add-card,.freeze-btn,.review-btn,.card.selected .card-person-btn,.card.selected .card-block-btn,.card.selected .card-flag-btn,.card.selected .card-edit-btn{opacity:1}.card.selected{outline:2px solid var(--accent);outline-offset:1px}.project-hide-btn,.project-edit-btn{min-width:2em;min-height:2em}.card-person-btn,.card-block-btn,.card-flag-btn,.card-edit-btn{width:2em;height:2em;font-size:1em;top:.2em}.card-edit-btn{right:.2em}.card-flag-btn{right:2.4em}.card-block-btn{right:4.6em}.card-person-btn{right:6.8em}.status-dot:after{inset:-22px}.collapse-btn,.view-toggle button,.people-filter-top>button,.projects-filter>button,.teams-filter>button,.settings-gear>button{min-height:2.6em}}.corner-burger{display:none}@media (width<=950px){.corner-burger{padding:.3em .45em;font-size:1.2em;display:block}.rowlabel-text{writing-mode:vertical-rl;font-size:.8em}.rowlabel{z-index:3;background:var(--bg);position:sticky;left:0}.corner{z-index:4;left:0}.cell{scroll-snap-align:start}.board-scroll,.gantt-scroll{scrollbar-width:none}.board-scroll::-webkit-scrollbar{display:none}.gantt-scroll::-webkit-scrollbar{display:none}.project-meta,.rowlabel .sprint-stats,.rowlabel .freeze-btn,.rowlabel .review-btn,.rowlabel .frozen-flag{display:none}}@media (width>=951px){.corner-controls{flex-direction:column;align-items:flex-start;gap:.4em;width:100%;display:flex}}@media (width<=700px){.projects-menu,.person-menu,.settings-menu,.project-editor{white-space:normal;max-width:min(92vw,24rem);max-height:70dvh;overflow-y:auto}.person-menu{min-width:0}.people-group-grid{grid-template-columns:1fr}.people-filter-top .person-menu{text-align:center}.people-filter-top .person-menu label{justify-content:center}.people-filter-top .people-group-name{text-align:center}.history-drawer{width:100vw;max-width:100vw}.review-overlay{padding:0}.review-panel{border-left:none;border-right:none;border-radius:0;min-height:100dvh;padding:1rem;overflow-x:auto}}.menu-sheet{flex-direction:column;gap:.6em;max-width:none;max-height:none;margin:0;display:flex;position:fixed;inset:3.4rem 0 0;overflow-y:auto;border-radius:12px 12px 0 0!important;width:auto!important;min-height:0!important}.menu-sheet .projects-menu{max-width:none;max-height:none;box-shadow:none;border:none;padding:.2rem 0 .4rem .6rem;position:static}.menu-sheet .review-head button{padding:.3em .7em}.menu-sheet .projects-filter,.menu-sheet .teams-filter,.menu-sheet .settings-gear{width:100%}.menu-sheet .projects-filter>button,.menu-sheet .teams-filter>button,.menu-sheet .settings-gear>button{text-align:left;justify-content:space-between;width:100%;display:flex}@media (width<=950px){.board-scroll{scroll-snap-type:x mandatory;max-width:100vw;max-height:calc(100dvh - 5.6rem);scroll-padding-left:2.8em;overflow:auto}.board{padding-bottom:2.4rem}.project-header{scroll-snap-align:start}}.gantt-topbar-gear,.gantt-topbar-gear>button{width:auto}.sprint-delete-btn{opacity:0;padding:.1em .4em;transition:opacity .1s}.rowlabel:hover .sprint-delete-btn{opacity:1}@media (pointer:coarse){.sprint-delete-btn{opacity:1}}.editor-buttons button,.sprint-delete-btn{justify-content:center;align-items:center;gap:.35em;display:inline-flex}.topbar-logo{align-self:center;height:1.5rem}.topbar-burger{margin-left:auto;padding:.25em .5em;font-size:1.15em;display:block}@media (width<=950px){.topbar{flex-wrap:nowrap;align-items:center;gap:.45rem;margin:.1rem 0 .5rem}.view-toggle button{padding:.3em .7em}}.project-dots{z-index:30;pointer-events:none;justify-content:center;gap:.55rem;display:flex;position:fixed;bottom:.6rem;left:0;right:0}.project-dot{pointer-events:auto;border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:50%;width:11px;min-width:0;height:11px;padding:0}.project-dot.on{background:var(--accent);border-color:var(--accent)}.about-version{color:var(--text-dim);font-family:Poppins,Albert Sans,sans-serif;font-weight:600}.touch-drag-ghost{z-index:90;pointer-events:none;opacity:.9;transform:scale(1.04)rotate(1.5deg);box-shadow:0 10px 28px #0000008c}.board-scroll.drag-scrolling{scroll-snap-type:none!important}@media (pointer:coarse){.card,.card *,.project-header,.rowlabel{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.card.editing{padding-left:1.9em}.card.editing .status-dot{position:absolute;top:.55em;left:.45em}.card-people-menu:before{content:"";z-index:-1;position:absolute;inset:-14px}.mention-suggest{flex-wrap:wrap;gap:.3em;margin-top:.3em;display:flex}.mention-suggest button{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:.15em .55em;font-size:.9em}.mention-suggest button.sel{border-color:var(--accent);background:var(--accent);color:#12262b}.people-filter-top .icon-filter{vertical-align:-.1em;opacity:.75;margin-left:.1em}.person-menu .unassigned-row{border-top:1px solid var(--line);margin-top:.15em;padding-top:.35em;font-style:italic}.delete-reason{flex-wrap:wrap;align-items:center;gap:.35em;margin-top:.4em;display:flex}.delete-reason p{color:var(--muted);flex-basis:100%;margin:0 0 .15em;font-size:.85em}.delete-reason>button{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:.2em .6em;font-size:.85em}.delete-reason-custom{flex-basis:100%;gap:.35em;display:flex}.delete-reason-custom input{flex:1;min-width:0;font-size:.85em}.team-members-menu .add-member{border-top:1px solid var(--line);margin-top:.35em;padding-top:.35em}.team-members-menu .add-member input{box-sizing:border-box;width:100%}.add-member-error{color:#c0392b;margin-top:.25em;font-size:.8em}.add-project{border:1px dashed var(--accent);color:var(--accent);background:0 0;border-radius:8px;align-self:stretch;margin-bottom:.7em;padding:0;font-size:1.1em}.add-project:hover{color:var(--accent);border-color:var(--accent)}.dialog-overlay{z-index:40;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;flex-direction:column;gap:.7em;width:min(92vw,26em);padding:1.2em 1.4em;display:flex}.dialog-panel h2{margin:0 0 .2em}.dialog-panel label{color:var(--text-dim);flex-direction:column;gap:.25em;font-size:.9em;display:flex}.dialog-panel input,.dialog-panel select,.dialog-panel textarea{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:6px;padding:.4em .5em}.dialog-panel .editor-buttons{justify-content:flex-end}.dialog-field-label{color:var(--text-dim);font-size:.9em}.dialog-people{max-height:12em;overflow-y:auto}.dialog-panel .add-member{border-top:1px solid var(--line);padding-top:.6em}.manage-list{flex-direction:column;gap:.3em;max-height:18em;display:flex;overflow-y:auto}.manage-row{align-items:center;gap:.4em;display:flex}.manage-row .manage-name,.manage-row input{flex:1;min-width:0}.manage-row button{flex:none;padding:.15em .5em}.manage-row .manage-delete{color:#e06c5a}.about-masthead{gap:.9em}.about-logo{height:3em}.about-wordmark{letter-spacing:.04em;margin:0}.about-wordmark span{color:var(--accent)}.about-tagline{letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);margin:.1em 0 0;font-size:.6em;font-weight:600}
