:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#eef2f7;--border:#d7dde8;--text:#18202f;--muted:#667085;--primary:#0f766e;--primary-2:#2563eb;--danger:#dc2626;--warning:#b45309;--success:#15803d;--shadow:0 18px 50px rgba(18,32,52,.14)}body[data-theme=dark]{--bg:#111827;--surface:#172033;--surface-2:#222d42;--border:#354158;--text:#f3f6fb;--muted:#a9b4c7;--shadow:0 18px 50px rgba(0,0,0,.3)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:18px;min-width:0;overflow-y:auto;padding:18px 14px}.auth-brand,.sidebar-head{align-items:center;display:flex;gap:10px}.brand-mark{align-items:center;background:var(--primary);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;height:34px;justify-content:center;width:34px}.nav-section{display:grid;grid-gap:6px;gap:6px}.crumbs,.muted,.nav-section>span,label>span{color:var(--muted);font-size:12px}.board-link,.nav-item{background:transparent;border:0;border-radius:8px;color:var(--text);min-height:34px;overflow:hidden;padding:7px 9px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.board-link.active,.board-link:hover,.nav-item.active,.nav-item:hover{background:var(--surface-2)}.board-link{color:var(--muted);display:block;margin-left:12px;width:calc(100% - 12px)}.project-nav{display:grid;grid-gap:2px;gap:2px}.add-column,.inline-form,.invite-form,.quick-add,.sidebar-form{display:flex;gap:6px}.invite-form{margin-top:auto}.sidebar-form{display:grid;grid-template-columns:minmax(0,1fr) 74px 34px}.sidebar-form.two{grid-template-columns:minmax(0,1fr) 34px}.invite-form{display:grid;grid-template-columns:minmax(0,1fr) 96px 34px}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:34px;min-width:0;outline:0;padding:8px 10px;width:100%}textarea{line-height:1.45;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(37,99,235,.14)}.main-area{flex-direction:column;min-width:0;overflow:hidden}.main-area,.topbar{display:flex;position:relative}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);gap:10px;min-height:58px;padding:10px 16px;z-index:5}.search-box{align-items:center;background:var(--surface-2);border-radius:8px;display:flex;flex:1 1 260px;gap:8px;max-width:420px;padding:0 10px}.search-box input{background:transparent;border:0;box-shadow:none;padding-left:0}.filters{align-items:center;display:flex;flex:2 1 auto;gap:6px;min-width:0}.filters select{max-width:160px}.icon-button,.mini-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.icon-button:hover,.mini-button:hover,.toolbar-button:hover{border-color:var(--primary-2)}.mini-button{font-size:14px;height:26px;width:26px}.with-badge{position:relative}.with-badge span{background:var(--danger);border-radius:999px;color:#fff;font-size:10px;height:17px;justify-content:center;min-width:17px;padding:0 4px;position:absolute;right:-5px;top:-5px}.profile-button,.with-badge span{align-items:center;display:inline-flex}.profile-button{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);gap:8px;height:34px;max-width:190px;overflow:hidden;padding:0 10px 0 4px;text-overflow:ellipsis;white-space:nowrap}.avatar,.profile-button span{align-items:center;background:#dbeafe;border-radius:999px;color:#1e40af;display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;height:26px;justify-content:center;width:26px}.board-head{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:16px}.board-head h1{font-size:24px;line-height:1.15;margin:2px 0 0}.board-actions{align-items:center;display:flex;gap:8px;min-width:0}.primary-action,.toolbar-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-flex;gap:8px;justify-content:center;min-height:34px;padding:8px 12px;white-space:nowrap}.primary-action,.toolbar-button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.toolbar-button.danger{color:var(--danger)}.analytics-strip,.templates-strip{display:flex;gap:8px;overflow-x:auto;padding:0 16px 12px}.template-pill{align-items:center;color:var(--text);display:inline-flex;gap:7px;min-height:34px;padding:7px 10px}.metric,.template-pill{background:var(--surface);border:1px solid var(--border);border-radius:8px}.metric{min-width:118px;padding:10px}.metric span{color:var(--muted);display:block;font-size:12px}.metric strong{display:block;font-size:24px;margin-top:3px}.metric.danger strong{color:var(--danger)}.metric.warning strong{color:var(--warning)}.kanban-board{align-items:start;display:grid;flex:1 1 auto;grid-gap:12px;gap:12px;grid-auto-columns:minmax(280px,320px);grid-auto-flow:column;min-height:0;overflow:auto;padding:0 16px 18px}.kanban-column{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;max-height:calc(100vh - 170px);min-height:180px;min-width:0;padding:10px}.kanban-column.is-over{outline:2px solid rgba(37,99,235,.4)}.kanban-column.wip-warning{border-color:rgba(180,83,9,.75)}.column-head{align-items:center;display:grid;grid-gap:7px;gap:7px;grid-template-columns:auto minmax(0,1fr) auto 48px auto auto;min-height:30px}.column-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-dot,.label-dot{border-radius:999px;display:inline-block;height:9px;width:9px}.counter{background:var(--surface);border-radius:999px;color:var(--muted);font-size:12px;padding:3px 7px}.wip-input{font-size:12px;height:28px;min-height:28px;padding:4px 6px}.wip-note{background:rgba(180,83,9,.13);border:1px solid rgba(180,83,9,.28);border-radius:8px;color:var(--warning);font-size:12px;padding:6px 8px}.task-stack{min-height:40px;overflow-y:auto;padding-right:2px}.task-card,.task-stack{display:grid;grid-gap:8px;gap:8px}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 0 rgba(18,32,52,.03);padding:10px}.task-card.dragging{opacity:.72}.task-card strong{font-size:14px;line-height:1.3}.task-card p{color:var(--muted);display:-webkit-box;font-size:12px;line-height:1.35;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-foot,.task-labels,.task-meta{align-items:center;display:flex;gap:7px}.task-foot,.task-meta{color:var(--muted);font-size:12px;justify-content:space-between}.task-foot span{align-items:center;display:inline-flex;gap:3px}.priority{border-radius:999px;font-size:11px;padding:3px 7px}.priority-low{background:rgba(21,128,61,.12);color:var(--success)}.priority-normal{background:rgba(37,99,235,.12);color:var(--primary-2)}.priority-high{background:rgba(180,83,9,.13);color:var(--warning)}.priority-urgent{background:rgba(220,38,38,.12);color:var(--danger)}.floating-panel,.quick-add input{background:var(--surface)}.floating-panel{border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);position:absolute;right:72px;top:58px;width:min(360px,calc(100vw - 24px));z-index:20}.notifications-panel{display:grid;grid-gap:8px;gap:8px;max-height:430px;overflow-y:auto;padding:12px}.panel-title{align-items:center;display:flex;justify-content:space-between}.panel-title button{background:transparent;border:0;color:var(--primary-2)}.notification{border:1px solid var(--border);border-radius:8px;padding:9px}.notification.unread{border-color:var(--primary-2)}.notification p{color:var(--muted);font-size:12px;margin:4px 0 0}.modal-backdrop{align-items:center;background:rgba(5,10,20,.46);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.archive-modal,.task-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);max-height:min(900px,calc(100vh - 36px));overflow:hidden;width:min(1120px,100%)}.archive-modal{width:min(720px,100%)}.modal-head{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:12px}.modal-head h2{font-size:18px;margin:0}.modal-head input{border:0;box-shadow:none;font-size:20px;font-weight:700;padding-left:0}.modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;max-height:calc(100vh - 104px);min-height:0}.modal-main,.modal-side{display:grid;grid-gap:14px;gap:14px;overflow-y:auto;padding:14px}.modal-side{background:var(--surface-2);border-left:1px solid var(--border);align-content:start}label{display:grid;grid-gap:5px;gap:5px}.detail-section,.side-block{display:grid;grid-gap:9px;gap:9px}.detail-section h3,.side-block h3{font-size:14px;margin:0}.checklist{border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:10px}.check-row,.watch-row{align-items:center;display:flex;gap:8px}.check-row input,.watch-row input{width:auto}.archive-list,.comments,.history-list,.related-list{display:grid;grid-gap:8px;gap:8px}.comment{background:var(--surface-2);border-radius:8px;padding:9px}.comment p{line-height:1.4;margin:4px 0 0;white-space:pre-wrap}.comment-form{display:grid;grid-gap:8px;gap:8px}.labels-grid{display:flex;flex-wrap:wrap;gap:6px}.label-chip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;gap:6px;min-height:30px;padding:5px 9px}.label-chip span{border-radius:999px;height:8px;width:8px}.label-chip.active{border-color:var(--primary-2)}.file-control{align-items:center;background:var(--surface);border:1px dashed var(--border);border-radius:8px;cursor:pointer;display:flex;gap:8px;justify-content:center;min-height:42px;position:relative}.file-control input{inset:0;opacity:0;position:absolute}.archive-row,.attachment-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;justify-content:space-between;min-height:38px;padding:7px 8px}.archive-row span,.attachment-row a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-list span,.related-list span{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:12px;padding:7px 8px}.modal-actions{display:grid;grid-gap:7px;gap:7px}.toast{background:var(--text);border-radius:8px;bottom:18px;color:var(--surface);left:50%;padding:10px 14px;position:fixed;transform:translateX(-50%);z-index:80}.auth-screen,.empty-state{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:20px}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;max-width:430px;padding:22px;width:100%}.auth-brand h1{font-size:22px;margin:0}.auth-brand p{color:var(--muted);margin:2px 0 0}.input-with-icon{align-items:center;border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;padding:0 10px}.input-with-icon input{border:0;box-shadow:none;padding-left:0}.form-error,.form-success{border-radius:8px;font-size:13px;padding:9px 10px}.form-error{background:rgba(220,38,38,.1);color:var(--danger)}.form-success{background:rgba(21,128,61,.11);color:var(--success)}.auth-links{display:flex;flex-wrap:wrap;gap:12px}.auth-links a{color:var(--primary-2);font-size:13px;text-decoration:none}.mobile-toggle{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{bottom:0;box-shadow:var(--shadow);left:0;position:fixed;top:0;transform:translateX(-105%);transition:transform .16s ease;width:min(300px,calc(100vw - 44px));z-index:40}.sidebar.is-open{transform:translateX(0)}.mobile-toggle{display:inline-flex}}@media (max-width:820px){.topbar{align-items:stretch;flex-wrap:wrap}.search-box{max-width:none;order:2;width:100%}.filters{order:3;overflow-x:auto;width:100%}.filters select{min-width:146px}.board-head{align-items:stretch;flex-direction:column}.board-actions{overflow-x:auto}.modal-grid{grid-template-columns:1fr}.modal-side{border-left:0;border-top:1px solid var(--border)}.kanban-board{grid-auto-columns:minmax(260px,86vw)}}