/* -------------------------------------------------------------------
   Stage 105.0H CLEAN — UI v2 Setup / Tools / Admin Surfaces Foundation
   Frontend-only CSS polish for Setup, Tools, Audit/Security and admin-style
   configuration surfaces. Styling only: no route changes, no API calls,
   no data writes, no auth/session/admin backend changes, no Billing/SageOne,
   RADIUS, prepaid, product, customer package/speed, Asset Register, Job Card,
   Calendar, Android, Network Device, or protected-module logic changes.
------------------------------------------------------------------- */

:root{
  --ui2-st-card: rgba(255,255,255,.985);
  --ui2-st-card-soft: rgba(248,250,252,.95);
  --ui2-st-card-softer: rgba(241,245,249,.78);
  --ui2-st-border: rgba(148,163,184,.25);
  --ui2-st-border-strong: rgba(100,116,139,.30);
  --ui2-st-text: #0f172a;
  --ui2-st-muted: #64748b;
  --ui2-st-accent: #4f46e5;
  --ui2-st-accent-2: #0891b2;
  --ui2-st-accent-3: #7c3aed;
  --ui2-st-green: #16a34a;
  --ui2-st-warn: #d97706;
  --ui2-st-danger: #dc2626;
  --ui2-st-accent-soft: rgba(79,70,229,.105);
  --ui2-st-cyan-soft: rgba(8,145,178,.10);
  --ui2-st-violet-soft: rgba(124,58,237,.11);
  --ui2-st-shadow: 0 18px 52px rgba(15,23,42,.088);
  --ui2-st-shadow-soft: 0 10px 30px rgba(15,23,42,.060);
  --ui2-st-page-bg: linear-gradient(135deg, rgba(238,242,255,.58), rgba(236,254,255,.54));
}

html[data-theme="dark"], body.dark, body.theme-dark{
  --ui2-st-card: rgba(15,23,42,.94);
  --ui2-st-card-soft: rgba(30,41,59,.78);
  --ui2-st-card-softer: rgba(51,65,85,.58);
  --ui2-st-border: rgba(148,163,184,.23);
  --ui2-st-border-strong: rgba(148,163,184,.32);
  --ui2-st-text: #e5edf8;
  --ui2-st-muted: #9fb0c5;
  --ui2-st-accent: #a5b4fc;
  --ui2-st-accent-2: #67e8f9;
  --ui2-st-accent-3: #c4b5fd;
  --ui2-st-accent-soft: rgba(165,180,252,.13);
  --ui2-st-cyan-soft: rgba(103,232,249,.12);
  --ui2-st-violet-soft: rgba(196,181,253,.13);
  --ui2-st-shadow: 0 22px 56px rgba(0,0,0,.32);
  --ui2-st-shadow-soft: 0 12px 34px rgba(0,0,0,.22);
  --ui2-st-page-bg: linear-gradient(135deg, rgba(15,23,42,.90), rgba(49,46,129,.25));
}

/* Route-scoped only: Setup, Tools and admin-style pages. */
body.ispforge-ui-v2-setup-tools-active #page,
body.ispforge-ui-v2-setup-tools-active main,
body.ispforge-ui-v2-setup-tools-active .main-content,
body.ispforge-ui-v2-setup-tools-active .content,
body.ispforge-ui-v2-setup-tools-active .page{
  background: var(--ui2-st-page-bg) !important;
}

body.ispforge-ui-v2-setup-tools-active .page-title-row,
body.ispforge-ui-v2-setup-tools-active .page-header,
body.ispforge-ui-v2-setup-tools-active .settings-header,
body.ispforge-ui-v2-setup-tools-active .admin-header,
body.ispforge-ui-v2-setup-tools-active .tools-header{
  position: relative !important;
  isolation: isolate !important;
  margin-bottom: 18px !important;
  padding: 20px 22px !important;
  border: 1px solid var(--ui2-st-border) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, var(--ui2-st-violet-soft), transparent 32%),
    radial-gradient(circle at bottom left, var(--ui2-st-cyan-soft), transparent 32%),
    var(--ui2-st-card) !important;
  box-shadow: var(--ui2-st-shadow) !important;
  overflow: hidden !important;
}

body.ispforge-ui-v2-setup-tools-active .page-title-row::before,
body.ispforge-ui-v2-setup-tools-active .page-header::before,
body.ispforge-ui-v2-setup-tools-active .settings-header::before,
body.ispforge-ui-v2-setup-tools-active .admin-header::before,
body.ispforge-ui-v2-setup-tools-active .tools-header::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  border-radius: 26px 0 0 26px !important;
  background: linear-gradient(180deg, var(--ui2-st-accent), var(--ui2-st-accent-2) 54%, var(--ui2-st-accent-3)) !important;
  z-index: -1 !important;
}

body.ispforge-ui-v2-setup-tools-active .page-title-row h1,
body.ispforge-ui-v2-setup-tools-active .page-header h1,
body.ispforge-ui-v2-setup-tools-active .settings-header h1,
body.ispforge-ui-v2-setup-tools-active .admin-header h1,
body.ispforge-ui-v2-setup-tools-active .tools-header h1,
body.ispforge-ui-v2-setup-tools-active h1.page-title{
  color: var(--ui2-st-text) !important;
  font-size: clamp(27px, 2.08vw, 38px) !important;
  font-weight: 950 !important;
  line-height: 1.02 !important;
  letter-spacing: -.052em !important;
  margin-bottom: 5px !important;
}

body.ispforge-ui-v2-setup-tools-active .page-title-row p,
body.ispforge-ui-v2-setup-tools-active .page-header p,
body.ispforge-ui-v2-setup-tools-active .settings-header p,
body.ispforge-ui-v2-setup-tools-active .admin-header p,
body.ispforge-ui-v2-setup-tools-active .tools-header p,
body.ispforge-ui-v2-setup-tools-active .muted,
body.ispforge-ui-v2-setup-tools-active .text-muted,
body.ispforge-ui-v2-setup-tools-active .small-muted,
body.ispforge-ui-v2-setup-tools-active .help-text,
body.ispforge-ui-v2-setup-tools-active .hint{
  color: var(--ui2-st-muted) !important;
}

/* Setup/tools action bars and filter controls. */
body.ispforge-ui-v2-setup-tools-active .page-actions,
body.ispforge-ui-v2-setup-tools-active .toolbar,
body.ispforge-ui-v2-setup-tools-active .action-bar,
body.ispforge-ui-v2-setup-tools-active .filter-bar,
body.ispforge-ui-v2-setup-tools-active .filters,
body.ispforge-ui-v2-setup-tools-active .search-row,
body.ispforge-ui-v2-setup-tools-active .admin-actions,
body.ispforge-ui-v2-setup-tools-active .settings-actions{
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  padding: 12px !important;
  border: 1px solid var(--ui2-st-border) !important;
  border-radius: 22px !important;
  background: var(--ui2-st-card-soft) !important;
  box-shadow: var(--ui2-st-shadow-soft) !important;
}

body.ispforge-ui-v2-setup-tools-active .toolbar input,
body.ispforge-ui-v2-setup-tools-active .toolbar select,
body.ispforge-ui-v2-setup-tools-active .filter-bar input,
body.ispforge-ui-v2-setup-tools-active .filter-bar select,
body.ispforge-ui-v2-setup-tools-active .filters input,
body.ispforge-ui-v2-setup-tools-active .filters select,
body.ispforge-ui-v2-setup-tools-active .search-row input,
body.ispforge-ui-v2-setup-tools-active .search-row select{
  min-height: 40px !important;
  border-radius: 14px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card) !important;
  color: var(--ui2-st-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30) !important;
}

/* Configuration panels, cards and section blocks. */
body.ispforge-ui-v2-setup-tools-active .card,
body.ispforge-ui-v2-setup-tools-active .panel,
body.ispforge-ui-v2-setup-tools-active .box,
body.ispforge-ui-v2-setup-tools-active .section,
body.ispforge-ui-v2-setup-tools-active .settings-card,
body.ispforge-ui-v2-setup-tools-active .settings-section,
body.ispforge-ui-v2-setup-tools-active .setup-card,
body.ispforge-ui-v2-setup-tools-active .setup-section,
body.ispforge-ui-v2-setup-tools-active .admin-card,
body.ispforge-ui-v2-setup-tools-active .audit-card,
body.ispforge-ui-v2-setup-tools-active .security-card{
  border-radius: 24px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card) !important;
  box-shadow: var(--ui2-st-shadow-soft) !important;
  color: var(--ui2-st-text) !important;
}

body.ispforge-ui-v2-setup-tools-active .card:hover,
body.ispforge-ui-v2-setup-tools-active .panel:hover,
body.ispforge-ui-v2-setup-tools-active .settings-card:hover,
body.ispforge-ui-v2-setup-tools-active .setup-card:hover,
body.ispforge-ui-v2-setup-tools-active .admin-card:hover{
  border-color: var(--ui2-st-border-strong) !important;
  box-shadow: var(--ui2-st-shadow) !important;
}

body.ispforge-ui-v2-setup-tools-active .card h2,
body.ispforge-ui-v2-setup-tools-active .card h3,
body.ispforge-ui-v2-setup-tools-active .panel h2,
body.ispforge-ui-v2-setup-tools-active .panel h3,
body.ispforge-ui-v2-setup-tools-active .settings-card h2,
body.ispforge-ui-v2-setup-tools-active .settings-card h3,
body.ispforge-ui-v2-setup-tools-active .setup-card h2,
body.ispforge-ui-v2-setup-tools-active .setup-card h3,
body.ispforge-ui-v2-setup-tools-active .admin-card h2,
body.ispforge-ui-v2-setup-tools-active .admin-card h3{
  color: var(--ui2-st-text) !important;
  letter-spacing: -.022em !important;
}

/* Settings grids and admin matrices. */
body.ispforge-ui-v2-setup-tools-active .grid,
body.ispforge-ui-v2-setup-tools-active .settings-grid,
body.ispforge-ui-v2-setup-tools-active .setup-grid,
body.ispforge-ui-v2-setup-tools-active .admin-grid,
body.ispforge-ui-v2-setup-tools-active .permission-grid,
body.ispforge-ui-v2-setup-tools-active .matrix-grid{
  gap: 16px !important;
}

body.ispforge-ui-v2-setup-tools-active .permission-matrix,
body.ispforge-ui-v2-setup-tools-active .matrix-wrapper,
body.ispforge-ui-v2-setup-tools-active .table-wrap,
body.ispforge-ui-v2-setup-tools-active .table-wrapper,
body.ispforge-ui-v2-setup-tools-active .data-table-wrap,
body.ispforge-ui-v2-setup-tools-active .list-wrap{
  border-radius: 22px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card) !important;
  box-shadow: var(--ui2-st-shadow-soft) !important;
  overflow: auto !important;
}

body.ispforge-ui-v2-setup-tools-active table{
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

body.ispforge-ui-v2-setup-tools-active thead th{
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: color-mix(in srgb, var(--ui2-st-card-soft) 86%, var(--ui2-st-accent-soft)) !important;
  color: var(--ui2-st-text) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--ui2-st-border) !important;
}

body.ispforge-ui-v2-setup-tools-active tbody td{
  color: var(--ui2-st-text) !important;
  border-bottom: 1px solid rgba(148,163,184,.14) !important;
}

body.ispforge-ui-v2-setup-tools-active tbody tr:hover td{
  background: var(--ui2-st-accent-soft) !important;
}

/* Forms and admin/setup inputs. */
body.ispforge-ui-v2-setup-tools-active input,
body.ispforge-ui-v2-setup-tools-active select,
body.ispforge-ui-v2-setup-tools-active textarea{
  border-radius: 14px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card) !important;
  color: var(--ui2-st-text) !important;
}

body.ispforge-ui-v2-setup-tools-active input:focus,
body.ispforge-ui-v2-setup-tools-active select:focus,
body.ispforge-ui-v2-setup-tools-active textarea:focus{
  border-color: var(--ui2-st-accent) !important;
  box-shadow: 0 0 0 4px var(--ui2-st-accent-soft) !important;
  outline: none !important;
}

body.ispforge-ui-v2-setup-tools-active label{
  color: var(--ui2-st-text) !important;
  font-weight: 760 !important;
}

body.ispforge-ui-v2-setup-tools-active .form-row,
body.ispforge-ui-v2-setup-tools-active .field-row,
body.ispforge-ui-v2-setup-tools-active .setting-row{
  gap: 12px !important;
}

body.ispforge-ui-v2-setup-tools-active .setting-row,
body.ispforge-ui-v2-setup-tools-active .option-row,
body.ispforge-ui-v2-setup-tools-active .permission-row{
  border-radius: 18px !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  background: var(--ui2-st-card-soft) !important;
  padding: 12px !important;
}

/* Buttons, toggles and status chips. */
body.ispforge-ui-v2-setup-tools-active button,
body.ispforge-ui-v2-setup-tools-active .btn,
body.ispforge-ui-v2-setup-tools-active .button,
body.ispforge-ui-v2-setup-tools-active input[type="button"],
body.ispforge-ui-v2-setup-tools-active input[type="submit"]{
  border-radius: 14px !important;
  font-weight: 820 !important;
  letter-spacing: -.01em !important;
}

body.ispforge-ui-v2-setup-tools-active .btn-primary,
body.ispforge-ui-v2-setup-tools-active button.primary,
body.ispforge-ui-v2-setup-tools-active .primary{
  box-shadow: 0 10px 24px rgba(79,70,229,.20) !important;
}

body.ispforge-ui-v2-setup-tools-active .badge,
body.ispforge-ui-v2-setup-tools-active .chip,
body.ispforge-ui-v2-setup-tools-active .pill,
body.ispforge-ui-v2-setup-tools-active .status,
body.ispforge-ui-v2-setup-tools-active .tag,
body.ispforge-ui-v2-setup-tools-active .label{
  border-radius: 999px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card-soft) !important;
  color: var(--ui2-st-text) !important;
  font-weight: 760 !important;
}

body.ispforge-ui-v2-setup-tools-active .success,
body.ispforge-ui-v2-setup-tools-active .ok,
body.ispforge-ui-v2-setup-tools-active .enabled,
body.ispforge-ui-v2-setup-tools-active .active{
  border-color: rgba(22,163,74,.26) !important;
}

body.ispforge-ui-v2-setup-tools-active .warning,
body.ispforge-ui-v2-setup-tools-active .pending,
body.ispforge-ui-v2-setup-tools-active .disabled{
  border-color: rgba(217,119,6,.26) !important;
}

body.ispforge-ui-v2-setup-tools-active .danger,
body.ispforge-ui-v2-setup-tools-active .error,
body.ispforge-ui-v2-setup-tools-active .failed{
  border-color: rgba(220,38,38,.26) !important;
}

/* Tabs, accordions and section navigation. */
body.ispforge-ui-v2-setup-tools-active .tabs,
body.ispforge-ui-v2-setup-tools-active .tab-bar,
body.ispforge-ui-v2-setup-tools-active .section-tabs,
body.ispforge-ui-v2-setup-tools-active .subtabs{
  gap: 8px !important;
  padding: 8px !important;
  border-radius: 20px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card-soft) !important;
}

body.ispforge-ui-v2-setup-tools-active .tab,
body.ispforge-ui-v2-setup-tools-active .tab-btn,
body.ispforge-ui-v2-setup-tools-active .tab-button{
  border-radius: 14px !important;
  color: var(--ui2-st-muted) !important;
  font-weight: 800 !important;
}

body.ispforge-ui-v2-setup-tools-active .tab.active,
body.ispforge-ui-v2-setup-tools-active .tab-btn.active,
body.ispforge-ui-v2-setup-tools-active .tab-button.active,
body.ispforge-ui-v2-setup-tools-active .active-tab{
  color: var(--ui2-st-text) !important;
  background: var(--ui2-st-card) !important;
  box-shadow: var(--ui2-st-shadow-soft) !important;
}

/* Audit/security event blocks and log viewers. */
body.ispforge-ui-v2-setup-tools-active .audit-row,
body.ispforge-ui-v2-setup-tools-active .security-row,
body.ispforge-ui-v2-setup-tools-active .log-row,
body.ispforge-ui-v2-setup-tools-active .event-row,
body.ispforge-ui-v2-setup-tools-active .timeline-item{
  border-radius: 18px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card-soft) !important;
  padding: 12px !important;
}

body.ispforge-ui-v2-setup-tools-active pre,
body.ispforge-ui-v2-setup-tools-active code,
body.ispforge-ui-v2-setup-tools-active .log-output,
body.ispforge-ui-v2-setup-tools-active .json-output{
  border-radius: 18px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: rgba(15,23,42,.93) !important;
  color: #dbeafe !important;
}

/* Empty/loading states. */
body.ispforge-ui-v2-setup-tools-active .empty,
body.ispforge-ui-v2-setup-tools-active .empty-state,
body.ispforge-ui-v2-setup-tools-active .no-data,
body.ispforge-ui-v2-setup-tools-active .loading,
body.ispforge-ui-v2-setup-tools-active .placeholder{
  border-radius: 22px !important;
  border: 1px dashed var(--ui2-st-border-strong) !important;
  background: var(--ui2-st-card-soft) !important;
  color: var(--ui2-st-muted) !important;
}

/* Modal surfaces only: styling, not behaviour. */
body.ispforge-ui-v2-setup-tools-active .modal,
body.ispforge-ui-v2-setup-tools-active .dialog,
body.ispforge-ui-v2-setup-tools-active .popup,
body.ispforge-ui-v2-setup-tools-active .modal-content,
body.ispforge-ui-v2-setup-tools-active .dialog-content,
body.ispforge-ui-v2-setup-tools-active .popup-content{
  border-radius: 26px !important;
  border: 1px solid var(--ui2-st-border) !important;
  background: var(--ui2-st-card) !important;
  color: var(--ui2-st-text) !important;
  box-shadow: 0 26px 76px rgba(15,23,42,.24) !important;
}

@media (max-width: 860px){
  body.ispforge-ui-v2-setup-tools-active .page-title-row,
  body.ispforge-ui-v2-setup-tools-active .page-header,
  body.ispforge-ui-v2-setup-tools-active .settings-header,
  body.ispforge-ui-v2-setup-tools-active .admin-header,
  body.ispforge-ui-v2-setup-tools-active .tools-header{
    padding: 17px !important;
    border-radius: 22px !important;
  }

  body.ispforge-ui-v2-setup-tools-active .page-actions,
  body.ispforge-ui-v2-setup-tools-active .toolbar,
  body.ispforge-ui-v2-setup-tools-active .action-bar,
  body.ispforge-ui-v2-setup-tools-active .filter-bar,
  body.ispforge-ui-v2-setup-tools-active .filters,
  body.ispforge-ui-v2-setup-tools-active .search-row{
    align-items: stretch !important;
  }

  body.ispforge-ui-v2-setup-tools-active .page-actions > *,
  body.ispforge-ui-v2-setup-tools-active .toolbar > *,
  body.ispforge-ui-v2-setup-tools-active .action-bar > *,
  body.ispforge-ui-v2-setup-tools-active .filter-bar > *,
  body.ispforge-ui-v2-setup-tools-active .filters > *,
  body.ispforge-ui-v2-setup-tools-active .search-row > *{
    flex: 1 1 100% !important;
  }
}
