:root{--ink:#17303b;--muted:#73828d;--paper:#f5f7f9;--white:#fff;--line:#e3e9ed;--accent:#008b7d;--accent-light:#e6f5f1;--nav:#142d38;--nav-muted:#96aab6;--danger:#c14553;--warning:#ad7317;--shadow:0 8px 32px #17303b08;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #21b2a673;outline-offset:2px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.25;font-weight:680}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:14px}svg.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:12px}.nowrap{white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 13px;color:var(--ink);font-size:12px;font-weight:600;line-height:1.3;min-height:36px;white-space:nowrap}.btn:hover{background:#f5f8f9;border-color:#c9d7dd}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:#007568}.btn.soft{background:var(--accent-light);color:#007568;border-color:transparent}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--danger);background:#fff3f4;border-color:#f4d9df}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:5px;border:0;background:transparent;color:var(--muted);border-radius:7px}.icon-btn:hover{color:var(--ink);background:#e9f0f3}.text-btn{background:transparent;border:0;padding:0;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.tag{display:inline-flex;align-items:center;gap:5px;background:#f0f3f6;color:#677783;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:550;white-space:nowrap}.tag.teal{background:#e8f6f2;color:#128473}.tag.violet{background:#eeeafb;color:#7a64af}.tag.blue{background:#e9f1fd;color:#477fb4}.tag.amber{background:#fff4e2;color:#a57126}.tag.rose{background:#fdecef;color:#b65473}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:20px;padding:4px 9px;white-space:nowrap}.pill.good{background:#e8f7f0;color:#378367}.pill.warning{background:#fff2dc;color:#9d6a20}.pill.alert{background:#fff0f1;color:var(--danger)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor;flex-shrink:0}.avatar{--av:#daf0e9;--at:#2b806d;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--av);color:var(--at);font-size:10px;font-weight:700;letter-spacing:.2px}.avatar.violet{--av:#e9e1f4;--at:#8766a8}.avatar.blue{--av:#dceaf8;--at:#557ca9}.avatar.amber{--av:#faebd4;--at:#b28547}.avatar.rose{--av:#f5dce5;--at:#b8748d}.avatar.slate{--av:#e3e8ec;--at:#738594}.avatar.large{width:45px;height:45px;font-size:14px}.avatar.empty{background:#f4f6f7;color:#9aa7af;border:1px dashed #c7d3d9}.avatar-stack{display:flex;padding-left:7px}.avatar-stack .avatar{margin-left:-7px;border:2px solid var(--paper);width:29px;height:29px}
/* Workspace shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:var(--nav);color:#fff;z-index:30;display:flex;flex-direction:column;padding:27px 16px 16px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 29px}.brand-mark{width:33px;height:33px;background:#22baa3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #001b2225}.brand-mark .icon{width:25px;height:25px;stroke-width:2.3}.brand-name{font-size:24px;font-weight:670;letter-spacing:-.8px}.brand-sub{font-size:9px;letter-spacing:2px;color:#9ab7c3;margin-top:1px;text-transform:uppercase}.space-switch{border:1px solid #ffffff1c;background:#ffffff05;border-radius:9px;padding:10px;margin:0 3px 23px;display:flex;gap:9px;align-items:center;font-size:11px;color:#e4edf2}.space-icon{width:26px;height:26px;background:#304955;border-radius:6px;display:grid;place-items:center;color:#94b7c6}.nav-item{display:flex;gap:11px;align-items:center;width:100%;border:0;color:var(--nav-muted);background:transparent;padding:11px 13px;margin:3px 0;border-radius:8px;font-size:12px;text-align:left;line-height:1.3}.nav-item:hover{color:#fff;background:#ffffff07}.nav-item.active{color:#fff;background:#284854}.nav-item.active .icon{color:#71d6c4}.nav-count{font-size:10px;margin-left:auto;background:#ffffff0d;min-width:20px;text-align:center;padding:2px 5px;border-radius:5px}.nav-label{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#738e9b;padding:26px 13px 10px}.project-item{display:flex;align-items:center;gap:10px;background:transparent;border:0;color:#a8bbc5;font-size:11px;padding:10px 13px;width:100%;text-align:left;border-radius:7px}.project-item:hover,.project-item.active{background:#ffffff09;color:white}.project-item .dot{width:6px;height:6px}.c-teal{color:#27b5a5}.c-violet{color:#a087d2}.c-blue{color:#7aa8e1}.c-amber{color:#d7a15b}.side-bottom{margin-top:auto;padding-top:24px}.side-note{background:#1e3b47;border:1px solid #31505c;border-radius:10px;padding:14px 12px;font-size:11px;color:#c0d0d9;line-height:1.6}.side-note strong{color:#80d8c9;display:block;margin-bottom:5px;font-size:11px}.side-footer{display:flex;justify-content:space-between;color:#718d9b;padding:19px 10px 0;font-size:10px}.workspace{margin-left:218px;min-height:100vh}.topbar{height:68px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:16px}.crumb{display:flex;align-items:center;gap:11px;font-size:11px;color:var(--muted)}.crumb strong{font-weight:550;color:#475e6a}.top-actions{display:flex;align-items:center;gap:17px}.sync-state{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.sync-state .dot{color:#50b699;width:5px;height:5px}.top-user{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0}.demo-flag{font-size:10px;color:#947143;background:#fff5e6;border-radius:5px;padding:4px 7px}.mobile-menu,.sidebar-close{display:none}.page{padding:28px 30px 20px;max-width:2100px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:1.8px;margin-bottom:9px;text-transform:uppercase}.page-sub{font-size:12px;color:var(--muted);margin-top:8px}.head-actions{display:flex;align-items:center;gap:9px;padding-top:24px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px 19px;box-shadow:0 2px 4px #17303b02}.stat-title{font-size:11px;color:#71818a;display:flex;align-items:center;gap:7px}.stat-value{font-size:30px;line-height:1.15;font-weight:630;letter-spacing:-1px;margin-top:10px}.stat-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;min-height:19px}.stat-caption{font-size:10px;color:#8a979f}.stat-symbol{margin-left:auto;display:flex;align-items:center;justify-content:center;background:#f3f7f8;width:28px;height:28px;border-radius:8px;color:#8a9ca7}.stat.attention .stat-value{color:#b66c3e}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin-bottom:17px;min-height:45px}.tabs{display:flex;align-items:center;gap:22px;align-self:stretch}.tab{display:flex;align-items:center;gap:7px;background:none;border:0;padding:7px 0 15px;color:var(--muted);font-size:12px;position:relative}.tab.active{color:var(--accent);font-weight:650}.tab.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--accent)}.toolbar-right{display:flex;align-items:center;gap:12px;padding-bottom:10px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search{position:relative;margin-right:4px}.search .icon{position:absolute;left:10px;top:9px;width:15px;color:#94a2ab}.search input{padding-left:33px;width:222px;background:#fff;height:34px;font-size:11px}.input,input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 11px;min-width:0}input::placeholder,textarea::placeholder{color:#96a3ab}select{font-size:11px;max-width:220px;padding:8px 26px 8px 10px;cursor:pointer}textarea{resize:vertical;min-height:95px;width:100%;line-height:1.55}.search input:not([type=checkbox]){padding-left:32px}.filter-toggle{display:flex;align-items:center;gap:6px;font-size:11px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#74838c}.filter-toggle.on{border-color:#a4d7cc;background:var(--accent-light);color:var(--accent)}.filter-count{font-size:10px;color:#8a969e;margin-left:auto}.view-footer{font-size:10px;color:#8d9aa2;margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:15px}
/* Kanban */
.board{display:grid;grid-template-columns:repeat(5,minmax(198px,1fr));align-items:start;gap:13px;overflow-x:auto;padding:0 1px 12px;min-height:430px}.column{min-width:0;background:#edf1f4;border-radius:10px;padding:10px 9px 11px;min-height:180px;border:1px solid transparent}.column.drag-over{background:#e4f3ed;border:1px dashed #78bdae}.column-head{padding:4px 2px 13px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650}.column-head .dot{width:6px;height:6px}.column-head .count{background:#dde5ea;color:#7b8d98;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:500;min-width:18px;text-align:center}.column-head .icon-btn{margin-left:auto;height:21px;min-width:21px}.column-head .icon{width:13px;height:13px}.column[data-status=backlog] .column-head .dot{color:#9aa9b6}.column[data-status=ready] .column-head .dot{color:#6599cb}.column[data-status=active] .column-head .dot{color:#daaa54}.column[data-status=review] .column-head .dot{color:#9d82cd}.column[data-status=done] .column-head .dot{color:#40ad97}.card{padding:13px;background:#fff;border:1px solid #e1e8ed;border-radius:9px;margin-bottom:9px;box-shadow:0 2px 3px #243e4803;cursor:pointer;transition:box-shadow .15s,transform .15s;position:relative}.card:hover{box-shadow:0 5px 13px #17303b0c;border-color:#c1d4dc;transform:translateY(-1px)}.card:last-child{margin-bottom:0}.card.dragging{opacity:.35}.card.blocked{border-left:3px solid #d19c55;padding-left:11px}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8c9ca6;margin-bottom:9px;gap:6px}.task-code{display:flex;align-items:center;gap:5px;white-space:nowrap;letter-spacing:.3px}.kind-icon{width:13px;height:13px;display:inline-flex;color:#8293a0}.kind-icon .icon{width:13px;height:13px}.kind-icon.bug{color:#be7081}.priority{display:inline-flex;align-items:center;gap:3px;font-size:9px;white-space:nowrap;color:#97a4ad}.priority.high{color:#c08b3f}.priority.urgent{color:#c5616e}.priority .icon{width:11px;height:11px}.card h3{font-weight:600;font-size:12px;line-height:1.55;letter-spacing:-.1px;margin-bottom:12px;overflow-wrap:anywhere}.card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.card .tag{font-size:9px;padding:2px 5px}.card-bottom{display:flex;align-items:center;gap:5px;justify-content:space-between;font-size:9px;color:#8b99a3;border-top:1px solid #f1f4f6;padding-top:10px}.card .avatar{width:23px;height:23px;font-size:8px}.card-owner{display:flex;gap:5px;align-items:center;min-width:0}.card-owner span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:69px;color:#71838e}.card-date{display:flex;align-items:center;gap:4px;white-space:nowrap}.card-date .icon{width:11px;height:11px}.overdue{color:var(--danger)!important}.blocked-note{font-size:9px;line-height:1.45;color:#b0833f;background:#fff6e8;border-radius:5px;padding:6px 7px;display:flex;gap:5px;align-items:flex-start;margin:0 0 10px}.blocked-note .icon{width:12px;height:12px;margin-top:1px}.check-line{display:flex;align-items:center;gap:5px;color:#94a1a9;font-size:9px;margin-bottom:9px}.check-line .icon{width:12px;height:12px}.progress{height:3px;background:#edf1f3;border-radius:3px;overflow:hidden;flex:1;margin-right:5px}.progress>span{display:block;height:100%;background:#8cc4b6;border-radius:3px}.claim-btn{width:100%;border:1px solid #d7ede6;border-radius:6px;background:#f0f9f5;color:#168370;font-size:10px;font-weight:600;padding:7px 5px;margin-top:10px;display:flex;justify-content:center;align-items:center;gap:5px}.claim-btn:hover{background:#e0f2e9}.claim-btn .icon{width:12px;height:12px}.column-empty{font-size:10px;color:#9ba9b2;text-align:center;padding:28px 5px;border:1px dashed #d4dfe5;border-radius:7px}.hint-strip{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #e0e8ed;border-radius:8px;margin-bottom:18px;background:#f0f5f7;color:#6c8491;font-size:11px}.hint-strip .icon{width:15px;height:15px;color:#78a093}.hint-strip strong{color:#456371}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.panel-pad{padding:22px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}.section-title{font-size:14px;font-weight:650}.section-sub{font-size:11px;color:var(--muted);margin-top:5px}.empty-state{padding:55px 20px;text-align:center;color:var(--muted);grid-column:1/-1}.empty-state .icon{width:38px;height:38px;margin-bottom:14px;color:#91b5c3}.empty-state h3{font-size:16px;color:var(--ink);margin-bottom:8px}.empty-state p{font-size:12px;margin-bottom:20px}.table-wrap{overflow:auto}.task-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.task-table th{font-size:10px;color:#8b99a2;font-weight:550;padding:13px 16px;background:#fafbfc;white-space:nowrap;border-bottom:1px solid var(--line)}.task-table td{padding:14px 16px;border-bottom:1px solid #edf1f4;vertical-align:middle}.task-table tbody tr:last-child td{border-bottom:0}.task-table tbody tr:hover{background:#f8fbfc;cursor:pointer}.table-title{font-size:12px;font-weight:550;min-width:220px}.table-title .tiny{display:block;font-weight:400;color:#8b9ca7;margin-top:4px}.status-tag{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;font-size:10px;white-space:nowrap;background:#f0f3f5;color:#8a99a4}.status-tag.active{background:#fff5df;color:#a17a35}.status-tag.ready{background:#eaf3fb;color:#5c87b7}.status-tag.review{background:#f1ecfa;color:#9477b9}.status-tag.done{background:#e9f6ef;color:#4f9a7f}.status-tag .dot{width:5px;height:5px}.my-grid{display:grid;grid-template-columns:1fr 335px;gap:20px}.my-task{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;cursor:pointer}.my-task:last-child{border:0}.my-task:hover{background:#f9fcfc}.my-task h3{font-size:12px;margin-bottom:6px}.my-side{padding:22px;height:fit-content}.my-side .card{box-shadow:none}.my-side h3{margin-bottom:8px}
/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:18px}.person{padding:20px;display:flex;flex-direction:column;min-height:260px}.person-top{display:flex;align-items:center;gap:11px;margin-bottom:22px}.person-name{font-size:13px;font-weight:650}.person-role{font-size:10px;color:var(--muted);margin-top:3px}.person-top .icon-btn{margin-left:auto}.capacity-head{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:8px}.capacity-head strong{color:#668177;font-size:10px}.capacity{display:flex;gap:5px;margin-bottom:16px;height:5px}.capacity span{flex:1;border-radius:5px;background:#e9eff1}.capacity span.filled{background:#84c4b4}.capacity.full span.filled{background:#d6b580}.person-tasks{display:flex;flex-direction:column;gap:12px;font-size:10px;margin-top:2px;flex:1}.person-task{display:flex;align-items:flex-start;gap:7px;border:0;background:none;text-align:left;color:#607684;padding:0;font-size:11px;line-height:1.5}.person-task:hover{color:var(--accent)}.person-task .dot{width:5px;height:5px;margin-top:5px}.person-foot{display:flex;align-items:center;gap:9px;border-top:1px solid #edf1f3;margin-top:18px;padding-top:12px;font-size:10px;color:#8c9aa2}.person .tag{font-size:9px}.person.inactive{opacity:.6}.member-empty{padding:12px 0;color:#99a6ae;font-size:11px}
/* Reporting and plan */
.report-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-bottom:20px}.chart-svg{display:block;width:100%;height:210px;margin-top:16px;overflow:visible}.chart-svg text{font-family:var(--font);fill:#90a0aa;font-size:10px}.chart-svg .grid-line{stroke:#edf2f5;stroke-dasharray:3 5}.chart-svg .bar{fill:#5aaf9e;rx:4}.report-note{font-size:10px;color:#8b9ba5;margin-top:8px;line-height:1.7}.status-row{display:flex;align-items:center;gap:11px;margin:20px 0;font-size:11px;color:#738894}.status-row>span:first-child{min-width:98px}.status-row .progress{height:6px;margin:0;background:#edf1f3}.status-row strong{font-size:11px;min-width:16px;text-align:right}.date-range{display:flex;align-items:center;gap:8px;font-size:11px;color:#82939d}.date-range input{font-size:11px;width:135px}.legend{display:flex;align-items:center;gap:12px;font-size:10px;color:#8c9da6}.legend span{display:flex;align-items:center;gap:5px}.timeline-scroll{overflow:auto;padding-bottom:6px}.timeline{min-width:1060px;padding:0 20px 20px}.timeline-head,.timeline-row{display:grid;grid-template-columns:240px 1fr;gap:18px}.timeline-head{padding:17px 0;border-bottom:1px solid var(--line);font-size:10px;color:#82949f}.timeline-days{display:grid;grid-template-columns:repeat(28,minmax(20px,1fr));align-items:center;text-align:center;font-size:9px}.timeline-days .today{color:var(--accent);font-weight:750}.timeline-row{padding:12px 0;border-bottom:1px solid #f0f4f6;align-items:center;min-height:48px}.timeline-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.timeline-name:hover{color:var(--accent)}.timeline-track{height:23px;position:relative;background:repeating-linear-gradient(to right,transparent 0 calc(100%/28 - 1px),#f0f4f5 calc(100%/28 - 1px) calc(100%/28))}.plan-bar{height:19px;position:absolute;top:2px;border-radius:4px;background:#deeee9;border:1px solid #bfded4;color:#508777;font-size:9px;padding:1px 6px;white-space:nowrap;overflow:hidden;cursor:pointer;min-width:6px}.plan-bar.review{background:#ece5f6;color:#8b75ad;border-color:#d9c9ec}.plan-bar.backlog{background:#ebeff3;color:#9aaab3;border-color:#dde5eb}.plan-bar.done{background:#ebf5f0;color:#8aae9e;border-color:#d8e9df}.plan-bar.overdue{background:#f9e4e7;border-color:#f0c7cd}.today-line{position:absolute;top:-8px;bottom:-12px;width:1px;background:#76c9b580;pointer-events:none}.date-pin{position:absolute;top:7px;width:9px;height:9px;background:#80b7a8;transform:rotate(45deg);border-radius:1px}.timeline-group{font-size:10px;font-weight:650;color:#68808d;padding:21px 0 3px;display:flex;align-items:center;gap:8px}.no-plan{padding:17px 20px;font-size:11px;color:#8c9aa5;border-top:1px solid var(--line)}.activity{padding:6px 24px}.activity-row{display:flex;align-items:flex-start;gap:12px;padding:18px 0;border-bottom:1px solid #edf1f4}.activity-row:last-child{border:0}.activity-text{font-size:12px;flex:1;line-height:1.7}.activity-text strong{font-weight:600}.activity-meta{font-size:10px;color:#8d9ca5;margin-top:4px}.activity-time{font-size:10px;color:#9aa6ad;white-space:nowrap;padding-top:3px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .panel{padding:23px}.settings-grid h3{font-size:14px;margin-bottom:10px}.settings-grid p{font-size:12px;color:var(--muted);line-height:1.8}.settings-grid .btn{margin-top:17px}.rule-list{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:13px;font-size:11px;color:#738992}.rule-list li{display:flex;gap:8px}.rule-list .icon{color:#61a893;width:16px;height:16px}
/* Task drawers and forms */
dialog{color:var(--ink);background:#fff;border:1px solid var(--line);padding:0;box-shadow:0 20px 100px #08273320;font-family:var(--font)}dialog::backdrop{background:#0e263647;backdrop-filter:blur(2px)}.drawer{height:100dvh;max-height:100dvh;margin:0 0 0 auto;width:600px;max-width:100vw;border-radius:15px 0 0 15px;border:0;overflow:auto}.drawer-head{padding:24px 26px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.drawer-head h2{font-size:22px;line-height:1.4;letter-spacing:-.5px;margin-top:15px;margin-bottom:12px;overflow-wrap:anywhere}.drawer-body{padding:23px 26px 35px}.drawer-section{margin-bottom:25px}.drawer-label{font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:650;color:#8a9ba6;margin-bottom:12px}.drawer-description{font-size:12px;color:#617b89;white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.task-meta{display:grid;grid-template-columns:1fr 1fr;gap:17px 25px;background:#f6f9fa;border:1px solid #edf1f3;border-radius:9px;padding:17px;margin-bottom:22px}.meta-field{display:flex;flex-direction:column;gap:7px}.meta-field>span:first-child{font-size:10px;color:#91a0aa}.meta-field strong{font-size:11px;font-weight:550}.meta-field select{width:100%;max-width:none;background:#fff;font-size:11px;padding:7px}.task-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.task-actions .btn{font-size:11px}.criteria{display:flex;flex-direction:column;gap:11px}.criterion{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;color:#657c89}.criterion input{accent-color:var(--accent);margin:4px 0 0;width:15px;height:15px;cursor:pointer}.criterion.completed span{color:#94a3ac;text-decoration:line-through}.dep-row{padding:9px 0;font-size:11px;color:#728c98;display:flex;align-items:center;gap:7px}.dep-row .icon{width:14px;height:14px}.comment{font-size:12px;padding:15px 0;border-bottom:1px solid #eef3f5}.comment-head{display:flex;align-items:center;gap:8px;font-size:10px;margin-bottom:8px;color:#8a9eaa}.comment-head strong{color:#587584;font-weight:600}.comment-body{padding-left:31px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#65808f}.comment .avatar{width:23px;height:23px;font-size:8px}.comment-form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.comment-form textarea{min-height:75px;font-size:12px}.comment-form .btn{align-self:flex-end}.detail-event{font-size:10px;color:#879ca8;padding:9px 0;line-height:1.7}.detail-event strong{color:#657f8d;font-weight:500}.form-dialog{width:630px;max-width:calc(100vw - 24px);max-height:90dvh;border-radius:14px}.form-head{padding:23px 25px 17px;border-bottom:1px solid var(--line)}.form-head h2{font-size:20px}.form-body{padding:22px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:550;color:#667e8b}.field input,.field select,.field textarea{width:100%;max-width:none;font-size:12px}.field small{font-size:10px;color:#8a9ca7;line-height:1.6}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 25px;border-top:1px solid var(--line);background:#fafcfd}.form-error{font-size:12px;color:var(--danger);background:#fff0f2;border-radius:7px;padding:10px 12px;display:none;margin-bottom:16px}.form-error:not(:empty){display:block}.reason-dialog{width:420px;border-radius:12px;max-width:calc(100vw - 30px);padding:22px}.reason-dialog h2{font-size:17px;margin-bottom:10px}.reason-dialog p{font-size:12px;color:#8b9da7;margin-bottom:15px}.reason-dialog textarea{font-size:12px;margin-bottom:17px}.toasts{position:fixed;bottom:24px;right:25px;z-index:120;display:flex;flex-direction:column;gap:8px;max-width:430px}.toast{padding:13px 17px;background:#1d3b48;color:#fff;box-shadow:0 8px 30px #142f4225;border-radius:10px;font-size:12px;line-height:1.6;animation:slide-in .15s ease-out}.toast.error{background:#9c4250}.boot{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#8295a0;gap:12px;font-size:13px}.spinner{width:20px;height:20px;border:2px solid #d3e5e7;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#142d38;color:white;padding:55px 11%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;right:-50px;bottom:-170px;border:1px solid #9bd6c914;width:550px;height:550px;border-radius:50%;box-shadow:0 0 0 65px #9bd6c908,0 0 0 130px #9bd6c907;pointer-events:none}.login-story .brand{padding:0 0 80px}.login-story h1{font-size:45px;line-height:1.25;letter-spacing:-1.8px;max-width:430px}.login-story h1 em{font-style:normal;color:#75dac4}.login-story p{color:#a5bac5;font-size:14px;line-height:1.9;max-width:360px;margin-top:23px}.login-mini{margin-top:47px;padding:19px;border:1px solid #3f5c67;border-radius:12px;max-width:350px;background:#ffffff05}.login-mini .row{margin:8px 0;color:#bfd0d8;font-size:11px}.login-mini .dot{color:#80c7b7}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{width:370px;max-width:100%}.login-form h2{font-size:27px;letter-spacing:-.8px}.login-form>p{font-size:12px;color:#8599a5;margin-top:12px;line-height:1.8}.login-form .btn.primary{width:100%;padding:13px;margin-top:28px}.login-divider{height:1px;background:var(--line);margin:27px 0}.demo-users{display:grid;gap:8px;margin-top:20px}.demo-user{background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:11px;padding:11px 14px;text-align:left;cursor:pointer}.demo-user:hover{background:#f0f8f5;border-color:#b7d9cf}.demo-user strong{display:block;font-size:12px;font-weight:550}.demo-user small{font-size:10px;color:var(--muted)}.demo-warning{background:#fff3dc;color:#a48653;font-size:11px;line-height:1.7;padding:12px 14px;border-radius:8px;margin-top:20px}.error-banner{color:#a83e51;background:#feeef1;border-radius:8px;padding:12px;font-size:12px;margin-top:20px}.keyboard-hint{font-size:10px;background:#f7f9fa;border:1px solid #e5edf1;padding:1px 5px;border-radius:4px;color:#99a9b2}.print-only{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-in{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1680px){.page{padding:35px 40px}.board{gap:17px}.card{padding:16px}.card h3{font-size:13px}.card-bottom{font-size:10px}.card-owner span:last-child{max-width:100px}.column{padding:13px 11px}.column-head{font-size:12px}.sidebar{width:234px;padding-left:19px;padding-right:19px}.workspace{margin-left:234px}}
@media(max-width:1190px){.sidebar{width:190px;padding-left:10px;padding-right:10px}.workspace{margin-left:190px}.page{padding:24px 22px}.topbar{padding:0 22px}.team-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.top-actions{gap:10px}.sync-state{display:none}.my-grid{grid-template-columns:1fr 280px}.stat{padding:15px}.stat-caption{font-size:9px}.filters .search input{width:170px}.board{grid-template-columns:repeat(5,210px)}.head-actions .avatar-stack{display:none}}
@media(max-width:800px){.sidebar{visibility:hidden;transform:translateX(-100%);transition:transform .15s;width:218px;box-shadow:5px 0 40px #11283330}.sidebar.open{visibility:visible;transform:translateX(0)}.sidebar-close{display:inline-flex;position:absolute;right:10px;top:22px;color:#c0d0d9}.workspace{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:60px;padding:0 17px}.top-user .user-name{display:none}.page{padding:22px 17px}.page-head{gap:12px;margin-bottom:20px}h1{font-size:24px}.eyebrow{font-size:8px}.page-sub{font-size:11px}.head-actions{padding-top:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-value{font-size:28px}.stat{padding:13px 15px}.toolbar-right .muted,.toolbar-right .avatar-stack{display:none}.tabs{gap:18px}.tab{font-size:11px}.team-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.report-grid,.my-grid,.settings-grid{grid-template-columns:1fr}.my-side{order:1}.head-actions .btn.ghost{display:none}.filters{gap:6px}.filter-count{display:none}.filters select{max-width:160px}.login{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{padding:35px 24px}.date-range{flex-wrap:wrap;justify-content:flex-end}.page-head:has(.date-range){flex-direction:column}.head-actions:has(.date-range){padding-top:0}.drawer{width:560px}.activity-time{max-width:90px;white-space:normal;text-align:right}.view-footer>span:last-child{display:none}.top-actions{gap:8px}.demo-flag{font-size:9px}.toolbar-right .btn{font-size:10px;padding:7px}}
@media(max-width:510px){.stat-bottom{flex-wrap:wrap}.crumb>span{display:none}.team-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head .btn{font-size:10px;padding:8px 10px}.head-actions{gap:4px}.task-meta{gap:13px}.drawer-head,.drawer-body{padding-left:20px;padding-right:20px}.drawer-head h2{font-size:20px}.top-user{gap:5px}.filters .search{width:100%}.filters .search input{width:100%}.toasts{bottom:15px;right:15px;left:15px}.toolbar{gap:3px}.tabs{gap:13px}.toolbar-right .btn .icon{display:none}.crumb{font-size:10px;gap:5px}.person{min-height:230px}.report-grid .panel-pad{padding:17px}.login-form h2{font-size:25px}}
@media print{.sidebar,.topbar,.head-actions,.filters,.toolbar,.btn,.icon-btn,.toasts,.view-footer{display:none!important}.workspace{margin:0}.page{padding:0}.panel,.stat{box-shadow:none;break-inside:avoid}.print-only{display:block}.report-grid{grid-template-columns:1.4fr 1fr}body{background:#fff}.task-table{font-size:10px}.task-table td{padding:8px}.board{overflow:visible;grid-template-columns:repeat(5,1fr);min-height:0}.card{break-inside:avoid}.page-sub{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
