:root{--navy:#0b2948;--navy2:#113c65;--blue:#1575d1;--green:#14b884;--ink:#17263a;--muted:#6b7b8f;--line:#dde5ed;--bg:#f3f6f9;--white:#fff;--danger:#dc4c64}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,var(--navy),#071b31);color:#d8e5f1;display:flex;flex-direction:column;z-index:30}.brand{height:78px;padding:0 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#17b88a,#2b8ee7);display:grid;place-items:center;color:white;font-weight:800;box-shadow:0 5px 20px #001a}.brand strong,.brand span{display:block}.brand strong{color:white;font-size:16px}.brand span{font-size:11px;color:#8fa8bf;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}.nav-menu{padding:18px 12px;flex:1}.nav-menu p{margin:22px 12px 7px;color:#728da5;font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.nav-menu a{display:flex;align-items:center;gap:12px;color:#bdcede;text-decoration:none;padding:11px 13px;border-radius:8px;margin:2px 0;font-weight:600}.nav-menu a span{width:20px;text-align:center;font-size:17px}.nav-menu a:hover,.nav-menu a.active{background:rgba(24,151,211,.17);color:#fff}.nav-menu a.active{box-shadow:inset 3px 0 #22c99a}.sidebar-foot{padding:16px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.09)}.sidebar-foot div:nth-child(2){min-width:0;flex:1}.sidebar-foot strong,.sidebar-foot span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot strong{font-size:12px;color:white}.sidebar-foot span{font-size:10px;color:#8fa8bf;text-transform:capitalize}.sidebar-foot button{border:0;background:none;color:#9bb0c3;font-size:20px;cursor:pointer}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#d8ecff;color:#1166ac;font-weight:800;font-size:11px;flex:0 0 auto}.main-panel{margin-left:245px;min-height:100vh}.topbar{height:66px;background:white;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:20}.global-search{flex:1;max-width:560px}.global-search form{position:relative}.global-search input{width:100%;border:1px solid var(--line);background:#f7f9fb;border-radius:9px;padding:10px 38px 10px 14px}.global-search span{position:absolute;right:13px;top:7px;font-size:20px;color:#789}.menu-button{display:none;border:0;background:none;font-size:22px}.content{padding:30px;max-width:1540px;margin:0 auto}.page-heading{margin-bottom:24px}.page-heading h1{margin:3px 0 4px;font-size:27px;letter-spacing:-.025em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{color:#0f75bd!important;text-transform:uppercase;font-weight:800;letter-spacing:.11em;font-size:10px!important}.heading-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.button{border:1px solid #cfd9e3;border-radius:8px;background:#fff;color:#29415a;padding:9px 14px;text-decoration:none;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button:hover{border-color:#96aabd}.button-primary{background:linear-gradient(135deg,#1373c8,#1265ad);border-color:#1265ad;color:white;box-shadow:0 4px 12px rgba(16,97,166,.18)}.full{width:100%}.flash{border-radius:8px;padding:11px 14px;margin-bottom:18px}.flash.success{background:#e9faf4;color:#097856;border:1px solid #b7eddb}.flash.error{background:#fff1f3;color:#a9283d;border:1px solid #f5c2cb}.flash ul{margin:5px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:white;border:1px solid var(--line);border-radius:11px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 3px 12px rgba(30,60,90,.035)}.stat-icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:800}.stat-icon.blue{background:#e8f4ff;color:#1677c8}.stat-icon.red{background:#fff0f2;color:#d83f58}.stat-icon.gold{background:#fff6dd;color:#b98100}.stat-icon.green{background:#e7faf4;color:#0b9d72}.stat-card p,.stat-card small{margin:0;color:var(--muted);display:block}.stat-card p{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat-card strong{font-size:27px;line-height:1.2}.stat-card small{font-size:10px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.card{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 12px rgba(30,60,90,.035);overflow:hidden}.card-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8edf2}.card-head h2,.card h2{font-size:15px;margin:0 0 3px}.card-head p{font-size:11px;color:var(--muted);margin:0}.card-head a,.data-table a{color:#1473bc;text-decoration:none;font-weight:700;font-size:12px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 14px;text-align:left;color:#708096;background:#f8fafc;font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.data-table td{padding:12px 14px;border-top:1px solid #edf1f5;font-size:11px;vertical-align:middle}.data-table td strong,.data-table td span:not(.pill){display:block}.data-table td>span{color:var(--muted);font-size:10px;margin-top:2px}.ticket-link{font-size:11px!important}.cell-subject{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-block!important;padding:4px 8px;border-radius:20px;font-size:9px!important;font-weight:800;text-transform:capitalize;white-space:nowrap}.priority-low{background:#eef2f6;color:#5d6c7b}.priority-medium{background:#edf5ff;color:#1869aa}.priority-high{background:#fff3db;color:#a56a00}.priority-critical,.overdue{background:#ffe9ed;color:#be334a}.status-new{background:#edf2f7;color:#53657a}.status-assigned{background:#e9f2ff;color:#2167ad}.status-in_progress{background:#e5f5ff;color:#087ba8}.status-pending_customer,.status-pending_vendor,.status-pending_parts{background:#fff5da;color:#9b6a00}.status-resolved,.status-closed,.status-active{background:#e5f8f1;color:#08785a}.status-cancelled,.status-inactive,.status-retired{background:#f1f3f5;color:#6b7280}.text-danger{color:var(--danger)!important;font-weight:700}.empty{text-align:center!important;padding:35px!important;color:#8391a1!important}.status-stack{padding:9px 20px}.status-stack>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f5;text-transform:capitalize}.status-stack strong{margin-left:auto}.status-dot{width:8px;height:8px;border-radius:50%;background:#8ca0b4}.status-dot.status-resolved,.status-dot.status-closed{background:#13af80}.status-dot.status-in_progress{background:#1997ce}.status-dot.status-new{background:#8ca0b4}.status-dot.status-assigned{background:#2877ca}.engineer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}.engineer-card{border:1px solid #e4eaf0;border-radius:9px;padding:12px;display:flex;gap:10px;align-items:center}.engineer-card div:nth-child(2){flex:1}.engineer-card strong,.engineer-card small{display:block}.engineer-card small{color:var(--muted);font-size:10px}.engineer-card b{font-size:10px;color:#16735b;background:#e7f8f2;padding:4px 7px;border-radius:12px}.toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap}.filter-bar input{min-width:260px}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea,.side-form input,.side-form select,.side-form textarea{border:1px solid #cfd9e3;border-radius:7px;padding:9px 10px;background:white;color:var(--ink);font:inherit}.pagination{margin-top:15px}.form-card{padding:24px;max-width:980px}.form-section{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.form-section h2{margin:0}.form-section p{margin:3px 0 0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.side-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#42556a}.form-grid textarea,.side-form textarea{resize:vertical}.form-actions{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;justify-content:flex-end;gap:9px}.ticket-layout{display:grid;grid-template-columns:minmax(0,2fr) 360px;gap:18px}.ticket-layout>section{padding:24px}.ticket-meta{display:flex;gap:8px;margin-bottom:20px}.prose{font-size:13px;line-height:1.75;white-space:pre-wrap;color:#3e5063}.resolution-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.resolution-grid>div{background:#f7f9fb;border:1px solid #e2e8ef;border-radius:8px;padding:14px}.resolution-grid h3{font-size:11px;text-transform:uppercase;color:#678;margin:0 0 6px}.resolution-grid p{margin:0;white-space:pre-wrap}.card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.timeline{margin-left:7px}.timeline article{position:relative;border-left:1px solid #ccd8e4;padding:0 0 22px 20px}.timeline-dot{position:absolute;width:9px;height:9px;background:#1684c5;border:2px solid white;box-shadow:0 0 0 2px #b9dbee;border-radius:50%;left:-5px;top:4px}.timeline-head{display:flex;justify-content:space-between;gap:10px}.timeline time{font-size:10px;color:#8492a2}.timeline p{margin:6px 0;white-space:pre-wrap;color:#45586d}.timeline small{background:#fff3d7;color:#8f6300;padding:3px 6px;border-radius:5px}.attachment-list{display:flex;flex-direction:column;gap:6px}.attachment-list a{border:1px solid var(--line);border-radius:7px;padding:9px;text-decoration:none;color:#166dac}.attachment-list small{color:var(--muted)}.ticket-layout aside{display:flex;flex-direction:column;gap:16px}.side-form,.details-card{padding:20px}.side-form{display:flex;flex-direction:column;gap:13px}.checkbox{flex-direction:row!important;align-items:center}.details-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 0}.details-card dt{color:var(--muted)}.details-card dd{margin:0;text-align:right;font-weight:700}.overlay{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}.ticket-layout{grid-template-columns:1fr}.engineer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.sidebar-open{transform:translateX(0)}.main-panel{margin-left:0}.menu-button{display:block}.topbar{padding:0 15px}.topbar>.button{display:none}.content{padding:20px 14px}.global-search input{min-width:0}.overlay{position:fixed;inset:0;background:#0008;z-index:25}.page-heading h1{font-size:23px}.stat-grid,.dashboard-grid,.form-grid,.resolution-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.engineer-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.filter-bar{display:grid}.filter-bar input{min-width:0}.heading-row{align-items:flex-start;flex-direction:column}.form-card{padding:17px}.ticket-layout>section{padding:17px}}
.guest-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 10% 10%,#e4f3ff,transparent 35%),linear-gradient(135deg,#eef3f7,#f8fafc)}.guest-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;text-decoration:none;color:var(--ink)}.guest-brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#17b88a,#2b8ee7)}.guest-brand strong,.guest-brand small{display:block}.guest-brand strong{font-size:18px}.guest-brand small{font-size:9px;color:#708096;text-transform:uppercase;letter-spacing:.14em}.guest-card{width:100%;max-width:430px;background:white;border:1px solid var(--line);border-radius:13px;padding:30px;box-shadow:0 14px 50px rgba(29,62,93,.1)}.login-heading h1{font-size:24px;margin:0 0 5px}.login-heading p{color:var(--muted);margin:0 0 22px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form>label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#42556a}.login-form input[type=email],.login-form input[type=password]{border:1px solid #cfd9e3;border-radius:8px;padding:11px;font:inherit}.login-form small{color:var(--danger)}.login-options{display:flex;align-items:center;justify-content:space-between;font-size:11px}.login-options label{font-weight:600}.login-options a{color:#1473bc;text-decoration:none}.login-help{text-align:center;color:#8391a1;font-size:10px;margin:18px 0 0}
.toolbar-actions{display:flex;gap:8px}.import-grid{display:grid;grid-template-columns:minmax(0,2fr) 340px;gap:18px;align-items:start}.import-help{padding:22px}.import-help h2{margin-top:0}.import-help h3{font-size:12px;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.07em;color:#617387}.import-help p,.import-help li{color:var(--muted);font-size:11px;line-height:1.6}.import-help ul{padding-left:18px}.import-help .hint{background:#eef6fd;border-radius:8px;padding:10px;color:#315c80}.upload-zone{min-height:230px;border:2px dashed #b9c9d8;border-radius:12px;background:#f8fbfd;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:25px;cursor:pointer}.upload-zone:hover{border-color:#3687c8;background:#f1f8fe}.upload-zone input{margin-top:10px;max-width:100%}.upload-zone small{color:var(--muted)}.upload-icon{width:48px;height:48px;border-radius:13px;background:#e4f3ff;color:#1175c2;display:grid;place-items:center;font-size:25px}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;max-width:720px}.import-summary div{background:white;border:1px solid var(--line);border-radius:10px;padding:14px 18px}.import-summary strong,.import-summary span{display:block}.import-summary strong{font-size:23px;color:#0f6eb6}.import-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){.import-grid{grid-template-columns:1fr}.toolbar-actions{display:grid}.import-summary{grid-template-columns:1fr 1fr 1fr}}
.report-filters{padding:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.report-filters label{display:flex;flex-direction:column;gap:5px;color:#526579;font-size:10px;font-weight:800}.report-filters input,.report-filters select{border:1px solid #cfd9e3;border-radius:7px;padding:8px;background:#fff;font:inherit}.report-filter-actions{grid-column:span 4;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.report-kpis article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;box-shadow:0 3px 12px rgba(30,60,90,.035)}.report-kpis span,.report-kpis small{display:block}.report-kpis span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#718195;font-weight:800}.report-kpis strong{font-size:24px;line-height:1.35}.report-kpis small{font-size:9px;color:#8794a2}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.report-chart{min-height:300px}.bar-list{padding:12px 20px}.bar-row{padding:7px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:10px;margin-bottom:5px}.bar-row span{color:#53667a}.bar-track{height:7px;border-radius:6px;background:#edf2f6;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:6px;min-width:3px}.bar-track i.blue{background:#2582cc}.bar-track i.green{background:#16ae80}.bar-track i.gold{background:#e2a728}.bar-track i.purple{background:#8368cf}.report-details{margin-top:0}
@media(max-width:1100px){.report-filters{grid-template-columns:repeat(2,1fr)}.report-filter-actions{grid-column:span 2}.report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.report-filters,.report-grid{grid-template-columns:1fr}.report-filter-actions{grid-column:span 1}.report-kpis{grid-template-columns:1fr 1fr}}
