:root{--bg:#0b0d10;--panel:#14171c;--panel-2:#1b2027;--panel-3:#242a33;--line:#303846;--text:#f4f6f8;--muted:#a8b0bb;--faint:#707987;--orange:#f97316;--orange-2:#ffb23c;--red:#ef4444;--shadow:0 24px 80px rgba(0,0,0,.38)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr);background:var(--bg)}.side-panel{min-height:100vh;padding:18px;background:linear-gradient(180deg,#15191f,#0f1216);border-right:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.brand-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--orange);color:#111;font-weight:900}.brand-title{font-size:16px;font-weight:900}.brand-subtitle{color:var(--muted);font-size:13px;margin-top:2px}.field{width:100%;height:46px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 12px;margin-bottom:12px}.button-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:14px 0 18px}.button,.icon-button,.mini-button{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;min-height:42px;padding:0 12px;font-weight:800}.button.primary,.button:hover,.icon-button:hover,.mini-button:hover{border-color:var(--orange)}.button.primary{background:var(--orange);color:#111}.button:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.panel-title{font-weight:900;margin-bottom:10px}.zone-list{display:grid;grid-gap:8px;gap:8px}.zone-card{text-align:left;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;padding:12px}.zone-card span{display:block;font-weight:900}.zone-card small{display:block;color:var(--muted);margin-top:4px}.zone-card.active{border-color:var(--orange);box-shadow:inset 4px 0 0 var(--orange)}.main-panel{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.section-heading h2,.topbar h1{margin:0}.section-heading p,.topbar p{margin:8px 0 0;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:10px}.status-message{color:var(--orange-2);font-weight:800}.inventory-panel,.rack-section{margin-top:22px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.rack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:9px;gap:9px}.rack-tile{position:relative;min-height:43px}.rack-tile-button{width:100%;min-height:43px;text-align:left;border-radius:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:8px 10px}.rack-tile.active .rack-tile-button{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}.rack-code{display:block;font-weight:900;font-size:14px}.capacity{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.rack-meter{display:block;height:3px;margin-top:5px;background:#090b0d;border-radius:99px;overflow:hidden}.rack-meter span{display:block;height:100%;background:var(--orange)}.layout-mode .rack-tile-button{outline:1px dashed var(--orange)}.edit-rack{width:100%;min-height:30px;margin-top:5px;font-size:12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}table{width:100%;min-width:1300px;border-collapse:collapse}td,th{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);text-transform:uppercase;background:#101318}.badge,th{font-size:12px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:rgba(249,115,22,.15);color:var(--orange-2);font-weight:900}.empty-cell{color:var(--muted);text-align:center;padding:28px}.empty-state{min-height:100vh;display:grid;place-items:center;text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.62);display:flex;justify-content:flex-end}.slide-over{width:min(620px,100%);height:100vh;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);padding:22px}.slide-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.slide-header h2{margin:0}.slide-header p{margin:6px 0 0;color:var(--muted)}.icon-button{width:42px;min-height:42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-grid label{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;border-radius:7px;border:1px solid var(--line);background:#101318;color:var(--text);padding:11px 12px}.form-grid textarea{min-height:92px;resize:vertical}.full{grid-column:1/-1}.slide-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.side-panel{position:static;min-height:auto}.section-heading,.topbar,.topbar-actions{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}}.modal-message{margin:0 0 14px;padding:12px;border:1px solid var(--orange);border-radius:7px;background:rgba(249,115,22,.12);color:var(--orange-2);font-weight:900}.ticket-preview{margin-top:18px;border:1px solid var(--line);border-radius:8px;overflow:auto;background:#101318}.ticket-preview h3{margin:0;padding:14px;border-bottom:1px solid var(--line)}.ticket-preview table{min-width:720px}.wide-slide{width:min(980px,100%)}.top-actions{justify-content:flex-start}.tickets-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ticket-card{border:1px solid var(--line);border-radius:8px;background:#101318;overflow:hidden}.ticket-card h3{margin:0;padding:14px}.ticket-card h3,.ticket-row{border-bottom:1px solid var(--line)}.ticket-row{display:grid;grid-template-columns:1.1fr .8fr .8fr;grid-gap:10px;gap:10px;padding:12px 14px}.ticket-row.stacked{grid-template-columns:1fr 1fr}.ticket-row span,.ticket-row strong{display:block}.ticket-row strong{color:var(--text)}.ticket-row span{color:var(--muted);margin-top:3px;font-size:13px}.ticket-line-list{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}.muted-text{color:var(--muted);margin:0;padding:14px}@media (max-width:900px){.ticket-row,.ticket-row.stacked,.tickets-grid{grid-template-columns:1fr}}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:14px}.report-metrics div{border:1px solid var(--line);border-radius:8px;background:#101318;padding:14px}.report-metrics span,.report-metrics strong{display:block}.report-metrics strong{font-size:24px}.report-metrics span{color:var(--muted);margin-top:4px}.reports-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.report-row{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.report-row span{font-weight:900}.report-row small{grid-column:1/-1;color:var(--muted)}.history-row{padding:12px 14px;border-bottom:1px solid var(--line)}.history-row div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.history-row strong{color:var(--orange-2)}.history-row small,.history-row span{color:var(--muted)}@media (max-width:900px){.report-metrics,.reports-grid{grid-template-columns:1fr}.history-row div{flex-direction:column}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#242a33,#0b0d10 55%)}.login-card{width:min(460px,100%);border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);padding:24px}.brand.compact{margin-bottom:22px}.login-card label{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:14px}.login-card input{width:100%;margin-top:6px;border-radius:7px;border:1px solid var(--line);background:#101318;color:var(--text);padding:13px 12px}.customer-shell{min-height:100vh;padding:24px;background:var(--bg)}.customer-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.customer-actions{display:flex;gap:10px}.customer-section{margin-top:24px}.customer-location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.active-customer-location{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}.customer-search{max-width:360px;margin:0}.customer-ticket{overflow:hidden}@media (max-width:800px){.customer-actions,.customer-topbar{flex-direction:column;align-items:stretch}}.admin-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:16px;gap:16px;margin-top:24px}.admin-card{padding-bottom:16px}.admin-card label{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;padding:12px 14px 0}.admin-card input,.admin-card select{width:100%;margin-top:6px;border-radius:7px;border:1px solid var(--line);background:#101318;color:var(--text);padding:12px}.admin-card .button{margin:14px}.company-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px}.company-list span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--muted);background:var(--panel-2)}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}}.print-page{min-height:100vh;background:#e5e7eb;color:#111827;padding:24px}.print-actions{width:min(900px,100%);margin:0 auto 16px;display:flex;justify-content:flex-end;gap:10px}.print-sheet{width:min(900px,100%);margin:0 auto;background:#fff;padding:36px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.ticket-letterhead{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid #f97316;padding-bottom:18px}.ticket-letterhead img{width:240px;height:auto;object-fit:contain}.ticket-letterhead h1{margin:0 0 8px;font-size:22px}.ticket-letterhead p{margin:2px 0}.ticket-title-row{display:flex;justify-content:space-between;gap:20px;margin:26px 0}.ticket-title-row h2{margin:0 0 6px}.ticket-number-box{border:1px solid #d1d5db;padding:12px;min-width:180px}.ticket-number-box span,.ticket-number-box strong{display:block}.ticket-number-box span{color:#6b7280;font-size:12px;text-transform:uppercase;margin-top:6px}.ticket-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #d1d5db;margin-bottom:22px}.ticket-info-grid div{padding:12px;border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db}.ticket-info-grid span,.ticket-info-grid strong{display:block}.ticket-info-grid span{color:#6b7280;font-size:12px;text-transform:uppercase}.print-ticket-table{width:100%;border-collapse:collapse}.print-ticket-table td,.print-ticket-table th{border:1px solid #d1d5db;padding:10px;text-align:left}.print-ticket-table th{background:#111827;color:#fff}.print-ticket-table tfoot td{font-weight:900}.ticket-notes{margin-top:22px;border:1px solid #d1d5db;padding:14px;min-height:100px}.ticket-notes h3{margin:0 0 8px}.signature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:18px;gap:18px;margin-top:60px}.signature-grid div{border-top:1px solid #111827;padding-top:8px;min-height:40px}.signature-grid span{color:#374151;font-size:12px}@media print{.print-page,body{background:#fff}.print-page{padding:0}.print-actions{display:none}.print-sheet{width:100%;box-shadow:none;padding:18px;max-width:none;min-height:auto;padding:0}.ticket-letterhead img{width:210px}.ticket-title-row{margin:18px 0}.ticket-info-grid{margin-bottom:16px}.ticket-notes{min-height:70px}.signature-grid{margin-top:42px}.modal-backdrop,.side-panel,.topbar-actions{display:none!important}.app-shell{display:block;background:#fff;color:#000}.main-panel{padding:0}.topbar{border-bottom:1px solid #111;padding-bottom:10px;margin-bottom:14px}.rack-section{display:none}.inventory-panel{margin-top:0}.table-wrap{border:none;overflow:visible}table{min-width:0;width:100%;color:#000;font-size:10px}th{background:#111!important;color:#fff!important}td,th{border:1px solid #999;padding:5px}.badge{color:#000;background:transparent;padding:0}}@page{size:landscape;margin:.35in}