:root{--ink:#2b2d42;--paper:#edf2f4;--red:#ef233c;--muted:#8d99ae;--line:#d5dbe0;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.rail{background:var(--ink);color:var(--paper);width:88px;display:flex;align-items:center;flex-direction:column;padding:25px 0 20px;flex-shrink:0}.brand{width:30px;height:36px}.brand img{width:100%;height:100%}.nav-stack{display:flex;flex-direction:column;gap:16px;margin-top:62px;width:100%}.nav-item{border:0;background:transparent;color:var(--muted);font:500 10px 'DM Mono',monospace;display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 0;cursor:pointer}.nav-item.active,.nav-item:hover{color:var(--paper)}.nav-icon{font:23px Arial;line-height:22px}.nav-item.active .nav-icon{color:var(--red)}.rail-foot{margin-top:auto;font:10px 'DM Mono';letter-spacing:.08em;display:flex;align-items:center;gap:6px}.online-dot,.today-dot{width:7px;height:7px;border-radius:50%;background:#63c174;display:inline-block}.main-content{width:calc(100% - 88px);max-width:1440px;padding:35px 52px 60px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:25px}.eyebrow,.panel-heading,.metric span{font:500 10px 'DM Mono',monospace;letter-spacing:.1em;margin:0;color:var(--muted)}h1{font-size:28px;line-height:1.1;margin:8px 0 0;font-weight:600}h2{font-size:34px;margin:8px 0 10px}.top-actions{display:flex;align-items:center;gap:18px}.sync-label{font:11px 'DM Mono';color:var(--muted)}.sync-label b{color:var(--ink)}.icon-button,.avatar,.date-nav{border:0;background:transparent;color:var(--ink);cursor:pointer}.icon-button{font-size:24px;position:relative}.icon-button i{position:absolute;width:5px;height:5px;background:var(--red);border-radius:50%;top:1px;right:0}.avatar{background:var(--ink);color:var(--paper);width:32px;height:32px;border-radius:50%;font:10px 'DM Mono'}.view{display:none}.active-view{display:block}.alert-strip{margin:22px 0 18px;background:var(--ink);color:var(--paper);min-height:44px;padding:0 16px;display:flex;align-items:center;gap:10px;font-size:12px}.alert-mark{background:var(--red);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:bold}.strip-action{margin-left:auto;color:var(--paper);background:transparent;border:0;border-bottom:1px solid var(--muted);padding:4px 0;cursor:pointer;font-size:11px}.toolbar{display:flex;align-items:center;gap:14px;margin:20px 0}.segmented{display:flex;border:1px solid var(--line)}.segmented button{border:0;background:transparent;padding:8px 13px;font:11px 'DM Mono';color:var(--muted);cursor:pointer}.segmented .selected{background:var(--white);color:var(--ink)}.date-nav{font-size:22px}.command-button{margin-left:auto;background:var(--red);color:white;border:0;padding:11px 16px;font:500 11px 'DM Mono';cursor:pointer}.planner-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.schedule-panel,.side-panel,.chart-panel{background:var(--white);border:1px solid var(--line)}.panel-heading{height:47px;border-bottom:1px solid var(--line);padding:0 16px;display:flex;align-items:center;justify-content:space-between}.muted{color:var(--muted);font:10px 'DM Mono'}.schedule{min-width:690px}.schedule-wrap{overflow-x:auto}.day-head,.task-row{display:grid;grid-template-columns:160px 1fr;min-height:66px;border-bottom:1px solid var(--line)}.day-head{min-height:42px;color:var(--muted);font:10px 'DM Mono'}.day-head>span,.project{padding:14px 15px}.day-head b{padding:14px 5px;text-align:center;font-weight:400;border-left:1px solid #eef0f2}.day-head .current{color:var(--red);background:#fff2f3}.track{display:grid;grid-template-columns:repeat(7,1fr);position:relative}.track i{border-left:1px solid #eef0f2}.project{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);font:11px 'DM Mono'}.project small{color:var(--muted);font:10px 'DM Mono'}.task{position:absolute;top:18px;left:calc(var(--start) * 14.2857% + 4px);width:calc(var(--span) * 14.2857% - 8px);height:29px;border:0;padding:0 9px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:11px;cursor:pointer}.task.in-progress{background:#c9d2de;border-left:3px solid var(--ink)}.task.planned{background:#edf2f4;border-left:3px solid var(--muted)}.task.critical{background:#ffe1e4;border-left:3px solid var(--red)}.task.focused{outline:3px solid var(--red);z-index:2}.side-panel{height:max-content}.today-list{padding:6px 16px}.today-item{display:grid;grid-template-columns:42px 1fr 7px;gap:8px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.today-item strong,.today-item small{display:block}.today-item strong{font-size:11px;font-weight:500}.today-item small{font:9px 'DM Mono';color:var(--muted);margin-top:5px}.time{font:10px 'DM Mono';color:var(--muted)}.mini-state{width:7px;height:7px;border-radius:50%}.mini-state.critical{background:var(--red)}.mini-state.in-progress{background:var(--ink)}.mini-state.planned{background:var(--muted)}.legend{padding:18px 16px;display:grid;gap:10px;font:10px 'DM Mono'}.legend p{color:var(--muted);margin:0 0 4px}.legend-color{display:inline-block;width:8px;height:8px;margin-right:8px}.critical{background:var(--red)}.in-progress{background:var(--ink)}.planned{background:var(--muted)}.section-intro{margin:55px 0 30px;max-width:620px}.section-intro p:last-child{color:var(--muted);margin:0}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.metric{background:var(--white);padding:22px;border-top:3px solid var(--muted);display:flex;flex-direction:column;gap:12px}.metric.accent{border-color:var(--red)}.metric strong{font-size:42px}.metric strong span{font-size:18px;color:var(--muted)}.metric small{font:10px 'DM Mono';color:var(--muted)}.chart-panel{max-width:850px}.bars{height:260px;display:flex;align-items:end;gap:7%;padding:30px 8% 0;border-bottom:1px solid var(--line)}.bars i{background:#c9d2de;width:8%;position:relative}.bars i.hot{background:var(--red)}.bars b{position:absolute;top:-20px;font:10px 'DM Mono'}.chart-labels{display:flex;justify-content:space-between;padding:14px 8%;font:10px 'DM Mono';color:var(--muted)}.import-zone{border:1px dashed var(--muted);background:var(--white);max-width:680px;text-align:center;padding:60px 20px}.upload-icon{font-size:32px;color:var(--red)}.import-zone h3{margin:14px 0 6px}.import-zone p{color:var(--muted);margin:0 0 25px}.import-zone .command-button{margin:0}.import-zone.loaded{border-color:#63c174}.import-log{max-width:680px;padding:14px 0;font:10px 'DM Mono';color:var(--muted)}.import-log strong{color:#438d4d}.status-list{max-width:850px;background:var(--white);border:1px solid var(--line)}.status-row{display:grid;grid-template-columns:16px 1fr auto;gap:16px;padding:22px;border-bottom:1px solid var(--line);align-items:center}.status-row:last-child{border-bottom:0}.status-row strong,.status-row small{display:block}.status-row small{color:var(--muted);margin-top:6px}.status-row>b{font:10px 'DM Mono';color:#438d4d}.status-row:nth-child(2)>b{color:#a77900}.status-pin{width:10px;height:10px;border-radius:50%}.status-pin.green{background:#63c174}.status-pin.amber{background:#e2ae29}
@media (max-width:700px){.rail{width:58px;padding-top:19px}.main-content{width:calc(100% - 58px);padding:22px 14px 40px}.nav-stack{margin-top:45px}.nav-item{font-size:0}.nav-icon{font-size:21px}.topbar{padding-bottom:17px}.top-actions{gap:8px}.sync-label{display:none}h1{font-size:21px}.alert-strip{align-items:flex-start;padding:12px;flex-wrap:wrap;line-height:1.3}.strip-action{margin-left:30px}.toolbar{flex-wrap:wrap;gap:8px}.toolbar strong{font-size:12px}.command-button{margin-left:0;width:100%}.planner-grid{grid-template-columns:1fr}.side-panel{order:-1}.schedule-panel{min-width:0}.schedule{min-width:650px}.day-head,.task-row{grid-template-columns:135px 1fr}.metric-row{grid-template-columns:1fr}.section-intro{margin:32px 0 25px}h2{font-size:27px}.bars{height:190px}.status-row{grid-template-columns:10px 1fr;gap:11px;padding:16px}.status-row>b{grid-column:2}.avatar{width:29px;height:29px}.panel-heading{padding:0 12px}}
@media (min-width:1200px){.main-content{padding-left:72px;padding-right:72px}.planner-grid{grid-template-columns:minmax(0,1fr) 310px}.schedule-panel{min-height:500px}}
