:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#f3f5f8;--rail-bg:#edf1f5;--surface:#fff;--surface-muted:#f8fafc;--border:#d9dee7;--border-strong:#c6ceda;--text:#111827;--muted:#667085;--muted-strong:#475467;--primary:#2459c4;--primary-soft:#eef4ff;--overdue:#c6452d;--overdue-soft:#fff1ec;--warning:#9a650f;--warning-soft:#fff6e6;--success:#2f6f48;--success-soft:#eef8f1;--info-soft:#eef4ff;--shadow:0 1px 2px #1018280f}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:linear-gradient(90deg, var(--rail-bg) 0, var(--rail-bg) 28%, var(--app-bg) 28%, var(--app-bg) 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:320px minmax(0,1fr);gap:20px;min-height:100vh;padding:20px;display:grid}.surface{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.sidebar,.workspace-header,.form-surface,.task-surface,.empty-state,.flash-banner,.client-row,.metric-card,.task-stat-card,.task-card,input,select,textarea,.primary-button{border-radius:8px}.sidebar{background:var(--rail-bg);flex-direction:column;gap:18px;min-height:calc(100vh - 40px);padding:24px;display:flex;position:sticky;top:20px}.sidebar-header,.panel-heading,.workspace-heading,.task-toolbar-heading{gap:8px;display:grid}.sidebar-header{gap:10px}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.sidebar-title{margin:0;font-size:1.55rem;font-weight:700;line-height:1.15}.sidebar-copy,.panel-copy,.workspace-copy,.client-row-meta,.client-row-footer,.task-toolbar-heading p,.task-description,.task-due-line,.empty-copy,.field-footer,.inline-note,.collapsed-panel-copy{color:var(--muted);margin:0;line-height:1.5}.sidebar-divider{background:var(--border);height:1px}.field{gap:8px;display:grid}.field.compact{gap:6px}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.input-with-indicator{position:relative}.status-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-50%);box-shadow:0 0 0 4px #2459c41f}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s,background-color .15s}input,select{min-height:42px;padding:10px 12px}textarea{resize:vertical;min-height:108px;padding:12px}input:focus,select:focus,textarea:focus{border-color:#2459c48c;outline:none;box-shadow:0 0 0 3px #2459c41f}.input-error{background:#fffaf8;border-color:#c6452d8c}.input-error:focus{border-color:#c6452db3;box-shadow:0 0 0 3px #c6452d1f}.sidebar-search{gap:10px}.sidebar-list,.task-list{gap:10px;display:grid}.sidebar-list{padding-right:2px;overflow-y:auto}.client-row{border:1px solid var(--border);text-align:left;background:#fff;gap:8px;width:100%;padding:14px 16px;transition:border-color .15s,background-color .15s;display:grid}.client-row:hover{border-color:var(--border-strong);background:#fcfdff}.client-row.selected{background:var(--primary-soft);box-shadow:inset 4px 0 0 var(--primary);border-color:#2459c457}.client-row-heading,.client-row-footer,.workspace-header,.task-card-top,.task-title-row,.field-footer,.form-surface-header,.task-toolbar-top{justify-content:space-between;gap:12px;display:flex}.client-row-name{font-size:.95rem;font-weight:700;line-height:1.35}.client-row-meta{font-size:.82rem}.client-row-footer{color:var(--muted-strong);flex-wrap:wrap;font-size:.78rem}.client-row-overdue{background:var(--overdue-soft);color:var(--overdue);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.workspace{align-content:start;gap:16px;display:grid}.workspace-header{align-items:flex-start;padding:22px 24px}.workspace-heading h2,.panel-heading h2{margin:0;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:600;line-height:1.15}.workspace-copy,.panel-copy,.task-toolbar-heading p,.collapsed-panel-copy{max-width:60ch;font-size:.9rem}.metric-strip{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;width:min(100%,480px);display:grid}.metric-card{border:1px solid var(--border);background:var(--surface-muted);gap:6px;padding:14px;display:grid}.metric-card strong{font-size:1.1rem;font-weight:700;line-height:1}.metric-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.metric-card-overdue{background:var(--overdue-soft);border-color:#c6452d42}.metric-card-overdue .metric-label,.metric-card-overdue strong{color:var(--overdue)}.workspace-stack{gap:16px;display:grid}.form-surface,.task-surface{padding:20px 24px}.form-surface{gap:16px;display:grid}.form-surface-header{align-items:flex-start}.task-form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid-wide{grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(150px,1fr))}.field-footer{align-items:center;font-size:.76rem}.field-error,.submit-error{color:var(--overdue);font-size:.8rem;line-height:1.4}.submit-error{margin:0}.primary-button{background:var(--primary);color:#fff;border:1px solid #2459c457;width:100%;min-height:44px;padding:11px 16px;font-weight:700;transition:background-color .15s,border-color .15s,opacity .15s}.primary-button:hover:not(:disabled){background:#1f4ca6}.text-button{width:auto;color:var(--primary);background:0 0;border:0;padding:0;font-size:.9rem;font-weight:600}.text-button:hover:not(:disabled){text-underline-offset:.18em;text-decoration:underline}.primary-button:disabled,.text-button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.task-surface{gap:16px;display:grid}.task-toolbar{border-bottom:1px solid var(--border);gap:14px;padding-bottom:16px;display:grid}.task-toolbar-heading{gap:6px}.task-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.task-toolbar-heading h2{margin:0;font-size:1.1rem;font-weight:600;line-height:1.2}.count-pill{background:var(--surface-muted);border:1px solid var(--border);color:var(--muted-strong);border-radius:999px;align-items:center;padding:4px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.inline-note{white-space:nowrap;font-size:.78rem}.task-filter-row{grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.task-filter-row.secondary{grid-template-columns:minmax(220px,280px) auto;justify-content:space-between}.task-filter-row.secondary .text-button{justify-self:end}.task-search-field{min-width:0}.task-stats-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.task-stat-card{border:1px solid var(--border);background:var(--surface-muted);gap:6px;padding:14px;display:grid}.task-stat-card strong{font-size:1.2rem;font-weight:700;line-height:1}.task-stat-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.task-stat-card-overdue{background:var(--overdue-soft);border-color:#c6452d42}.task-stat-card-overdue .task-stat-label,.task-stat-card-overdue strong{color:var(--overdue)}.task-stat-card-completed{background:var(--success-soft);border-color:#2f6f483d}.task-stat-card-completed .task-stat-label,.task-stat-card-completed strong{color:var(--success)}.task-list{gap:10px}.task-card{border:1px solid var(--border);background:#fff;border-left:4px solid #0000;gap:12px;padding:16px 18px;animation:.16s ease-out task-enter;display:grid}.task-card.is-overdue{border-left-color:var(--overdue);background:#fffaf8}.task-card.is-completed{border-left-color:var(--success);background:#fbfefc}.task-card-top,.task-title-row{align-items:flex-start}.task-title-row h3{margin:0;font-size:.98rem;font-weight:600;line-height:1.35}.task-due-line{flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.task-due-date{color:var(--text);font-weight:600}.task-due-relative{color:var(--muted);font-weight:500}.task-due-relative.is-overdue{color:var(--overdue);font-weight:700}.task-due-relative.is-completed{color:var(--success);font-weight:700}.status-field{min-width:190px;max-width:220px}.task-meta{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-flex}.chip-category,.chip-priority-low,.chip-status-pending{color:var(--muted-strong);background:#f2f4f7}.chip-overdue,.chip-priority-high{background:var(--overdue-soft);color:var(--overdue)}.chip-priority-medium{background:var(--warning-soft);color:var(--warning)}.chip-status-in-progress{background:var(--info-soft);color:var(--primary)}.chip-status-completed{background:var(--success-soft);color:var(--success)}.task-description{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.empty-state{border:1px dashed var(--border-strong);text-align:center;background:#fbfcfe;justify-items:center;gap:8px;padding:28px 20px;display:grid}.empty-state.compact{padding:20px 16px}.empty-title{margin:0;font-size:.96rem;font-weight:700}.flash-banner{z-index:2;border:1px solid #0000;padding:10px 12px;font-size:.84rem;font-weight:600;position:sticky;top:12px}.flash-banner.success{background:var(--success-soft);color:var(--success);border-color:#2f6f4833}.flash-banner.error{background:var(--overdue-soft);color:var(--overdue);border-color:#c6452d33}.skeleton{pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#11182714,#1118270a);border-radius:999px;height:11px}.skeleton-title{width:72%;height:14px}.skeleton-short{width:42%}@keyframes task-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.app-shell{grid-template-columns:290px minmax(0,1fr);gap:16px;padding:16px}.form-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){body{background:var(--app-bg)}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.workspace-header{flex-direction:column}.metric-strip{width:100%}}@media (width<=760px){.app-shell{padding:12px}.sidebar,.workspace-header,.form-surface,.task-surface{padding:18px}.form-grid,.form-grid-wide,.metric-strip,.task-stats-bar,.task-filter-row{grid-template-columns:1fr}.task-filter-row.secondary,.task-toolbar-top,.form-surface-header,.task-card-top,.task-title-row,.workspace-header{flex-direction:column;align-items:stretch}.task-filter-row.secondary .text-button{justify-self:start}.status-field{min-width:0;max-width:none}}
