:root{--navy:#102a48;--dark:#0a1c31;--accent:#2465da;--accent-2:#e9f2ff;--text:#1a2c45;--muted:#6b7d94;--line:#dce5ef;--surface:#fff;--bg:#f4f7fb;--teal:#088a75;--teal-light:#e1f7f2;--red:#c33f54;--red-light:#fff0f1;--orange:#ae690b;--orange-light:#fff4e1;--violet:#7254bb;--violet-light:#f0ecff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 'Segoe UI','Noto Sans Thai',Tahoma,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9ec2ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.035em;line-height:1.3;margin-bottom:5px}h2{font-size:18px;margin-bottom:0}h3{font-size:16px;margin-bottom:0}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#e9f3ff;display:flex;flex-direction:column;gap:0;padding:29px 19px;position:sticky;top:0;height:100vh;min-width:0}.brand{display:flex;gap:12px;align-items:center;padding:0 8px}.brand-icon{width:41px;height:41px;border:1px solid #6d99d7;border-radius:12px;display:grid;place-items:center;font-size:25px;color:#cee1ff;background:#23476e}.brand strong{letter-spacing:.12em;font-size:14px;display:block}.brand small{display:block;color:#94b5db;font-size:9px;letter-spacing:.09em}.org-name{font-size:13px;color:#bbd5f1;margin:28px 8px 24px;line-height:1.8}.nav-caption{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#88a7c7;margin:3px 12px 11px}.sidebar nav{display:grid;gap:5px}.nav-item{width:100%;background:transparent;border:1px solid transparent;color:#c3d3e5;text-align:left;border-radius:10px;padding:11px 12px;font-weight:600;display:flex;gap:13px;align-items:center;font-size:13px}.nav-item span{font-size:18px;width:22px;text-align:center;color:#93b2d4}.nav-item em{margin-left:auto;font-size:10px;color:#7292b4;font-style:normal}.nav-item:hover,.nav-item.active{background:#21476d;border-color:#315b87;color:#fff}.nav-item.active span{color:#fff}.sidebar-bottom{margin-top:auto;padding:23px 9px 0;border-top:1px solid #34516d;color:#abc4df;font-size:11px;line-height:1.65}.sidebar-bottom p{margin:9px 0 0}.side-label{font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:10px;margin-bottom:8px}.demo-pill{background:#183c5f;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:7px;font-weight:800;letter-spacing:.05em}.indicator{background:#ffbc62;display:inline-block;width:7px;height:7px;border-radius:50%}.content{padding:32px 42px 28px;max-width:1580px;min-width:0;width:100%;margin:auto;align-self:start}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:19px}.topbar .overline{display:block;color:var(--accent);font-size:11px;letter-spacing:.12em;font-weight:800;margin-bottom:7px}.subtitle{color:var(--muted);margin-bottom:0}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-pill{color:var(--muted);font-size:12px;padding:8px 10px}.btn{border:1px solid var(--line);border-radius:9px;min-height:40px;white-space:nowrap;padding:9px 13px;font-weight:700;transition:.15s}.btn-ghost{background:#fff;color:#33455c}.btn-ghost:hover{border-color:#90a9cd;background:#f5faff}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#1757c5}.btn:disabled{opacity:.55;cursor:not-allowed}.notice{display:flex;gap:10px;align-items:flex-start;background:#fffaf1;border:1px solid #f3dbaf;color:#70541f;border-radius:10px;padding:11px 14px;font-size:12px;margin-bottom:23px}.notice-icon{font-size:17px;line-height:1}.notice button{border:0;background:transparent;color:inherit;font-size:21px;margin-left:auto;line-height:1}.page{display:none}.page.active{display:block}.section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:5px 0 17px}.section-head h2{color:#23354b;font-size:18px}.section-head p,.panel-heading p{color:var(--muted);font-size:12px;margin:3px 0 0}.mini-muted{color:var(--muted);font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:18px}.kpi{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px 18px 15px;min-width:0;position:relative;overflow:hidden}.kpi:before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:var(--accent)}.kpi.teal:before{background:var(--teal)}.kpi.red:before{background:var(--red)}.kpi.orange:before{background:#d8992f}.kpi.violet:before{background:var(--violet)}.kpi .label{font-weight:600;color:var(--muted);font-size:12px}.kpi .value{display:block;font-size:32px;font-weight:800;letter-spacing:-.03em;margin:5px 0 0;line-height:1.15;color:#1b2f49}.kpi .foot{display:block;font-size:11px;color:var(--muted);margin-top:9px}.kpi.red .value{color:var(--red)}.kpi.teal .value{color:var(--teal)}.grid-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:17px;margin-bottom:17px}.bottom-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:19px 22px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px}.linkbtn{font-weight:700;color:var(--accent);background:transparent;border:0;font-size:12px;padding:5px;white-space:nowrap}.priority-list{display:grid;gap:8px}.priority-row{display:flex;align-items:center;gap:13px;padding:11px 4px;border-bottom:1px solid #ecf0f5;text-align:left;border-left:0;border-right:0;border-top:0;background:#fff;width:100%}.priority-row:last-child{border-bottom:0}.rank-number{width:32px;height:32px;border-radius:9px;background:#edf3fa;display:grid;place-items:center;color:#58718e;font-weight:800;flex-shrink:0}.priority-row:first-child .rank-number{background:#fff0e6;color:#b26821}.priority-row .info{min-width:0;flex:1}.priority-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.priority-row small{color:var(--muted);font-size:11px;display:block;margin-top:3px}.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap;background:#f2f5f9;color:#60748d}.tag.danger{background:var(--red-light);color:var(--red)}.tag.warning{background:var(--orange-light);color:var(--orange)}.tag.done{background:var(--teal-light);color:var(--teal)}.tag.info{background:var(--accent-2);color:var(--accent)}.tag.blocked{background:var(--violet-light);color:var(--violet)}.status-donut{display:flex;justify-content:center;align-items:center;padding:12px 0}.donut{width:164px;height:164px;border-radius:50%;display:grid;place-items:center;position:relative;flex-shrink:0}.donut:before{content:'';background:#fff;border-radius:50%;position:absolute;inset:23px}.donut-center{text-align:center;position:relative;z-index:1}.donut-center strong{font-size:30px;line-height:1.1;display:block}.donut-center small{color:var(--muted);font-size:11px}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 15px}.legend span{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.personbar,.topicbar{margin-bottom:16px}.personbar:last-child,.topicbar:last-child{margin-bottom:0}.bar-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px}.bar-top strong{color:#28415d}.bar-top span{color:var(--muted)}.bar-track{height:8px;background:#eaf0f6;border-radius:99px;overflow:hidden;display:flex}.bar-fill{height:100%;border-radius:99px;background:#447fd4}.bar-fill.done{background:#26a68d}.bar-fill.violet{background:#8375ce}.bar-fill.orange{background:#e6a84a}.bar-fill.gray{background:#7c9aba}.count-chip{border-radius:50px;padding:5px 12px;color:#506787;background:#e5edf7;font-size:12px}.filters{padding:18px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:block;width:100%;min-width:0;border:1px solid #cfdbea;border-radius:8px;background:#fff;padding:9px 11px;min-height:40px;color:#2b3c54;font-size:14px}label{min-width:0}label>span{display:block;font-size:11px;font-weight:700;color:#526780;margin-bottom:5px}textarea.field{resize:vertical}.filter-foot{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:#8492a4;margin-top:12px}.filter-foot button{padding:0}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;min-width:720px}thead{background:#f5f8fc}th{font-size:11px;letter-spacing:.01em;color:#6d8097;font-weight:700;border-bottom:1px solid var(--line);padding:13px 13px;white-space:nowrap}td{padding:14px 13px;border-bottom:1px solid #e9eef5;vertical-align:middle;color:#394e66}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfd}.table-panel th:first-child,.table-panel td:first-child{padding-left:20px}.task-title{font-weight:700;color:#233a55}.smallrow{color:#8a9bb0;font-size:11px;margin-top:3px}.table-btn{border:1px solid var(--line);background:#fff;border-radius:7px;font-size:12px;color:var(--accent);padding:6px 9px;font-weight:700}.table-footer{padding:12px 19px;background:#fbfdff;border-top:1px solid var(--line);font-size:11px;color:#8492a4}.empty{padding:30px 20px;text-align:center;color:#8a98aa;font-size:13px}.empty strong{display:block;font-size:15px;color:#536982;margin-bottom:7px}.inline-control{display:flex;gap:8px;align-items:center}.inline-control label{font-size:12px;color:var(--muted)}.inline-control .field{min-width:190px}.timeline-date{font-weight:700;color:#354c66;display:flex;align-items:center;gap:8px;margin:20px 0 8px}.timeline-date:before{content:'';width:10px;height:10px;background:#487fc7;border-radius:50%;display:inline-block}.timeline-day{padding-left:26px;border-left:2px solid #dce6f2;margin-left:4px;display:grid;gap:8px}.timeline-entry{padding:12px 15px;border:1px solid var(--line);border-radius:9px;display:flex;gap:8px;justify-content:space-between;align-items:center;background:#fbfdff}.timeline-entry strong{font-size:13px}.timeline-entry small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.manager-card{display:flex;gap:15px;align-items:center;background:linear-gradient(115deg,#173a5e,#102a48);border-radius:15px;padding:22px;color:#fff;margin-bottom:16px}.manager-card h3{margin:2px 0 4px;font-size:18px}.manager-card small{color:#a9cee9;font-size:11px}.manager-card p{color:#b9d4ed;margin:0;font-size:12px}.manager-label{margin-left:auto;white-space:nowrap;color:#c6ddf6;background:#315676;padding:6px 11px;border-radius:8px;font-size:11px;font-weight:700}.avatar{background:#dfebf9;color:#2460a7;width:50px;height:50px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;font-size:21px;font-weight:800}.avatar.gold{background:#e5bd7c;color:#684517}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.person-card{padding:20px;display:flex;flex-direction:column;gap:10px}.person-top{display:flex;gap:11px;align-items:center}.person-info h3{font-size:14px}.person-info small{font-size:11px;color:var(--muted)}.person-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;border-top:1px solid var(--line);padding-top:15px}.person-stats strong{display:block;font-size:22px}.person-stats small{color:var(--muted)}.person-actions{display:flex;gap:8px;justify-content:flex-end}.report-tip{border:1px solid #cfdeef;background:#ecf5ff;color:#496783;padding:13px 16px;border-radius:10px;font-size:12px}.change-log{margin-top:17px}.log-row{padding:10px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e9eef5;font-size:12px}.log-row span{color:var(--muted);white-space:nowrap}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#8c9bae;font-size:11px;margin:32px 0 0}.footer span{letter-spacing:.08em;text-transform:uppercase}dialog{border:0;box-shadow:0 20px 80px #061d3c52;background:#fff;color:var(--text);border-radius:16px;width:min(820px,calc(100% - 30px));max-height:90vh;padding:0}dialog::backdrop{background:rgba(14,30,50,.60)}.dialog-wrap{max-height:90vh;display:flex;flex-direction:column}.dialog-head{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dialog-head small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:800}.dialog-head h2{font-size:20px;margin:3px 0 0}.dialog-content{padding:20px 23px;overflow-y:auto;max-height:calc(90vh - 148px)}.dialog-actions{border-top:1px solid var(--line);padding:14px 23px;display:flex;gap:10px;justify-content:flex-end;background:#fbfdff}.iconbtn{border:1px solid var(--line);border-radius:8px;background:#fff;width:36px;height:36px;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}.span-2{grid-column:span 2}.file-label small{font-size:11px;font-weight:400;color:var(--muted)}.file-area{margin-top:10px}.file-list{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.file-list button{border:1px solid var(--line);background:#f9fbff;border-radius:8px;padding:7px 9px;font-size:12px;color:#235c96}.error{color:#b32d3b;font-size:12px;min-height:16px;margin:8px 0 0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.meta-box{background:#f6f9fd;border:1px solid var(--line);padding:11px 13px;border-radius:9px}.meta-box small{color:#7f91a4;font-size:11px;display:block}.meta-box strong{display:block;font-size:13px;margin-top:2px;overflow-wrap:anywhere}.detail-section{margin-top:19px}.detail-section h3{font-size:13px;margin-bottom:6px}.detail-section p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.progress-track{width:100%;height:10px;background:#e9eef5;border-radius:20px;overflow:hidden;margin:9px 0}.progress-track div{height:100%;background:#288c80}.toast{position:fixed;bottom:20px;right:20px;padding:13px 18px;border-radius:10px;background:#163a5d;color:#fff;box-shadow:0 12px 25px #102a4842;max-width:400px;font-size:12px;z-index:20;display:none}.toast.show{display:block}#printArea{display:none}.detailFileWarning{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:27px 22px}.sidebar{padding:24px 12px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}}
@media(max-width:730px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:12px}.brand{display:inline-flex}.org-name,.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:3px;overflow-x:auto;padding:9px 0 0}.nav-item{white-space:nowrap;padding:8px 10px;min-width:fit-content;gap:4px}.nav-item em{display:none}.content{padding:20px 13px}.topbar h1{font-size:22px}.top-actions{width:100%}.date-pill{display:none}.btn{font-size:12px;padding:8px 11px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi{padding:13px}.kpi .value{font-size:28px}.bottom-overview{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:1fr}.manager-label{display:none}.panel{padding:16px}.inline-control .field{min-width:140px}}
@media(max-width:410px){.filter-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.priority-row{flex-wrap:wrap}.top-actions .btn{flex:1}.panel-heading{flex-wrap:wrap}.inline-control{width:100%}.inline-control .field{flex:1}.notice{font-size:11px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff;color:#111}.shell,dialog,.toast{display:none!important}#printArea{display:block!important;font:11px/1.5 'Segoe UI',Tahoma,sans-serif}#printArea h1{text-align:center;font-size:16px}#printArea p{text-align:center}#printArea table{min-width:0;width:100%;font-size:9px}#printArea th,#printArea td{padding:5px;border:1px solid #aaa!important;vertical-align:top}#printArea tr{break-inside:avoid}#printArea .printmeta{display:flex;gap:10px;justify-content:space-around;margin:18px 0}}

/* V3 document intake */
.import-wrap{max-width:760px}
.import-note{padding:13px 16px;background:#f4f8ff;border:1px solid #dce7f6;border-radius:13px;color:#173a5e;font-size:14px;line-height:1.55}
.import-note p{margin:5px 0 0;color:#3f5c7b}
.file-drop{margin:15px 0 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #a4b9d4;border-radius:15px;padding:20px;background:#f8fbff;min-height:100px;cursor:pointer;transition:background .15s,border-color .15s}
.file-drop strong{font-size:15px;color:#214466;text-align:center}.file-drop span{font-size:12px;color:#617b98}.file-drop.active,.file-drop:focus-visible{background:#e6f0ff;border-color:#377bd7;outline:2px solid #326dd6;outline-offset:1px}.file-drop input{max-width:100%;font-size:13px;margin-top:7px;color:#214466}
.import-controls{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0}.import-textlabel{display:block;margin:12px 0}.import-textlabel span{font-weight:650;display:block;margin-bottom:7px;font-size:13px}.import-textlabel textarea{width:100%;line-height:1.65;font-family:inherit}
.import-preview-head{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:13px 0 8px}.import-preview-head h3{font-size:16px;margin:0}.import-preview-head span{font-size:12px;color:#4a6482}
.import-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.import-preview .import-item{min-width:0;border:1px solid #e4ebf4;border-radius:11px;padding:10px 12px;background:#fff}.import-preview .import-item.wide{grid-column:span 2}.import-item small{display:block;font-size:12px;color:#71859a}.import-item strong{display:block;margin-top:4px;white-space:pre-wrap;word-break:break-word;color:#1d3c5a;font-size:13px;line-height:1.6}.import-item em{font-style:normal;font-size:10px;color:#a65d08}.import-warning{font-size:12px;line-height:1.6;color:#805d22;background:#fff7e6;border-radius:8px;padding:9px 12px}
@media(max-width:640px){.import-preview{grid-template-columns:1fr}.import-preview .import-item.wide{grid-column:auto}.import-controls .btn{flex:1 1 100%}}

/* Reviewer requested refinements · V4 */
.scope-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:18px 20px;margin:0 0 12px;border-radius:16px;background:#f5f8fd;border:1px solid #dce6f2}
.scope-controls>label,.history-topic-filter>label{display:flex;flex-direction:column;gap:7px;min-width:180px;max-width:340px;flex:1 1 190px;font-weight:600;color:#30445d}
.scope-controls [hidden]{display:none!important}
.scope-option{max-width:310px}
.history-topic-filter{display:flex;justify-content:flex-start;margin-bottom:12px}
.bar-track.stacked{display:flex;overflow:hidden;background:#e4e9ef}
.bar-track.stacked .bar-fill{display:block;height:100%;border-radius:0;min-width:0;flex:0 0 auto}
.bar-track.stacked .done-part{background:#159778}
.bar-track.stacked .pending-part{background:#e5ac36}
.bar-track.stacked .late-part{background:#dd6060}
.tag.urgency-critical{background:#fee7e7;color:#a5242c;border-color:#fcc4c7}
.tag.urgency-high{background:#fff0d9;color:#98530c;border-color:#ffdb9e}
.tag.urgency-medium{background:#e6eefc;color:#27509d;border-color:#c9dcfd}
.tag.urgency-low{background:#ecf4f3;color:#436a63;border-color:#d0e9e2}
.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:3px 0 24px}
.detail-key{padding:11px 13px;border-radius:10px;background:#f5f8fb;min-width:0}
.detail-key span{display:block;font-size:12px;color:#5b6d82;font-weight:600;margin-bottom:4px}
.detail-key strong{font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.detail-key:nth-child(5),.detail-key:nth-child(6),.detail-key:nth-child(13){grid-column:1/-1}
@media(max-width:600px){.scope-controls{padding:14px}.scope-controls>label{min-width:100%;max-width:100%}.detail-list{grid-template-columns:1fr}.detail-key{grid-column:auto!important}}

/* v4 final UX pass: accessible interactive work surfaces */
:root{--navy:#111e34;--accent:#3d62e5;--bg:#f5f7fc;--line:#e3e8f2;--text:#192b46;--muted:#66758b;--teal:#069779}
body{background:radial-gradient(circle at 60% -50px,rgba(101,123,235,.07),transparent 45%),#f5f7fc}
.sidebar{background:linear-gradient(165deg,#101d33 0%,#152d4b 75%,#15253d 100%)}
.brand-icon{background:linear-gradient(145deg,#3d62e5,#527dcf);border:0;box-shadow:0 6px 19px rgba(25,52,128,.28)}
.brand strong{letter-spacing:0;font-size:13px}.nav-item{transition:background .18s,transform .18s}.nav-item:hover{transform:translateX(2px)}
.btn,.field,.panel,.kpi{border-radius:12px}.btn-primary{box-shadow:0 6px 15px rgba(38,75,193,.16)}
.panel,.kpi{box-shadow:0 5px 24px rgba(26,44,77,.028)}
.kpi{padding-top:21px}.kpi .value{font-size:34px}
.notice{border-left:3px solid #d4a453}
.focus-strip{background:linear-gradient(117deg,#233c75 0%,#2d4fac 70%,#4960b2 100%);border-radius:20px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 27px;margin:0 0 23px;position:relative;overflow:hidden}
.focus-strip:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:280px;height:280px;right:19%;top:-200px;pointer-events:none}
.focus-copy{position:relative;z-index:1}.focus-copy .focus-eyebrow{display:block;color:#bad0ff;font-size:10px;letter-spacing:.15em;font-weight:800;margin-bottom:5px}
.focus-copy strong{font-size:19px;line-height:1.5}.focus-copy p{color:#cfdbfc;font-size:12px;margin:5px 0 0}
.focus-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}.focus-btn{background:#fff;border:1px solid #fff;color:#1c3981;border-radius:11px;min-height:43px;padding:10px 14px;font-weight:750}.focus-btn.secondary{border-color:#92a7dc;background:#314e8f;color:#f6f8ff}
.focus-btn:hover{transform:translateY(-1px)}
.personbar-clickable,.topicbar-clickable{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 6px;margin:0 0 5px;border-radius:9px;color:inherit}
.personbar-clickable:hover,.topicbar-clickable:hover{background:#f4f7ff}.personbar-clickable .bar-top,.topicbar-clickable .bar-top{margin-bottom:8px}
.chart-hint{font-size:11px;margin:10px 0 0}.bar-track.stacked{gap:0;border-radius:999px}.bar-track.stacked .bar-fill{border-radius:0}.bar-track.stacked .done-part{background:#0da788}.bar-track.stacked .pending-part{background:#e0a450}.bar-track.stacked .late-part{background:#d75b61}
.task-view-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:7px 0 12px}.view-help strong{display:block;font-weight:800;font-size:14px}.view-help small{display:block;color:var(--muted);font-size:11px}
.view-switch{display:inline-flex;border:1px solid var(--line);padding:4px;background:#edf2fa;border-radius:12px;flex-shrink:0}
.view-pill{min-height:36px;border:0;background:transparent;border-radius:9px;padding:6px 12px;color:#5b6c85;font-weight:750}.view-pill.active{background:#fff;color:#2546a1;box-shadow:0 2px 8px rgba(30,50,100,.1)}
.quick-filters{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:2px;scrollbar-width:thin}
.quick-chip{min-height:36px;border:1px solid #d5dfef;background:#fff;border-radius:999px;white-space:nowrap;color:#4e6585;padding:6px 13px;font-weight:700;font-size:12px}
.quick-chip.active{background:#e8eeff;color:#2648a0;border-color:#a9bced}
.quick-chip:hover{border-color:#7094e7}
.task-cards{display:none}.task-board{padding:15px;display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:11px;overflow-x:auto;background:#f7f9fc}
.task-board[hidden],.task-cards[hidden],.table-scroll[hidden]{display:none!important}
.board-column{border-radius:13px;background:#edf1f7;padding:10px;min-width:220px}
.board-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 3px 12px}.board-heading strong{font-size:13px}.board-heading span{font-size:11px;border-radius:100px;color:#657795;background:#fff;padding:3px 8px}
.board-content{display:grid;gap:10px;align-content:start}.board-empty{color:#8595a7;font-size:12px;text-align:center;padding:18px 4px}
.work-card{border:1px solid #e1e6f1;background:#fff;border-radius:13px;padding:14px;display:block;text-align:left;width:100%;color:#223651;box-shadow:0 2px 8px rgba(20,42,80,.025);transition:transform .15s,box-shadow .15s}
.work-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(32,50,87,.09)}
.work-card>strong{display:block;font-size:14px;line-height:1.5;margin:9px 0 4px;overflow-wrap:anywhere}.work-top,.work-info,.work-bottom{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.work-top{justify-content:space-between}.work-category{font-size:10px;color:#435fc2;font-weight:800;background:#edf1ff;border-radius:7px;padding:3px 7px}.work-meta{display:block;color:#8393a8;font-size:11px;margin-bottom:11px}.work-info{font-size:11px;color:#667892;justify-content:space-between}.work-bottom{margin-top:13px;gap:8px;font-size:11px;color:var(--muted)}.work-bottom .tag{margin-left:auto}
.progress-track{display:inline-block;flex:1 1 45px;min-width:42px;height:6px;border-radius:99px;background:#e4eaf3;overflow:hidden}.progress-track span{display:block;background:#2a9c88;height:100%;border-radius:99px}
.table-panel .task-board{border-radius:12px}
.scope-controls{background:#eff3fb}
@media(max-width:1200px){.task-board{grid-template-columns:repeat(5,minmax(205px,1fr))}}
@media(max-width:880px){.focus-strip{flex-direction:column;align-items:flex-start}.focus-actions{width:100%}}
@media(max-width:720px){.focus-strip{padding:20px;border-radius:16px}.focus-copy strong{font-size:16px}.focus-actions .focus-btn{flex:1 1 125px}.view-help small{display:none}.task-view-toolbar{margin-top:12px}.task-cards:not([hidden]){display:grid;grid-template-columns:1fr;gap:10px;padding:12px}.task-table-scroll{display:none}.task-board{grid-template-columns:1fr;overflow:visible}.board-column{min-width:0}.board-content{grid-template-columns:1fr}.board-column .work-card{padding:13px}.table-panel #taskTableScroll:not([hidden]){display:none}.work-card{padding:16px}.work-info{font-size:12px}.scope-controls{padding:14px}.view-switch{padding:2px}.view-pill{padding:6px 8px;font-size:12px}.focus-btn{font-size:12px}}
@media(min-width:721px){.task-cards:not([hidden]){display:none}}
@media (prefers-reduced-motion: reduce){.nav-item,.btn,.focus-btn,.work-card{transition:none!important}.nav-item:hover,.focus-btn:hover,.work-card:hover{transform:none!important}}