
:root{
 --bg:#07111d;
 --bg2:#0a1724;
 --panel:#0d1b28;
 --panel2:#102233;
 --line:#1c3345;
 --line2:#27445a;
 --text:#eef6fb;
 --muted:#8da4b5;
 --subtle:#5f7a8e;
 --accent:#27b7ff;
 --accent-soft:#0d3045;
 --green:#55d49b;
 --red:#ff6674;
 --yellow:#ffc857;
 --shadow:0 18px 55px rgba(0,0,0,.28);
 --radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
 margin:0;
 color:var(--text);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 background:
 radial-gradient(circle at 80% -10%,rgba(39,183,255,.12),transparent 30%),
 radial-gradient(circle at 10% 100%,rgba(72,93,255,.08),transparent 28%),
 var(--bg);
 min-height:100vh;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}

.sidebar{
 position:sticky;top:0;height:100vh;
 background:rgba(7,17,29,.96);
 border-right:1px solid var(--line);
 padding:24px 16px;
 display:flex;flex-direction:column;
 overflow:auto;
}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 20px}
.brand-mark{
 width:44px;height:44px;border-radius:13px;
 display:grid;place-items:center;
 background:linear-gradient(145deg,#24b8ff,#4f6cff);
 color:#03121d;font-weight:900;letter-spacing:.5px;
 box-shadow:0 10px 25px rgba(39,183,255,.22)
}
.brand-copy strong{display:block;font-size:17px}
.brand-copy small{display:block;font-size:9px;color:var(--muted);letter-spacing:1.6px;margin-top:3px}
.nav-section{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.nav-label{font-size:9px;color:#506d82;letter-spacing:1.5px;margin:10px 10px 6px}
.nav-section a{
 display:flex;align-items:center;gap:11px;
 color:#94a9b9;
 border-radius:11px;
 padding:10px 11px;
 font-size:13px;
 transition:.18s ease;
 border:1px solid transparent;
}
.nav-section a:hover{background:#0c1e2c;color:#fff}
.nav-section a.active{
 background:linear-gradient(90deg,#102d42,#0d2030);
 color:#fff;
 border-color:#1f455e;
 box-shadow:inset 3px 0 var(--accent);
}
.nav-icon{width:22px;text-align:center;color:#70cfff}
.sidebar-status{
 margin-top:auto;display:flex;align-items:center;gap:10px;
 padding:13px;background:#0a1b27;border:1px solid var(--line);
 border-radius:13px
}
.sidebar-status b{display:block;font-size:11px}
.sidebar-status small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 12px rgba(85,212,155,.9)}

.content{padding:0 30px 48px;min-width:0}
.topbar{
 height:82px;display:flex;align-items:center;justify-content:space-between;
 border-bottom:1px solid var(--line);margin-bottom:26px
}
.topbar-left{display:flex;align-items:center;gap:12px}
.topbar h1{font-size:16px;margin:3px 0 0}
.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--accent)}
.mobile-menu{display:none}
.profile{display:flex;align-items:center;gap:10px}
.profile-meta{text-align:right}
.profile-meta b{display:block;font-size:12px}
.profile-meta small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.profile-avatar{
 width:40px;height:40px;border-radius:50%;
 background:#10283b;border:1px solid #2a5168;
 display:grid;place-items:center;font-weight:800;font-size:12px;
}
.flash{padding:12px 14px;margin-bottom:16px;border-radius:11px;background:#102b20;border:1px solid #266342;color:#8cebb2;font-size:12px}
.flash.error{background:#2b1217;border-color:#64313a;color:#ff9ca3}

/* dashboard */
.dashboard-hero{
 display:grid;grid-template-columns:1.5fr .65fr;gap:22px;
 padding:32px;border:1px solid var(--line);
 border-radius:22px;
 background:linear-gradient(125deg,#0d2333 0%,#0a1824 58%,#102438 100%);
 box-shadow:var(--shadow);
}
.hero-copy h2{font-size:34px;line-height:1.08;margin:14px 0 10px}
.hero-copy p{color:#9ab0bf;line-height:1.6;max-width:680px;margin:0}
.hero-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.hero-snapshot{
 align-self:stretch;padding:18px;border:1px solid #264358;
 background:rgba(7,17,29,.52);border-radius:16px
}
.hero-snapshot>small{font-size:9px;color:#628197;letter-spacing:1.4px}
.snapshot-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #183345;font-size:11px}
.snapshot-row:last-child{border-bottom:0}
.snapshot-row span{color:var(--muted)}
.online{color:var(--green);font-size:10px}

.pill{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid #2c536b;background:#0b1e2b;color:#a8bdd0;font-size:9px}
.pill.live{color:#72e7a6;border-color:#2b6347;background:#0c241a}
.btn{
 display:inline-flex;align-items:center;justify-content:center;
 border-radius:10px;border:1px solid #29485d;background:#102331;
 color:#fff;padding:10px 14px;font-size:11px;font-weight:700;cursor:pointer
}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#02121d}
.btn.glass{background:#0e1f2d}
.btn.block{width:100%;margin-top:12px}
.mini-btn{
 border:1px solid #29485d;background:#102331;color:white;
 border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700;cursor:pointer
}

.metric-grid{
 display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0
}
.metric-card{
 display:flex;gap:13px;align-items:center;
 background:linear-gradient(145deg,#0c1b27,#0c1721);
 border:1px solid var(--line);border-radius:16px;padding:17px
}
.metric-icon{
 width:42px;height:42px;flex:0 0 42px;border-radius:12px;
 display:grid;place-items:center;background:#17283a;color:#91b2c8;font-size:18px
}
.metric-icon.blue{background:#0c3045;color:#55c7ff}
.metric-icon.green{background:#0e2f24;color:#6ae4aa}
.metric-icon.red{background:#36171d;color:#ff8490}
.metric-card small{display:block;color:var(--muted);font-size:10px}
.metric-card strong{display:block;font-size:22px;margin:2px 0}
.metric-card span{display:block;color:#547186;font-size:9px}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:16px}
.dashboard-main,.dashboard-side{min-width:0}
.panel{
 background:linear-gradient(160deg,#0c1a26,#0b1721);
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:18px;
 margin-bottom:16px;
 box-shadow:0 10px 34px rgba(0,0,0,.14);
}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.panel-head small{font-size:9px;color:var(--accent);letter-spacing:1.3px}
.panel-head h3{margin:3px 0 0;font-size:15px}
.panel-head a,.panel-head>span{font-size:10px;color:#6f8ca0}
.modern-call-list{display:flex;flex-direction:column;gap:8px}
.modern-call{
 display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;
 background:#091721;border:1px solid #183347;border-radius:12px;padding:11px
}
.call-badge{font-size:8px;font-weight:800;padding:6px 8px;border-radius:7px;background:#183143;color:#9dc0d8}
.call-badge.priority-1{background:#41161d;color:#ff9098}
.call-badge.priority-2{background:#3a2c13;color:#ffd976}
.call-badge.priority-3{background:#11344a;color:#77d3ff}
.modern-call-copy b{display:block;font-size:11px}
.modern-call-copy span{display:block;color:#9bb0bf;font-size:10px;margin-top:2px}
.modern-call-copy small{display:block;color:#4e6f84;font-size:9px;margin-top:3px}
.call-chevron{color:#52768d;font-size:21px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.quick-grid a{
 display:flex;flex-direction:column;gap:4px;
 background:#091721;border:1px solid #173246;border-radius:12px;padding:14px
}
.quick-grid a>span{font-size:19px;color:#65cfff;margin-bottom:5px}
.quick-grid b{font-size:11px}
.quick-grid small{font-size:9px;color:#668195}

.unit-status-list{display:flex;flex-direction:column;gap:8px}
.unit-status-row{
 display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;
 padding:9px;border-bottom:1px solid #183043
}
.unit-avatar{width:34px;height:34px;border-radius:10px;background:#102a3b;display:grid;place-items:center;font-size:9px;color:#70d0ff;font-weight:800}
.unit-status-row b{display:block;font-size:11px}
.unit-status-row div span{display:block;color:var(--muted);font-size:9px}
.unit-pill{padding:5px 7px;border-radius:999px;background:#10281e;border:1px solid #24573e;color:#7be7aa;font-size:8px}
.record-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.record-stats div{background:#091721;border:1px solid #183347;border-radius:11px;padding:13px;text-align:center}
.record-stats strong{display:block;font-size:22px}
.record-stats span{display:block;color:var(--muted);font-size:9px;margin-top:3px}

/* generic pages */
.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.page-title span{font-size:9px;color:var(--accent);letter-spacing:1.4px}
.page-title h2{font-size:28px;margin:4px 0 4px}
.page-title p{margin:0;color:var(--muted);font-size:11px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:17px}
.stat small{display:block;color:var(--muted);font-size:10px}
.stat strong{display:block;font-size:23px;margin:5px 0}
.stat span{color:#58778d;font-size:9px}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.job-card,.property-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px}
.job-card h3,.property-card h3{margin:10px 0 3px}
.job-card p,.property-card p{color:var(--muted);font-size:10px}
.salary{font-size:20px;font-weight:800}.salary small{display:block;font-size:9px;color:var(--muted);font-weight:400}
.property-card{display:flex;gap:12px}.property-icon{width:46px;height:46px;border-radius:12px;background:#102d40;display:grid;place-items:center;color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.form-grid label{font-size:10px;color:#8ca3b4}
.form-grid input,.form-grid select,.form-grid textarea,
.search-hero input,.search-hero select,
.cad-actions select,.cad-actions input,.unit-card input,.unit-card select{
 width:100%;margin-top:5px;background:#07131c;border:1px solid #264052;color:#fff;border-radius:9px;padding:10px;outline:none
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-hero input:focus{border-color:#2a9bd0;box-shadow:0 0 0 3px rgba(39,183,255,.08)}
.full{grid-column:1/-1}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #183043;font-size:10px}
th{font-size:8px;color:#607d91;text-transform:uppercase;letter-spacing:1px}
.positive{color:var(--green)}.negative{color:var(--red)}
.plate{display:inline-flex!important;background:#f0f3f5!important;color:#11181e!important;border-radius:5px!important;padding:5px 7px!important;font-weight:900!important;letter-spacing:1px!important;width:max-content!important}
.tag,.status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:8px;border:1px solid #29485d;background:#0d1e2b;color:#a4b7c4}
.tag.red{background:#311219;border-color:#67313a;color:#ff939d}
.search-hero{padding:18px;border-radius:15px;background:linear-gradient(120deg,#0d2232,#0b1721);border:1px solid var(--line);margin-bottom:15px}
.search-hero form{display:grid;grid-template-columns:180px 1fr auto;gap:9px}
.search-hero input,.search-hero select{margin:0}
.record-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px;background:#091721;border:1px solid #173247;border-radius:11px;margin-bottom:8px}
.record-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#102d41;color:#75d3ff;font-weight:800}
.record-avatar.xl{width:68px;height:68px;font-size:20px}
.record-card b{font-size:10px}.record-card span{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.profile-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:16px}
.identity{text-align:center}.identity dl{text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:7px}.identity dt{font-size:9px;color:var(--muted)}.identity dd{text-align:right;margin:0;font-size:9px}
.mini-record{padding:10px 0;border-bottom:1px solid #183043}.mini-record b{display:block;font-size:10px}.mini-record span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.mini-record p{font-size:9px;color:#7893a5}
.empty-state{text-align:center;padding:60px}.big-icon{font-size:45px;color:#28516a}
.bolo-card{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #183043}
.bolo-card h3{margin:7px 0}.bolo-card p{font-size:10px;color:#92a8b7}.bolo-card small{font-size:8px;color:#587489}

.cad-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}
.call-list{display:flex;flex-direction:column;gap:9px}
.call-card{background:#091721;border:1px solid #183347;border-radius:12px;padding:12px}
.call-top{display:grid;grid-template-columns:auto 1fr;gap:10px}
.priority{padding:6px 8px;border-radius:7px;font-size:8px;font-weight:800;width:max-content}
.priority-1{background:#41161d;color:#ff9098}.priority-2{background:#3a2c13;color:#ffd976}.priority-3{background:#11344a;color:#77d3ff}
.call-main b{font-size:10px}.call-main span{display:block;color:#9cb0bf;font-size:9px;margin-top:2px}.call-main small{display:block;color:#6b8799;font-size:9px;margin-top:5px}.call-main em{display:block;color:#64caff;font-size:8px;margin-top:5px;font-style:normal}
.cad-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.cad-actions form{display:flex;gap:5px;align-items:center}.cad-actions select,.cad-actions input{margin:0;padding:8px;font-size:9px}
.note-form{flex:1}.note-form input{min-width:140px}
.dispatch-note{margin-top:7px;padding:7px 9px;background:#07131c;border-left:2px solid var(--accent);font-size:9px;color:#afc3d0}.dispatch-note span{display:block;color:#557286;font-size:8px;margin-top:2px}
.unit-list{display:flex;flex-direction:column;gap:8px}.unit-card{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:7px;align-items:center;padding:9px;background:#091721;border:1px solid #183347;border-radius:11px}.unit-card input,.unit-card select{margin:0;padding:8px;font-size:9px}.unit-name b{display:block;font-size:10px}.unit-name span{display:block;color:var(--muted);font-size:9px}.unit-name small{display:block;color:#547186;font-size:8px}

.modal{position:fixed;inset:0;background:rgba(0,5,10,.82);display:none;place-items:center;padding:20px;z-index:100}.modal.open{display:grid}
.modal-box{width:min(620px,100%);background:#0d1c29;border:1px solid #2a4a60;border-radius:18px;padding:20px;box-shadow:0 28px 80px rgba(0,0,0,.5)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0;font-size:15px}.modal-head button{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}
.inline-form{display:flex;gap:5px;align-items:center}

@media(max-width:1050px){
 .app-shell{grid-template-columns:220px 1fr}
 .metric-grid{grid-template-columns:repeat(2,1fr)}
 .dashboard-grid{grid-template-columns:1fr}
 .dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .quick-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:760px){
 body{padding-bottom:78px}
 .app-shell{display:block}
 .content{padding:0 13px 22px}
 .sidebar{
   position:fixed!important;left:0;right:0;bottom:0;top:auto;
   width:auto;height:72px!important;
   display:flex;flex-direction:row;align-items:center;gap:4px;
   padding:6px 8px;border-right:0;border-top:1px solid var(--line);
   background:rgba(6,15,25,.97);backdrop-filter:blur(16px);
   overflow-x:auto;overflow-y:hidden;z-index:90
 }
 .brand,.nav-label,.sidebar-status{display:none}
 .nav-section{display:contents}
 .nav-section a{
   min-width:72px;flex:0 0 72px;
   height:58px;
   display:flex;flex-direction:column;justify-content:center;gap:4px;
   padding:5px 4px;border-radius:10px;text-align:center;font-size:9px
 }
 .nav-section a span:last-child{white-space:nowrap}
 .nav-icon{font-size:16px;width:auto}
 .nav-section a.active{box-shadow:none;border-color:#24506b;background:#0f293b}
 .topbar{height:64px;margin-bottom:14px}
 .mobile-menu{display:none}
 .eyebrow{display:none}
 .topbar h1{font-size:14px}
 .profile-meta{display:none}
 .profile-avatar{width:34px;height:34px}
 .dashboard-hero{grid-template-columns:1fr;padding:21px}
 .hero-copy h2{font-size:27px}
 .hero-copy p{font-size:11px}
 .hero-snapshot{display:none}
 .metric-grid{grid-template-columns:1fr 1fr;gap:9px}
 .metric-card{padding:12px;gap:9px}
 .metric-icon{width:36px;height:36px;flex-basis:36px}
 .metric-card strong{font-size:18px}
 .metric-card span{display:none}
 .dashboard-grid{grid-template-columns:1fr}
 .dashboard-side{display:block}
 .quick-grid{grid-template-columns:1fr 1fr}
 .quick-grid a{padding:12px}
 .page-title{align-items:flex-start;flex-direction:column}
 .page-title h2{font-size:24px}
 .stats-grid,.two-col,.three-col,.cards,.cad-layout,.profile-grid{grid-template-columns:1fr!important}
 .form-grid{grid-template-columns:1fr}
 .full{grid-column:auto}
 .search-hero form{grid-template-columns:1fr}
 .call-top{grid-template-columns:1fr}
 .cad-actions{display:grid;grid-template-columns:1fr}
 .cad-actions form{display:grid;grid-template-columns:1fr auto}
 .unit-card{grid-template-columns:1fr}
 .modern-call{grid-template-columns:1fr}
 .modern-call .call-chevron{display:none}
 .table-wrap{overflow:auto}
}

/* DISCORD AUTH + COMMUNITIES */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% -10%,#14344d 0,transparent 38%),#07111d}
.auth-shell{width:min(520px,100%)}
.setup-shell{width:min(680px,100%);margin:auto}
.auth-card{background:linear-gradient(150deg,#0d1d2b,#091520);border:1px solid #234158;border-radius:24px;padding:34px;box-shadow:0 28px 90px rgba(0,0,0,.42);text-align:center}
.auth-card.wide{text-align:left}
.auth-logo{width:66px;height:66px;margin:0 auto 18px;border-radius:19px;background:linear-gradient(145deg,#27b7ff,#5865f2);display:grid;place-items:center;font-size:22px;font-weight:900;color:#04121d}
.auth-card.wide .auth-logo{margin-left:0}
.auth-card h1{font-size:30px;line-height:1.08;margin:15px 0 10px}
.auth-card p{color:#93aabd;line-height:1.6;font-size:12px}
.discord-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#5865f2;color:white;border-radius:11px;padding:13px 16px;font-weight:800;font-size:12px;margin-top:22px}
.discord-btn:hover{filter:brightness(1.08)}
.setup-warning{padding:13px;border:1px solid #684d23;background:#2d2413;border-radius:10px;margin:18px 0;text-align:left}
.setup-warning b,.setup-warning span{display:block}.setup-warning span{color:#c2a66f;font-size:10px;margin-top:4px}
.auth-foot{margin-top:22px;color:#4f6f84;font-size:9px;letter-spacing:1px}
.callback-box{margin:16px 0;padding:12px;background:#07131d;border:1px solid #203c50;border-radius:10px}
.callback-box small{display:block;color:#68879d;font-size:8px;margin-bottom:6px}.callback-box code{display:block;overflow-wrap:anywhere;color:#76d5ff;font-size:10px}
.community-shell{width:min(1050px,100%);margin:auto;padding:30px 20px}
.community-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.community-top h1{margin:8px 0 0;font-size:17px}
.community-intro{margin-bottom:20px}.community-intro h2{font-size:32px;margin:7px 0}.community-intro p{color:#8da4b5}
.community-list{display:flex;flex-direction:column;gap:9px}
.community-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;background:#091721;border:1px solid #183347;border-radius:12px;color:inherit;text-align:left}
.community-badge{width:44px;height:44px;border-radius:12px;background:#102f44;display:grid;place-items:center;color:#67d0ff;font-size:10px;font-weight:900}
.community-card b{display:block}.community-card span,.community-card small{display:block;color:#8da4b5;font-size:9px;margin-top:3px}
@media(max-width:760px){.auth-card{padding:24px}.auth-card h1{font-size:25px}.community-top{align-items:flex-start}.community-intro h2{font-size:26px}.community-card{grid-template-columns:auto 1fr}.community-card button{grid-column:1/-1}}
