:root{
  --gard-primary:#2563EB;
  --gard-primary-2:#4F8CFF;
  --gard-secondary:#0B1630;
  --gard-secondary-2:#111F3E;
  --gard-surface:#F5F8FC;
  --gard-card:#FFFFFF;
  --gard-text:#14213D;
  --gard-muted:#64748B;
  --gard-line:#DCE5F1;
  --gard-success:#16875B;
  --gard-warning:#B7791F;
  --gard-danger:#C2413A;
  --tenant-primary:var(--gard-primary);
  --tenant-secondary:var(--gard-secondary);
  --tenant-primary-text:#FFFFFF;
  --tenant-secondary-text:#F8FAFC;
  --tenant-body-text:var(--gard-text);
  --tenant-muted-text:var(--gard-muted);
  --tenant-sidebar-text:#F8FAFC;
  --tenant-accent-text:#FFFFFF;
}

/* Platform identity: always GARD Management. Tenant inline variables may override
   the tenant-specific portion without changing the operator brand. */
body{background:#eef3f9;color:var(--tenant-body-text,var(--gard-text));}
.login-page{background:radial-gradient(circle at 20% 10%,rgba(79,140,255,.16),transparent 34%),linear-gradient(145deg,#071126 0%,#0B1630 48%,#122448 100%);}
.login-card{border:1px solid rgba(131,164,214,.25);box-shadow:0 30px 80px rgba(3,12,28,.35);}
.gm-login-logo,.gm-admin-logo{max-width:100%;height:auto;display:block;}
.gm-admin-logo{width:230px;margin:0 0 18px;}
.app-shell>.sidebar{background:linear-gradient(180deg,#08142B 0%,#0B1630 55%,#0E1B37 100%);}
.app-shell>.sidebar .product{color:#8BB7FF;letter-spacing:.18em;}
.app-shell>.sidebar .brand,.app-shell>.sidebar .sidebar-foot{color:#F8FAFC;}
.app-shell>.main .topbar{border-bottom:1px solid #dce5f1;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);}

/* Neutral GARD defaults. Existing branded tenants override these via the tenant
   variables set from the database. */
.gm-tenant-sidebar{background:linear-gradient(180deg,var(--tenant-secondary,#0B1630) 0%,color-mix(in srgb,var(--tenant-secondary,#0B1630) 82%,#17376D) 100%)!important;color:var(--tenant-sidebar-text,#F8FAFC)!important;}
.gm-tenant-sidebar .gm-brand-name,.gm-tenant-sidebar .gm-sidebar-foot,.gm-tenant-sidebar .gm-sidebar-foot *{color:var(--tenant-sidebar-text,#F8FAFC)!important;}
.gm-tenant-nav button{border-radius:10px;color:color-mix(in srgb,var(--tenant-sidebar-text,#F8FAFC) 82%,transparent);transition:background .16s ease,border-color .16s ease,transform .16s ease;}
.gm-tenant-nav button:hover{background:rgba(255,255,255,.07);transform:translateX(1px);}
.gm-tenant-nav button.active{background:color-mix(in srgb,var(--tenant-primary,#2563EB) 18%,transparent);border-color:color-mix(in srgb,var(--tenant-primary,#2563EB) 55%,transparent)!important;box-shadow:inset 3px 0 0 var(--tenant-primary,#2563EB)!important;color:var(--tenant-sidebar-text,#F8FAFC);}
.gm-module-view,.gb-section,.panel{color:var(--tenant-body-text,var(--gard-text));}
.muted,.gm-module-view .muted,.gb-section .muted{color:var(--tenant-muted-text,var(--gard-muted))!important;}
.btn.primary,.gm2230-primary{background:var(--tenant-primary,#2563EB)!important;border-color:var(--tenant-primary,#2563EB)!important;color:var(--tenant-accent-text,#FFF)!important;}
.btn.primary:hover,.gm2230-primary:hover{filter:brightness(.95);}
.gm-module-head{border-top-color:var(--tenant-primary,#2563EB)!important;}
.gm-build-chip{background:color-mix(in srgb,var(--tenant-primary,#2563EB) 9%,#fff);border-color:color-mix(in srgb,var(--tenant-primary,#2563EB) 24%,#dce5f1);color:color-mix(in srgb,var(--tenant-primary,#2563EB) 72%,#14213D);}

/* Shared modern component language across every module. */
.gm-module-view,.gb-section,.panel,.detail,.tenant-list{border-color:#dfe7f1!important;border-radius:16px!important;}
.gm-module-view,.gb-section,.panel{background:#fff;}
.panel-head,.gb-section-head,.gm-module-head{border-color:#e6edf5!important;}
.btn{border-radius:9px!important;min-height:36px;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,border-color .14s ease;}
.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(31,55,91,.08);}
.btn.small,.btn.tiny{min-height:30px;}
.field input,.field select,.field textarea,.search,input.search,select,textarea{border-radius:9px!important;border-color:#d6e0ec!important;background:#fff;color:var(--tenant-body-text,var(--gard-text));transition:border-color .14s ease,box-shadow .14s ease;background .14s ease;}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus,input.search:focus,select:focus,textarea:focus{outline:none!important;border-color:color-mix(in srgb,var(--tenant-primary,#2563EB) 70%,#cbd5e1)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary,#2563EB) 13%,transparent)!important;}
.field label{font-size:11px;font-weight:750;color:color-mix(in srgb,var(--tenant-body-text,var(--gard-text)) 78%,#64748b);letter-spacing:.01em;}
.table-wrap{border:1px solid #e1e8f0;border-radius:12px;overflow:auto;background:#fff;}
.table{border-collapse:separate!important;border-spacing:0!important;}
.table thead th{background:#f6f9fc!important;color:#5c6c82!important;font-size:10px!important;letter-spacing:.055em;text-transform:uppercase;border-bottom:1px solid #dfe7f1!important;position:sticky;top:0;z-index:1;}
.table tbody td{border-bottom-color:#edf1f6!important;vertical-align:middle;}
.table tbody tr:last-child td{border-bottom:0!important;}
.table tbody tr:hover td{background:color-mix(in srgb,var(--tenant-primary,#2563EB) 3%,#fff);}
.notice{border-radius:11px!important;}
.modal-backdrop,.gb-modal-backdrop{backdrop-filter:blur(5px);background:rgba(5,15,35,.50)!important;}
.modal,.gb-modal{border-radius:18px!important;border:1px solid #dbe5ef!important;box-shadow:0 28px 80px rgba(7,20,44,.28)!important;}
.modal h2,.gb-modal h2,.gb-modal h3{color:var(--tenant-body-text,var(--gard-text));}
.toolbar{gap:8px;flex-wrap:wrap;}
.eyebrow{color:color-mix(in srgb,var(--tenant-primary,#2563EB) 78%,#52647d)!important;font-weight:800;letter-spacing:.10em;}
.pill{border-radius:999px!important;}
.gm-module-view>.panel-body{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);}

/* Presentation-level polish shared by all tenants. */
.gm2230-card,.gm2225-settings-pane,.gm2195-patrol-desk,.gb-section{box-shadow:0 10px 26px rgba(31,55,91,.06);}
.gm2230-command{background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-secondary,#0B1630) 93%,#1f4f94),var(--tenant-secondary,#0B1630));}
.gm2230-command h2,.gm2230-command p,.gm2230-command span{color:var(--tenant-sidebar-text,#F8FAFC);}
.gm2230-status-strip{border-color:var(--gard-line);}
.gm2230-kpis button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.gm2230-kpis button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(31,55,91,.10);border-color:color-mix(in srgb,var(--tenant-primary,#2563EB) 35%,var(--gard-line));}

/* Functional settings subareas. */
.gard-role-matrix,.gard-system-health{margin-top:14px;border:1px solid var(--gard-line);border-radius:14px;background:#fff;padding:18px;}
.gard-role-matrix>span,.gard-health-head span{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--tenant-primary,#2563EB);}
.gard-role-matrix h3,.gard-system-health h3{margin:4px 0 10px;}
.gard-user-summary{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px;margin:12px 0;}
.gard-user-summary>div{border:1px solid var(--gard-line);background:#f8fbff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;}
.gard-user-summary b{font-size:20px}.gard-user-summary span{font-size:11px;color:var(--tenant-muted-text,var(--gard-muted));}
.gard-role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 16px;}
.gard-role-list>div{border:1px solid var(--gard-line);border-radius:10px;padding:12px;background:#fff;}
.gard-role-list strong{display:block;margin-bottom:4px}.gard-role-list p{font-size:12px;line-height:1.45;margin:0;color:var(--tenant-muted-text,var(--gard-muted));}.gard-role-list em{display:inline-block;margin-top:8px;font-size:10px;font-style:normal;font-weight:700;color:var(--tenant-primary,#2563EB);}
.gard-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.gard-health-head p{margin:4px 0 0;color:var(--tenant-muted-text,var(--gard-muted));font-size:12px;}
.gard-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;}
.gard-health-grid>div{border:1px solid var(--gard-line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:3px;background:#f8fafc;position:relative;}
.gard-health-grid>div:before{content:'';width:7px;height:7px;border-radius:50%;background:#94a3b8;position:absolute;right:10px;top:10px;}.gard-health-grid>div.ok:before{background:var(--gard-success)}.gard-health-grid>div.bad:before{background:var(--gard-danger)}
.gard-health-grid span{font-size:11px;color:var(--tenant-muted-text,var(--gard-muted));}.gard-health-grid b{font-size:15px}.gard-health-grid small{font-size:10px;color:var(--tenant-muted-text,var(--gard-muted));}
.gard-system-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;}.gard-system-meta>span{border:1px solid var(--gard-line);border-radius:999px;padding:6px 9px;font-size:10px;color:var(--tenant-muted-text,var(--gard-muted));}.gard-system-meta b{color:var(--tenant-body-text,var(--gard-text));}
.gard-default-note{border-left:4px solid var(--gard-primary)!important;background:#f4f8ff!important;}

@media(max-width:900px){.gard-health-grid{grid-template-columns:repeat(2,1fr)}.gard-role-list{grid-template-columns:1fr}}
@media(max-width:760px){
  .gm-admin-logo{width:190px}
  .login-card{margin:18px}
  .gard-health-head{flex-direction:column}.gard-user-summary{grid-template-columns:repeat(3,1fr)}
  .modal,.gb-modal{border-radius:14px!important;max-width:calc(100vw - 18px)!important;}
}
@media(max-width:430px){.gard-health-grid{grid-template-columns:1fr}.gard-user-summary{grid-template-columns:1fr}}
