:root{--ink:#17211e;--muted:#708079;--green:#146b50;--bg:#f4f6f2;--line:#dfe5df}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,sans-serif}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#122e26;flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 9px 34px;display:flex}.brand>b{border:1px solid #7fa99b;border-radius:12px;place-items:center;width:38px;height:38px;font-family:Georgia;font-size:25px;display:grid}.brand span{letter-spacing:.08em;font-weight:800}.brand small{color:#99b3aa;font-size:8px}nav{gap:7px;display:grid}nav button{color:#a9bdb6;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:12px;font-size:14px;font-weight:600}nav button i{width:30px;font-style:normal;display:inline-block}nav button.active{color:#fff;background:#245044}nav em{float:right;color:#fff;background:#d77d42;border-radius:20px;padding:2px 7px;font-style:normal}.profile{border-top:1px solid #345047;align-items:center;gap:10px;margin-top:auto;padding:20px 7px 0;display:flex}.profile>div{color:#17211e;background:#d8ad77;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:700;display:grid}.profile span{display:grid}.profile small{color:#91a9a1;margin-top:3px}main{min-width:0;padding:34px 42px}header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}header p{color:var(--muted);margin:0 0 6px;font-size:13px}h1{margin:0;font-family:Georgia;font-size:30px}.primary{cursor:pointer;border-radius:9px;padding:12px 18px;font-weight:700;background:var(--green)!important;color:#fff!important;border:0!important}.hero{color:#fff;background:linear-gradient(110deg,#163c31,#21634e);border-radius:18px;justify-content:space-between;align-items:center;padding:28px 34px;display:flex;box-shadow:0 12px 30px #163c3120}.hero h2{margin:9px 0;font:28px Georgia}.hero p{color:#c3d7d0;max-width:600px}.hero button{color:#d8be91;background:0 0;border:0;padding:0;font-weight:700}.eyebrow{letter-spacing:.14em;color:#a9bdb5;font-size:10px;font-weight:800}.eva{text-align:center;min-width:150px;display:grid}.eva span{font-size:38px}.eva small{color:#a9bdb5;margin-top:5px}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 34px;display:grid}.stats article,.departments article,.task,.approval-list article,.timeline,.org{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px}.stats span,.task>span,.approval-list span{letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700}.stats b{margin:12px 0 5px;font:31px Georgia;display:block}.stats small{color:var(--muted)}.section-title{justify-content:space-between;align-items:end;margin:24px 0 14px;display:flex}.section-title h2{margin:5px 0 0;font:23px Georgia}.section-title button{color:var(--green);background:0 0;border:0;font-weight:700}.departments{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.departments article{border-top:3px solid var(--c)}.dept-icon{color:var(--c);font-size:25px}.online{float:right;color:#29936d;font-size:9px}.departments h3{margin:24px 0 8px;font-size:14px}.departments p{color:var(--muted);height:26px;font-size:11px}.bar,.progress{background:#edf0ec;border-radius:4px;height:5px;overflow:hidden}.bar i{background:var(--c);height:100%;display:block}.departments small{color:var(--muted);font-size:10px}.board{grid-template-columns:repeat(6,minmax(180px,1fr));gap:12px;padding-bottom:18px;display:grid;overflow:auto}.column>h3{color:var(--muted);text-transform:uppercase;font-size:12px}.column>h3 b{float:right;background:#e2e8e3;border-radius:15px;padding:2px 7px}.task{margin-bottom:10px}.task h4{font-size:13px;line-height:1.4}.task p{color:var(--muted);font-size:11px}.task select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;margin-top:12px;padding:7px}.progress i{background:var(--green);height:100%;display:block}.approval-list{gap:12px;display:grid}.approval-list article{justify-content:space-between;align-items:center;display:flex}.approval-list button{border:1px solid var(--line);background:#fff;border-radius:8px;margin-left:8px;padding:10px}.approval-list .approve{background:var(--green);color:#fff}.empty{text-align:center;color:var(--muted);background:#fff;border-radius:14px;padding:70px}.timeline p{border-left:2px solid #aec4ba;padding:5px 18px;display:grid}.timeline p b{color:var(--green);font-size:11px}.timeline p small{color:var(--muted);margin-top:5px}.org{text-align:center;padding:35px}.person{max-width:280px;margin:auto}.person>b{background:#d8ad77;border-radius:50%;place-items:center;width:50px;height:50px;margin:auto;font-size:20px;display:grid}.chief>b{background:#d9efe6}.person h3{margin-bottom:3px}.person p{color:var(--muted);font-size:12px}.line{background:#aabbb4;width:1px;height:35px;margin:auto}.org-depts{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.org-depts>div{border:1px solid var(--line);border-top:4px solid;border-radius:10px;padding:18px 8px}.org-depts h4{font-size:12px}.org-depts p,.org-depts span{color:var(--muted);font-size:10px}.modal{z-index:5;background:#0d1d19aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal form{background:#fff;border-radius:16px;width:min(500px,100%);padding:28px;position:relative}.modal h2{font-family:Georgia}.modal label{gap:7px;margin:15px 0;font-size:12px;font-weight:700;display:grid}.modal input,.modal select{border:1px solid var(--line);border-radius:8px;padding:12px}.modal .row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.x{background:0 0;border:0;font-size:25px;position:absolute;top:15px;right:18px}.modal .primary{width:100%;margin-top:10px}@media (max-width:900px){.shell{grid-template-columns:70px 1fr}aside{padding:20px 10px}.brand span,nav button:not(.active){font-size:0}.brand{padding:0 5px 30px}.brand>b{min-width:38px}nav button{text-align:center;font-size:0}nav button i{width:auto;font-size:20px}.profile span{display:none}.stats,.departments,.org-depts{grid-template-columns:1fr 1fr}main{padding:25px 18px}}@media (max-width:560px){.shell{display:block}aside{z-index:4;width:100%;height:65px;padding:8px;position:fixed;inset:auto 0 0}aside .brand,.profile{display:none}nav{justify-content:space-around;display:flex}nav button,nav button.active{background:0 0}nav em{display:none}main{padding:20px 14px 85px}header{align-items:start}header .primary{padding:11px;font-size:0}header .primary:first-letter{font-size:18px}.hero{padding:22px}.eva{display:none}.stats{grid-template-columns:1fr 1fr}.stats article{padding:14px}.departments,.org-depts{grid-template-columns:1fr}.board{grid-template-columns:repeat(6,82vw)}.approval-list article{display:block}.approval-list article>div:last-child{margin-top:15px}.modal .row{grid-template-columns:1fr}}
.header-actions{align-items:center;gap:10px;display:flex}.logout{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;padding:11px 14px}.login-page{background:radial-gradient(circle at top,#dcebe4,#f4f6f2 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;width:min(420px,100%);padding:38px;box-shadow:0 20px 60px #163c3120}.login-mark{color:#fff;background:#163c31;border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 18px;font:30px Georgia;display:grid}.login-card h1{margin:14px 0 8px}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card form,.login-card label{text-align:left;gap:9px;display:grid}.login-card label{font-size:12px;font-weight:700}.login-card input{border:1px solid var(--line);border-radius:9px;padding:13px}.login-card form .primary{margin-top:16px}.login-card button:disabled{opacity:.45;cursor:not-allowed}.login-error{color:#9a3c24;background:#fff0eb;border-radius:9px;margin:0 0 18px;padding:11px;font-size:13px}@media (max-width:560px){.header-actions{gap:5px}.logout{padding:11px;font-size:0}.logout:after{content:"↪";font-size:17px}.login-card{padding:28px 22px}}
.sync{color:var(--muted);white-space:nowrap;font-size:11px}.sync.saved{color:#207653}.sync.error{color:#ad452c}.sync-error{color:#8e3620;background:#fff0eb;border:1px solid #edb9aa;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:-12px 0 20px;padding:12px 15px;font-size:13px;display:flex}.sync-error button{color:#fff;cursor:pointer;background:#8e3620;border:0;border-radius:7px;padding:8px 12px}.primary:disabled{opacity:.5;cursor:not-allowed}.read-only .board select,.read-only .approval-list button,.read-only .detail select{pointer-events:none;opacity:.5}@media (max-width:560px){.sync{display:none}.sync-error{align-items:flex-start}.sync-error span{line-height:1.4}}
.modal form{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto}.modal input,.modal select,.modal textarea{border:1px solid var(--line);font:inherit;border-radius:8px;padding:12px}.modal textarea{resize:vertical}.project-filter{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.project-filter select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:260px;padding:9px 12px}.modal-actions{grid-template-columns:auto 1fr;align-items:end;gap:10px;display:grid}.modal-actions .danger{color:#a8382b;cursor:pointer;background:#fff6f4;border:1px solid #e6b9b2;border-radius:9px;padding:12px 18px;font-weight:700}.modal-actions .primary{margin:0}.dispatch{color:#146b50;cursor:pointer;background:#eef8f3;border:1px solid #146b50;border-radius:9px;width:100%;margin:0 0 12px;padding:12px;font-weight:700}.dispatch:disabled{opacity:.55;cursor:not-allowed}.run-state{color:#146b50;overflow-wrap:anywhere;background:#eef8f3;border-radius:8px;margin:12px 0;padding:10px 12px;font-size:12px}.dispatch-error{color:#a8382b;margin:0 0 10px;font-size:12px}.agent-result{background:#f3fbf7;border:1px solid #b8ddcc;border-radius:10px;margin:12px 0;padding:14px}.agent-result b{color:#146b50;font-size:12px}.agent-result p{white-space:pre-wrap;max-height:220px;font-size:12px;line-height:1.5;overflow:auto}.agent-result small{color:var(--muted)}.agent-result.failed{background:#fff6f4;border-color:#e6b9b2}.agent-result.failed b{color:#a8382b}@media (max-width:560px){.project-filter{display:grid}.modal-actions{grid-template-columns:1fr}.modal-actions .danger{order:2}}
