*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#0d1117;color:#c9d1d9;min-height:100vh;font-size:13px}
.hidden{display:none!important}
::selection{background:#1f6feb;color:#fff}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:#0d1117}
::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}
a{color:#58a6ff;cursor:pointer;text-decoration:none}
a:hover{text-decoration:underline}
table{width:100%;border-collapse:collapse}
th{background:#161b22;color:#8b949e;padding:8px 12px;text-align:left;font-size:12px;font-weight:600;position:sticky;top:0;border-bottom:1px solid #21262d}
td{padding:8px 12px;border-bottom:1px solid #21262d;font-size:13px;color:#c9d1d9;text-transform:uppercase}
tr:hover td{background:#161b22}

/* ── LOGIN ── */
#screen-login{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#0d1117}
.login-box{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:40px;width:380px;text-align:center}
.login-icon{font-size:44px;color:#58a6ff;margin-bottom:10px}
.login-box h1{color:#e6edf3;font-size:22px;font-weight:700;margin-bottom:4px}
.login-sub{color:#484f58;font-size:12px;margin-bottom:24px}
.login-box input{width:100%;padding:10px 14px;margin-bottom:10px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px}
.login-box input:focus{outline:none;border-color:#58a6ff}
.login-box button{width:100%;padding:10px;background:#238636;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;margin-top:4px}
.login-box button:hover{background:#2ea043}
#login-error,#reg-error{color:#f85149;margin-top:10px;font-size:12px}
.login-register-btn{width:100%;padding:9px;background:transparent;color:#58a6ff;border:1px solid #30363d;border-radius:6px;font-size:13px;cursor:pointer}
.login-register-btn:hover{background:#161b22}

/* ── HOMEPAGE ── */
.home-topbar{background:#161b22;border-bottom:1px solid #30363d;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#8b949e;font-size:12px;position:relative}
.home-user-menu{cursor:pointer;color:#e6edf3}.home-user-menu:hover{color:#58a6ff}
.user-dropdown{position:absolute;top:36px;right:12px;background:#1c2333;border:1px solid #30486a;border-radius:10px;width:200px;z-index:100;padding:12px 0;box-shadow:0 8px 30px rgba(0,0,0,.5);text-align:center}
.ud-header{color:#e6edf3;font-size:14px;font-weight:700;text-decoration:underline;margin-bottom:10px}
.ud-item{display:block;padding:8px 20px;color:#c9d1d9;font-size:13px;cursor:pointer;text-decoration:none!important}
.ud-item:hover{color:#58a6ff}
.ud-item i{margin-right:6px;width:16px;text-align:center}
.home-body{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 36px);gap:80px;padding:40px}
.home-left{text-align:center}
.home-logo{font-size:80px;color:#58a6ff;margin-bottom:16px}
.home-logo-img{width:160px;height:160px;border-radius:50%;margin-bottom:16px;object-fit:contain}
.home-left h1{color:#e6edf3;font-size:28px;font-weight:700}
.home-tagline{color:#484f58;font-size:14px;margin:8px 0 20px}
.home-links{display:flex;gap:12px;justify-content:center}
.home-link{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none!important;color:#fff}
.home-link.discord{background:#5865F2}
.home-link.discord:hover{background:#4752c4}
.home-link.website{background:#30363d}
.home-link.website:hover{background:#3c444d}
.home-right{display:flex;flex-direction:column;gap:8px;min-width:260px}
.panel-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 20px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:14px;font-weight:500;cursor:pointer;text-align:left}
.panel-btn:hover{background:#30363d;color:#e6edf3}
.panel-btn i{width:20px;text-align:center;color:#8b949e}
.panel-btn.signout-btn{background:transparent;border-color:#f8514944;color:#f85149;margin-top:8px}
.panel-btn.signout-btn:hover{background:#f8514915}
.panel-btn.signout-btn i{color:#f85149}

/* ── SIDEBAR ── */
.sidebar{width:200px;background:#0d1117;border-right:1px solid #21262d;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;z-index:50;transition:transform .2s}
.sidebar.collapsed{transform:translateX(-200px)}
.sidebar-brand{display:flex;align-items:center;gap:8px;padding:14px 16px;color:#e6edf3;font-size:13px;font-weight:600;border-bottom:1px solid #21262d;cursor:pointer;text-decoration:none!important}
.sidebar-brand:hover{background:#161b22;color:#58a6ff}
.sidebar-brand i{color:#8b949e;font-size:11px}
#sidebar-menu{flex:1;overflow-y:auto;padding:8px 0}
.sb-section{padding:10px 16px 4px;font-size:11px;font-weight:600;color:#484f58;text-transform:uppercase;letter-spacing:.5px}
.sb-item{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#8b949e;font-size:13px;cursor:pointer;text-decoration:none!important;border-left:3px solid transparent}
.sb-item:hover{color:#e6edf3;background:#161b22}
.sb-item.active{color:#e6edf3;background:#161b22;border-left-color:#58a6ff}
.sb-item i{width:16px;text-align:center;font-size:12px}

/* ── MAIN AREA ── */
.main-area{margin-left:200px;min-height:100vh;display:flex;flex-direction:column}
.sidebar.collapsed+.main-area{margin-left:0}
.topbar{display:flex;align-items:center;background:#161b22;border-bottom:1px solid #21262d;height:42px;padding:0 16px;gap:12px}
.hamburger{background:none;border:none;color:#8b949e;font-size:16px;cursor:pointer;padding:4px 8px}
.hamburger:hover{color:#e6edf3}
.topbar-title{color:#e6edf3;font-size:14px;font-weight:600;flex:1}
.topbar-right{display:flex;align-items:center;gap:14px;font-size:12px;color:#8b949e}
.topbar-link{color:#8b949e;font-size:12px;cursor:pointer;text-decoration:none!important}
.topbar-link:hover{color:#e6edf3}
.topbar-link.logout{color:#f85149}
.content{flex:1;padding:24px;overflow-y:auto;height:calc(100vh - 42px)}

/* ── PAGE HEADER ── */
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.page-head h2{color:#e6edf3;font-size:18px;font-weight:600}
.page-head .sub{color:#484f58;font-size:12px;margin-top:2px}
.search-box{display:flex;align-items:center;gap:6px;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:6px 12px}
.search-box i{color:#484f58;font-size:12px}
.search-box input{background:none;border:none;color:#c9d1d9;font-size:13px;outline:none;width:160px}

/* ── STAT CARDS ── */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}
.stat-card{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:16px 20px}
.stat-card .stat-icon{color:#484f58;font-size:18px;margin-bottom:8px}
.stat-card .stat-num{font-size:28px;font-weight:700;color:#e6edf3}
.stat-card .stat-label{font-size:12px;color:#8b949e;margin-top:2px}
.stat-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;margin-top:6px}
.stat-badge.pending{background:#d29922;color:#0d1117}

/* ── DATA TABLE ── */
.data-panel{background:#0d1117;border:1px solid #21262d;border-radius:8px;overflow:hidden;margin-bottom:16px}
.data-panel .panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #21262d;background:#161b22}
.data-panel .panel-head h3{font-size:14px;font-weight:600;color:#e6edf3}
.data-panel .panel-body{overflow-y:auto;max-height:400px}
.data-panel table th{background:#0d1117}
.pagination{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-top:1px solid #21262d;color:#484f58;font-size:12px}

/* Status dots */
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}
.dot-red{background:#f85149}
.dot-green{background:#3fb950}
.dot-yellow{background:#d29922}
.dot-blue{background:#58a6ff}

/* Action links */
.act-link{color:#58a6ff;cursor:pointer;margin-right:10px;font-size:12px}
.act-link:hover{text-decoration:underline}
.act-link.danger{color:#f85149}

/* ── SPLIT LAYOUT (licenses) ── */
.split-layout{display:flex;gap:0;border:1px solid #21262d;border-radius:8px;overflow:hidden;background:#0d1117}
.split-nav{width:180px;border-right:1px solid #21262d;background:#161b22}
.split-nav-item{display:block;padding:10px 16px;color:#8b949e;font-size:13px;cursor:pointer;text-decoration:none!important}
.split-nav-item:hover{background:#21262d;color:#e6edf3}
.split-nav-item.active{background:#1f6feb;color:#fff}
.split-content{flex:1;overflow-y:auto;max-height:600px}

/* ── BUTTONS ── */
.btn{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}
.btn-green{background:#238636;color:#fff}.btn-green:hover{background:#2ea043}
.btn-blue{background:#1f6feb;color:#fff}.btn-blue:hover{background:#388bfd}
.btn-red{background:#da3633;color:#fff}.btn-red:hover{background:#f85149}
.btn-gray{background:#21262d;color:#c9d1d9;border:1px solid #30363d}.btn-gray:hover{background:#30363d}
.btn-sm{padding:4px 10px;font-size:11px}

/* ── MODAL ── */
.modal-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:200}
.modal-box{background:#161b22;border:1px solid #30363d;border-radius:10px;min-width:420px;max-width:90vw;overflow:hidden}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #21262d}
.modal-head h3{color:#e6edf3;font-size:16px;font-weight:600}
.modal-head button{background:none;border:none;color:#484f58;font-size:16px;cursor:pointer}
.modal-head button:hover{color:#e6edf3}
.modal-body{padding:18px}
.modal-body label{display:block;color:#8b949e;font-size:11px;font-weight:600;margin-bottom:3px}
.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:8px 12px;margin-bottom:10px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;font-family:inherit}
.modal-body textarea{min-height:80px;resize:vertical}
.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:#58a6ff}
.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid #21262d;background:#0d1117}

/* ── DISPATCH GRID ── */
.dispatch-topbar{position:fixed;top:0;left:0;right:0;z-index:50}
.dispatch-topbar select{background:#0d1117;border:1px solid #30363d;color:#c9d1d9;padding:4px 8px;border-radius:4px;font-size:12px}
.dispatch-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:calc(100vh - 42px);margin-top:42px}
.d-panel{display:flex;flex-direction:column;border:1px solid #21262d;overflow:hidden}
.d-panel-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#161b22;border-bottom:1px solid #21262d;font-size:13px;font-weight:600;color:#e6edf3}
.d-panel-head input{background:#0d1117;border:1px solid #30363d;border-radius:4px;padding:3px 8px;color:#c9d1d9;font-size:11px;width:120px;margin-left:auto}
.d-panel-head input:focus{outline:none;border-color:#58a6ff}
.d-add{background:#238636;border:none;color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}
.d-panel-body{flex:1;overflow-y:auto;background:#0d1117}
.d-panel-body th{background:#161b22}
.live-dot{width:8px;height:8px;border-radius:50%;background:#f85149;animation:blink 1.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* Priority */
.pr-critical{color:#f85149;font-weight:700}
.pr-high{color:#d29922;font-weight:600}
.pr-medium{color:#e3b341}
.pr-low{color:#3fb950}

/* Status badges */
.st{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600}
.st-available{background:#23863622;color:#3fb950}
.st-busy{background:#d2992222;color:#d29922}
.st-enroute{background:#1f6feb22;color:#58a6ff}
.st-on_scene{background:#d2992222;color:#d29922}
.st-pursuit{background:#da363322;color:#f85149}
.st-off_duty{background:#21262d;color:#484f58}
.st-pending{background:#21262d;color:#8b949e}
.st-assigned{background:#1f6feb22;color:#58a6ff}
.st-approved{background:#23863622;color:#3fb950}
.st-denied{background:#da363322;color:#f85149}

/* ── DISPATCH FULL LAYOUT ── */
#screen-dispatch{display:flex;flex-direction:column;height:100vh}
.d-menubar{display:flex;align-items:center;background:#2d3136;height:24px;padding:0 8px;font-size:11px;color:#8b949e}
.d-menu-item{padding:2px 8px;cursor:pointer;border-radius:3px}.d-menu-item:hover{background:#3c4043;color:#e6edf3}
.d-menubar-center{flex:1;text-align:center;color:#8b949e;font-weight:600;letter-spacing:1px}
.d-menubar-right{color:#e6edf3;font-weight:600;font-variant-numeric:tabular-nums}
.d-status-sel{background:#238636;color:#fff;border:none;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;cursor:pointer;margin-right:8px}
.d-status-sel:focus{outline:none}
.search-tabs{display:flex;gap:0;border-bottom:1px solid #21262d}
.search-tab{padding:8px 16px;color:#8b949e;cursor:pointer;font-size:12px;border-bottom:2px solid transparent}
.search-tab:hover{color:#e6edf3}
.search-tab.active{color:#d29922;border-bottom-color:#d29922}
.search-tab i{margin-right:5px}

/* ── Search Popup ── */
.d-search-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:620px;max-width:90vw;max-height:85vh;background:#161b22;border:1px solid #30363d;border-radius:10px;z-index:150;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.d-search-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #21262d;color:#e6edf3;font-size:14px;font-weight:600}
.d-search-header button{background:none;border:none;color:#484f58;font-size:16px;cursor:pointer}.d-search-header button:hover{color:#e6edf3}
.d-search-tabs{display:flex;border-bottom:1px solid #21262d;padding:0 16px}
.d-search-body{padding:16px;overflow-y:auto;flex:1}
.d-search-body label{display:block;color:#8b949e;font-size:11px;font-weight:600;margin-bottom:3px}
.d-search-body input{width:100%;padding:7px 10px;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:13px;margin-bottom:2px}
.d-search-body input:focus{outline:none;border-color:#58a6ff}
.d-toolbar{display:flex;align-items:center;background:#23272b;border-bottom:1px solid #3c4043;padding:4px 8px;gap:2px}
.d-tb-btn{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:1px solid transparent;color:#aaa;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:9px;min-width:54px}
.d-tb-btn i{font-size:16px}.d-tb-btn:hover{background:#3c4043;color:#fff;border-color:#555}
.d-tb-btn.accent{color:#4ade80}.d-tb-btn.accent:hover{background:#4ade8022;border-color:#4ade80}
.d-taskbar{display:flex;align-items:center;background:#2d3136;border-bottom:1px solid #3c4043;padding:0 8px;height:22px;gap:2px;overflow-x:auto}
.d-tb-link{padding:2px 8px;color:#888;font-size:10px;cursor:pointer;border-radius:3px;white-space:nowrap}
.d-tb-link:hover{color:#fff;background:#3c4043}.d-tb-link.active{color:#3b82f6}.d-tb-link i{margin-right:3px;font-size:9px}

.d-page{display:none;flex:1;overflow:hidden}.d-page.active{display:flex;flex-direction:column}
.dispatch-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;flex:1;gap:0}

/* ── Call Detail ── */
.cd-topbar{display:flex;align-items:center;gap:12px;background:#161b22;padding:8px 16px;border-bottom:1px solid #21262d;font-size:13px;color:#e6edf3}
.cd-topbar input{background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;padding:4px 8px;font-size:13px;font-weight:600}
.cd-field-sm{width:60px}.cd-field-md{width:180px}.cd-field-lg{flex:1;min-width:200px}
.cd-status-badge{margin-left:auto;color:#f85149;font-weight:600;font-size:13px}
.cd-fields{display:flex;align-items:center;gap:10px;background:#0d1117;padding:6px 16px;border-bottom:1px solid #21262d;font-size:12px;color:#8b949e;flex-wrap:wrap}
.cd-fields select,.cd-fields input{background:#161b22;border:1px solid #30363d;border-radius:4px;color:#e6edf3;padding:3px 6px;font-size:12px}
.cd-tabs{display:flex;background:#161b22;border-bottom:1px solid #21262d;padding:0 16px}
.cd-tab{padding:6px 14px;background:none;border:none;color:#8b949e;cursor:pointer;font-size:12px;border-bottom:2px solid transparent}
.cd-tab:hover{color:#e6edf3}.cd-tab.active{color:#58a6ff;border-bottom-color:#58a6ff}
.cd-tab-content{flex:1;overflow-y:auto;padding:16px;background:#0d1117}
.cd-comment-bar{display:flex;background:#161b22;border-top:1px solid #21262d;padding:8px 16px}
.cd-comment-bar input{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;padding:8px 12px;font-size:13px}
.cd-comment-bar input:focus{outline:none;border-color:#58a6ff}
.cd-note{padding:12px 16px;border-bottom:1px solid #21262d}
.cd-note-time{color:#8b949e;font-size:11px}.cd-note-author{color:#d29922;font-weight:600;font-size:12px;margin-left:6px}
.cd-note-msg{color:#c9d1d9;font-size:13px;margin-top:4px;text-transform:uppercase}
.result-card td,.result-card .detail-value,.d-search-body .result-card{text-transform:uppercase}
.result-card input,.modal-body input,.d-search-body input{text-transform:uppercase}

/* ── Returns ── */
.returns-layout{display:flex;height:100%}
.returns-sidebar{width:160px;background:#0d1117;border-right:1px solid #21262d;padding:8px 0}
.returns-section{padding:8px 12px;font-size:11px;font-weight:600;color:#3fb950;text-transform:uppercase}
.returns-nav{display:block;padding:5px 12px 5px 20px;color:#8b949e;font-size:12px;cursor:pointer;text-decoration:none!important}
.returns-nav:hover{color:#e6edf3;background:#161b22}.returns-nav.active{color:#e6edf3;background:#161b22}
.returns-nav i{margin-right:6px;font-size:10px}
.returns-content{flex:1;overflow-y:auto;background:#0d1117}
.returns-record{padding:20px;font-family:'Consolas',monospace;font-size:13px;color:#c9d1d9;line-height:1.6;white-space:pre-wrap}
.returns-record .rr-section{color:#e6edf3;font-weight:700;margin-top:12px}
.returns-record .rr-label{color:#8b949e}.returns-record .rr-value{color:#4ade80}
.returns-record .rr-none{color:#f85149;background:#f8514933;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:700}

/* ── Status Bar ── */
.d-statusbar{display:flex;align-items:center;gap:16px;background:#161b22;border-top:1px solid #21262d;height:24px;padding:0 12px;font-size:11px;color:#8b949e}
.d-statusbar span{display:flex;align-items:center;gap:4px}.d-statusbar b{color:#d29922}
.d-statusbar-right{margin-left:auto;color:#e6edf3;font-weight:600;font-variant-numeric:tabular-nums}

/* Responsive */
@media(max-width:900px){.home-body{flex-direction:column;gap:40px}.sidebar{transform:translateX(-200px)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}}
