:root{color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface2:#f8f9fb;--ink:#252a34;--muted:#828995;--line:#e6e9ee;--green:#2878e8;--hover:#f0f5ff;--softblue:#eaf2ff;--side:#fbfcfd;--shadow:0 3px 15px #1b293205}
:root[data-theme=dark]{color-scheme:dark;--bg:#15171c;--surface:#1d2027;--surface2:#232730;--ink:#e0e5ed;--muted:#969eac;--line:#30353f;--green:#6da7ff;--hover:#252e3c;--softblue:#243650;--side:#191c22;--shadow:0 3px 15px #0001}
body{font-size:13px;-webkit-font-smoothing:antialiased}button{background:var(--surface);border-color:var(--line);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s;border-radius:8px;padding:9px 13px}button:hover{background:var(--hover)}button svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button.primary{background:#2878e8;border-color:#2878e8;color:#fff;box-shadow:0 2px 4px #2878e81a}.primary:hover{background:#1e69d0}input,textarea,select{background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:8px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--softblue);border-color:var(--green)}label{color:var(--muted)}
aside{display:flex;width:210px;background:var(--side);color:var(--ink);padding:28px 16px;border-right:1px solid var(--line)}.brand{color:var(--ink);font-size:24px;letter-spacing:-1px;padding:0 10px}.brand small{font-size:8px;color:var(--muted);letter-spacing:1.6px;margin-top:8px}.navcaption{font-size:8px;letter-spacing:1.1px;color:var(--muted);margin:34px 11px 14px}.nav{width:100%;justify-content:flex-start;border:0;background:transparent;color:var(--muted);padding:12px 12px;margin:3px 0;font-size:12px}.nav svg{width:18px;height:18px;margin-right:4px}.nav.active{background:var(--softblue);color:var(--green);font-weight:600}.future{color:var(--muted);padding:13px 11px;font-size:11px}.future span{color:var(--muted);border-color:var(--line);font-size:8px}.asidebottom{color:var(--muted);font-size:10px;padding:15px 11px}.asidebottom p{color:var(--muted);font-size:10px}.dot{background:#54b88a}.later{margin-top:32px}
main{margin-left:210px}header{height:68px;padding:0 32px;background:var(--surface);font-size:11px;position:sticky;top:0;z-index:2}header span{margin:0;color:inherit}.workspace-product{font-size:11px;color:var(--muted)}.workspace-product b{font-weight:500;font-size:9px;background:var(--surface2);border:1px solid var(--line);border-radius:4px;padding:3px 5px;margin-left:5px}.breadcrumb{color:var(--muted);padding:0 15px}#account{gap:9px}#account button{background:transparent;border-color:transparent;font-size:10px;padding:7px 8px;color:var(--muted)}#account button:hover{background:var(--surface2)}#account>span{font-size:11px;color:var(--ink)}#account small{font-size:10px}#account button#password{color:var(--green)}
#content{padding:30px 32px 48px;max-width:1900px}.eyebrow{font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-bottom:12px}h1{font-size:28px;font-weight:650;letter-spacing:-.8px;margin-bottom:7px}h2{font-size:14px;font-weight:600}h3{font-weight:600}.subtitle{margin:0;font-size:11px}.pagehead{gap:20px;align-items:center;margin-bottom:26px}.registry-actions{gap:8px;flex-shrink:0}.registry-actions button{font-size:11px}.panel,.stat{background:var(--surface);border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel{padding:22px}.stats{gap:14px;margin-bottom:20px}.stat{cursor:default;padding:20px}.statlabel{display:flex;justify-content:space-between;align-items:center}.statlabel svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.5}.stat strong{font-size:29px;letter-spacing:-.8px;font-weight:600;margin:15px 0 7px}.stat strong.money-stat{font-size:23px;white-space:nowrap}.stat small{font-size:10px}.stat p{font-size:9px;color:var(--muted);margin:0;line-height:1.6}
.viewbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:16px}.viewtabs{display:flex;gap:5px;overflow:auto;align-items:center}.viewtabs button{border:0;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap;padding:8px 12px}.viewtabs button.active{background:var(--softblue);color:var(--green)}#saveview{font-size:10px;white-space:nowrap;background:transparent;border-color:transparent;color:var(--green)}.viewchanged{font-size:10px;color:var(--muted);white-space:nowrap}.workspace-filters{display:flex;align-items:center;gap:10px;margin-bottom:21px}.searchbox{width:320px;max-width:40%}.searchbox input{padding:10px 13px;font-size:11px}.workspace-filters button{font-size:11px}.scope-label{font-size:10px;color:var(--muted)}.layout-toggle{margin-left:auto;display:flex;background:var(--surface2);padding:3px;border-radius:8px;border:1px solid var(--line)}.layout-toggle button{border:0;background:transparent;padding:5px 9px;font-size:10px;color:var(--muted)}.layout-toggle .active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0001}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px}.dashboard-grid>.panel:only-child{grid-column:1/-1}.dashboard-grid:empty{display:none}.widget-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.widget-title h2{margin:0}.widget-title button{font-size:10px;background:transparent;border-color:transparent;color:var(--green);padding:0}.timeline-summary{display:flex;align-items:center;gap:24px;margin-bottom:14px}.timeline-summary>strong{font-size:32px;font-weight:600;line-height:1.25}.timeline-summary small{display:block;font-size:10px;color:var(--muted);font-weight:400}.mini-chart{overflow:auto;margin:12px 0}.mini-chart svg{width:100%;min-width:420px;display:block}.mini-chart text{fill:var(--muted);font-size:11px;font-family:inherit}.mini-chart line{stroke:var(--line);stroke-dasharray:3 5}.mini-chart g{cursor:pointer}.mini-chart g:focus-visible{outline:2px solid var(--green)}.timeline-work{fill:#56988c}.timeline-request{fill:#caa66b}.mini-chart .bar-label{fill:#fff;font-size:10px}.deadline{border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;width:100%;justify-content:flex-start;text-align:left;padding:14px 0;gap:14px}.deadline:last-child{border-bottom:0}.date-tile{background:var(--surface2);padding:7px 10px;border-radius:8px;text-align:center;flex:none}.date-tile b{display:block;font-size:17px;font-weight:600}.date-tile small{font-size:8px;color:var(--muted)}.date-tile.overdue b{color:#c38255}.deadline>span:nth-child(2){flex:1}.deadline strong{display:block;font-size:11px;font-weight:600;line-height:1.6}.deadline>span:nth-child(2)>small{font-size:9px;color:var(--muted)}.deadline>svg{color:var(--muted);width:13px}
.workspace-table{padding:0;overflow:hidden}.workspace-table>.sectionhead{padding:20px 22px;margin:0}.workspace-table>.sectionhead>div{align-items:center;gap:12px}.workspace-table .sectionhead button{font-size:10px;padding:6px 9px;color:var(--muted)}th{background:var(--surface2);font-size:10px;color:var(--muted);border-color:var(--line);padding:12px 16px}td{border-color:var(--line);padding:17px 16px;vertical-align:middle;font-size:11px}td strong{font-size:11px;font-weight:600;margin:0 0 5px}td small{font-size:9px;line-height:1.8;color:var(--muted)}td.num{text-align:right}tbody tr[data-id]:hover{background:var(--hover)}.row-arrow svg{width:13px;height:13px;stroke:var(--muted);stroke-width:1.6;fill:none}.footer-note{padding:14px 22px;border-color:var(--line);font-size:9px}.status{border-radius:6px;font-size:9px;padding:5px 8px}.status.работа{background:#eaf5ef;color:#387b62}.status.заявка{background:#fbf2e5;color:#aa8551}.status.выполнено{background:#edf1f9;color:#637da6}.status.отказ{background:#f8edee;color:#aa727c}progress{display:block;border:0;height:4px;width:70px;max-width:100%;margin-top:8px;accent-color:#56988c;border-radius:4px;background:var(--surface2)}progress::-webkit-progress-bar{background:var(--surface2);border-radius:4px}progress::-webkit-progress-value{background:#56988c;border-radius:4px}.objectcard{background:var(--surface);border-color:var(--line);border-radius:12px;display:block}.objectcard:hover{background:var(--hover)}.objectcardmetrics b{font-size:17px}.objectcardhead strong{font-size:14px}.objectcardfoot{font-size:10px}.objectcards{gap:16px}.objectcard .muted{font-size:10px}
#modal{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:680px;max-width:calc(100vw - 36px);border-radius:16px 0 0 16px;padding:0;background:var(--surface);color:var(--ink);box-shadow:-15px 0 60px #0002;overflow:auto}#modal::backdrop{background:#111a2633;backdrop-filter:blur(2px)}#modalbody{padding:0 28px 25px}.modalhead{padding:25px 0 19px;position:sticky;top:0;background:var(--surface);z-index:1;border-bottom:1px solid var(--line);margin-bottom:23px}.modalhead h2{font-size:19px;letter-spacing:-.3px;padding-top:4px}.modalhead button{font-size:23px;color:var(--muted);background:transparent}.formactions{background:var(--surface);position:sticky;bottom:-25px;padding:17px 0 20px;z-index:1;margin-bottom:-20px}.advanced{border:1px solid var(--line);border-radius:10px;background:var(--surface2);margin:21px 0;padding:15px 17px}.advanced summary{font-size:12px;font-weight:600;cursor:pointer;line-height:1.6}.advanced .formgrid{margin-bottom:5px}.column-choice{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:4px 0;gap:10px}.column-choice .check{font-size:11px;margin:10px 0}.column-choice button{padding:3px 8px;font-size:14px}.saved-view-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.saved-view-row button{font-size:10px}.theme-samples{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.theme-samples>div{border:1px solid var(--line);border-radius:12px;padding:25px 17px}.theme-samples b,.theme-samples span{display:block}.theme-samples span{font-size:10px;margin-top:8px}.light-sample{background:#fff;color:#263040}.dark-sample{background:#1d2027;color:#e0e5ed}.error{background:#fbefef;color:#b95159}.notice{background:#fbf7ef;color:#99784d;border-color:#eee2cc}.notice.info{background:var(--softblue);color:var(--green);border-color:var(--line)}.demo-notice{background:var(--surface2);color:var(--muted);border-color:var(--line)}.tabs{gap:23px}.tabs button{font-size:11px}.cardhead .actions button{font-size:10px}.cardhead{gap:20px}.cardtitle{flex-wrap:wrap;gap:10px}.metric strong{font-size:22px}.metric small{color:var(--muted)}.back{color:var(--muted)}.auditrow p{color:var(--muted)}.planning-metrics>div{background:var(--surface2);border-color:var(--line)}.gantt-controls{background:var(--surface)}.planning-metrics strong{color:var(--ink)}.auth{border:1px solid var(--line);padding:32px}.auth .pill{background:var(--softblue);color:var(--green)}
:root[data-theme=dark] .status.работа{background:#243c33;color:#84c3a4}:root[data-theme=dark] .status.заявка{background:#3b3429;color:#d4b078}:root[data-theme=dark] .status.выполнено{background:#29364b;color:#9eb6dc}:root[data-theme=dark] .status.отказ{background:#3d2c34;color:#d59da5}:root[data-theme=dark] .notice:not(.info):not(.demo-notice){background:#352f26;color:#d7b881;border-color:#504633}:root[data-theme=dark] .error{background:#402d34;color:#eeabb2}:root[data-theme=dark] .gantt-scroll svg rect[fill="#fff"]{fill:var(--surface)}:root[data-theme=dark] .gantt-scroll svg rect[fill="#fafbfd"]{fill:var(--surface2)}:root[data-theme=dark] .gantt-scroll svg text:not([fill="#fff"]){fill:var(--muted)}:root[data-theme=dark] .gantt-scroll svg line{stroke:var(--line)}:root[data-theme=dark] .stage-progress{border-color:var(--line)}:root[data-theme=dark] .machine-row{background:var(--surface2);border-color:var(--line)}:root[data-theme=dark] .proposal-comparison{background:var(--surface2);color:var(--ink)}
@media(min-width:1550px){#content{padding:36px 44px}header{padding:0 44px}}
@media(max-width:1200px){.stat strong.money-stat{font-size:18px}.pagehead{align-items:flex-start}.registry-actions{flex-wrap:wrap}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}#account{gap:2px}#account>span small{display:none}.cardhead{display:block}.cardhead .actions{margin-bottom:20px}}
@media(max-width:1000px){aside{width:175px;padding:24px 10px}.brand{font-size:22px; padding:0 9px}.brand small{letter-spacing:1px;font-size:7px}main{margin-left:175px}#content{padding:24px 22px}header{padding:0 22px}.dashboard-grid{grid-template-columns:1fr}.workspace-stats{grid-template-columns:repeat(2,1fr)}.pagehead{flex-wrap:wrap}.registry-actions{flex-shrink:1}.viewbar{gap:8px}.workspace-product{display:none}.breadcrumb{display:none}#account>span{font-size:10px}.workspace-filters{flex-wrap:wrap}.searchbox{max-width:55%;flex:1}.scope-label{font-size:9px}}
@media(max-width:720px){aside{display:flex;position:fixed;inset:auto 0 0 0;width:100%;height:65px;flex-direction:row;justify-content:space-around;padding:6px 10px;border:0;border-top:1px solid var(--line);z-index:3;background:var(--surface)}aside .brand,aside .navcaption,aside .future,aside .asidebottom{display:none}.nav{display:flex;flex-direction:column;gap:3px;font-size:9px;padding:5px 10px;width:auto;flex:1;margin:0;border-radius:8px}.nav svg{width:18px;height:18px;margin:0}main{margin-left:0;padding-bottom:65px}header{height:auto;min-height:57px;padding:10px 14px;gap:5px;align-items:flex-start}header>div:first-child{font-size:10px;padding-top:8px;white-space:nowrap}#account{flex-wrap:wrap;justify-content:flex-end;gap:1px;max-width:80%}#account>span{display:none}#account button{font-size:9px;padding:7px 5px}#content{padding:22px 14px 28px}.eyebrow{font-size:7px;margin-bottom:9px}h1{font-size:25px}.pagehead{gap:17px;margin-bottom:20px}.registry-actions{width:100%;display:flex;gap:6px}.registry-actions button{font-size:10px;padding:9px 10px}#workspaceCustomize span{display:none}.viewbar{flex-wrap:wrap;padding-bottom:10px;margin-bottom:12px}.viewtabs{max-width:100%;flex:1}.viewtabs button{font-size:10px;padding:8px}.viewbar #saveview{padding:6px 0}.workspace-filters{gap:8px;margin-bottom:16px}.searchbox{max-width:none;flex:1;width:180px}.scope-label{width:100%;order:3}.layout-toggle{margin-left:0}.panel{padding:18px}.stats{gap:10px;margin-bottom:15px}.stat{padding:16px 13px}.stat strong{font-size:27px;margin-top:12px}.stat strong.money-stat{font-size:18px}.stat p{font-size:8px}.dashboard-grid{gap:0}.widget-title h2{font-size:13px}.timeline-summary{gap:17px}.mini-chart svg{min-width:370px}.workspace-table{padding:0}.workspace-table>.sectionhead{padding:17px 16px}.workspace-table .sectionhead>div{gap:8px}.footer-note{padding:12px 16px;gap:10px}th,td{padding:13px 12px}.objectcards{grid-template-columns:1fr}#modal{max-width:100vw;width:100vw;border-radius:0}#modalbody{padding:0 20px 25px}.modalhead{padding-top:20px}.modalhead h2{font-size:18px}.theme-samples{gap:10px}.theme-samples>div{padding:20px 12px}.overview{grid-template-columns:1fr 1fr}.metric{padding:0 6px}.metric strong{font-size:17px}.metric small{font-size:8px}.cardtitle h1{font-size:24px}.tabs{gap:20px}.cols{gap:0}.sectionhead>div{flex-wrap:wrap}.gantt-controls{flex-wrap:wrap}.auth{margin:25px auto;padding:22px}#toast{bottom:80px;right:14px;left:14px;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.dashboard-grid>.panel{min-width:0}.nav:not(.active):not(:hover){color:var(--muted)}.nav:hover{background:var(--hover);color:var(--ink)}.planning-metrics,.proposal-comparison,.request-card pre,.packet,.machine-row{background:var(--surface2)}.gantt-legend,.objectcardfoot{color:var(--muted)}.demo-badge{background:var(--surface2);border-color:var(--line);color:var(--muted)}.gantt-project:hover rect:first-of-type,.gantt-project:focus rect:first-of-type{fill:var(--hover)}.pill{background:var(--surface2);color:var(--muted)}.tablewrap{max-width:100%}.workspace-table table{min-width:650px}.workspace-table th,.workspace-table td{max-width:200px}.workspace-table td:first-child{min-width:130px}#toast{background:#253c33}.nav+.nav{margin-top:3px}
@media(max-width:720px){.nav+.nav{margin-top:0}.workspace-filters>button,.registry-actions>button{min-height:40px}#account button{min-height:32px}.mini-chart svg{min-width:370px}.stat strong.money-stat{white-space:normal}.cardtitle{align-items:flex-start}}
