:root{--bg: #F5F7FA;--surface: #FFFFFF;--sidebar: #0F172A;--sidebar-muted: #94A3B8;--primary: #2563EB;--text: #0F172A;--text-secondary: #64748B;--border: #E5E7EB;--danger: #B91C1C;--radius: 9px;--sidebar-width: 220px;--drawer-width: 620px;color:var(--text);background:var(--bg);font-family:DM Sans,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:var(--surface);color:var(--text)}button{cursor:pointer}button.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}button.danger{background:#dc2626;color:#fff;border-color:#dc2626}button:disabled{opacity:.45;cursor:not-allowed}.ghost-icon{width:36px;height:36px;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.linkish{background:none;border:0;color:var(--primary);padding:0;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:var(--sidebar-width);background:var(--sidebar);color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.brand{font-size:15px;font-weight:800;letter-spacing:.08em;padding:8px 10px 18px}.nav-section{margin:14px 0 6px;padding:0 10px;color:var(--sidebar-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-link{color:#e2e8f0;display:block;padding:9px 12px;border-radius:8px}.nav-link.active{background:var(--primary);color:#fff;font-weight:600}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 4px;border-top:1px solid rgba(148,163,184,.25)}.sidebar-user{font-weight:600;font-size:13px}.sidebar-role{color:var(--sidebar-muted);font-size:12px}.content{flex:1;min-width:0;padding:22px 24px;position:relative}.menu-button{display:none;margin-bottom:12px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}h1{font-size:28px;font-weight:700;margin:0;letter-spacing:-.02em}h2{font-size:16px;margin:0 0 12px}h3{font-size:15px;margin:0;font-weight:650}.muted{color:var(--text-secondary);font-size:13px}.form-success{color:#15803d}.form-error{color:var(--danger)}.empty,.page-message{color:var(--text-secondary)}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 24px;text-align:center;display:grid;gap:12px;justify-items:center}.avatar{display:inline-grid;place-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:700;flex-shrink:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;border:0}.status-TODO,.status-INBOX,.status-CANCELLED{background:#e5e7eb;color:#374151}.status-IN_PROGRESS{background:#dbeafe;color:#1d4ed8}.status-REVIEW{background:#ede9fe;color:#6d28d9}.status-DONE{background:#dcfce7;color:#166534}.status-BLOCKED{background:#ffedd5;color:#c2410c}.priority-HIGH{background:#fee2e2;color:#b91c1c}.priority-MEDIUM{background:#fef3c7;color:#b45309}.priority-LOW{background:#dcfce7;color:#166534}.org-pill{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:650}.org-a{background:#dbeafe;color:#1d4ed8}.org-b{background:#ede9fe;color:#6d28d9}.org-c{background:#dcfce7;color:#166534}.org-d{background:#ffedd5;color:#c2410c}.org-e{background:#fce7f3;color:#be185d}.overdue{color:var(--danger);font-weight:700}.task-workspace{display:flex;gap:0;min-height:calc(100vh - 44px)}.task-main{flex:1;min-width:0}.task-workspace.with-drawer .task-main{padding-right:8px}.task-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}.toolbar-field{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:12px;min-width:140px}.toolbar-field.grow{flex:1;min-width:200px}.filter-dropdown{position:relative;min-width:160px}.filter-trigger{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.filter-label{font-size:12px;color:var(--text-secondary)}.filter-value{font-weight:600}.filter-menu{position:absolute;z-index:5;top:calc(100% + 4px);left:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:0 10px 30px #0f172a1f}.org-option{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;color:var(--text)}.org-option:hover{background:#f1f5f9}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:12px;color:var(--text-secondary);font-weight:650;background:#fafbfc}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fafc}tbody tr.selected{background:#eff6ff}.col-check{width:40px}.col-code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:600;color:var(--primary);white-space:nowrap}.cell-user{display:flex;align-items:center;gap:8px}.subtask-indent{padding-left:1.25rem}.subtask-mark{color:var(--text-secondary);margin-right:6px;font-weight:700}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--text-secondary);font-size:13px}.pager{display:flex;align-items:center;gap:8px}.skeleton-table{display:grid;gap:8px}.skeleton-row{height:44px;border-radius:8px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.task-drawer{width:min(var(--drawer-width),100%);max-width:680px;min-width:560px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - 44px);position:sticky;top:0;align-self:flex-start}.drawer-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding:12px 16px 0}.drawer-scroll{overflow:auto;padding:8px 20px 24px;display:flex;flex-direction:column;gap:16px}.drawer-code{color:var(--primary);font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:700;font-size:13px}.drawer-title,.drawer-title-input{font-size:24px;font-weight:700;margin:0;border:0;padding:0;width:100%;background:transparent}.drawer-title-input:focus{outline:none;box-shadow:inset 0 -2px 0 var(--primary)}.drawer-badges{display:flex;gap:8px;flex-wrap:wrap}.badge-select select.badge{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:22px;cursor:pointer}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prop-grid label,.stack-form label,.auth-card label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:13px}.drawer-section{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.subtask-list{display:grid;gap:6px}.subtask-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center;width:100%;text-align:left;background:#f8fafc;border:1px solid var(--border)}.subtask-row .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.comment-list{display:grid;gap:10px}.comment-meta{display:flex;gap:8px;color:var(--text-secondary);font-size:12px}.comment-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.activity-line{color:var(--text-secondary);font-size:13px;margin:0}.menu-wrap{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px;min-width:180px;z-index:6;display:grid}.menu-pop button,.menu-pop a{background:none;border:0;text-align:left;padding:8px 10px;border-radius:6px;color:var(--text)}.menu-pop button:hover,.menu-pop a:hover{background:#f1f5f9}.stack-form,.dialog,.auth-card form{display:flex;flex-direction:column;gap:14px}.stack-form.nested{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.end{justify-content:flex-end}.check{display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--text)}.stack-form label.check,.dialog label.check,.auth-card label.check{flex-direction:row;align-items:center;width:auto;color:var(--text)}.checkbox-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 20px}@media(max-width:720px){.checkbox-row{flex-direction:column;align-items:flex-start}}.pre{white-space:pre-wrap;margin:0}.secret{word-break:break-all;background:#f8fafc;border:1px dashed var(--border);padding:10px;border-radius:8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;z-index:20;padding:16px}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;max-height:90vh;overflow:auto}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{margin:0}.icon-close{width:32px;height:32px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--text-secondary)}.auth-card{max-width:420px;margin:10vh auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px}.auth-brand{font-weight:800;letter-spacing:.08em;color:var(--primary);margin-bottom:8px}.settings-page{max-width:1100px}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:10px}.tab{background:transparent;border:0;border-radius:0;color:var(--text-secondary);padding:8px 4px;border-bottom:2px solid transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;gap:16px}.settings-split{display:flex;gap:0}.settings-main{flex:1;min-width:0}.settings-drawer{min-width:420px;max-height:none;position:static}.org-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.task-fullscreen .fullscreen-drawer .task-drawer{width:100%;max-width:none;min-width:0;border:1px solid var(--border);border-radius:var(--radius);max-height:none;position:static}.breadcrumb{color:var(--text-secondary);margin-bottom:12px}@media(max-width:1280px){.task-drawer{min-width:480px}.prop-grid,.form-grid-2{grid-template-columns:1fr}}@media(max-width:1023px){.sidebar{display:none;position:fixed;inset:0 auto 0 0;z-index:10}.sidebar.open{display:flex}.menu-button{display:inline-block}.task-workspace{flex-direction:column}.task-drawer{position:fixed;inset:0 0 0 auto;z-index:15;min-width:min(100vw,560px);max-height:100vh}.settings-split{flex-direction:column}}
