/* IT Toolbox Enterprise v13.2 LTS Build 1317.10.0
   Enterprise UI Consistency Recovery - Phase 1
   Scope: UI only. No DB/API/permission/business logic changes. */
:root{
  --itb-ui-bg:#f5f7fb;
  --itb-ui-card:#ffffff;
  --itb-ui-line:#dbe3f0;
  --itb-ui-line-soft:#eef2f7;
  --itb-ui-text:#172033;
  --itb-ui-muted:#667085;
  --itb-ui-primary:#2563eb;
  --itb-ui-primary-dark:#1d4ed8;
  --itb-ui-danger:#dc2626;
  --itb-ui-success:#059669;
  --itb-ui-warn:#d97706;
  --itb-ui-radius:12px;
  --itb-ui-shadow:0 8px 24px rgba(15,23,42,.07);
}
body{background:var(--itb-ui-bg);color:var(--itb-ui-text);}
.v12-main main,.v12-main,.main-content,.content,.page-content{min-width:0;}
.card,.finance-card,.crm-card,.c360-block,.c360-list,.maintenance-toolbar-stable,.customer-list-card,.customer-detail-card,.kpi-card{
  border:1px solid var(--itb-ui-line)!important;
  border-radius:var(--itb-ui-radius)!important;
  background:var(--itb-ui-card)!important;
  box-shadow:var(--itb-ui-shadow)!important;
}
/* unified page title/header */
.finance-top,.crm-top,.c360-top,.maintenance-header,.page-header,.module-header,.admin-header,.dash-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-bottom:14px;
}
.finance-top h1,.crm-top h1,.c360-top h1,.maintenance-header h1,.page-header h1,.module-header h1,.admin-header h1,.dash-header h1{
  font-size:22px!important;line-height:1.25!important;margin:0 0 4px!important;font-weight:800!important;color:#111827!important;
}
.finance-top p,.crm-top p,.c360-top p,.maintenance-header p,.page-header p,.module-header p,.admin-header p,.dash-header p{
  margin:0!important;color:var(--itb-ui-muted)!important;font-size:13px!important;
}
/* unified toolbar/search row */
.finance-toolbar,.crm-toolbar,.maintenance-toolbar-stable,.filter-bar,.toolbar,.search-bar,.list-toolbar{
  display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  padding:10px!important;margin-bottom:12px!important;
}
.finance-toolbar input,.finance-toolbar select,.crm-toolbar input,.crm-toolbar select,.maintenance-toolbar-stable input,.maintenance-toolbar-stable select,
.filter-bar input,.filter-bar select,.toolbar input,.toolbar select,.search-bar input,.search-bar select,
input[type="text"],input[type="search"],input[type="date"],input[type="number"],input[type="email"],select,textarea{
  border:1px solid var(--itb-ui-line)!important;border-radius:9px!important;background:#fff!important;color:var(--itb-ui-text)!important;
  font-size:12px!important;min-height:34px;padding:7px 9px!important;box-sizing:border-box!important;
}
textarea{min-height:76px;line-height:1.5;}
label{font-size:12px;color:#344054;font-weight:650;}
/* unified buttons */
button,.btn,.itb-btn,.finance-btn,.contract-primary-btn,.danger-btn,a.btn,a.itb-btn{
  min-height:32px;border-radius:9px!important;border:1px solid var(--itb-ui-line)!important;
  padding:6px 10px!important;font-size:12px!important;font-weight:700!important;line-height:1.25!important;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;text-decoration:none!important;white-space:nowrap;cursor:pointer;
}
.finance-btn.primary,.itb-btn.primary,.btn-primary,.contract-primary-btn,button.primary,a.primary{
  background:var(--itb-ui-primary)!important;color:#fff!important;border-color:var(--itb-ui-primary)!important;
}
.finance-btn.primary:hover,.itb-btn.primary:hover,.btn-primary:hover,.contract-primary-btn:hover,button.primary:hover,a.primary:hover{background:var(--itb-ui-primary-dark)!important;}
.danger-btn,.btn-danger,button.danger,a.danger{background:#fff!important;color:var(--itb-ui-danger)!important;border-color:#fecaca!important;}
.danger-btn:hover,.btn-danger:hover,button.danger:hover,a.danger:hover{background:#fef2f2!important;}
/* unified compact tables */
table,.itb-table,.data-table,.finance-table,.crm-table,.maintenance-table{
  width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:12px!important;line-height:1.35!important;
}
thead th,table th{
  position:sticky;top:0;z-index:1;background:#f8fafc!important;color:#344054!important;
  font-size:11px!important;font-weight:800!important;text-align:left!important;letter-spacing:.02em;
  border-bottom:1px solid var(--itb-ui-line)!important;padding:8px 8px!important;white-space:nowrap!important;
}
tbody td,table td{border-bottom:1px solid var(--itb-ui-line-soft)!important;padding:7px 8px!important;vertical-align:middle!important;font-size:12px!important;}
tbody tr:hover{background:#f8fbff!important;}
td:last-child,th:last-child,.actions,.action-cell,.table-actions{white-space:nowrap!important;text-align:right!important;min-width:118px;}
td .btn,td button,td a.btn,td .itb-btn,td .finance-btn,.actions button,.actions a,.action-cell button,.action-cell a,.table-actions button,.table-actions a{
  min-height:26px!important;padding:4px 7px!important;font-size:11px!important;margin:1px!important;
}
/* status badge normalization */
.badge,.status,.pill,.tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;white-space:nowrap;}
.badge-success,.status-paid,.paid{background:#ecfdf3!important;color:var(--itb-ui-success)!important;}
.badge-warning,.status-partial,.partial{background:#fffaeb!important;color:var(--itb-ui-warn)!important;}
.badge-danger,.status-unpaid,.unpaid{background:#fef2f2!important;color:var(--itb-ui-danger)!important;}
/* split/list-detail work mode */
.finance-split,.crm-split,.maintenance-split,.enterprise-split{display:grid;grid-template-columns:minmax(420px,48%) minmax(460px,52%);gap:14px;align-items:start;}
.finance-split>.finance-card:first-child,.crm-split>.card:first-child,.maintenance-split>.card:first-child,.enterprise-split>.card:first-child{max-height:650px;overflow:auto;}
.finance-form,.crm-form,.maintenance-form{font-size:12px;}
.finance-form .form-row,.crm-form .form-row,.maintenance-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.finance-section-title,.section-title,.form-section-title{font-size:13px!important;font-weight:800!important;margin:12px 0 8px!important;color:#111827!important;border-bottom:1px solid var(--itb-ui-line-soft);padding-bottom:6px;}
/* mobile preservation */
@media (max-width:1100px){.finance-split,.crm-split,.maintenance-split,.enterprise-split{grid-template-columns:1fr}.finance-split>.finance-card:first-child,.crm-split>.card:first-child,.maintenance-split>.card:first-child,.enterprise-split>.card:first-child{max-height:none}.finance-top,.crm-top,.c360-top,.maintenance-header,.page-header,.module-header{display:block}.finance-tabs{margin-top:10px}}
@media (max-width:720px){table{font-size:11px!important}thead th,tbody td{padding:6px!important}.finance-toolbar,.crm-toolbar,.maintenance-toolbar-stable,.filter-bar,.toolbar,.search-bar{display:grid!important;grid-template-columns:1fr!important}.finance-form .form-row,.crm-form .form-row,.maintenance-form .form-row{grid-template-columns:1fr}.v12-main{padding:10px!important}}

/* IT Toolbox Enterprise v13.2 LTS Build 1317.10.0
   Enterprise UI Consistency Recovery - Phase 2
   Scope: desktop ERP layout standardization only. No DB/API/permission/business logic changes. */

/* global shell/sidebar alignment */
.v12-layout{display:flex;min-height:100vh;background:var(--itb-ui-bg)!important;}
.v12-sidebar,.sidebar,.app-sidebar{flex:0 0 260px;z-index:20;}
.v12-main,.main-content,.page-content,.app-main{
  flex:1 1 auto;min-width:0;width:auto;max-width:none!important;
  padding:16px 18px 28px!important;box-sizing:border-box!important;
}
.v12-main>section,.main-content>section,.page-content>section{max-width:none!important;}

/* unified page container rhythm */
.page-title,.module-title,.finance-top,.crm-top,.c360-top,.maintenance-header,.admin-header,.dash-header{
  background:#fff!important;border:1px solid var(--itb-ui-line)!important;border-radius:var(--itb-ui-radius)!important;
  padding:14px 16px!important;box-shadow:var(--itb-ui-shadow)!important;
}
.page-title h1,.module-title h1{font-size:22px!important;margin:0 0 4px!important;line-height:1.25!important;font-weight:850!important;color:#111827!important;}
.page-title p,.module-title p{margin:0!important;color:var(--itb-ui-muted)!important;font-size:13px!important;}

/* ERP split-view normalization: left list + right detail/editor */
.finance-split,.crm-split,.maintenance-split,.enterprise-split,
.customer360-split,.c360-split,.cmdb-split,.kb-split,.contract-split{
  display:grid!important;grid-template-columns:minmax(460px,48%) minmax(500px,52%)!important;
  gap:14px!important;align-items:start!important;width:100%!important;
}
.finance-split>*,.crm-split>*,.maintenance-split>*,.enterprise-split>*,
.customer360-split>*,.c360-split>*,.cmdb-split>*,.kb-split>*,.contract-split>*{min-width:0!important;}
.finance-split>*:first-child,.crm-split>*:first-child,.maintenance-split>*:first-child,.enterprise-split>*:first-child,
.customer360-split>*:first-child,.c360-split>*:first-child,.cmdb-split>*:first-child,.kb-split>*:first-child,.contract-split>*:first-child{
  max-height:calc(100vh - 210px)!important;min-height:520px;overflow:auto!important;
}
.finance-split>*:nth-child(2),.crm-split>*:nth-child(2),.maintenance-split>*:nth-child(2),.enterprise-split>*:nth-child(2),
.customer360-split>*:nth-child(2),.c360-split>*:nth-child(2),.cmdb-split>*:nth-child(2),.kb-split>*:nth-child(2),.contract-split>*:nth-child(2){
  max-height:calc(100vh - 210px)!important;overflow:auto!important;
}

/* common two-column panels even when original pages use custom names */
.finance-grid,.crm-grid,.customer-grid,.contract-grid,.maintenance-grid,.cmdb-grid{
  gap:14px!important;align-items:start!important;
}
@media (min-width:1180px){
  .finance-grid,.customer-grid,.contract-grid,.maintenance-grid,.cmdb-grid{grid-template-columns:minmax(460px,48%) minmax(500px,52%)!important;}
}

/* right-side editor/detail form density */
.form-grid,.finance-form-grid,.detail-grid,.editor-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.form-grid .full,.finance-form-grid .full,.detail-grid .full,.editor-grid .full,.form-full{grid-column:1 / -1!important;}
.form-actions,.editor-actions,.detail-actions,.modal-actions{
  display:flex!important;gap:8px!important;justify-content:flex-end!important;align-items:center!important;flex-wrap:wrap!important;
  border-top:1px solid var(--itb-ui-line-soft)!important;margin-top:12px!important;padding-top:12px!important;
}

/* list/detail card heading normalization */
.card h2,.finance-card h2,.crm-card h2,.c360-block h2,.customer-list-card h2,.customer-detail-card h2,
.card h3,.finance-card h3,.crm-card h3,.c360-block h3{
  font-size:15px!important;line-height:1.3!important;margin:0 0 10px!important;font-weight:850!important;color:#111827!important;
}
.card .hint,.finance-card .hint,.crm-card .hint,.muted,.help-text{font-size:12px!important;color:var(--itb-ui-muted)!important;}

/* table overflow: keep action column visible and data readable */
.table-wrap,.table-responsive,.list-table-wrap,.finance-table-wrap,.cmdb-table-wrap,.contract-table-wrap{
  width:100%!important;overflow:auto!important;border-radius:10px!important;border:1px solid var(--itb-ui-line-soft)!important;background:#fff!important;
}
.table-wrap table,.table-responsive table,.list-table-wrap table,.finance-table-wrap table,.cmdb-table-wrap table,.contract-table-wrap table{min-width:760px!important;}
.action-cell,.actions,.table-actions,td:last-child,th:last-child{position:sticky;right:0;background:inherit;box-shadow:-8px 0 12px rgba(255,255,255,.88);}
thead th:last-child{background:#f8fafc!important;z-index:3!important;}
tbody td:last-child{background:#fff!important;z-index:2!important;}
tbody tr:hover td:last-child{background:#f8fbff!important;}

/* sidebar/menu compact and consistent */
.v12-sidebar a,.sidebar a,.app-sidebar a,.nav-link{
  border-radius:9px!important;font-size:13px!important;line-height:1.25!important;padding:8px 10px!important;
}
.v12-sidebar .active,.sidebar .active,.app-sidebar .active,.nav-link.active{
  background:#eff6ff!important;color:var(--itb-ui-primary)!important;font-weight:800!important;
}

/* dashboard/KPI cards standard */
.kpi-grid,.stats-grid,.dashboard-grid{gap:12px!important;}
.kpi-card,.stat-card,.dashboard-card{min-height:86px!important;}
.kpi-card strong,.stat-card strong,.dashboard-card strong{font-size:22px!important;line-height:1.1!important;}
.kpi-card span,.stat-card span,.dashboard-card span{font-size:12px!important;color:var(--itb-ui-muted)!important;}

/* mobile/RWD preservation */
@media (max-width:1179px){
  .finance-split,.crm-split,.maintenance-split,.enterprise-split,.customer360-split,.c360-split,.cmdb-split,.kb-split,.contract-split{
    grid-template-columns:1fr!important;
  }
  .finance-split>*:first-child,.crm-split>*:first-child,.maintenance-split>*:first-child,.enterprise-split>*:first-child,
  .customer360-split>*:first-child,.c360-split>*:first-child,.cmdb-split>*:first-child,.kb-split>*:first-child,.contract-split>*:first-child,
  .finance-split>*:nth-child(2),.crm-split>*:nth-child(2),.maintenance-split>*:nth-child(2),.enterprise-split>*:nth-child(2),
  .customer360-split>*:nth-child(2),.c360-split>*:nth-child(2),.cmdb-split>*:nth-child(2),.kb-split>*:nth-child(2),.contract-split>*:nth-child(2){
    max-height:none!important;min-height:0!important;overflow:visible!important;
  }
}
@media (max-width:760px){
  .v12-layout{display:block!important;}
  .v12-sidebar,.sidebar,.app-sidebar{width:100%!important;max-width:none!important;}
  .v12-main,.main-content,.page-content,.app-main{padding:10px!important;}
  .form-grid,.finance-form-grid,.detail-grid,.editor-grid{grid-template-columns:1fr!important;}
  .page-title,.module-title,.finance-top,.crm-top,.c360-top,.maintenance-header,.admin-header,.dash-header{padding:12px!important;}
}

/* IT Toolbox Enterprise v13.2 LTS Build 1317.10.0
   Enterprise UI Consistency Recovery - Phase 3
   Scope: visual theme foundation, accessibility, print and cache-safe UI polish only.
   No DB/API/permission/business logic changes. */

/* theme token expansion: default remains blue/corporate */
:root,
html[data-itb-theme="blue"],body.itb-theme-blue{
  --itb-ui-primary:#2563eb;
  --itb-ui-primary-dark:#1d4ed8;
  --itb-ui-primary-soft:#eff6ff;
  --itb-ui-primary-line:#bfdbfe;
}
html[data-itb-theme="green"],body.itb-theme-green{
  --itb-ui-primary:#059669;
  --itb-ui-primary-dark:#047857;
  --itb-ui-primary-soft:#ecfdf3;
  --itb-ui-primary-line:#a7f3d0;
}
html[data-itb-theme="purple"],body.itb-theme-purple{
  --itb-ui-primary:#7c3aed;
  --itb-ui-primary-dark:#6d28d9;
  --itb-ui-primary-soft:#f5f3ff;
  --itb-ui-primary-line:#ddd6fe;
}

/* dark mode foundation is opt-in only: add html[data-itb-appearance="dark"] or body.itb-dark */
html[data-itb-appearance="dark"],body.itb-dark{
  --itb-ui-bg:#0f172a;
  --itb-ui-card:#111827;
  --itb-ui-line:#334155;
  --itb-ui-line-soft:#1f2937;
  --itb-ui-text:#e5e7eb;
  --itb-ui-muted:#94a3b8;
  --itb-ui-shadow:0 10px 28px rgba(0,0,0,.35);
}
html[data-itb-appearance="dark"] body,
body.itb-dark{background:var(--itb-ui-bg)!important;color:var(--itb-ui-text)!important;}
html[data-itb-appearance="dark"] .card,
body.itb-dark .card,
html[data-itb-appearance="dark"] .finance-card,
body.itb-dark .finance-card,
html[data-itb-appearance="dark"] .crm-card,
body.itb-dark .crm-card,
html[data-itb-appearance="dark"] .c360-block,
body.itb-dark .c360-block,
html[data-itb-appearance="dark"] .page-title,
body.itb-dark .page-title,
html[data-itb-appearance="dark"] .module-title,
body.itb-dark .module-title,
html[data-itb-appearance="dark"] .finance-top,
body.itb-dark .finance-top,
html[data-itb-appearance="dark"] .crm-top,
body.itb-dark .crm-top,
html[data-itb-appearance="dark"] .c360-top,
body.itb-dark .c360-top,
html[data-itb-appearance="dark"] .maintenance-header,
body.itb-dark .maintenance-header,
html[data-itb-appearance="dark"] .admin-header,
body.itb-dark .admin-header,
html[data-itb-appearance="dark"] .dash-header,
body.itb-dark .dash-header{
  background:var(--itb-ui-card)!important;color:var(--itb-ui-text)!important;border-color:var(--itb-ui-line)!important;
}
html[data-itb-appearance="dark"] input,
body.itb-dark input,
html[data-itb-appearance="dark"] select,
body.itb-dark select,
html[data-itb-appearance="dark"] textarea,
body.itb-dark textarea{
  background:#0b1220!important;color:var(--itb-ui-text)!important;border-color:var(--itb-ui-line)!important;
}
html[data-itb-appearance="dark"] thead th,
body.itb-dark thead th,
html[data-itb-appearance="dark"] table th,
body.itb-dark table th{background:#182235!important;color:#dbeafe!important;border-color:var(--itb-ui-line)!important;}
html[data-itb-appearance="dark"] tbody td,
body.itb-dark tbody td{border-color:var(--itb-ui-line-soft)!important;color:var(--itb-ui-text)!important;}
html[data-itb-appearance="dark"] tbody tr:hover,
body.itb-dark tbody tr:hover{background:#172033!important;}
html[data-itb-appearance="dark"] tbody td:last-child,
body.itb-dark tbody td:last-child{background:var(--itb-ui-card)!important;box-shadow:-8px 0 12px rgba(17,24,39,.86)!important;}
html[data-itb-appearance="dark"] tbody tr:hover td:last-child,
body.itb-dark tbody tr:hover td:last-child{background:#172033!important;}
html[data-itb-appearance="dark"] a,
body.itb-dark a{color:#93c5fd;}

/* keyboard accessibility and enterprise operation feedback */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(37,99,235,.28)!important;outline-offset:2px!important;
  box-shadow:0 0 0 1px var(--itb-ui-primary)!important;
}
button:disabled,.btn:disabled,.itb-btn:disabled,.finance-btn:disabled,input:disabled,select:disabled,textarea:disabled{
  opacity:.58!important;cursor:not-allowed!important;filter:grayscale(.15);
}

/* more consistent enterprise density */
.compact-table table,.itb-density-compact table,body.itb-density-compact table{font-size:11px!important;}
.compact-table td,.compact-table th,.itb-density-compact td,.itb-density-compact th,body.itb-density-compact td,body.itb-density-compact th{padding:5px 6px!important;}
.itb-density-comfortable table,body.itb-density-comfortable table{font-size:13px!important;}
.itb-density-comfortable td,.itb-density-comfortable th,body.itb-density-comfortable td,body.itb-density-comfortable th{padding:9px 10px!important;}

/* prevent long customer/case/account text from destroying layout */
td,.table-cell,.list-cell{overflow-wrap:anywhere;}
td .nowrap,.nowrap,.actions,.action-cell,.table-actions{overflow-wrap:normal!important;}
.table-wrap table,.table-responsive table,.list-table-wrap table,.finance-table-wrap table,.cmdb-table-wrap table,.contract-table-wrap table{table-layout:auto;}

/* unified empty/loading/error states */
.empty-state,.loading-state,.error-state,.itb-empty,.itb-loading,.itb-error{
  border:1px dashed var(--itb-ui-line)!important;border-radius:12px!important;background:#f8fafc!important;
  color:var(--itb-ui-muted)!important;padding:22px!important;text-align:center!important;font-size:13px!important;
}
.error-state,.itb-error{background:#fef2f2!important;color:var(--itb-ui-danger)!important;border-color:#fecaca!important;}
html[data-itb-appearance="dark"] .empty-state,body.itb-dark .empty-state,
html[data-itb-appearance="dark"] .loading-state,body.itb-dark .loading-state,
html[data-itb-appearance="dark"] .itb-empty,body.itb-dark .itb-empty,
html[data-itb-appearance="dark"] .itb-loading,body.itb-dark .itb-loading{background:#111827!important;color:var(--itb-ui-muted)!important;}

/* print/export view: avoid sidebar/header noise */
@media print{
  body{background:#fff!important;color:#000!important;font-size:11px!important;}
  .v12-sidebar,.sidebar,.app-sidebar,.no-print,.finance-toolbar,.crm-toolbar,.maintenance-toolbar-stable,.filter-bar,.toolbar,.search-bar,
  button,.btn,.itb-btn,.finance-btn,.actions,.action-cell,.table-actions{display:none!important;}
  .v12-main,.main-content,.page-content,.app-main{padding:0!important;margin:0!important;width:100%!important;}
  .card,.finance-card,.crm-card,.c360-block,.page-title,.module-title{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid;}
  table{font-size:10px!important;page-break-inside:auto;}
  tr{page-break-inside:avoid;page-break-after:auto;}
  thead{display:table-header-group;}
}

/* ========================================================================
   IT Toolbox Enterprise v13.2 LTS
   Build 1317.10.1 - Enterprise Layout Engine Stabilization
   Scope: layout/header/sidebar/breadcrumb/action-bar stabilization only.
   No database, no API, no permission logic change.
   ======================================================================== */
:root{
  --itb-shell-sidebar:248px;
  --itb-shell-topbar:84px;
  --itb-shell-gap:16px;
  --itb-shell-page-x:20px;
  --itb-shell-page-y:18px;
}
body.itb-final{min-width:0!important;overflow-x:hidden!important;background:var(--itb-ui-bg,#f7f9fc)!important;}
body.itb-final .v12-layout,body.itb-final .app-layout{
  display:grid!important;grid-template-columns:var(--itb-shell-sidebar) minmax(0,1fr)!important;
  min-height:100vh!important;align-items:stretch!important;width:100%!important;max-width:none!important;
}
body.itb-final .v12-main,body.itb-final main.v12-main,body.itb-final .main-content,body.itb-final .app-main{
  min-width:0!important;width:100%!important;max-width:none!important;overflow-x:hidden!important;
  display:flex!important;flex-direction:column!important;background:var(--itb-ui-bg,#f7f9fc)!important;
}
body.itb-final .v12-sidebar,body.itb-final .sidebar,body.itb-final .app-sidebar{
  width:var(--itb-shell-sidebar)!important;min-width:var(--itb-shell-sidebar)!important;max-width:var(--itb-shell-sidebar)!important;
  z-index:800!important;scrollbar-width:thin!important;
}
body.itb-final .itb-topbar{
  flex:0 0 var(--itb-shell-topbar)!important;min-height:var(--itb-shell-topbar)!important;
  position:sticky!important;top:0!important;z-index:760!important;width:100%!important;
  backdrop-filter:saturate(180%) blur(10px);box-shadow:0 2px 12px rgba(15,23,42,.04)!important;
}
body.itb-final .itb-tabbar{
  flex:0 0 auto!important;position:sticky!important;top:var(--itb-shell-topbar)!important;z-index:740!important;
  background:#fff!important;border-bottom:1px solid var(--itb-ui-line,#e5e7eb)!important;
}
body.itb-final .itb-page,
body.itb-final .itb-page-shell,
body.itb-final .page-content,
body.itb-final .content,
body.itb-final .dashboard-content,
body.itb-final .finance-center,
body.itb-final .crm-page,
body.itb-final .c360-page,
body.itb-final .cmdb-page,
body.itb-final .maintenance-page,
body.itb-final .admin-page,
body.itb-final .settings-page,
body.itb-final .knowledge-page,
body.itb-final .reports-page{
  width:100%!important;max-width:none!important;margin:0!important;padding:var(--itb-shell-page-y) var(--itb-shell-page-x)!important;
}
body.itb-final .itb-breadcrumb{
  display:flex!important;align-items:center!important;gap:7px!important;min-height:24px!important;
  color:var(--itb-ui-muted,#64748b)!important;font-size:12px!important;font-weight:650!important;margin:0 0 10px!important;
}
body.itb-final .itb-breadcrumb a{color:var(--itb-ui-primary,#2563eb)!important;text-decoration:none!important;}
body.itb-final .itb-breadcrumb .sep{color:#94a3b8!important;font-weight:700!important;}
body.itb-final .itb-page-titlebar{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;
  background:#fff!important;border:1px solid var(--itb-ui-line,#e5e7eb)!important;border-radius:14px!important;
  box-shadow:var(--itb-ui-shadow,0 8px 22px rgba(15,23,42,.06))!important;padding:14px 16px!important;margin:0 0 14px!important;
}
body.itb-final .itb-page-titlebar h1,body.itb-final .itb-page-titlebar h2{margin:0!important;font-size:20px!important;line-height:1.25!important;color:var(--itb-ui-text,#0f172a)!important;}
body.itb-final .itb-page-titlebar p{margin:5px 0 0!important;color:var(--itb-ui-muted,#64748b)!important;font-size:13px!important;}
body.itb-final .itb-page-title-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.itb-final .toolbar,body.itb-final .filter-bar,body.itb-final .search-bar,
body.itb-final .finance-toolbar,body.itb-final .crm-toolbar,body.itb-final .cmdb-toolbar,
body.itb-final .maintenance-toolbar,body.itb-final .maintenance-toolbar-stable,
body.itb-final .itb-actionbar{
  display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  background:#fff!important;border:1px solid var(--itb-ui-line,#e5e7eb)!important;border-radius:14px!important;
  box-shadow:var(--itb-ui-shadow,0 8px 22px rgba(15,23,42,.06))!important;padding:10px!important;margin-bottom:14px!important;
}
body.itb-final .toolbar input,body.itb-final .toolbar select,body.itb-final .filter-bar input,body.itb-final .filter-bar select,
body.itb-final .search-bar input,body.itb-final .search-bar select,body.itb-final .finance-toolbar input,body.itb-final .finance-toolbar select,
body.itb-final .itb-actionbar input,body.itb-final .itb-actionbar select{min-width:150px!important;max-width:280px!important;}
body.itb-final .toolbar input[type="search"],body.itb-final .toolbar input[name="q"],body.itb-final .filter-bar input[type="search"],body.itb-final .search-bar input,
body.itb-final .finance-toolbar input#filterQ{flex:1 1 240px!important;max-width:none!important;}
body.itb-final .actions,body.itb-final .action-cell,body.itb-final .table-actions,body.itb-final td:last-child .actions{
  display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap!important;justify-content:flex-start!important;
}
body.itb-final .itb-action-link,body.itb-final .actions a,body.itb-final .actions button,body.itb-final .table-actions a,body.itb-final .table-actions button,
body.itb-final td:last-child a,body.itb-final td:last-child button{
  min-height:28px!important;padding:0 8px!important;border-radius:8px!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important;
}
body.itb-final .split-view,body.itb-final .itb-split-view,body.itb-final .finance-split{
  display:grid!important;grid-template-columns:minmax(420px,48%) minmax(440px,1fr)!important;gap:14px!important;align-items:start!important;
}
body.itb-final .split-view > *,body.itb-final .itb-split-view > *,body.itb-final .finance-split > *{min-width:0!important;}
body.itb-final .itb-sticky-panel,body.itb-final .finance-split > .finance-card:nth-child(2){position:sticky!important;top:calc(var(--itb-shell-topbar) + 54px + 14px)!important;max-height:calc(100vh - var(--itb-shell-topbar) - 74px)!important;overflow:auto!important;}
body.itb-final .itb-list-scroll,body.itb-final #financeList{max-height:calc(100vh - var(--itb-shell-topbar) - 160px)!important;overflow:auto!important;}
body.itb-final .itb-mobile-toggle{display:none!important;}
@media(max-width:1360px){:root{--itb-shell-sidebar:220px;--itb-shell-page-x:16px;}body.itb-final .split-view,body.itb-final .itb-split-view,body.itb-final .finance-split{grid-template-columns:1fr!important;}body.itb-final .itb-sticky-panel,body.itb-final .finance-split > .finance-card:nth-child(2){position:relative!important;top:auto!important;max-height:none!important;}}
@media(max-width:980px){:root{--itb-shell-sidebar:280px;--itb-shell-topbar:72px;--itb-shell-page-x:12px;--itb-shell-page-y:12px;}body.itb-final .v12-layout,body.itb-final .app-layout{grid-template-columns:1fr!important;}body.itb-final .v12-sidebar,body.itb-final .sidebar,body.itb-final .app-sidebar{position:fixed!important;left:0!important;top:0!important;height:100vh!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;}body.itb-final.itb-drawer-open .v12-sidebar,body.itb-final.itb-drawer-open .sidebar,body.itb-final.itb-drawer-open .app-sidebar{transform:translateX(0)!important;}body.itb-final .itb-mobile-toggle{display:inline-flex!important;}body.itb-final .itb-page-titlebar{display:block!important;}body.itb-final .itb-page-title-actions{margin-top:10px!important;justify-content:flex-start!important;}body.itb-final .itb-tabbar{top:var(--itb-shell-topbar)!important;overflow-x:auto!important;}body.itb-final .toolbar input,body.itb-final .toolbar select,body.itb-final .filter-bar input,body.itb-final .filter-bar select,body.itb-final .finance-toolbar input,body.itb-final .finance-toolbar select{max-width:none!important;width:100%!important;flex:1 1 100%!important;}}

/* Build 1317.10.2a Finance ERP Layout Hotfix
   Restore Finance desktop split view after Theme Engine/Layout Engine overrides.
   UI only. No DB/API/permission/business logic changes. */
@media (min-width: 981px){
  body.itb-final[data-finance-page] .finance-center,
  body[data-finance-page] .finance-center{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:18px 20px!important;
    box-sizing:border-box!important;
  }
  body.itb-final[data-finance-page] .finance-split,
  body[data-finance-page] .finance-split{
    display:grid!important;
    grid-template-columns:minmax(520px,48%) minmax(560px,52%)!important;
    gap:16px!important;
    align-items:start!important;
    width:100%!important;
  }
  body.itb-final[data-finance-page] .finance-split > .finance-card,
  body[data-finance-page] .finance-split > .finance-card{
    min-width:0!important;
    margin-bottom:0!important;
  }
  body.itb-final[data-finance-page] .finance-split > .finance-card:first-child,
  body[data-finance-page] .finance-split > .finance-card:first-child{
    max-height:calc(100vh - 230px)!important;
    min-height:560px!important;
    overflow:auto!important;
  }
  body.itb-final[data-finance-page] .finance-split > .finance-card:nth-child(2),
  body[data-finance-page] .finance-split > .finance-card:nth-child(2){
    position:relative!important;
    top:auto!important;
    max-height:calc(100vh - 230px)!important;
    min-height:560px!important;
    overflow:auto!important;
  }
  body.itb-final[data-finance-page] .finance-toolbar,
  body[data-finance-page] .finance-toolbar{
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) minmax(240px,1.2fr) auto auto!important;
    gap:10px!important;
    align-items:center!important;
  }
  body.itb-final[data-finance-page] .finance-toolbar input,
  body.itb-final[data-finance-page] .finance-toolbar select,
  body[data-finance-page] .finance-toolbar input,
  body[data-finance-page] .finance-toolbar select{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.itb-final[data-finance-page] .finance-form,
  body[data-finance-page] .finance-form{
    max-width:none!important;
  }
}
@media (min-width: 981px) and (max-width: 1360px){
  body.itb-final[data-finance-page] .finance-split,
  body[data-finance-page] .finance-split{
    grid-template-columns:minmax(470px,50%) minmax(470px,50%)!important;
  }
  body.itb-final[data-finance-page] .finance-table,
  body[data-finance-page] .finance-table{font-size:11px!important;}
}
@media (max-width: 980px){
  body.itb-final[data-finance-page] .finance-split,
  body[data-finance-page] .finance-split{grid-template-columns:1fr!important;}
}

/* Build 1317.10.2b Finance should keep ERP split behavior and visible module tabs.
   Prevent global theme/layout rules from turning Finance pages into stacked cards. */
@media (min-width:981px){
  body[data-finance-page] .finance-top .finance-tabs,
  body[data-finance-page] .finance-tabs,
  body[data-finance-page] .finance-tabs a{
    visibility:visible!important;
    opacity:1!important;
  }
  body[data-finance-page] .finance-split{
    display:grid!important;
  }
  body[data-finance-page] .finance-split>.finance-card{
    overflow:hidden!important;
  }
}

/* ========================================================================== 
   Build 1317.10.3 - Finance/Desktop Safety + Mobile Consistency
   Loaded after module CSS; intentionally narrow where possible.
   ========================================================================== */
@media (min-width:981px){
  body[data-finance-page] .finance-tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;visibility:visible!important;opacity:1!important;overflow:visible!important;}
  body[data-finance-page] .finance-tabs a{display:inline-flex!important;visibility:visible!important;opacity:1!important;color:#1d4ed8!important;background:#fff!important;border:1px solid #dbeafe!important;border-radius:999px!important;min-height:36px!important;padding:0 14px!important;text-decoration:none!important;font-weight:850!important;}
  body[data-finance-page] .finance-tabs a.active{background:#2563eb!important;color:#fff!important;}
  body[data-finance-page] .finance-split{display:grid!important;grid-template-columns:minmax(520px,48%) minmax(520px,52%)!important;gap:14px!important;align-items:stretch!important;}
  body[data-finance-page] .finance-split>.finance-card{min-width:0!important;overflow:hidden!important;max-height:none!important;min-height:0!important;}
  body[data-finance-page] #financeList{max-height:calc(100vh - 292px)!important;min-height:470px!important;overflow:auto!important;}
  body[data-finance-page] .finance-form{max-height:calc(100vh - 292px)!important;min-height:470px!important;overflow:auto!important;padding-right:6px!important;}
}
@media(max-width:767px){
  body[data-finance-page] .finance-tabs{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;visibility:visible!important;opacity:1!important;}
  body[data-finance-page] .finance-tabs a{flex:0 0 auto!important;visibility:visible!important;opacity:1!important;color:#1d4ed8!important;background:#fff!important;border:1px solid #dbeafe!important;border-radius:999px!important;min-height:34px!important;padding:0 13px!important;text-decoration:none!important;font-weight:850!important;}
  body[data-finance-page] .finance-tabs a.active{background:#2563eb!important;color:#fff!important;}
  body[data-finance-page] .finance-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body[data-finance-page] .finance-split{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body[data-finance-page] #financeList,body[data-finance-page] .finance-form{max-height:none!important;min-height:0!important;overflow:visible!important;}
}

/* Build 1318.0.2 - Finance mobile hard override loaded after consistency CSS */
@media (max-width: 767px){
  body[data-finance-page] .finance-center,body.itb-final[data-finance-page] .finance-center{width:100%!important;max-width:100%!important;margin:0!important;padding:10px!important;box-sizing:border-box!important;overflow:visible!important;}
  body[data-finance-page] .finance-card,body.itb-final[data-finance-page] .finance-card,body[data-finance-page] .finance-split>*,body.itb-final[data-finance-page] .finance-split>*{width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;min-height:0!important;overflow:visible!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;position:relative!important;top:auto!important;}
  body[data-finance-page] .finance-split,body.itb-final[data-finance-page] .finance-split{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
  body[data-finance-page] #financeList,body[data-finance-page] #incomeList,body[data-finance-page] #expenseList,body.itb-final[data-finance-page] #financeList{width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;min-height:0!important;overflow:visible!important;}
  body[data-finance-page] .finance-table,body[data-finance-page] table.finance-table,body.itb-final[data-finance-page] .finance-table{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:auto!important;overflow:visible!important;white-space:normal!important;}
  body[data-finance-page] .finance-table thead{display:none!important;}body[data-finance-page] .finance-table tbody{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;}
  body[data-finance-page] .finance-table tr{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;background:#fff!important;border:1px solid #dbe6f3!important;border-radius:18px!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;margin:0 0 14px!important;padding:14px!important;box-sizing:border-box!important;overflow:visible!important;}
  body[data-finance-page] .finance-table td,body[data-finance-page] .finance-table td:last-child,body.itb-final[data-finance-page] .finance-table td{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;background:transparent!important;border:0!important;border-radius:0!important;padding:8px 0!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;}
  body[data-finance-page] .finance-table td::before{content:attr(data-label)!important;display:block!important;color:#64748b!important;font-size:12px!important;font-weight:900!important;margin-bottom:4px!important;min-width:0!important;}
  body[data-finance-page] .finance-table td:not([data-label])::before{content:''!important;display:none!important;}
  body[data-finance-page] .finance-table .amount{text-align:left!important;font-size:20px!important;}
  body[data-finance-page] .table-actions,body.itb-final[data-finance-page] .table-actions,body[data-finance-page] .income-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;white-space:normal!important;text-align:left!important;justify-content:stretch!important;}
  body[data-finance-page] .table-actions button,body.itb-final[data-finance-page] .table-actions button,body[data-finance-page] .income-actions button{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;border-radius:12px!important;font-size:15px!important;padding:0 8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  body[data-finance-page] .finance-form,body[data-finance-page] #financeForm,body.itb-final[data-finance-page] .finance-form{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:0!important;gap:12px!important;box-sizing:border-box!important;}
  body[data-finance-page] .form-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
}

/* Build 1318.0.4 Mobile Finance Navigation Full Recovery
   Fix: finance sub-navigation was clipped/hidden on iPhone after entering Income/Expense/AR/AP/Monthly.
   Scope: mobile only; desktop finance layout is untouched. */
@media (max-width: 767px){
  body[data-finance-page] .finance-top,
  body.itb-final[data-finance-page] .finance-top{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:14px!important;
  }
  body[data-finance-page] .finance-top > div,
  body.itb-final[data-finance-page] .finance-top > div{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body[data-finance-page] .finance-tabs,
  body.itb-final[data-finance-page] .finance-tabs{
    display:grid!important;
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    white-space:normal!important;
    margin:14px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body[data-finance-page] .finance-tabs a,
  body.itb-final[data-finance-page] .finance-tabs a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 6px!important;
    margin:0!important;
    box-sizing:border-box!important;
    border:1px solid #dbeafe!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#1d4ed8!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:center!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    transform:none!important;
  }
  body[data-finance-page] .finance-tabs a.active,
  body.itb-final[data-finance-page] .finance-tabs a.active{
    background:#2563eb!important;
    border-color:#2563eb!important;
    color:#fff!important;
  }
}
@media (max-width: 390px){
  body[data-finance-page] .finance-tabs,
  body.itb-final[data-finance-page] .finance-tabs{
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  }
}

/* Build 1318.24G Apple Typography + Compact Action Unification
   UI only. Keeps existing PHP/API/JS behavior intact while reducing button and finance card pressure. */
:root{
  --itb-font-apple:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif;
  --itb-compact-control-h:34px;
  --itb-compact-control-h-mobile:36px;
  --itb-compact-radius:10px;
}
html,
body,
button,
input,
select,
textarea{
  font-family:var(--itb-font-apple)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{
  font-size:13px!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
h1,h2,h3,h4,h5,h6,
.page-title h1,
.module-title h1,
.finance-title h1,
.finance-top h1,
.c360-titlebar h1,
.c360-hero h2{
  font-family:var(--itb-font-apple)!important;
  letter-spacing:0!important;
}

button,
.btn,
.itb-btn,
.finance-btn,
.button,
.button-link,
a.btn,
a.itb-btn,
a.button,
a.button-link,
.contract-primary-btn,
.danger-btn{
  min-height:var(--itb-compact-control-h)!important;
  height:auto!important;
  border-radius:var(--itb-compact-radius)!important;
  padding:7px 11px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:750!important;
  gap:6px!important;
  box-shadow:none!important;
  max-width:100%;
  white-space:normal!important;
  text-align:center;
  box-sizing:border-box!important;
}
.toolbar button,
.filter-bar button,
.search-bar button,
.finance-toolbar button,
.crm-toolbar button,
.form-actions button,
.c360-actions a,
.c360-title-actions a,
.c360-card-actions a,
.c360-search button{
  min-height:var(--itb-compact-control-h)!important;
  padding:7px 11px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
td .btn,
td button,
td a.btn,
td .itb-btn,
td .finance-btn,
.actions button,
.actions a,
.action-cell button,
.action-cell a,
.table-actions button,
.table-actions a{
  min-height:26px!important;
  padding:4px 7px!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

body .itb-finance-tabs,
body .finance-tabs.itb-finance-tabs,
body .finance-hero-tabs.itb-finance-tabs{
  gap:7px!important;
  min-height:0!important;
  margin-top:8px!important;
}
body .itb-finance-tabs a,
body .itb-finance-tabs a:link,
body .itb-finance-tabs a:visited,
body[data-finance-page] .finance-tabs a,
body.itb-final[data-finance-page] .finance-tabs a{
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:750!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
body .finance-add-btn,
body[data-finance-page] .finance-add-btn{
  min-height:34px!important;
  height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
body .finance-title-with-tabs,
body[data-finance-page] .finance-top{
  padding:14px 16px!important;
  gap:12px!important;
}
body .finance-title-with-tabs h1,
body[data-finance-page] .finance-top h1{
  font-size:21px!important;
  line-height:1.25!important;
  font-weight:760!important;
}
body .finance-title-with-tabs p,
body[data-finance-page] .finance-top p,
.finance-section-note{
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:550!important;
}

.finance-kpi-grid{
  gap:10px!important;
  margin:12px 0!important;
}
.finance-kpi{
  border-radius:14px!important;
  padding:13px 14px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
}
.finance-kpi span,
.finance-collection-summary span{
  font-size:12px!important;
  line-height:1.3!important;
  margin-bottom:5px!important;
}
.finance-kpi strong,
.finance-collection-summary strong{
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  font-weight:760!important;
  overflow-wrap:anywhere;
}
.finance-kpi small{
  font-size:11px!important;
  line-height:1.35!important;
  margin-top:6px!important;
}
.finance-section-head{
  gap:10px!important;
  margin-bottom:10px!important;
}
.finance-section-head h2{
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:760!important;
}
.finance-list-card,
.finance-chart-card,
.finance-annual-report-intro,
.finance-period-card{
  margin-top:12px!important;
}
.finance-table,
table.finance-table{
  font-size:11px!important;
  line-height:1.35!important;
}
.finance-table th,
.finance-table td{
  padding:7px 7px!important;
}

.c360-titlebar{
  gap:12px!important;
  padding:14px 16px!important;
}
.c360-titlebar h1,
.c360-hero h2{
  font-size:21px!important;
  line-height:1.25!important;
  font-weight:760!important;
}
.c360-titlebar p,
.c360-meta,
.c360-meta-line{
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:550!important;
}
.c360-actions,
.c360-title-actions,
.c360-card-actions{
  gap:7px!important;
}
.c360-shell{
  gap:14px!important;
}
.c360-list,
.c360-block,
.c360-hero{
  border-radius:14px!important;
}
.c360-block{
  padding:14px!important;
  margin-bottom:14px!important;
}
.c360-block-head{
  gap:10px!important;
  margin-bottom:12px!important;
}
.c360-block-head h3{
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:760!important;
}
.c360-block-head p,
.c360-mini-metric span,
.c360-mini-metric em,
.c360-service-health-note,
.c360-contract-status span{
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:550!important;
}
.c360-mini-metric{
  padding:12px!important;
  min-height:72px!important;
  border-radius:13px!important;
}
.c360-mini-metric strong,
.c360-finance-grid .c360-mini-metric strong,
.c360-service-grid .c360-mini-metric strong,
.c360-contract-grid .c360-mini-metric strong,
.c360-it-assets-grid .c360-mini-metric strong,
.c360-type-grid strong,
.c360-score-factors strong{
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:650!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.c360-search input{
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:12px!important;
}
.c360-customer{
  border-radius:12px!important;
  padding:10px!important;
  margin-top:8px!important;
}
.c360-customer strong{
  font-size:13px!important;
  line-height:1.3!important;
}

@media (min-width:981px){
  body .finance-title-with-tabs{
    grid-template-columns:minmax(260px,1fr) minmax(520px,auto)!important;
  }
  body .finance-title-right,
  body .finance-hero-topline{
    gap:8px!important;
  }
}
@media (max-width:980px){
  body .itb-finance-tabs,
  body .finance-tabs.itb-finance-tabs,
  body .finance-hero-tabs.itb-finance-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body .itb-finance-tabs a,
  body .itb-finance-tabs a:link,
  body .itb-finance-tabs a:visited{
    height:36px!important;
    min-height:36px!important;
    padding:0 6px!important;
    font-size:12px!important;
  }
  body .finance-title-with-tabs{
    padding:14px!important;
  }
}
@media (max-width:767px){
  button,
  .btn,
  .itb-btn,
  .finance-btn,
  .button,
  .button-link,
  a.btn,
  a.itb-btn,
  a.button,
  a.button-link{
    min-height:var(--itb-compact-control-h-mobile)!important;
    padding:8px 10px!important;
    font-size:12px!important;
  }
  body[data-finance-page] .finance-tabs,
  body.itb-final[data-finance-page] .finance-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body[data-finance-page] .finance-tabs a,
  body.itb-final[data-finance-page] .finance-tabs a{
    height:36px!important;
    min-height:36px!important;
    padding:0 5px!important;
    font-size:12px!important;
    font-weight:750!important;
  }
  body[data-finance-page] .table-actions button,
  body.itb-final[data-finance-page] .table-actions button,
  body[data-finance-page] .income-actions button{
    min-height:36px!important;
    height:36px!important;
    font-size:12px!important;
    border-radius:10px!important;
  }
  .finance-kpi strong,
  .finance-collection-summary strong{
    font-size:18px!important;
  }
  .c360-titlebar h1,
  .c360-hero h2,
  body .finance-title-with-tabs h1,
  body[data-finance-page] .finance-top h1{
    font-size:19px!important;
  }
}
@media (max-width:420px){
  body[data-finance-page] .finance-tabs,
  body.itb-final[data-finance-page] .finance-tabs,
  body .itb-finance-tabs,
  body .finance-tabs.itb-finance-tabs,
  body .finance-hero-tabs.itb-finance-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .c360-title-actions,
  .c360-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .c360-title-actions a,
  .c360-actions a{
    width:100%!important;
    min-width:0!important;
  }
}

/* IT Toolbox Enterprise Main Page Title Standard
   Global main/admin title identity only.
   Layout, typography sizes, spacing and component dimensions remain owned by
   the existing Enterprise UI Consistency rules above. Module CSS must not
   create a separate page-title visual standard. */
.page-title,
.module-title,
.finance-top,
.crm-top,
.c360-top,
.maintenance-header,
.admin-header,
.dash-header,
.itb-page-title,
body.itb-final .itb-page-titlebar{
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 52%,#1677ff 100%)!important;
  border-color:transparent!important;
  color:#fff!important;
}

.page-title h1,
.page-title h2,
.module-title h1,
.module-title h2,
.finance-top h1,
.finance-top h2,
.crm-top h1,
.crm-top h2,
.c360-top h1,
.c360-top h2,
.maintenance-header h1,
.maintenance-header h2,
.admin-header h1,
.admin-header h2,
.dash-header h1,
.dash-header h2,
.itb-page-title h1,
.itb-page-title h2,
body.itb-final .itb-page-titlebar h1,
body.itb-final .itb-page-titlebar h2{
  color:#fff!important;
}

.page-title p,
.module-title p,
.finance-top p,
.crm-top p,
.c360-top p,
.maintenance-header p,
.admin-header p,
.dash-header p,
.itb-page-title>span,
.itb-page-title p,
body.itb-final .itb-page-titlebar p{
  color:rgba(255,255,255,.84)!important;
}

.page-title .itb-local-icon,
.module-title .itb-local-icon,
.finance-top .itb-local-icon,
.crm-top .itb-local-icon,
.c360-top .itb-local-icon,
.maintenance-header .itb-local-icon,
.admin-header .itb-local-icon,
.dash-header .itb-local-icon,
.itb-page-title .itb-local-icon,
body.itb-final .itb-page-titlebar .itb-local-icon{
  color:#fff!important;
}

/* Title-bar actions use one shared visual treatment without changing size. */
.page-title .btn,
.page-title .button,
.page-title .button-link,
.page-title .itb-btn,
.page-title button,
.module-title .btn,
.module-title .button,
.module-title .button-link,
.module-title .itb-btn,
.module-title button,
.finance-top .btn,
.finance-top .button,
.finance-top .button-link,
.finance-top .itb-btn,
.finance-top button,
.crm-top .btn,
.crm-top .button,
.crm-top .button-link,
.crm-top .itb-btn,
.crm-top button,
.c360-top .btn,
.c360-top .button,
.c360-top .button-link,
.c360-top .itb-btn,
.c360-top button,
.maintenance-header .btn,
.maintenance-header .button,
.maintenance-header .button-link,
.maintenance-header .itb-btn,
.maintenance-header button,
.admin-header .btn,
.admin-header .button,
.admin-header .button-link,
.admin-header .itb-btn,
.admin-header button,
.dash-header .btn,
.dash-header .button,
.dash-header .button-link,
.dash-header .itb-btn,
.dash-header button,
.itb-page-title .btn,
.itb-page-title .button,
.itb-page-title .button-link,
.itb-page-title .itb-btn,
.itb-page-title button,
body.itb-final .itb-page-titlebar .btn,
body.itb-final .itb-page-titlebar .button,
body.itb-final .itb-page-titlebar .button-link,
body.itb-final .itb-page-titlebar .itb-btn,
body.itb-final .itb-page-titlebar button{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
}

.page-title .btn:hover,
.page-title .button:hover,
.page-title .button-link:hover,
.page-title .itb-btn:hover,
.page-title button:hover,
.module-title .btn:hover,
.module-title .button:hover,
.module-title .button-link:hover,
.module-title .itb-btn:hover,
.module-title button:hover,
.finance-top .btn:hover,
.finance-top .button:hover,
.finance-top .button-link:hover,
.finance-top .itb-btn:hover,
.finance-top button:hover,
.crm-top .btn:hover,
.crm-top .button:hover,
.crm-top .button-link:hover,
.crm-top .itb-btn:hover,
.crm-top button:hover,
.c360-top .btn:hover,
.c360-top .button:hover,
.c360-top .button-link:hover,
.c360-top .itb-btn:hover,
.c360-top button:hover,
.maintenance-header .btn:hover,
.maintenance-header .button:hover,
.maintenance-header .button-link:hover,
.maintenance-header .itb-btn:hover,
.maintenance-header button:hover,
.admin-header .btn:hover,
.admin-header .button:hover,
.admin-header .button-link:hover,
.admin-header .itb-btn:hover,
.admin-header button:hover,
.dash-header .btn:hover,
.dash-header .button:hover,
.dash-header .button-link:hover,
.dash-header .itb-btn:hover,
.dash-header button:hover,
.itb-page-title .btn:hover,
.itb-page-title .button:hover,
.itb-page-title .button-link:hover,
.itb-page-title .itb-btn:hover,
.itb-page-title button:hover,
body.itb-final .itb-page-titlebar .btn:hover,
body.itb-final .itb-page-titlebar .button:hover,
body.itb-final .itb-page-titlebar .button-link:hover,
body.itb-final .itb-page-titlebar .itb-btn:hover,
body.itb-final .itb-page-titlebar button:hover{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.50)!important;
}

/* Active title tabs remain obvious on the shared blue identity. */
.page-title .btn.active,
.page-title .itb-btn.active,
.page-title [aria-current="page"],
.module-title .btn.active,
.module-title .itb-btn.active,
.module-title [aria-current="page"],
.finance-top .btn.active,
.finance-top .itb-btn.active,
.finance-top [aria-current="page"],
.crm-top .btn.active,
.crm-top .itb-btn.active,
.crm-top [aria-current="page"],
.c360-top .btn.active,
.c360-top .itb-btn.active,
.c360-top [aria-current="page"],
.maintenance-header .btn.active,
.maintenance-header .itb-btn.active,
.maintenance-header [aria-current="page"],
.admin-header .btn.active,
.admin-header .itb-btn.active,
.admin-header [aria-current="page"],
.dash-header .btn.active,
.dash-header .itb-btn.active,
.dash-header [aria-current="page"],
.itb-page-title .btn.active,
.itb-page-title .itb-btn.active,
.itb-page-title [aria-current="page"],
body.itb-final .itb-page-titlebar .btn.active,
body.itb-final .itb-page-titlebar .itb-btn.active,
body.itb-final .itb-page-titlebar [aria-current="page"]{
  background:#fff!important;
  color:var(--itb-ui-primary)!important;
  border-color:#fff!important;
}

html[data-itb-appearance="dark"] .page-title,
body.itb-dark .page-title,
html[data-itb-appearance="dark"] .module-title,
body.itb-dark .module-title,
html[data-itb-appearance="dark"] .finance-top,
body.itb-dark .finance-top,
html[data-itb-appearance="dark"] .crm-top,
body.itb-dark .crm-top,
html[data-itb-appearance="dark"] .c360-top,
body.itb-dark .c360-top,
html[data-itb-appearance="dark"] .maintenance-header,
body.itb-dark .maintenance-header,
html[data-itb-appearance="dark"] .admin-header,
body.itb-dark .admin-header,
html[data-itb-appearance="dark"] .dash-header,
body.itb-dark .dash-header,
html[data-itb-appearance="dark"] .itb-page-title,
body.itb-dark .itb-page-title,
html[data-itb-appearance="dark"] body.itb-final .itb-page-titlebar,
body.itb-dark.itb-final .itb-page-titlebar{
  background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 52%,#0f5fd8 100%)!important;
  border-color:transparent!important;
}
