:root{--bg:#f7f4ee;--panel:#fff;--ink:#1d2433;--muted:#647084;--line:#dcd7cc;--accent:#0f766e;--accent-strong:#115e59;--danger:#c2410c;--warning:#b7791f;--ok:#15803d;--blue:#1d4ed8;--shadow:0 20px 60px rgba(29,36,51,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffdfa;color:var(--ink);outline:none;padding:11px 12px}textarea{min-height:92px;resize:vertical}label{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.login-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin:0 auto;max-width:460px;padding:34px;width:100%}.app-logo,.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:grid;font-weight:900;height:44px;place-items:center;width:44px}.login-panel h1,.sidebar h1{margin:16px 0 8px}.login-panel p,.sidebar p{color:var(--muted);line-height:1.6;margin:0}.login-form{display:grid;grid-gap:18px;gap:18px;margin-top:28px}.ghost-button,.login-form button,.task-form button,.topbar button{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#18212f;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:28px}.sidebar p{color:#b7c4d8}.sidebar nav{display:grid;grid-gap:10px;gap:10px;margin-top:36px}.ghost-button,.sidebar a{align-items:center;border-radius:8px;color:#dce6f3;display:flex;gap:10px;padding:12px;text-decoration:none}.ghost-button,.sidebar a.active,.sidebar a:hover{background:hsla(0,0%,100%,.1)}.ghost-button{width:100%}.workspace{display:grid;grid-gap:24px;gap:24px;min-width:0;padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between}.form-actions,.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.section-heading span,.topbar span{color:var(--accent-strong);font-size:12px;font-weight:900}.section-heading h3,.topbar h2{margin:5px 0 0}.metric-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.kanban-column,.metric-card,.task-board,.task-card,.task-form{background:var(--panel);border:1px solid var(--line);border-radius:8px}.metric-card{display:grid;grid-gap:8px;gap:8px;padding:18px}.metric-card div{color:var(--accent)}.metric-card span{color:var(--muted);font-size:13px;font-weight:800}.metric-card strong{font-size:28px}.content-grid{align-items:flex-start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(320px,380px) minmax(0,1fr);min-width:0}.task-board,.task-form{display:grid;grid-gap:18px;gap:18px;padding:22px}.task-board{min-width:0}.board-page{width:100%}.form-page{max-width:760px;width:100%}.split-page{align-items:flex-start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(360px,1fr) minmax(360px,.9fr)}.form-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.large-textarea{min-height:180px}.parsed-task-panel{border-top:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;padding-top:18px}.parsed-task-list{display:grid;grid-gap:12px;gap:12px}.parsed-task-card{background:#f8f4ec;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:14px}.parsed-task-card div:first-child{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.parsed-task-card button{background:#fff7ed;border-radius:8px;color:var(--danger);font-size:12px;font-weight:900;min-height:30px;padding:0 10px}.parsed-task-card p{color:var(--muted);line-height:1.5;margin:0}.parsed-task-card small{color:var(--muted);font-size:12px;font-weight:800}.board-heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.board-tip{align-items:center;background:#f5f1e9;border-radius:8px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;gap:6px;padding:9px 10px}.kanban-board{display:grid;grid-gap:14px;gap:14px;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;overflow-x:auto;padding-bottom:8px}.kanban-column{background:#fbf8f1;display:grid;grid-gap:14px;gap:14px;grid-template-rows:auto 1fr;min-height:540px;padding:14px}.kanban-column.drop-ready{outline:2px dashed rgba(15,118,110,.2);outline-offset:-6px}.kanban-column-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.kanban-column-header h4{margin:0}.kanban-column-header p{color:var(--muted);font-size:12px;line-height:1.45;margin:6px 0 0}.kanban-column-header strong{align-items:center;background:#e8e2d6;border-radius:999px;display:grid;flex:0 0 30px;font-size:13px;height:30px;place-items:center;width:30px}.kanban-list{align-content:start;display:grid;grid-gap:12px;gap:12px}.task-card{cursor:-webkit-grab;cursor:grab;display:grid;grid-gap:13px;gap:13px;padding:14px;transition:box-shadow .16s ease,opacity .16s ease,transform .16s ease}.task-card:hover{box-shadow:0 12px 28px rgba(29,36,51,.1);transform:translateY(-1px)}.task-card.is-dragging{opacity:.5}.task-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.task-card h4{margin:8px 0 0}.detail-section p,.task-card p{color:var(--muted);line-height:1.55;margin:0}.drag-handle{color:#94a3b8;flex:0 0 auto}.priority{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:4px 9px}.priority-low{background:#dcfce7;color:var(--ok)}.priority-medium{background:#dbeafe;color:var(--blue)}.priority-high{background:#fef3c7;color:var(--warning)}.priority-urgent{background:#ffedd5;color:var(--danger)}.icon-button{align-items:center;background:#fff7ed;border-radius:8px;color:var(--danger);display:grid;flex:0 0 40px;height:40px;place-items:center;width:40px}.icon-button.neutral{background:#eef2f7;color:var(--ink)}.skill-list,.task-meta{display:flex;flex-wrap:wrap;gap:8px}.ai-note,.skill-list span,.task-meta span{background:#f5f1e9;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;padding:8px 10px}.progress-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto}.progress-row strong{color:var(--muted);font-size:12px}.progress-row input{max-width:72px;padding:7px 8px}.progress-bar{background:#e8e2d6;border-radius:999px;height:9px;overflow:hidden}.progress-bar span{background:var(--accent);display:block;height:100%}.card-actions{display:flex;gap:8px}.card-actions button,.delete-detail-button,.secondary-link{align-items:center;background:#eef7f6;border-radius:8px;color:var(--accent-strong);display:inline-flex;font-size:13px;font-weight:900;gap:7px;justify-content:center;min-height:38px;padding:0 11px;text-decoration:none}.secondary-link{background:#f5f1e9;color:var(--ink);min-height:44px;padding:0 14px}.card-actions .danger-action,.delete-detail-button{background:#fff7ed;color:var(--danger)}.error-message{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:var(--danger);padding:12px}.empty-column,.error-message{font-size:13px;font-weight:800}.empty-column{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:22px 12px;text-align:center}.drawer-backdrop{background:rgba(15,23,42,.24);bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:20}.task-drawer{background:var(--panel);box-shadow:-18px 0 60px rgba(15,23,42,.18);display:grid;grid-gap:20px;gap:20px;max-width:460px;overflow-y:auto;padding:24px;width:min(100vw,460px)}.drawer-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.drawer-header span{align-items:center;color:var(--accent-strong);display:inline-flex;font-size:12px;font-weight:900;gap:6px}.drawer-header h3{margin:8px 0 0}.detail-section{display:grid;grid-gap:10px;gap:10px}.detail-section h4{margin:0}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading div{display:grid;grid-gap:4px;gap:4px}.section-heading span{color:var(--muted);font-size:12px;font-weight:800}.section-heading svg{color:var(--accent)}.detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.detail-item{background:#f8f4ec;border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.detail-item span{color:var(--muted);font-size:12px;font-weight:800}.detail-item strong{font-size:14px}.delete-detail-button{min-height:44px}.report-section{border-top:1px solid var(--line);padding-top:18px}.report-summary-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.report-stat{background:#f6faf8;border:1px solid #d9ebe4;border-radius:8px;display:grid;grid-gap:6px;gap:6px;min-width:0;padding:12px}.report-stat svg{color:var(--accent)}.report-stat span{color:var(--muted);font-size:11px;font-weight:900}.report-stat strong{font-size:15px;overflow-wrap:anywhere}.progress-story{background:#fbfaf7;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.progress-story>div:first-child{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:900;justify-content:space-between}.delta-positive{color:var(--ok)}.delta-negative{color:var(--danger)}.progress-track{background:#e9e3d8;border-radius:999px;height:10px;position:relative}.progress-track:before{background:linear-gradient(90deg,var(--accent),#2563eb);border-radius:inherit;content:"";inset:0;position:absolute}.progress-dot{background:#fff;border:3px solid var(--accent-strong);border-radius:999px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px}.report-timeline{display:grid;grid-gap:14px;gap:14px}.report-timeline-item{display:grid;grid-gap:12px;gap:12px;grid-template-columns:86px minmax(0,1fr);position:relative}.report-timeline-item:before{background:var(--accent);border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #b9d8cf;content:"";height:12px;left:80px;position:absolute;top:8px;width:12px}.timeline-date{display:grid;grid-gap:4px;gap:4px;padding-top:2px}.timeline-date strong{font-size:13px}.timeline-content small,.timeline-date span{color:var(--muted);font-size:12px;font-weight:800}.timeline-content{background:#f8f4ec;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;min-width:0;padding:12px}.timeline-topline{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.timeline-topline strong{margin-right:auto}.progress-chip,.status-pill{border-radius:999px;font-size:11px;font-weight:900;padding:4px 8px}.status-pill{background:#e6f3ef;color:var(--accent-strong)}.status-done{background:#dcfce7;color:var(--ok)}.status-blocked{background:#ffedd5;color:var(--danger)}.status-review{background:#dbeafe;color:var(--blue)}.progress-chip{background:#fff;border:1px solid var(--line);color:var(--ink)}.timeline-content p{color:var(--ink);font-size:13px;line-height:1.5;margin:0}.blocker-text{color:var(--danger)}.empty-reports{align-items:center;background:#f8f4ec;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:flex;gap:10px;padding:14px}.empty-reports p{margin:0}.members-layout{align-items:flex-start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(320px,380px) minmax(0,1fr)}.member-form{position:-webkit-sticky;position:sticky;top:24px}.member-card,.member-list{display:grid;grid-gap:18px;gap:18px}.member-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.member-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.member-header h3{margin:8px 0 4px}.member-description,.member-header p,.muted-text{color:var(--muted);line-height:1.55;margin:0}.availability{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:4px 9px}.availability-idle{background:#dcfce7;color:var(--ok)}.availability-available{background:#dbeafe;color:var(--blue)}.availability-busy{background:#ffedd5;color:var(--danger)}.member-load{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.member-load div{background:#f8f4ec;border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.member-load span{color:var(--muted);font-size:12px;font-weight:800}.member-load strong{font-size:22px}.member-section{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;padding-top:16px}.member-section h4{margin:0}.member-task-list{display:grid;grid-gap:10px;gap:10px}.member-task-row{align-items:center;background:#f8f4ec;border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto;padding:12px}.member-task-row div{display:grid;grid-gap:5px;gap:5px}.member-task-row span{color:var(--muted);font-size:12px;font-weight:800}.member-task-row small{color:var(--accent-strong);font-size:13px;font-weight:900}@media (max-width:1180px){.content-grid,.members-layout{grid-template-columns:1fr}.member-form{position:static}.split-page{grid-template-columns:1fr}.kanban-board{grid-auto-columns:minmax(260px,320px)}}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{gap:22px}.metric-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.sidebar,.workspace{padding:18px}.board-heading,.topbar{align-items:stretch;display:grid;grid-gap:12px;gap:12px}.detail-grid,.form-row,.member-load,.metric-grid{grid-template-columns:1fr}}.weekly-report-shell{min-height:100vh;background:var(--background);color:var(--text);padding:32px}.weekly-report-state{display:grid;place-items:center;font-size:15px;color:var(--muted)}.weekly-report-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:end;margin-bottom:24px}.weekly-report-header h1{margin:6px 0 8px;font-size:30px;letter-spacing:0}.weekly-chart-toolbar p,.weekly-report-header p,.weekly-summary-block p{margin:0;color:var(--muted);line-height:1.6}.weekly-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));grid-gap:10px;gap:10px}.weekly-metric{display:grid;grid-gap:5px;gap:5px;min-width:92px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}.weekly-metric svg{color:var(--accent)}.weekly-metric span{color:var(--muted);font-size:12px}.weekly-metric strong{font-size:22px}.weekly-report-layout{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:18px;gap:18px}.weekly-card,.weekly-member-panel{border:1px solid var(--border);border-radius:8px;background:#fff}.weekly-member-panel{align-self:start;padding:10px}.weekly-day-cell,.weekly-day-tabs button,.weekly-member,.weekly-task{cursor:pointer;border:1px solid transparent;background:transparent;color:inherit;text-align:left;font:inherit}.weekly-member{width:100%;display:grid;grid-gap:5px;gap:5px;padding:12px;border-radius:7px}.weekly-evidence small,.weekly-member span,.weekly-task small{color:var(--muted);font-size:12px}.weekly-day-cell.active,.weekly-day-tabs button.active,.weekly-member.active,.weekly-task.active{border-color:rgba(15,118,110,.28);background:#eef7f6}.weekly-main-panel{min-width:0;display:grid;grid-gap:16px;gap:16px}.weekly-chart-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center}.weekly-card h3,.weekly-chart-toolbar h2{margin:0 0 6px;font-size:18px;letter-spacing:0}.weekly-day-tabs{display:flex;flex-wrap:wrap;gap:6px}.weekly-day-tabs button{padding:8px 10px;border-radius:7px;border-color:var(--border);background:#fff}.weekly-workday-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.weekly-day-cell{min-height:126px;display:grid;align-content:start;grid-gap:8px;gap:8px;padding:12px;border-color:var(--border);border-radius:8px;background:#fff}.weekly-day-cell span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.weekly-day-cell strong{font-size:14px}.weekly-day-cell div{display:grid;grid-gap:4px;gap:4px}.weekly-day-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.weekly-content-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);grid-gap:16px;gap:16px;align-items:start}.weekly-card{padding:16px}.weekly-task-list{display:grid;grid-gap:10px;gap:10px}.weekly-task{display:grid;grid-gap:6px;gap:6px;width:100%;padding:12px;border-color:var(--border);border-radius:8px;background:#fff}.weekly-task>span{justify-self:start;padding:3px 7px;border-radius:999px;background:#edf2f7;color:#334155;font-size:12px}.weekly-progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e5e7eb}.weekly-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.weekly-detail{display:grid;grid-gap:14px;gap:14px}.weekly-summary-block{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.weekly-summary-block:first-of-type{padding-top:0;border-top:0}.weekly-risk{display:flex;gap:6px;align-items:center;color:#b45309!important}.weekly-evidence{display:grid;grid-gap:4px;gap:4px;padding:10px;border-radius:7px;background:#f8fafc}.weekly-evidence span{color:var(--accent);font-size:12px;font-weight:700}.weekly-evidence p{margin:0}@media (max-width:1080px){.weekly-chart-toolbar,.weekly-content-grid,.weekly-report-header,.weekly-report-layout{grid-template-columns:1fr}.weekly-report-metrics,.weekly-workday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.weekly-report-shell{padding:18px}.weekly-report-metrics,.weekly-workday-grid{grid-template-columns:1fr}}