:root{--bg: #f5f7fb;--surface: #ffffff;--surface-muted: #f8fafc;--border: #d9e0ea;--border-soft: #e6ebf2;--text: #111827;--muted: #64748b;--primary: #1d4ed8;--primary-strong: #1e40af;--danger: #dc2626;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 10px 24px rgba(15, 23, 42, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--bg: #0f172a;--surface: #172033;--surface-muted: #111827;--border: #334155;--border-soft: #263449;--text: #e5e7eb;--muted: #94a3b8;--primary: #60a5fa;--primary-strong: #3b82f6;--danger: #f87171;--button-secondary-bg: #263449;--button-secondary-hover: #334155;--ghost-text: #cbd5e1;--label-text: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 14px 30px rgba(0, 0, 0, .32);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;border-radius:8px;padding:.62rem .9rem;background:var(--primary);color:#fff;font-weight:700;box-shadow:var(--shadow-sm)}button:hover{background:var(--primary-strong)}button:disabled{cursor:not-allowed;opacity:.6}button.secondary{background:var(--button-secondary-bg, #e9edf3);color:var(--text)}button.secondary:hover{background:var(--button-secondary-hover, #dbe2ec)}button.danger{background:var(--danger);color:#fff}button.danger:hover{background:#b91c1c}button.ghost{background:transparent;color:var(--ghost-text, #334155);box-shadow:none}button.ghost:hover{background:var(--surface-muted)}.compact-button{padding:.45rem .7rem;font-size:.86rem}input,select,textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.62rem .72rem;box-shadow:inset 0 1px #0f172a05}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px;border-color:#93c5fd}textarea{resize:vertical}label{display:grid;gap:.45rem;color:var(--label-text, #334155);font-size:.92rem;font-weight:650}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.8rem,3vw,2.35rem)}h2{font-size:1.1rem}h3{font-size:1rem}.muted{color:var(--muted)}.error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:.75rem}.empty{color:#6b7280;font-size:.92rem}.eyebrow{margin-bottom:.3rem;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(920px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;box-shadow:var(--shadow-md);padding:clamp(1.5rem,4vw,3rem)}.form{display:grid;gap:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.4rem;padding:1.25rem;background:#111827;color:#f9fafb;transition:padding .18s ease}.brand{display:flex;gap:.8rem;align-items:center;min-width:0}.brand-details{min-width:0}.brand-details strong,.brand-details small,.user-details strong,.user-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small,.user-card small{display:block;color:#9ca3af}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#2563eb;font-weight:900}.shell-controls{display:grid;gap:.5rem}.collapse-toggle,.theme-toggle{width:100%;padding:.45rem .6rem;background:#1f2937;color:#d1d5db;box-shadow:none}.collapse-toggle:hover,.theme-toggle:hover{background:#374151;color:#fff}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:.55rem}.theme-icon{display:inline-grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:999px;background:#ffffff14;font-size:.9rem;font-weight:900}.nav{display:grid;gap:.5rem}.nav button{display:flex;gap:.65rem;align-items:center;width:100%;text-align:left;background:transparent;color:#d1d5db}.nav-short{display:none;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:8px;background:#ffffff14;font-weight:900}.nav button:hover,.nav button.active{background:#1f2937;color:#fff}.user-card{margin-top:auto;display:grid;gap:.45rem;padding:1rem;background:#1f2937;border-radius:10px;min-width:0}.user-avatar{display:none;width:38px;height:38px;place-items:center;border-radius:8px;background:#2563eb;color:#fff;font-size:.82rem;font-weight:900}.user-details{min-width:0}.app-shell.sidebar-collapsed .sidebar{gap:1rem;padding:1rem .75rem}.app-shell.sidebar-collapsed .brand{justify-content:center}.app-shell.sidebar-collapsed .brand-details,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .user-details,.app-shell.sidebar-collapsed .theme-label{display:none}.app-shell.sidebar-collapsed .nav button{justify-content:center;padding:.55rem}.app-shell.sidebar-collapsed .nav-short,.app-shell.sidebar-collapsed .user-avatar{display:grid}.app-shell.sidebar-collapsed .user-card{justify-items:center;padding:.75rem .45rem}.app-shell.sidebar-collapsed .user-card button{width:100%;padding:.45rem .3rem;font-size:.78rem}.content{min-width:0;padding:1.7rem 2rem}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.2rem}.toolbar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1rem}.toolbar>input[type=search]{flex:1 1 260px}.toolbar>select,.toolbar>button,.toolbar>.segmented-control{flex:0 0 auto}.toolbar>select{max-width:230px}.result-count{margin-bottom:1rem;color:var(--muted);font-size:.88rem;font-weight:700}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(86px,1fr));align-items:center;padding:.25rem;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-sm)}.segmented-control button{border-radius:6px;background:transparent;color:#374151;padding:.45rem .75rem;font-weight:750}.segmented-control button:hover,.segmented-control button.active{background:var(--primary);color:#fff}.provider-controls{display:grid;gap:.85rem;margin-bottom:1rem}.provider-search,.task-search{max-width:760px}.provider-filter-row,.task-filter-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:end;justify-content:space-between}.task-controls{display:grid;gap:.85rem;margin-bottom:.4rem}.filter-group,.control-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.filter-group{flex:1 1 540px}.filter-group label{flex:1 1 170px;max-width:240px;font-size:.78rem;color:#6b7280}.task-filter-group label{flex-basis:150px}.control-actions{flex:0 1 auto;justify-content:flex-end}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:1rem;overflow-x:auto;padding-bottom:1rem}.kanban-column{min-height:420px;background:#eef2f7;border:1px solid var(--border);border-radius:10px;padding:.75rem}.kanban-column>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.kanban-column h2{margin:0}.kanban-column span{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:var(--surface);color:#334155;font-size:.85rem;font-weight:800}.kanban-list{display:grid;gap:.8rem}.task-card,.provider-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.card-main{width:100%;padding:1rem;color:inherit;background:transparent;text-align:left}.card-main:hover{background:var(--surface-muted)}.card-title-row{display:flex;align-items:start;justify-content:space-between;gap:.8rem}.card-title-row h3{margin-bottom:.35rem}.priority,.provider-card .card-title-row span{flex:0 0 auto;border-radius:999px;padding:.25rem .5rem;background:#e8f0ff;color:var(--primary);font-size:.78rem;font-weight:800}.priority.urgent{background:#fee2e2;color:#b91c1c}.due-badge{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:.2rem .5rem;background:#e9edf3;color:#334155;font-size:.76rem;font-weight:800}.due-badge.overdue{background:#fee2e2;color:#b91c1c}.due-badge.today{background:#fef3c7;color:#92400e}.due-badge.this_week{background:#ffedd5;color:#9a3412}.due-badge.future{background:#dcfce7;color:#166534}.due-badge.closed{background:#e2e8f0;color:#475569}.task-card.due-overdue{border-color:#fecaca}.task-card.due-today{border-color:#fde68a}.status-select{padding:0 1rem 1rem}dl{display:grid;gap:.45rem;margin:.75rem 0 0}dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:.7rem}dt{color:var(--muted);font-size:.82rem}dd{margin:0;overflow-wrap:anywhere}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}.provider-card{padding:1rem}.card-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.9rem}.table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.data-table{width:100%;min-width:960px;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid var(--border-soft);padding:.68rem .75rem;text-align:left;vertical-align:top}.data-table th{color:#475569;background:var(--surface-muted);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.data-table td{color:#111827;font-size:.92rem}.data-table tr:last-child td{border-bottom:0}.data-table td strong,.data-table td small{display:block}.data-table td small{max-width:280px;margin-top:.25rem;color:#6b7280}.status-pill{display:inline-flex;border-radius:999px;padding:.25rem .55rem;background:#e8f0ff;color:var(--primary);font-size:.78rem;font-weight:800;white-space:nowrap}.task-table{min-width:1120px}.table-select{min-width:150px;padding:.45rem .55rem}.table-actions{display:flex;flex-wrap:wrap;gap:.5rem}.due-cell{display:grid;gap:.35rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:start center;background:#0f172a8f;overflow-y:auto;padding:2rem 1rem}.modal,.detail-panel{width:min(820px,100%);background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;box-shadow:0 24px 64px #0f172a3d;padding:1.25rem}.detail-panel{width:min(920px,100%)}.modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.modal-actions{display:flex;gap:.6rem;align-items:center}.confirm-modal{width:min(560px,100%)}.confirm-body{display:grid;gap:.9rem;margin-bottom:1rem}.confirm-body p{margin-bottom:0}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.check{display:flex;align-items:center;gap:.6rem}.check input{width:auto}.actions{display:flex;justify-content:flex-end;gap:.7rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.detail-grid div{display:grid;gap:.2rem;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px;padding:.75rem}.detail-grid strong{color:var(--muted);font-size:.82rem}.comments{display:grid;gap:.75rem;margin-bottom:1rem}.comment{background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px;padding:.8rem}.comment small{display:block;color:var(--muted);margin-top:.15rem}.comment-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.45rem}.comment-form,.comment-edit-form{display:grid;gap:.7rem}.comment-actions{display:flex;justify-content:flex-end;gap:.5rem}.timeline{display:grid;gap:.75rem}.timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:.65rem;padding:.75rem;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-muted)}.timeline-marker{width:10px;height:10px;margin-top:.35rem;border-radius:999px;background:var(--primary);box-shadow:0 0 0 4px #1d4ed81f}.timeline-header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.timeline-header small,.timeline-meta{color:var(--muted);font-size:.82rem}.timeline-meta,.timeline-item p{margin-bottom:.35rem}.event-type{display:inline-flex;border-radius:999px;padding:.2rem .5rem;background:#e8f0ff;color:var(--primary);font-size:.78rem;font-weight:800}.timeline-change{color:#334155;font-size:.88rem;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin-bottom:1rem}.metric-card{display:grid;gap:.35rem;min-height:132px;align-content:start;padding:1rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;box-shadow:var(--shadow-sm)}.metric-card small{color:var(--muted);font-weight:650}.metric-label{color:#475569;font-size:.82rem;font-weight:800;text-transform:uppercase}.metric-value{color:#0f172a;font-size:2rem;line-height:1}.danger-metric{border-color:#fecaca}.danger-metric .metric-value{color:#b91c1c}.warning-metric{border-color:#fde68a}.warning-metric .metric-value{color:#92400e}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dashboard-panel{min-width:0;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;box-shadow:var(--shadow-sm);padding:1rem}.wide-panel{grid-column:span 2}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.panel-header h2{margin:0}.summary-list{display:grid;gap:.7rem}.summary-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,1.2fr) auto;gap:.7rem;align-items:center;color:#334155;font-size:.9rem}.summary-row strong{min-width:2ch;text-align:right}.bar-track{height:8px;overflow:hidden;border-radius:999px;background:#e9edf3}.bar-fill{display:block;height:100%;border-radius:inherit;background:var(--primary)}.task-summary-list{display:grid;gap:.65rem}.task-summary-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-muted)}.task-summary-item strong,.task-summary-item small{display:block}.task-summary-item small,.task-summary-meta small{color:var(--muted)}.task-summary-meta{display:grid;justify-items:end;gap:.35rem;flex:0 0 auto}.provider-summary{display:grid;gap:.65rem}.provider-summary div{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-muted)}.provider-summary span{color:#475569;font-weight:750}.provider-summary strong{font-size:1.15rem}:root[data-theme=dark] .empty,:root[data-theme=dark] .filter-group label,:root[data-theme=dark] .metric-card small,:root[data-theme=dark] .task-summary-item small,:root[data-theme=dark] .task-summary-meta small,:root[data-theme=dark] .timeline-header small,:root[data-theme=dark] .timeline-meta,:root[data-theme=dark] .provider-summary span,:root[data-theme=dark] .metric-label,:root[data-theme=dark] .summary-row{color:var(--muted)}:root[data-theme=dark] .kanban-column{background:#111827}:root[data-theme=dark] .kanban-column span{background:#263449;color:#dbeafe}:root[data-theme=dark] .segmented-control{background:var(--surface)}:root[data-theme=dark] .segmented-control button{color:#cbd5e1}:root[data-theme=dark] .priority,:root[data-theme=dark] .provider-card .card-title-row span,:root[data-theme=dark] .status-pill,:root[data-theme=dark] .event-type{background:#1e3a5f;color:#bfdbfe}:root[data-theme=dark] .priority.urgent,:root[data-theme=dark] .due-badge.overdue,:root[data-theme=dark] .danger-metric{background:#3f1f25;color:#fecaca;border-color:#7f1d1d}:root[data-theme=dark] .due-badge,:root[data-theme=dark] .due-badge.closed{background:#263449;color:#cbd5e1}:root[data-theme=dark] .due-badge.today,:root[data-theme=dark] .warning-metric{background:#3b2f16;color:#fde68a;border-color:#92400e}:root[data-theme=dark] .due-badge.this_week{background:#3b2617;color:#fed7aa}:root[data-theme=dark] .due-badge.future{background:#153524;color:#bbf7d0}:root[data-theme=dark] .metric-value{color:#f8fafc}:root[data-theme=dark] .danger-metric .metric-value{color:#fecaca}:root[data-theme=dark] .warning-metric .metric-value{color:#fde68a}:root[data-theme=dark] .bar-track{background:#263449}:root[data-theme=dark] .timeline-change{color:#cbd5e1}:root[data-theme=dark] .error{color:#fecaca;background:#3f1f25;border-color:#7f1d1d}@media (max-width: 860px){.login-card,.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto}.app-shell.sidebar-collapsed .sidebar{padding:1.25rem}.app-shell.sidebar-collapsed .brand{justify-content:flex-start}.app-shell.sidebar-collapsed .brand-details,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .user-details,.app-shell.sidebar-collapsed .theme-label{display:block}.app-shell.sidebar-collapsed .nav button{justify-content:flex-start;padding:.62rem .9rem}.app-shell.sidebar-collapsed .nav-short,.app-shell.sidebar-collapsed .user-avatar{display:none}.app-shell.sidebar-collapsed .user-card{justify-items:stretch;padding:1rem}.content{padding:1rem}.page-header,.toolbar{display:grid;grid-template-columns:1fr}.toolbar>select{max-width:none}.provider-search,.task-search{max-width:none}.provider-filter-row,.task-filter-row,.filter-group,.control-actions{display:grid;grid-template-columns:1fr}.filter-group label{max-width:none}.grid-form,.detail-grid,.dashboard-grid,.metric-grid{grid-template-columns:1fr}.wide-panel{grid-column:span 1}.summary-row{grid-template-columns:minmax(100px,1fr) minmax(70px,1fr) auto}.task-summary-item{align-items:flex-start;flex-direction:column}.task-summary-meta{justify-items:start}.span-2{grid-column:span 1}}
