:root{--bg:#090b0e;--panel:#111419;--panel2:#171b21;--line:#252a32;--text:#f2f4f7;--muted:#8f98a7;--accent:#92dfbd;--danger:#ff7d7d;--radius:18px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{min-height:100vh}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#161b21 0,#090b0e 54%)}.login-card{width:min(430px,100%);padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:24px}.brand{font-size:21px;font-weight:900;letter-spacing:.18em}.brand span{color:var(--accent)}.brand.large{font-size:28px}.login-card p{margin:8px 0 24px;color:var(--muted)}label{display:grid;gap:7px;color:var(--muted);font-size:12px}.login-card label{margin-bottom:12px}input,select,textarea{width:100%;border:1px solid var(--line);background:#0d1014;color:var(--text);border-radius:11px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#53675f}textarea{min-height:88px;resize:vertical}.error{min-height:19px;color:var(--danger);font-size:12px}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 14px;border-radius:11px;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#07110d;font-weight:800}.btn.block{width:100%}.app{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#0c0f13;border-right:1px solid var(--line)}.sidebar .brand{margin:2px 10px 28px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:var(--muted);padding:13px 14px;border-radius:11px;text-align:left;cursor:pointer}.nav button.active,.nav button:hover{background:var(--panel2);color:var(--text)}.side-bottom{position:absolute;left:18px;right:18px;bottom:18px}.main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.topbar h1{margin:0 0 4px;font-size:24px}.topbar p{margin:0;color:var(--muted);font-size:13px}.userbox{display:grid;text-align:right;gap:2px}.userbox strong{font-size:13px}.userbox span{font-size:11px;color:var(--muted);text-transform:uppercase}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{display:block;margin-top:5px;font-size:30px}.panel{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.gap-top{margin-top:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head.sub{margin-top:23px}.section-head h2,.panel h2{margin:0;font-size:17px}.form-grid{display:grid;gap:12px;margin-bottom:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.button-row{display:flex;gap:9px;align-items:end}.button-row.top{margin-top:12px}.badge{display:inline-block;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}th{background:#0e1115;color:var(--muted);font-weight:600}td.num,th.num{text-align:right}.actions{display:flex;justify-content:flex-end;gap:6px}.mini{border:1px solid var(--line);background:#0d1014;color:var(--muted);padding:7px 9px;border-radius:9px;cursor:pointer}.mini.danger{color:var(--danger)}.empty{padding:28px;text-align:center;color:var(--muted)}.quote-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px}.summary{position:sticky;top:28px;height:max-content}.sumrow{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.sumrow.total{font-size:20px;border-bottom:0;padding-top:16px}.cost-lines{display:grid;gap:8px}.cost-line{display:grid;grid-template-columns:minmax(180px,1.5fr) .45fr .55fr auto;gap:8px;align-items:center}.access-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px;margin:14px 0;border:1px solid var(--line);border-radius:13px;background:#0d1014}.access-box strong{font-size:13px}.check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px}.check input{width:auto}.permission-tags{display:flex;gap:5px;flex-wrap:wrap}.toast{position:fixed;right:18px;bottom:18px;z-index:50;padding:12px 14px;background:#171c20;border:1px solid var(--line);border-radius:12px}.mobile-nav{display:none}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.app{display:block;padding-bottom:74px}.sidebar{display:none}.main{padding:18px 14px}.topbar{margin-bottom:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-grid{grid-template-columns:1fr}.summary{position:static}.form-grid.two,.form-grid.three,.form-grid.four,.form-grid.five{grid-template-columns:1fr 1fr}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;overflow-x:auto;background:#0c0f13;border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{flex:1;min-width:72px;border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px 4px;cursor:pointer}.mobile-nav button.active{color:var(--accent)}}@media(max-width:560px){.main{padding:14px 10px}.cards{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:24px}.panel{padding:14px}.form-grid.two,.form-grid.three,.form-grid.four,.form-grid.five{grid-template-columns:1fr}.cost-line{grid-template-columns:1fr 1fr}.cost-line select{grid-column:1/-1}.cost-line .remove{justify-self:end}.topbar h1{font-size:21px}.userbox{max-width:42%}.access-box{display:grid;gap:12px}.button-row{flex-wrap:wrap}}
