:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0d1016;color:#e7edf4}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top left,rgba(87,104,128,.18),transparent 34%),linear-gradient(180deg,#0d1016,#11151c)}button,input,textarea,select{font:inherit}button{cursor:pointer}.dark-shell,.app-shell{min-height:100vh}.boot-screen{min-height:100vh;display:grid;place-items:center;color:#e7edf4b8}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);padding:32px;background:#11151cf0;border:1px solid rgba(230,237,244,.08);border-radius:20px;box-shadow:0 24px 70px #00000057}.login-kicker,.app-subtitle,.detail-kicker,.section-intro p,.page-note,.muted,.fact-label,.metric-label,.modal-subtitle,.empty-state p,.summary-item{color:#e7edf4a3}.login-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px}.login-card h1{margin:10px 0 0;font-size:clamp(32px,4vw,48px);line-height:.98}.login-copy{margin:14px 0 0;color:#e7edf4b8;line-height:1.5}.login-form{display:grid;gap:14px;margin-top:22px}.login-form label,.form-grid label{display:grid;gap:6px;font-size:13px;color:#e7edf4b8}.login-form input,.form-grid input,.form-grid textarea,.form-grid select,.compact-select,.override-input{width:100%;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(231,237,244,.1);background:#0f141b;color:#e7edf4}.login-form button{min-height:42px}.status-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.workspace-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;background:#0d1016eb;border-bottom:1px solid rgba(231,237,244,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-title{font-size:16px;font-weight:700;letter-spacing:.02em}.app-subtitle,.detail-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.notice{margin:12px 20px 0;padding:10px 12px;border-radius:12px;font-size:13px}.notice-success{background:#1f4c365c;color:#d8f4e5;border:1px solid rgba(92,180,131,.28)}.notice-error{background:#67262661;color:#ffd7d7;border:1px solid rgba(214,107,107,.28)}.page{padding:20px;display:grid;gap:16px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-head h1,.section-intro h2{margin:0;line-height:1.05}.page-head h1{font-size:30px}.section-intro h2{font-size:22px}.page-note{margin:8px 0 0}.header-meta{display:flex;gap:8px;flex-wrap:wrap}.panel{background:#10141bf0;border:1px solid rgba(231,237,244,.08);border-radius:18px;padding:16px;box-shadow:0 18px 46px #0000002e}.panel-title{font-weight:700;margin-bottom:12px}.empty,.empty-state{color:#e7edf4ad}.empty-state{display:grid;gap:12px;align-items:start}.empty-state.warn{border-color:#ebab6038}.empty-state-title{font-weight:700;color:#f0f5fb}.inline-error{color:#ffd8d8;background:#6f2d2d59;border:1px solid rgba(233,118,118,.24);padding:10px 12px;border-radius:12px;margin-bottom:12px}.section-intro{display:grid;gap:6px}.section-intro p{margin:0;line-height:1.5;max-width:80ch}.page-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions.full{grid-column:1 / -1}button{min-height:38px;padding:0 12px;border:0;border-radius:12px;background:#d8e1ee;color:#0d1016;font-weight:600}button:hover{filter:brightness(1.02)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#e7edf414;color:#e7edf4;border:1px solid rgba(231,237,244,.08)}button.ghost{background:transparent;color:#e7edf4b8;border:1px solid rgba(231,237,244,.08)}button.danger{background:#893030e6;color:#fff}button.small{min-height:30px;padding:0 10px;font-size:12px}button.link-button{background:none;color:#e7edf4;padding:0;border:0;text-align:left}button.secondary.link-button{color:#e7edf4}.back-link{font-size:13px;margin-bottom:8px}.tabs,.category-tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(231,237,244,.08);background:#e7edf40a;color:#e7edf4}.tab.active{background:#d8e1ee;color:#0d1016}.tab-panel,.stack{min-width:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{background:#0e1219fa;border:1px solid rgba(231,237,244,.08);border-radius:16px;padding:14px}.metric-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metric-value{margin-top:8px;font-size:22px;font-weight:700;color:#f0f5fb}.data-table,.comparison-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td,.comparison-table th,.comparison-table td{border-bottom:1px solid rgba(231,237,244,.08);padding:10px 8px;vertical-align:top}.data-table th,.comparison-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#e7edf48f;position:sticky;top:70px;background:#10141bfa;z-index:5}.data-table tbody tr:hover,.comparison-table tbody tr:hover{background:#e7edf408}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.truncate{max-width:180px}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;border:1px solid transparent;white-space:nowrap}.badge-ok{background:#25604266;border-color:#61bf8847;color:#d7f5e5}.badge-warn{background:#6b491766;border-color:#e5ac5942;color:#ffe9c0}.badge-neutral{background:#e7edf414;border-color:#e7edf414;color:#e7edf4}.badge-danger{background:#6f2d2d66;border-color:#e9767640;color:#ffd7d7}.summary-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.summary-item{font-size:13px}.grid-two{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.fact-list{display:grid;gap:8px}.fact-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(231,237,244,.08)}.fact-label{font-size:13px}.fact-value{font-weight:600}.comparison-table{min-width:1500px}.table-wrap{overflow:auto;border:1px solid rgba(231,237,244,.08);border-radius:16px;background:#10141bfa}.procurement-workspace .table-wrap{overflow-x:auto}.procurement-table{width:100%;min-width:1880px;table-layout:fixed;border-collapse:collapse;font-size:13px}.procurement-table th,.procurement-table td{border-bottom:1px solid rgba(231,237,244,.08);padding:8px;vertical-align:top;overflow:hidden;text-overflow:ellipsis}.procurement-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#e7edf48f;position:sticky;top:0;background:#10141bfa;z-index:5;white-space:nowrap}.procurement-table tbody tr:hover{background:#e7edf408}.sheet-toolbar{display:grid;gap:12px}.sheet-toolbar-main{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sheet-toolbar-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inline-strip{display:grid;grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr) minmax(0,.7fr) auto;gap:8px;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(231,237,244,.08);background:#e7edf408}.inline-strip-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#e7edf48f;white-space:nowrap}.inline-strip input{min-height:34px;border-radius:10px}.inline-cell{display:grid;gap:4px}.sheet-input{width:100%;min-height:30px;padding:0 8px;border-radius:8px;border:1px solid rgba(231,237,244,.08);background:#e7edf40a;color:#e7edf4}.inline-cell.is-saved .sheet-input{border-color:#61bf8866}.inline-cell.is-error .sheet-input{border-color:#e9767659}.cell-note{font-size:11px;color:#61bf88e0}.cell-note.error{color:#ffd7d7}.supplier-head{min-width:220px}.supplier-head-inner{display:flex;justify-content:space-between;gap:8px;align-items:center}.supplier-name-cell,.supplier-price-cell{min-width:150px}.supplier-price-cell{background:#e7edf404}.cell-best{background:#25604224}.best-cell{min-width:170px}.best-cell-inner{display:grid;gap:4px}.best-price{font-weight:700;color:#f0f5fb}.best-supplier{color:#e7edf4ad;font-size:12px}.row-actions-head{min-width:96px}.col-item-name{width:240px}.col-model{width:170px}.col-qty{width:100px}.col-supplier-name{width:170px}.col-supplier-price{width:120px}.col-best-price{width:150px}.col-best-supplier{width:170px}.col-actions{width:96px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:14px}.calendar-panel{display:grid;gap:10px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{padding:0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#e7edf494}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{min-height:122px;padding:8px;border-radius:14px;border:1px solid rgba(231,237,244,.08);background:#e7edf408;color:#e7edf4;text-align:left;display:grid;gap:8px;cursor:pointer}.calendar-day.outside{opacity:.42}.calendar-day.selected{border-color:#61bf8861;background:#25604224}.calendar-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:700}.calendar-chips{display:grid;gap:6px}.calendar-chip{display:grid;gap:2px;padding:8px;border-radius:10px;border:1px solid rgba(231,237,244,.08);background:#0000002e;color:#e7edf4;text-align:left}.calendar-chip-title{font-weight:600}.calendar-chip-amount{font-size:12px;color:#e7edf4bd}.calendar-chip-supplier{font-size:11px;color:#e7edf48a}.calendar-chip.chip-paid{border-color:#61bf884d}.calendar-chip.chip-overdue{border-color:#e976764d}.calendar-editor{display:grid;gap:12px;align-content:start}.calendar-selected-date,.calendar-hint{color:#e7edf4a3;font-size:13px}.calendar-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-form label.full{grid-column:1 / -1}.calendar-form input,.calendar-form textarea,.calendar-form select{width:100%;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(231,237,244,.08);background:#0f141b;color:#e7edf4}.calendar-form textarea{padding-top:10px;min-height:86px;resize:vertical}.calendar-form .actions.full{grid-column:1 / -1}.calendar-form .inline-error.full{grid-column:1 / -1;margin-bottom:0}.supplier-cell{min-width:180px}.offer-card{border:1px solid rgba(231,237,244,.08);border-radius:12px;padding:8px;margin-bottom:8px;background:#e7edf408;display:grid;gap:6px}.offer-cheapest{border-color:#61bf884d;background:#2560422e}.offer-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.offer-price{font-weight:700}.offer-meta{color:#e7edf4a3}.cell-title{font-weight:600}.cell-price{display:grid;gap:2px}.row-override{background:#6b491729}.override-stack{display:grid;gap:8px}.override-input{min-height:32px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080cb8;display:grid;place-items:center;padding:20px;z-index:60}.modal-panel{width:min(860px,100%);max-height:min(90vh,920px);overflow:auto;background:#11151c;border:1px solid rgba(231,237,244,.08);border-radius:20px;box-shadow:0 30px 90px #0000007a}.modal-header,.modal-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(231,237,244,.08)}.modal-footer{border-bottom:0;border-top:1px solid rgba(231,237,244,.08)}.modal-title{font-weight:700;font-size:18px}.modal-subtitle{margin-top:4px}.modal-body{padding:18px}.modal-form{margin:0}.compact-form{margin-top:0}.workspace-header .badge{background:#e7edf40f}.empty-state.compact{gap:8px}@media (max-width: 1200px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}}@media (max-width: 820px){.workspace-header,.page-head,.page-toolbar,.modal-header,.modal-footer{flex-direction:column;align-items:flex-start}.page{padding:14px}.login-card{padding:22px}.metrics-grid{grid-template-columns:1fr}.notice{margin:12px 14px 0}}
