
:root{
  --bg:#07090a;--panel:#0e1214;--panel2:#13181b;--line:#2a3136;--muted:#8d969d;
  --text:#f6f7f7;--soft:#cfd4d7;--ok:#6dd496;--warn:#e6bd6b;--bad:#ef7b7b;--focus:#dfe4e7;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#050607 0%,#0a0d0f 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.top{height:72px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(6,8,9,.97);position:sticky;top:0;z-index:40}
.brand{display:flex;align-items:center;gap:16px}.brand b{font-family:Georgia,serif;letter-spacing:.18em;font-size:23px}.brand small{color:var(--muted);letter-spacing:.16em}
.switch{display:flex;border:1px solid var(--line);padding:4px;border-radius:9px;background:#0a0d0f}.switch button{border:0;background:transparent;color:#9aa3a9;padding:9px 14px;border-radius:6px}.switch button.active{background:#f0f2f3;color:#060708;font-weight:700}
.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 72px)}
.side{border-right:1px solid var(--line);background:#080b0d;padding:15px 10px;position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}
.side .cap{padding:8px 11px 14px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:#cbd1d4;background:transparent;border:1px solid transparent;padding:10px 11px;border-radius:8px}.nav button.active,.nav button:hover{background:#151a1d;border-color:#242b30;color:white}
.nav .icon{width:21px;text-align:center}.side-note{margin-top:18px;padding:12px;border-top:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}
main{padding:22px;min-width:0}.page{display:none}.page.active{display:block}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.head h1{margin:0 0 5px;font-size:25px}.head p{margin:0;color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#111619;color:white;padding:9px 12px;border-radius:7px}.btn.primary{background:#f1f3f4;color:#08090a;border-color:#f1f3f4;font-weight:700}.btn.bad{color:#ffaaaa}.btn.small{padding:6px 8px;font-size:11px}
.grid{display:grid;gap:14px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1.1fr 1fr .85fr}.four{grid-template-columns:repeat(4,1fr)}
.card{background:linear-gradient(180deg,#101416,#0c1012);border:1px solid var(--line);border-radius:11px;padding:15px;min-width:0}.card h3{font-size:14px;margin:0}.card p{color:var(--muted)}
.sec{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.sec span{color:var(--muted);font-size:11px}
.kpi .label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.kpi .num{font-size:25px;font-weight:800;margin:6px 0}.good{color:var(--ok)}.warn{color:var(--warn)}.badc{color:var(--bad)}
.badge{display:inline-flex;padding:4px 7px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#d4dade}.badge.ok{border-color:#2d6341;background:#102219;color:#a9e6bd}.badge.warn{border-color:#655126;background:#211b0f;color:#eed18d}.badge.bad{border-color:#653131;background:#231111;color:#f5abab}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form.threecol{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:grid;gap:6px;color:#9da6ac;font-size:11px}.required:after{content:" *";color:#ff9a9a}
input,select,textarea{width:100%;background:#080b0d;border:1px solid var(--line);color:#f3f5f6;padding:10px;border-radius:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8c989f}textarea{min-height:88px;resize:vertical}.full{grid-column:1/-1}
.help{font-size:10px;color:#677078}.divider{height:1px;background:var(--line);margin:14px 0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}.tabs button{border:1px solid var(--line);background:#0c1012;color:#aeb6bb;padding:7px 10px;border-radius:7px}.tabs button.active{background:#eef1f2;color:#08090a;font-weight:700}
.tabpane{display:none}.tabpane.active{display:block}
table{width:100%;border-collapse:collapse;font-size:12px}.table{overflow:auto}th{padding:9px;text-align:left;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 9px;border-bottom:1px solid #1c2226;white-space:nowrap}
.list{display:grid;gap:8px}.row{border:1px solid #252c31;border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.row strong{font-size:12px}.row small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:6px 8px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#cbd1d4}
.timeline{display:grid}.step{display:grid;grid-template-columns:22px 1fr;gap:9px;padding-bottom:16px;position:relative}.step:before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:1px;background:#3b4348}.step:last-child:before{display:none}.dot{width:20px;height:20px;border:1px solid #6f7a81;border-radius:50%;display:grid;place-items:center;font-size:9px;background:#0a0d0f}.step.done .dot{background:#f0f2f3;color:#090a0b}
.checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check{border:1px solid #272e32;border-radius:8px;padding:10px;display:flex;align-items:flex-start;gap:8px}.check input{width:auto;margin-top:2px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0f1315}.photo{height:105px;background:radial-gradient(circle at 70% 20%,#394247,#13191c 55%,#090c0d)}.service .body{padding:12px}.service h4{margin:0 0 5px}.service p{font-size:11px;min-height:34px}.price{font-weight:800;margin:8px 0}
.note{padding:10px 12px;border-left:3px solid #77838a;background:#0b0f11;color:#b7c0c5;font-size:11px;line-height:1.5;border-radius:4px}
.journey{display:flex;gap:7px;align-items:center;overflow:auto}.journey .node{min-width:118px;text-align:center;padding:11px;border:1px solid var(--line);border-radius:8px}.journey .arrow{color:#687279}
.chat{height:400px;display:grid;grid-template-rows:1fr auto}.messages{overflow:auto;display:grid;align-content:start;gap:8px}.bubble{max-width:78%;background:#171c20;border:1px solid #293137;padding:9px 11px;border-radius:11px;font-size:11px;line-height:1.5}.bubble.me{justify-self:end;background:#edf0f1;color:#090a0b}.chatbar{display:flex;gap:7px;margin-top:10px}.chatbar input{flex:1}
.toast{position:fixed;right:18px;bottom:18px;background:#f1f3f4;color:#060708;border-radius:8px;padding:11px 13px;font-weight:700;display:none;z-index:60}
@media(max-width:1100px){.four{grid-template-columns:repeat(2,1fr)}.three,.two{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.top{height:auto;flex-direction:column;align-items:flex-start;padding:13px;gap:11px}.switch{width:100%}.switch button{flex:1}.layout{grid-template-columns:1fr}.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(2,1fr)}main{padding:14px}.four,.form,.form.threecol,.service-grid,.checkgrid{grid-template-columns:1fr}.brand small{display:none}}

.cart-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef1f2;color:#08090a;font-size:10px;font-weight:800;margin-left:auto}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}
.cart-item{display:grid;grid-template-columns:1fr 95px 38px;gap:9px;align-items:end;border-bottom:1px solid #1d2327;padding:12px 0}
.cart-item:last-child{border-bottom:0}.cart-item .meta strong{display:block;font-size:13px}.cart-item .meta small{display:block;color:var(--muted);margin-top:4px}
.totalbox{display:grid;gap:9px}.totalrow{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid #20262a;font-size:12px}.totalrow.grand{font-size:18px;font-weight:800;border-bottom:0;padding-top:5px}
.payment-choice{display:grid;gap:8px}.payoption{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;align-items:center;gap:9px}.payoption input{width:auto}
.checkout-success{display:none;border:1px solid #2d6341;background:#0f2017;border-radius:10px;padding:16px}.checkout-success h3{color:#a9e6bd;margin:0 0 8px}.order-card{border:1px solid #263036;border-radius:9px;padding:12px;margin-top:10px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-item{grid-template-columns:1fr 1fr}.cart-item .meta{grid-column:1/-1}}


/* MVC additions */
.nav a{display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:#cbd1d4;background:transparent;border:1px solid transparent;padding:10px 11px;border-radius:8px;text-decoration:none}.nav a:hover,.nav a.active{background:#151a1d;border-color:#242b30;color:white}.nav a .icon{width:21px;text-align:center}.user-actions{display:flex;gap:8px;align-items:center}.user-actions form{margin:0}.mvc-link{text-decoration:none;color:inherit}.login-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%)}.validation{color:#f5abab;font-size:12px}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.pagehead h1{margin:0 0 5px;font-size:25px}.pagehead p{margin:0;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}.mt{margin-top:14px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.sticky{position:sticky;top:92px}.kv{display:grid;grid-template-columns:1fr auto}.kv span,.kv b{padding:10px 0;border-bottom:1px solid #20262a}.kv span{color:var(--muted)}.kv b{text-align:right}.full{width:100%;text-align:center;margin-top:9px}.notice{padding:10px 12px;border-left:3px solid #77838a;background:#0b0f11;color:#b7c0c5;border-radius:4px;margin:10px 0;font-size:11px}.warning{border-left-color:#e6bd6b}@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.sticky{position:static}.form-grid.three{grid-template-columns:1fr}}
