@import url("../css/icon.css");
@import url("../css/design-system.css");
:root{
  --itb-sidebar:#0b1628;--itb-sidebar2:#101d33;--itb-blue:#2563eb;--itb-text:#0f172a;
  --itb-muted:#475569;--itb-soft:#64748b;--itb-border:#e2e8f0;--itb-bg:#f7f9fc;--itb-card:#fff;
  --itb-success:#10b981;--itb-warning:#f59e0b;--itb-danger:#ef4444;--itb-shadow:0 10px 28px rgba(15,23,42,.06);
  --itb-font:"Inter","Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--itb-bg);color:var(--itb-text);font-family:var(--itb-font);font-size:15px;font-weight:400;-webkit-font-smoothing:antialiased}
body.itb-final .v12-layout,body.itb-final .app-layout{display:grid!important;grid-template-columns:248px minmax(0,1fr)!important;min-height:100vh!important;background:var(--itb-bg)!important}
body.itb-final .v12-sidebar,body.itb-final .sidebar{position:sticky!important;top:0!important;height:100vh!important;background:linear-gradient(180deg,var(--itb-sidebar),var(--itb-sidebar2))!important;border:0!important;padding:0!important;color:#e2e8f0!important;overflow-y:auto!important}
body.itb-final .v12-main,body.itb-final main,body.itb-final .main-content{min-width:0!important;background:var(--itb-bg)!important;padding:0!important;overflow-x:hidden!important}
.itb-logo-area{height:92px;background:#fff;display:flex;align-items:center;padding:12px 18px;border-right:1px solid #e5e7eb}.itb-logo-area img{width:168px}
.itb-side-section{padding:22px 18px 6px;color:#94a3b8;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.itb-side-nav{padding:0 12px}
.itb-side-nav a{min-height:44px;padding:0 12px;margin:4px 0;border-radius:10px;color:#e2e8f0;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:560;text-decoration:none;background:transparent}
.itb-side-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.itb-side-nav a.active{background:linear-gradient(135deg,#2f75ff,#1d4ed8);color:#fff;box-shadow:0 12px 26px rgba(37,99,235,.28)}
.itb-side-divider{height:1px;background:rgba(226,232,240,.18);margin:18px 18px 8px}
.itb-topbar{height:84px;background:#fff;border-bottom:1px solid var(--itb-border);display:flex;align-items:center;gap:18px;padding:0 24px;position:relative;z-index:50}
.itb-product{display:flex;align-items:center;gap:12px;min-width:286px;text-decoration:none;color:var(--itb-text);flex-shrink:0}.itb-product-icon{width:48px;height:48px;border-radius:14px;box-shadow:0 12px 26px rgba(37,99,235,.24)}
.itb-product-title{font-size:19px;font-weight:760;line-height:1.05;letter-spacing:-.02em;color:var(--itb-text);white-space:nowrap}.itb-product-subtitle{font-size:13px;color:var(--itb-soft);font-weight:500;margin-top:4px;white-space:nowrap}
.itb-searchbar{margin-left:auto;display:flex;align-items:center;gap:10px;width:420px;max-width:34vw;background:#fff;border:1px solid #dbe3ef;border-radius:14px;min-height:48px;padding:0 13px;flex-shrink:1}
.itb-searchbar span{font-size:20px;color:#334155}.itb-searchbar input{border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;min-height:44px!important;width:100%!important;color:#334155!important;font-size:13px!important;padding:0!important}
.itb-top-actions{display:flex;align-items:center;gap:12px;margin-left:4px;flex-shrink:0;position:relative}.itb-action-btn{border:0;background:transparent;padding:0;min-height:34px;width:34px;display:grid;place-items:center;font-size:20px;color:#1e293b;text-decoration:none;position:relative;cursor:pointer;box-shadow:none}
.itb-badge-dot{position:absolute;right:-2px;top:-2px;background:#ef4444;color:#fff;border-radius:999px;min-width:17px;height:17px;display:grid;place-items:center;font-size:10px;font-weight:800;font-style:normal}
.itb-user-btn{display:flex;align-items:center;gap:8px;color:#0f172a;font-weight:650;text-decoration:none;white-space:nowrap;min-height:48px;background:transparent;border:0;cursor:pointer;padding:0}.itb-avatar{width:42px;height:42px;border-radius:50%;background:#2f9b68;color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}
.itb-dropdown{position:absolute;top:58px;right:0;min-width:198px;background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.14);padding:8px;display:none;z-index:9999}.itb-dropdown.open{display:block}
.itb-dropdown a,.itb-dropdown button{width:100%;background:#fff;color:#0f172a;border:0;border-radius:10px;min-height:38px;padding:0 10px;text-align:left;font-size:13px;font-weight:560;text-decoration:none;display:flex;align-items:center;gap:8px;box-shadow:none;cursor:pointer}.itb-dropdown a:hover,.itb-dropdown button:hover{background:#f8fafc}
.itb-tabbar{height:56px;background:#fff;border-bottom:1px solid var(--itb-border);display:flex;align-items:center;gap:12px;padding:0 24px;overflow:hidden;white-space:nowrap;position:relative;z-index:40}
.itb-tabbar a{height:56px;display:flex;align-items:center;gap:6px;color:#1e293b;text-decoration:none;font-weight:650;border-bottom:3px solid transparent;white-space:nowrap;font-size:12.5px;flex:0 0 auto}.itb-tabbar a.active,.itb-tabbar a:hover{color:var(--itb-blue);border-bottom-color:var(--itb-blue)}
.itb-page{padding:22px 24px 26px}.itb-page-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.itb-page-title h1{font-size:26px!important;font-weight:760!important;letter-spacing:-.03em;margin:0!important}.itb-page-title span,.page-title p,.hero p,.lead,.muted{color:var(--itb-muted)!important;font-size:14px!important;font-weight:500!important;opacity:1!important}
.itb-date{margin-left:auto;color:#64748b;font-weight:580;font-size:13px}
.itb-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}.itb-kpi{background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:var(--itb-shadow);padding:19px 20px;display:flex;align-items:center;gap:15px;min-height:122px}
.itb-kpi-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:22px;flex-shrink:0}.blue{background:#dbeafe;color:#2563eb}.green{background:#d1fae5;color:#059669}.orange{background:#fef3c7;color:#f59e0b}.purple{background:#ede9fe;color:#7c3aed}.teal{background:#ccfbf1;color:#0d9488}
.itb-kpi-label{font-size:13px;font-weight:650;color:#475569}.itb-kpi-value{font-size:31px;font-weight:800;color:#0f172a;line-height:1.1}.itb-kpi-note{font-size:12px;color:#64748b;margin-top:8px}
.itb-card,.card,.panel,.box,.settings-card,.settings-table,.search-results,.search-filters,.search-console{background:#fff!important;border:1px solid var(--itb-border)!important;border-radius:14px!important;box-shadow:var(--itb-shadow)!important}
.itb-dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:16px;margin-bottom:22px}.itb-card{overflow:hidden}.itb-card-head{height:52px;border-bottom:1px solid var(--itb-border);display:flex;align-items:center;padding:0 20px;font-weight:750;color:#0f172a}.itb-card-head a{margin-left:auto;color:#2563eb;font-size:12px;font-weight:650;text-decoration:none}
.itb-list{padding:12px 20px 18px}.itb-list-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:9px 0}.itb-list-item strong{display:block;font-size:13.5px}.itb-list-item span{display:block;font-size:12px;color:#64748b;margin-top:3px}
.itb-work-table{background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:var(--itb-shadow);overflow:hidden}.itb-work-table table,table{width:100%;border-collapse:collapse}.itb-work-table th,th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:750;text-align:left;padding:12px;border-bottom:1px solid var(--itb-border)}.itb-work-table td,td{font-size:13px;color:#334155;border-bottom:1px solid #eef2f7;padding:12px}
.itb-footer{height:62px;border-top:1px solid var(--itb-border);display:flex;align-items:center;padding:0 24px;color:#64748b;background:#fff;margin-top:22px;font-size:13px}.itb-footer span:last-child{margin-left:auto}
body.itb-final .v12-header,body.itb-final header.v12-header,body.itb-final .topbar:not(.itb-topbar),body.itb-final .navbar:not(.itb-tabbar),body.itb-final #itbEnterpriseBrand,body.itb-final .itb-brand,body.itb-final .itb-header-search,body.itb-final .itb-lang-switcher{display:none!important}
body.itb-final button,body.itb-final .btn,body.itb-final input[type=submit]{border-radius:10px!important;min-height:38px!important;font-size:13px!important;font-weight:650!important}body.itb-final input,body.itb-final select,body.itb-final textarea{border:1px solid #dbe3ef!important;border-radius:10px!important;min-height:40px!important;font-size:13px!important;background:#fff!important}
.badge{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700}.badge.success{background:#ecfdf5;color:#047857}.badge.warning{background:#fffbeb;color:#b45309}.badge.danger{background:#fef2f2;color:#b91c1c}
@media(max-width:1360px){body.itb-final .v12-layout{grid-template-columns:220px minmax(0,1fr)!important}.itb-tabbar{gap:8px;padding:0 12px}.itb-tabbar a{font-size:11.5px;gap:4px}.itb-searchbar{width:320px;max-width:320px}.itb-product{min-width:250px}.itb-product-title{font-size:17px}.itb-product-subtitle{font-size:12px}.itb-topbar{padding:0 16px;gap:10px}.itb-top-actions{gap:8px}.itb-kpi-grid{grid-template-columns:repeat(2,1fr)}.itb-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:980px){body.itb-final .v12-layout{grid-template-columns:1fr!important}.v12-sidebar{position:relative!important;height:auto!important}.itb-topbar{height:auto;min-height:88px;flex-wrap:wrap;padding:14px}.itb-searchbar{width:100%;max-width:none;order:5}.itb-tabbar{overflow-x:auto}.itb-page{padding:18px 14px}.itb-kpi-grid{grid-template-columns:1fr}.itb-footer{display:block;height:auto;padding-top:16px;padding-bottom:16px}}


/* v13.1 Final LTS Navigation Fix */
.itb-top-actions{position:relative!important;z-index:10000!important}
.itb-action-btn,.itb-user-btn{pointer-events:auto!important;cursor:pointer!important}
.itb-dropdown{z-index:100000!important;pointer-events:auto!important}
.itb-dropdown.open{display:block!important}
.itb-dropdown a,.itb-dropdown button{pointer-events:auto!important}
.itb-admin-page{padding:22px 24px 26px}
.itb-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.itb-admin-card{background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:var(--itb-shadow);padding:18px}
.itb-admin-card h3{margin:0 0 8px;font-size:14px;color:#475569}
.itb-admin-card strong{font-size:28px;color:#0f172a}
.itb-toolbar{background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:var(--itb-shadow);padding:14px;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.itb-toolbar input,.itb-toolbar select{max-width:260px}
.itb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;min-height:38px;padding:0 14px;background:#2563eb;color:#fff!important;text-decoration:none;font-weight:700;font-size:13px;border:0;cursor:pointer}
.itb-btn.secondary{background:#fff;color:#2563eb!important;border:1px solid #bfdbfe}
.itb-btn.danger{background:#fff;color:#dc2626!important;border:1px solid #fecaca}
.itb-table-wrap{background:#fff;border:1px solid var(--itb-border);border-radius:14px;box-shadow:var(--itb-shadow);overflow:hidden}
.itb-table-wrap table{width:100%;border-collapse:collapse}
.itb-table-wrap th{background:#f8fafc;color:#334155;font-size:13px;font-weight:750;text-align:left;padding:12px;border-bottom:1px solid var(--itb-border)}
.itb-table-wrap td{font-size:13px;color:#334155;padding:12px;border-bottom:1px solid #eef2f7}
.itb-status{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700}
.itb-status.ok{background:#ecfdf5;color:#047857}
.itb-status.warn{background:#fffbeb;color:#b45309}
.itb-status.danger{background:#fef2f2;color:#b91c1c}
.itb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.itb-field label{display:block;font-size:13px;font-weight:700;color:#475569;margin-bottom:6px}
.itb-field input,.itb-field select,.itb-field textarea{width:100%}
@media(max-width:1000px){.itb-admin-grid{grid-template-columns:1fr 1fr}.itb-form-grid{grid-template-columns:1fr}}
@media(max-width:680px){.itb-admin-grid{grid-template-columns:1fr}}

/* Dashboard real data + i18n fix */
a.itb-kpi{text-decoration:none;color:inherit}
.itb-side-section{color:#b6c2d3!important}
.itb-side-nav a{font-size:15px!important}
.page-title p,.hero p,.muted,.itb-page-title span{color:#475569!important;opacity:1!important;font-weight:500!important}

/* Hide Asset ID field in Account / Password UI */
input[name="asset_id"], input[id="asset_id"], input[name="assetId"], input[id="assetId"],
select[name="asset_id"], select[id="asset_id"] { display:none!important; }
.itb-hide-asset-id { display:none!important; }


/* v13.1 Final LTS MFA + Asset Form Fix */
[data-field="asset_id"],
[data-name="asset_id"],
.asset-id-field,
.asset_id_field,
.form-row-asset-id,
.form-group-asset-id,
.itb-asset-id-field,
label[for="asset_id"],
label[for="assetId"],
input[name="asset_id"],
input[id="asset_id"],
input[name="assetId"],
input[id="assetId"],
select[name="asset_id"],
select[id="asset_id"],
select[name="assetId"],
select[id="assetId"]{
  display:none!important;
}

#dataForm,#assetForm,#accountForm,#passwordForm,#licenseForm,#documentForm,
.c360-form form,.customer360-form form,.masterdata-form,.data-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
}

#dataForm label,#assetForm label,#accountForm label,#passwordForm label,#licenseForm label,#documentForm label,
.c360-form label,.customer360-form label,.masterdata-form label,.data-form label{
  display:block!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:750!important;
  margin:0 0 7px!important;
  white-space:normal!important;
}

#dataForm input,#dataForm select,#dataForm textarea,
#assetForm input,#assetForm select,#assetForm textarea,
#accountForm input,#accountForm select,#accountForm textarea,
#passwordForm input,#passwordForm select,#passwordForm textarea,
#licenseForm input,#licenseForm select,#licenseForm textarea,
#documentForm input,#documentForm select,#documentForm textarea,
.c360-form input,.c360-form select,.c360-form textarea,
.customer360-form input,.customer360-form select,.customer360-form textarea,
.masterdata-form input,.masterdata-form select,.masterdata-form textarea,
.data-form input,.data-form select,.data-form textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  font-size:14px!important;
}

#dataForm textarea,#assetForm textarea,#accountForm textarea,#passwordForm textarea,#licenseForm textarea,#documentForm textarea,
.c360-form textarea,.customer360-form textarea,.masterdata-form textarea,.data-form textarea{
  min-height:92px!important;
  resize:vertical!important;
}

.form-actions,#dataForm .actions,#assetForm .actions,#accountForm .actions,#passwordForm .actions,#licenseForm .actions,#documentForm .actions{
  grid-column:1 / -1!important;
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
}

#dataForm > div,#assetForm > div,#accountForm > div,#passwordForm > div,#licenseForm > div,#documentForm > div,
.c360-form form > div,.customer360-form form > div,.masterdata-form > div,.data-form > div{
  min-width:0!important;
}

@media(max-width:900px){
  #dataForm,#assetForm,#accountForm,#passwordForm,#licenseForm,#documentForm,
  .c360-form form,.customer360-form form,.masterdata-form,.data-form{
    grid-template-columns:1fr!important;
  }
}


/* v13.1 Final LTS Customer360 Form Restore + Asset ID Safe Hide */
.itb-c360-safe-form,
#dataForm,
#assetForm,
#accountForm,
#passwordForm,
#licenseForm,
#documentForm,
.masterdata-form,
.data-form,
.c360-form form,
.customer360-form form{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
}

/* restore fields that were accidentally hidden */
#dataForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#dataForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#dataForm textarea,
#dataForm label,
#assetForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#assetForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#assetForm textarea,
#assetForm label,
#accountForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#accountForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#accountForm textarea,
#accountForm label,
#passwordForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#passwordForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#passwordForm textarea,
#passwordForm label,
#licenseForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#licenseForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#licenseForm textarea,
#licenseForm label,
#documentForm input:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#documentForm select:not([name="asset_id"]):not([id="asset_id"]):not([name="assetId"]):not([id="assetId"]),
#documentForm textarea,
#documentForm label{
  visibility:visible!important;
  opacity:1!important;
}

/* normal readable form layout inside right panel */
.itb-c360-safe-form .itb-field,
#dataForm .itb-field,
#assetForm .itb-field,
#accountForm .itb-field,
#passwordForm .itb-field,
#licenseForm .itb-field,
#documentForm .itb-field{
  display:block!important;
  margin-bottom:14px!important;
}

.itb-c360-safe-form label,
#dataForm label,
#assetForm label,
#accountForm label,
#passwordForm label,
#licenseForm label,
#documentForm label{
  display:block!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:750!important;
  margin:0 0 7px!important;
}

.itb-c360-safe-form input,
.itb-c360-safe-form select,
.itb-c360-safe-form textarea,
#dataForm input,
#dataForm select,
#dataForm textarea,
#assetForm input,
#assetForm select,
#assetForm textarea,
#accountForm input,
#accountForm select,
#accountForm textarea,
#passwordForm input,
#passwordForm select,
#passwordForm textarea,
#licenseForm input,
#licenseForm select,
#licenseForm textarea,
#documentForm input,
#documentForm select,
#documentForm textarea{
  width:100%!important;
  max-width:100%!important;
  min-height:42px!important;
  font-size:14px!important;
}

/* Asset ID only: hide input and explicit label, not whole form */
label[for="asset_id"],
label[for="assetId"],
input[name="asset_id"],
input[id="asset_id"],
input[name="assetId"],
input[id="assetId"],
select[name="asset_id"],
select[id="asset_id"],
select[name="assetId"],
select[id="assetId"]{
  display:none!important;
}


/* v13.1 Final LTS Customer360 final form layout */
.itb-c360-repaired-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(240px,1fr))!important;
  gap:16px 20px!important;
  align-items:start!important;
  width:100%!important;
}

.itb-c360-field{
  display:block!important;
  min-width:0!important;
}

.itb-c360-field label{
  display:block!important;
  margin:0 0 7px!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
}

.itb-c360-field input,
.itb-c360-field select,
.itb-c360-field textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  font-size:14px!important;
}

.itb-c360-field textarea{
  min-height:96px!important;
  resize:vertical!important;
}

.itb-c360-actions{
  grid-column:1 / -1!important;
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin-top:4px!important;
}

[data-itb-hidden-asset-id="1"]{
  display:none!important;
}

label[for="asset_id"],
label[for="assetId"],
input[name="asset_id"],
input[id="asset_id"],
input[name="assetId"],
input[id="assetId"],
select[name="asset_id"],
select[id="asset_id"],
select[name="assetId"],
select[id="assetId"]{
  display:none!important;
}

@media(max-width:900px){
  .itb-c360-repaired-form{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================================
   IT Toolbox Enterprise v13.1 Final LTS Build 1310.3.1
   Form UI Rollback + Safe CSS Fix
   --------------------------------------------------------------------------
   Important:
   - This does NOT rebuild DOM.
   - This does NOT remove form controls.
   - It only forces label/input layout to normal vertical fields when possible.
   ========================================================================== */

#dataForm,
#accountForm,
#passwordForm,
#licenseForm,
#documentForm,
#assetAccountForm,
#assetPasswordForm,
#assetLicenseForm,
#assetDocumentForm,
.masterdata-form,
.data-form,
.cmdb-data-form,
.c360-data-form {
  width: 100% !important;
  max-width: 860px !important;
}

/* field wrappers that already exist */
#dataForm .field,
#dataForm .form-group,
#dataForm .form-field,
#dataForm .itb-field,
#accountForm .field,
#accountForm .form-group,
#accountForm .form-field,
#accountForm .itb-field,
#passwordForm .field,
#passwordForm .form-group,
#passwordForm .form-field,
#passwordForm .itb-field,
#licenseForm .field,
#licenseForm .form-group,
#licenseForm .form-field,
#licenseForm .itb-field,
#documentForm .field,
#documentForm .form-group,
#documentForm .form-field,
#documentForm .itb-field,
.masterdata-form .field,
.masterdata-form .form-group,
.masterdata-form .form-field,
.masterdata-form .itb-field,
.data-form .field,
.data-form .form-group,
.data-form .form-field,
.data-form .itb-field {
  display: block !important;
  margin-bottom: 14px !important;
  min-width: 0 !important;
}

/* label must be above field, not right side */
#dataForm label,
#accountForm label,
#passwordForm label,
#licenseForm label,
#documentForm label,
#assetAccountForm label,
#assetPasswordForm label,
#assetLicenseForm label,
#assetDocumentForm label,
.masterdata-form label,
.data-form label,
.cmdb-data-form label,
.c360-data-form label {
  display: block !important;
  width: auto !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  text-align: left !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

/* controls should be full width below label */
#dataForm input,
#dataForm select,
#dataForm textarea,
#accountForm input,
#accountForm select,
#accountForm textarea,
#passwordForm input,
#passwordForm select,
#passwordForm textarea,
#licenseForm input,
#licenseForm select,
#licenseForm textarea,
#documentForm input,
#documentForm select,
#documentForm textarea,
#assetAccountForm input,
#assetAccountForm select,
#assetAccountForm textarea,
#assetPasswordForm input,
#assetPasswordForm select,
#assetPasswordForm textarea,
#assetLicenseForm input,
#assetLicenseForm select,
#assetLicenseForm textarea,
#assetDocumentForm input,
#assetDocumentForm select,
#assetDocumentForm textarea,
.masterdata-form input,
.masterdata-form select,
.masterdata-form textarea,
.data-form input,
.data-form select,
.data-form textarea,
.cmdb-data-form input,
.cmdb-data-form select,
.cmdb-data-form textarea,
.c360-data-form input,
.c360-data-form select,
.c360-data-form textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 12px !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#dataForm textarea,
#accountForm textarea,
#passwordForm textarea,
#licenseForm textarea,
#documentForm textarea,
.masterdata-form textarea,
.data-form textarea {
  min-height: 96px !important;
  resize: vertical !important;
}

/* Hide Asset ID by CSS only. Do not hide surrounding form/card/panel. */
label[for="asset_id"],
label[for="assetId"],
label[for="assetID"],
input[name="asset_id"],
input[id="asset_id"],
input[name="assetId"],
input[id="assetId"],
input[name="assetID"],
input[id="assetID"],
select[name="asset_id"],
select[id="asset_id"],
select[name="assetId"],
select[id="assetId"],
select[name="assetID"],
select[id="assetID"] {
  display: none !important;
}

/* If the page marks a field wrapper explicitly as Asset ID, hide only that wrapper. */
.asset-id-field,
.asset_id_field,
.form-row-asset-id,
.form-group-asset-id,
.itb-asset-id-field {
  display: none !important;
}

/* Ensure action buttons remain visible */
#dataForm button,
#accountForm button,
#passwordForm button,
#licenseForm button,
#documentForm button,
.masterdata-form button,
.data-form button {
  display: inline-flex !important;
  width: auto !important;
  clear: none !important;
}


/* ==========================================================================
   Build 1310.4 - Asset ID Final Hide
   Hide Asset ID only; do not hide other fields or form panels.
   ========================================================================== */
label[for="asset_id"],
label[for="assetId"],
label[for="assetID"],
input[name="asset_id"],
input[id="asset_id"],
input[name="assetId"],
input[id="assetId"],
input[name="assetID"],
input[id="assetID"],
select[name="asset_id"],
select[id="asset_id"],
select[name="assetId"],
select[id="assetId"],
select[name="assetID"],
select[id="assetID"],
textarea[name="asset_id"],
textarea[id="asset_id"],
[data-field="asset_id"],
[data-name="asset_id"],
.asset-id-field,
.asset_id_field,
.form-row-asset-id,
.form-group-asset-id,
.itb-asset-id-field,
.itb-hide-asset-id-final {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Keep billing delete button consistent */
.itb-delete-btn,
button.itb-delete-btn,
a.itb-delete-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #fecaca !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #dc2626 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.itb-delete-btn:hover {
  background: #fef2f2 !important;
}


/* ==========================================================================
   Build 1310.5 Billing Tax / Expense / Settlement UI
   ========================================================================== */
.itb-billing-tax-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 12px 0 !important;
}

.itb-billing-extra-panel {
  margin: 24px 0 !important;
  padding: 20px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.06) !important;
}

.itb-billing-extra-panel h2 {
  margin: 0 0 16px !important;
  font-size: 26px !important;
  color: #0f172a !important;
}

.itb-billing-extra-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.itb-extra-card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #f8fafc !important;
}

.itb-extra-card h3 {
  margin: 0 0 12px !important;
}

.itb-extra-card label {
  display: block !important;
  margin: 10px 0 6px !important;
  font-weight: 750 !important;
  color: #0f172a !important;
}

.itb-extra-card input,
.itb-extra-card textarea {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
}

.itb-extra-card textarea {
  min-height: 80px !important;
}

.itb-extra-card button {
  margin-top: 12px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #2563eb !important;
  color: #fff !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.itb-delete-btn {
  margin-left: 8px !important;
}

@media(max-width: 900px) {
  .itb-billing-extra-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================================
   Build 1310.6.1 Billing Original UI Finance Patch
   ========================================================================== */
.itb-finance-patch-panel {
  margin: 24px 0 !important;
  padding: 20px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(15,23,42,.08) !important;
  color: #0f172a !important;
}

.itb-fin-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: flex-start !important;
  margin-bottom: 16px !important;
}

.itb-fin-head h2 {
  margin: 0 0 6px !important;
  font-size: 26px !important;
  font-weight: 900 !important;
}

.itb-fin-head p {
  margin: 0 !important;
  color: #64748b !important;
  font-weight: 650 !important;
}

.itb-fin-filter {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: end !important;
}

.itb-fin-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.itb-fin-kpis > div {
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 14px !important;
  background: #f8fafc !important;
}

.itb-fin-kpis span {
  display: block !important;
  color: #64748b !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.itb-fin-kpis strong {
  font-size: 24px !important;
  font-weight: 950 !important;
}

.itb-fin-tabs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}

.itb-fin-tabs button,
.itb-fin-btn,
.itb-fin-filter button,
.itb-fin-form button {
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid #bfdbfe !important;
  background: #fff !important;
  color: #2563eb !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.itb-fin-tabs button.active,
.itb-fin-form button:not(.secondary) {
  background: #2563eb !important;
  color: #fff !important;
}

.itb-fin-panel {
  display: none !important;
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 14px !important;
}

.itb-fin-panel.active {
  display: block !important;
}

.itb-fin-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.itb-fin-form label {
  display: block !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

.itb-fin-form label.full,
.itb-fin-form .full {
  grid-column: 1 / -1 !important;
}

.itb-fin-form input,
.itb-fin-form textarea,
.itb-fin-filter input,
.itb-finance-patch-panel input {
  width: 100% !important;
  min-height: 40px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 8px 11px !important;
}

.itb-fin-form textarea {
  min-height: 86px !important;
}

.itb-fin-list {
  display: grid !important;
  gap: 10px !important;
}

.itb-fin-item {
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 14px !important;
  background: #f8fafc !important;
}

.itb-fin-item > div {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.itb-fin-item strong {
  font-size: 17px !important;
  font-weight: 900 !important;
}

.itb-fin-item span,
.itb-fin-item p {
  color: #475569 !important;
  font-weight: 650 !important;
}

.itb-fin-delete {
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  border: 1px solid #fecaca !important;
  background: #fff !important;
  color: #dc2626 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.itb-fin-empty {
  border: 1px dashed #cbd5e1 !important;
  border-radius: 16px !important;
  padding: 18px !important;
  color: #64748b !important;
  font-weight: 800 !important;
}

.itb-finance-tax-inline {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 8px !important;
  margin: 10px 0 !important;
}

@media(max-width: 900px) {
  .itb-fin-head { flex-direction: column !important; }
  .itb-fin-kpis { grid-template-columns: 1fr 1fr !important; }
  .itb-fin-form,
  .itb-finance-tax-inline { grid-template-columns: 1fr !important; }
}


/* ==========================================================================
   Build 1310.6.2 Billing Original UI Cleanup Patch
   ========================================================================== */

#itbFinancePatchPanel,
#itbExpenseSettlementPanel,
.itb-billing-extra-panel {
  display: none !important;
}

.itb-billing-hidden-field {
  display: none !important;
}

.itb-delete-unpaid-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  margin-left: 8px !important;
  border: 2px solid #fecaca !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #dc2626 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.itb-delete-unpaid-btn:hover {
  background: #fef2f2 !important;
}

.itb-billing-tax-total-original {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 8px 0 12px !important;
}

.itb-billing-tax-total-original label {
  display: block !important;
  font-weight: 750 !important;
  color: #0f172a !important;
  margin: 0 0 4px !important;
}

.itb-billing-tax-total-original input {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
  background: #f8fafc !important;
}


/* ==========================================================================
   Build 1310.6.3 Billing Form Revert + Delete Only
   ========================================================================== */
#itbFinancePatchPanel,
#itbExpenseSettlementPanel,
.itb-billing-extra-panel {
  display: none !important;
}

.itb-delete-unpaid-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  margin-left: 8px !important;
  border: 2px solid #fecaca !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #dc2626 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.itb-delete-unpaid-btn:hover {
  background: #fef2f2 !important;
}

/* ========================================================================== 
   Build 1311.2 - Mobile Top Blank Fix
   Fix: On mobile, sidebar must become an off-canvas drawer and must NOT occupy
   the first viewport height before main content.
   ========================================================================== */
@media (max-width: 980px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body.itb-final .v12-layout,
  body.itb-final .app-layout{
    display:block!important;
    grid-template-columns:1fr!important;
    min-height:100vh!important;
  }
  body.itb-final .v12-sidebar,
  body.itb-final .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:286px!important;
    max-width:86vw!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    border-radius:0!important;
    z-index:10050!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.itb-final.itb-drawer-open .v12-sidebar,
  body.itb-final.itb-drawer-open .sidebar{
    transform:translateX(0)!important;
  }
  body.itb-final .v12-main,
  body.itb-final main,
  body.itb-final .main-content{
    display:block!important;
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }
  .itb-mobile-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border:1px solid #dbe3ef!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:22px!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .itb-mobile-backdrop{
    position:fixed!important;
    inset:0!important;
    background:rgba(15,23,42,.45)!important;
    z-index:10040!important;
    display:none!important;
  }
  body.itb-final.itb-drawer-open .itb-mobile-backdrop{display:block!important;}
  .itb-topbar{
    position:sticky!important;
    top:0!important;
    z-index:10020!important;
    min-height:64px!important;
    height:auto!important;
    padding:10px 12px!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .itb-product{min-width:0!important;flex:1 1 auto!important;}
  .itb-product-title{font-size:16px!important;}
  .itb-product-subtitle{display:none!important;}
  .itb-searchbar{order:10!important;width:100%!important;max-width:none!important;min-height:42px!important;}
  .itb-tabbar{height:auto!important;min-height:48px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding:0 12px!important;}
  .itb-tabbar a{height:48px!important;min-width:max-content!important;}
  .itb-page{padding:14px 12px 22px!important;}
  .itb-top-actions{gap:6px!important;}
  .itb-user-btn span{display:none!important;}
  .itb-avatar{width:36px!important;height:36px!important;font-size:13px!important;}
  .itb-fab{display:flex!important;}
}

/* Build 1317.7.2 UI Permission Engine */
.itb-denied-banner{
  margin:14px 24px 0 24px;
  padding:12px 16px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:14px;
  font-weight:700;
}
@media(max-width:980px){.itb-denied-banner{margin:10px 14px 0 14px;}}

/* ========================================================================== 
   Build 1317.10.3 - Enterprise Responsive Layout Completion
   Goal: keep ERP desktop split views stable, make tablet/mobile usable, and
   prevent theme/layout rules from creating nested scrollbars.
   ========================================================================== */
:root{--itb-content-max:1680px;--itb-mobile-bar-h:62px;}
body.itb-final{overflow-x:hidden!important;}
body.itb-final .v12-main,body.itb-final main,body.itb-final .main-content{min-width:0!important;}
body.itb-final .itb-topbar{background:#fff!important;color:#0f172a!important;}
body.itb-final .itb-tabbar{background:#fff!important;color:#0f172a!important;}
body.itb-final .itb-tabbar a{color:#1e293b!important;opacity:1!important;visibility:visible!important;}
body.itb-final .itb-tabbar a.active,body.itb-final .itb-tabbar a:hover{color:#2563eb!important;}

/* Desktop content width normalization */
@media (min-width:981px){
  body.itb-final .v12-main > .itb-page,
  body.itb-final .v12-main > .finance-center,
  body.itb-final .v12-main > .c360-wrap,
  body.itb-final .v12-main > .crm-wrap,
  body.itb-final .v12-main > .cmdb-wrap,
  body.itb-final .v12-main > .maintenance-wrap,
  body.itb-final .v12-main > .ka-wrap,
  body.itb-final .v12-main > .kv-wrap,
  body.itb-final .v12-main > .report-wrap,
  body.itb-final .v12-main > .portal-wrap{
    max-width:var(--itb-content-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.itb-final .itb-tabbar{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;}
}

/* Finance: do not allow global layout/theme to collapse ERP workbench. */
@media (min-width:981px){
  body.itb-final[data-finance-page] .finance-center,
  body[data-finance-page] .finance-center{padding:16px 18px 22px!important;}
  body.itb-final[data-finance-page] .finance-top,
  body[data-finance-page] .finance-top{padding:18px 20px!important;min-height:0!important;}
  body.itb-final[data-finance-page] .finance-top h1,
  body[data-finance-page] .finance-top h1{font-size:24px!important;margin:0 0 4px!important;}
  body.itb-final[data-finance-page] .finance-top p,
  body[data-finance-page] .finance-top p{margin:0 0 10px!important;}
  body.itb-final[data-finance-page] .finance-tabs,
  body[data-finance-page] .finance-tabs{
    display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;
    min-height:42px!important;visibility:visible!important;opacity:1!important;overflow:visible!important;
  }
  body.itb-final[data-finance-page] .finance-tabs a,
  body[data-finance-page] .finance-tabs a{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    color:#1d4ed8!important;background:#fff!important;border:1px solid #dbeafe!important;
    min-height:36px!important;padding:0 14px!important;border-radius:999px!important;
    font-weight:850!important;text-decoration:none!important;visibility:visible!important;opacity:1!important;
  }
  body.itb-final[data-finance-page] .finance-tabs a.active,
  body[data-finance-page] .finance-tabs a.active{background:#2563eb!important;color:#fff!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(520px,52%)!important;
    gap:14px!important;align-items:stretch!important;width:100%!important;min-width:0!important;
  }
  body.itb-final[data-finance-page] .finance-split > .finance-card,
  body[data-finance-page] .finance-split > .finance-card{
    min-width:0!important;margin:0!important;overflow:hidden!important;max-height:none!important;min-height:0!important;
  }
  body.itb-final[data-finance-page] #financeList,
  body[data-finance-page] #financeList{
    max-height:calc(100vh - 292px)!important;min-height:470px!important;overflow:auto!important;scrollbar-width:thin;
  }
  body.itb-final[data-finance-page] .finance-form,
  body[data-finance-page] .finance-form{
    max-height:calc(100vh - 292px)!important;min-height:470px!important;overflow:auto!important;padding-right:6px!important;scrollbar-width:thin;
  }
  body.itb-final[data-finance-page] .finance-card:has(#financeList),
  body.itb-final[data-finance-page] .finance-card:has(.finance-form){overflow:hidden!important;}
  body.itb-final[data-finance-page] .finance-table,
  body[data-finance-page] .finance-table{font-size:12px!important;table-layout:fixed!important;}
  body.itb-final[data-finance-page] .finance-table th,
  body.itb-final[data-finance-page] .finance-table td,
  body[data-finance-page] .finance-table th,
  body[data-finance-page] .finance-table td{padding:8px 7px!important;vertical-align:middle!important;}
}
@media (min-width:981px) and (max-width:1280px){
  body.itb-final[data-finance-page] .finance-split,
  body[data-finance-page] .finance-split{grid-template-columns:minmax(470px,50%) minmax(470px,50%)!important;gap:10px!important;}
  body.itb-final[data-finance-page] .finance-table,
  body[data-finance-page] .finance-table{font-size:11px!important;}
}

/* Generic workbench split for CMDB/Customer360/Maintenance/Knowledge when present. */
@media (min-width:981px){
  body.itb-final .workbench-split,
  body.itb-final .erp-split,
  body.itb-final .split-view,
  body.itb-final .two-pane,
  body.itb-final .c360-split,
  body.itb-final .cmdb-split,
  body.itb-final .maintenance-split,
  body.itb-final .knowledge-split{
    display:grid!important;grid-template-columns:minmax(460px,48%) minmax(480px,52%)!important;gap:14px!important;align-items:start!important;min-width:0!important;
  }
  body.itb-final .workbench-split > *,body.itb-final .erp-split > *,body.itb-final .split-view > *,body.itb-final .two-pane > *{min-width:0!important;}
}

/* Tablet: keep two panes if room exists, compact everything. */
@media (min-width:768px) and (max-width:980px){
  body.itb-final .v12-main{padding:0!important;}
  body.itb-final .itb-page,body.itb-final .finance-center{padding:12px!important;}
  body.itb-final[data-finance-page] .finance-split,body[data-finance-page] .finance-split{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;
  }
  body.itb-final[data-finance-page] #financeList,body[data-finance-page] #financeList,
  body.itb-final[data-finance-page] .finance-form,body[data-finance-page] .finance-form{
    max-height:calc(100vh - 310px)!important;overflow:auto!important;min-height:420px!important;
  }
  body.itb-final .itb-tabbar{overflow-x:auto!important;}
}

/* Mobile: app style, one page scrollbar, no hidden tab text. */
@media (max-width:767px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:#f6f8fb!important;}
  body.itb-final .v12-layout,body.itb-final .app-layout{display:block!important;min-height:100dvh!important;}
  body.itb-final .v12-main,body.itb-final main,body.itb-final .main-content{width:100%!important;min-height:100dvh!important;overflow:visible!important;}
  body.itb-final .itb-topbar{position:sticky!important;top:0!important;z-index:10020!important;min-height:56px!important;padding:8px 10px!important;gap:8px!important;flex-wrap:wrap!important;box-shadow:0 8px 22px rgba(15,23,42,.08)!important;}
  body.itb-final .itb-product-icon{width:34px!important;height:34px!important;border-radius:10px!important;}
  body.itb-final .itb-product-title{font-size:15px!important;}
  body.itb-final .itb-product-subtitle{display:none!important;}
  body.itb-final .itb-searchbar{order:20!important;width:100%!important;max-width:none!important;min-height:38px!important;border-radius:12px!important;}
  body.itb-final .itb-searchbar input{min-height:36px!important;font-size:13px!important;}
  body.itb-final .itb-top-actions{margin-left:auto!important;gap:4px!important;}
  body.itb-final .itb-action-btn{width:32px!important;height:32px!important;min-height:32px!important;font-size:17px!important;}
  body.itb-final .itb-user-btn span{display:none!important;}
  body.itb-final .itb-avatar{width:32px!important;height:32px!important;font-size:12px!important;}
  body.itb-final .itb-tabbar{position:sticky!important;top:56px!important;z-index:10010!important;height:44px!important;min-height:44px!important;padding:0 10px!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;}
  body.itb-final .itb-tabbar a{height:44px!important;min-width:max-content!important;font-size:12px!important;color:#1e293b!important;visibility:visible!important;opacity:1!important;}
  body.itb-final .itb-page,body.itb-final .finance-center,body.itb-final .ka-wrap,body.itb-final .kv-wrap{padding:10px!important;}
  body.itb-final .card,body.itb-final .itb-card,body.itb-final .panel,body.itb-final .box,body.itb-final .finance-card{border-radius:14px!important;padding:12px!important;box-shadow:0 8px 20px rgba(15,23,42,.05)!important;}
  body.itb-final .itb-page-title{display:block!important;margin-bottom:12px!important;}
  body.itb-final .itb-page-title h1,body.itb-final h1{font-size:21px!important;line-height:1.25!important;}

  body.itb-final[data-finance-page] .finance-top,body[data-finance-page] .finance-top{padding:12px!important;margin-bottom:10px!important;}
  body.itb-final[data-finance-page] .finance-top h1,body[data-finance-page] .finance-top h1{font-size:21px!important;margin:0 0 4px!important;}
  body.itb-final[data-finance-page] .finance-top p,body[data-finance-page] .finance-top p{font-size:12px!important;margin:0 0 10px!important;}
  body.itb-final[data-finance-page] .finance-tabs,body[data-finance-page] .finance-tabs{
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding:2px 0 6px!important;visibility:visible!important;opacity:1!important;
  }
  body.itb-final[data-finance-page] .finance-tabs a,body[data-finance-page] .finance-tabs a{
    flex:0 0 auto!important;color:#1d4ed8!important;background:#fff!important;border:1px solid #dbeafe!important;border-radius:999px!important;min-height:34px!important;padding:0 13px!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important;visibility:visible!important;opacity:1!important;
  }
  body.itb-final[data-finance-page] .finance-tabs a.active,body[data-finance-page] .finance-tabs a.active{background:#2563eb!important;color:#fff!important;}
  body.itb-final[data-finance-page] .finance-toolbar,body[data-finance-page] .finance-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:10px!important;}
  body.itb-final[data-finance-page] .finance-toolbar button,body[data-finance-page] .finance-toolbar button{width:100%!important;justify-content:center!important;}
  body.itb-final[data-finance-page] .finance-split,body[data-finance-page] .finance-split{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.itb-final[data-finance-page] .finance-split > .finance-card,body[data-finance-page] .finance-split > .finance-card{overflow:visible!important;max-height:none!important;min-height:0!important;}
  body.itb-final[data-finance-page] #financeList,body[data-finance-page] #financeList{max-height:none!important;min-height:0!important;overflow:visible!important;}
  body.itb-final[data-finance-page] .finance-form,body[data-finance-page] .finance-form{max-height:none!important;min-height:0!important;overflow:visible!important;padding-right:0!important;}
  body.itb-final[data-finance-page] .form-row,body[data-finance-page] .form-row{grid-template-columns:1fr!important;gap:8px!important;}
  body.itb-final input,body.itb-final select,body.itb-final textarea{font-size:16px!important;min-height:42px!important;} /* avoid iOS zoom */

  /* Mobile table fallback: horizontal first, card only for marked tables. */
  body.itb-final .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  body.itb-final table{font-size:12px!important;}
  body.itb-final th,body.itb-final td{padding:8px!important;}
  body.itb-final .finance-table{min-width:680px!important;}
  body.itb-final .itb-mobile-card-table table,body.itb-final table.itb-mobile-card-table{display:block!important;min-width:0!important;}
  body.itb-final .itb-mobile-card-table thead,body.itb-final table.itb-mobile-card-table thead{display:none!important;}
  body.itb-final .itb-mobile-card-table tbody,body.itb-final .itb-mobile-card-table tr,body.itb-final .itb-mobile-card-table td,
  body.itb-final table.itb-mobile-card-table tbody,body.itb-final table.itb-mobile-card-table tr,body.itb-final table.itb-mobile-card-table td{display:block!important;width:100%!important;}
  body.itb-final .itb-mobile-card-table tr,body.itb-final table.itb-mobile-card-table tr{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;margin:0 0 10px!important;padding:8px!important;}
  body.itb-final .itb-mobile-card-table td,body.itb-final table.itb-mobile-card-table td{border:0!important;padding:6px 4px!important;}
  body.itb-final .itb-mobile-card-table td::before,body.itb-final table.itb-mobile-card-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:800;color:#64748b;margin-bottom:2px;}
}

/* Floating action on mobile */
@media(max-width:767px){
  .itb-fab{position:fixed!important;right:16px!important;bottom:18px!important;z-index:10030!important;width:52px!important;height:52px!important;border-radius:50%!important;background:#2563eb!important;color:#fff!important;border:0!important;font-size:28px!important;box-shadow:0 18px 36px rgba(37,99,235,.36)!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  .itb-fab-panel{position:fixed!important;right:16px!important;bottom:78px!important;z-index:10030!important;display:none!important;min-width:220px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 20px 50px rgba(15,23,42,.18)!important;padding:8px!important;}
  .itb-fab-panel.open{display:block!important;}
  .itb-fab-panel a{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;color:#0f172a!important;text-decoration:none!important;border-radius:10px!important;font-weight:750!important;}
  .itb-fab-panel a:hover{background:#f8fafc!important;}
}

/* ========================================================================== 
   Build 1317.10.5B - iPhone Sidebar Tap Recovery
   Fix: iOS Safari/Chrome drawer backdrop must never sit above sidebar links.
   ========================================================================== */
@media (max-width: 980px){
  body.itb-final.itb-drawer-open .v12-sidebar,
  body.itb-final.itb-drawer-open .sidebar{
    z-index:2147483001!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-transform:translateX(0)!important;
    transform:translateX(0)!important;
  }
  body.itb-final .v12-sidebar a,
  body.itb-final .sidebar a,
  body.itb-final .v12-nav a{
    position:relative!important;
    z-index:2147483002!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(37,99,235,.18)!important;
  }
  body.itb-final .itb-mobile-backdrop{
    z-index:2147482990!important;
    pointer-events:auto!important;
  }
  body.itb-final.itb-drawer-open .itb-mobile-backdrop{
    display:block!important;
  }
}

/* ========================================================================== 
   Build 1317.10.5C - iPhone Mobile Header/Account/Notification Layout Recovery
   Scope: mobile only. Fix topbar action buttons (language/notification/account),
   prevent overlap with tabbar/content, and keep drawer above header cleanly.
   ========================================================================== */
@media (max-width: 767px){
  body.itb-final{padding-top:0!important;}
  body.itb-final .itb-topbar{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-areas:"menu brand actions" "search search search"!important;
    align-items:center!important;
    min-height:106px!important;
    height:auto!important;
    padding:8px 10px 9px!important;
    gap:8px!important;
    overflow:visible!important;
  }
  body.itb-final .itb-mobile-toggle{grid-area:menu!important;width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important;display:inline-flex!important;z-index:1!important;}
  body.itb-final .itb-product{grid-area:brand!important;min-width:0!important;width:auto!important;max-width:100%!important;overflow:hidden!important;display:flex!important;align-items:center!important;gap:8px!important;}
  body.itb-final .itb-product-icon{width:34px!important;height:34px!important;min-width:34px!important;}
  body.itb-final .itb-product-title{font-size:15px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
  body.itb-final .itb-product-subtitle{display:none!important;}
  body.itb-final .itb-top-actions{
    grid-area:actions!important;
    margin-left:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    min-width:max-content!important;
    flex:0 0 auto!important;
    position:relative!important;
  }
  body.itb-final .itb-action-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:12px!important;font-size:16px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  body.itb-final .itb-badge-dot{top:-5px!important;right:-5px!important;min-width:18px!important;height:18px!important;font-size:11px!important;line-height:18px!important;}
  body.itb-final .itb-user-btn{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;}
  body.itb-final .itb-user-btn span{display:none!important;}
  body.itb-final .itb-avatar{width:36px!important;height:36px!important;min-width:36px!important;font-size:12px!important;}
  body.itb-final .itb-searchbar{grid-area:search!important;order:unset!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;min-height:38px!important;border-radius:14px!important;}
  body.itb-final .itb-searchbar input{min-height:36px!important;font-size:16px!important;padding-right:8px!important;}
  body.itb-final .itb-tabbar{top:106px!important;height:44px!important;min-height:44px!important;}
  body.itb-final .itb-dropdown{
    position:fixed!important;
    top:58px!important;
    right:10px!important;
    left:auto!important;
    width:min(260px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
    z-index:2147482500!important;
    border-radius:14px!important;
  }
  body.itb-final #itbLangMenu{right:104px!important;width:min(220px,calc(100vw - 20px))!important;}
  body.itb-final #itbUserMenu{right:10px!important;}
  body.itb-final.itb-drawer-open .itb-topbar,
  body.itb-final.itb-drawer-open .itb-tabbar{z-index:1000!important;}
}

@media (max-width: 420px){
  body.itb-final .itb-topbar{grid-template-columns:40px minmax(0,1fr) auto!important;padding-left:8px!important;padding-right:8px!important;gap:6px!important;}
  body.itb-final .itb-product-title{font-size:14px!important;}
  body.itb-final .itb-top-actions{gap:4px!important;}
  body.itb-final .itb-action-btn{width:34px!important;height:34px!important;min-width:34px!important;}
  body.itb-final .itb-user-btn{width:38px!important;height:38px!important;min-width:38px!important;}
  body.itb-final .itb-avatar{width:34px!important;height:34px!important;min-width:34px!important;}
  body.itb-final #itbLangMenu{right:88px!important;}
}

@media (max-width: 360px){
  body.itb-final .itb-product-title{display:none!important;}
  body.itb-final .itb-product{justify-content:flex-start!important;}
}

/* ========================================================================== 
   Build 1317.10.5D - iPhone Mobile Search/Tabbar Overlap Fix
   Scope: mobile only. Keep global search in its own row and force top nav below it.
   ========================================================================== */
@media (max-width: 767px){
  body.itb-final .itb-topbar{
    position:sticky!important;
    top:0!important;
    z-index:2147481000!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-rows:44px 46px!important;
    grid-template-areas:"menu brand actions" "search search search"!important;
    align-items:center!important;
    min-height:114px!important;
    height:114px!important;
    padding:8px 10px 10px!important;
    gap:6px 8px!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body.itb-final .itb-searchbar{
    grid-area:search!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    height:42px!important;
    margin:0!important;
    order:unset!important;
  }
  body.itb-final .itb-searchbar input{
    min-height:40px!important;
    height:40px!important;
    font-size:16px!important;
  }
  body.itb-final .itb-tabbar{
    position:relative!important;
    top:auto!important;
    z-index:50!important;
    height:44px!important;
    min-height:44px!important;
    margin-top:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#fff!important;
  }
  body.itb-final .breadcrumb,
  body.itb-final .itb-breadcrumb,
  body.itb-final nav[aria-label="breadcrumb"]{
    position:relative!important;
    z-index:1!important;
  }
  body.itb-final.itb-drawer-open .itb-topbar,
  body.itb-final.itb-drawer-open .itb-tabbar{
    z-index:1000!important;
  }
}

/* ========================================================================== 
   Build 1317.10.5E - iPhone Top Navigation Visibility Recovery
   Scope: mobile only. Restore the horizontal top module bar below search.
   Reason: 10.5D separated search from the tabbar, but some iPhone browsers
   could render the tabbar as collapsed/covered. This block forces it visible.
   ========================================================================== */
@media (max-width: 767px){
  body.itb-final .itb-topbar{
    position:sticky!important;
    top:0!important;
    z-index:10020!important;
    height:auto!important;
    min-height:112px!important;
    overflow:visible!important;
  }
  body.itb-final .itb-tabbar,
  body.itb-final nav.itb-tabbar{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:10010!important;
    width:100%!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 10px!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    white-space:nowrap!important;
    background:#fff!important;
    border-bottom:1px solid #e2e8f0!important;
    pointer-events:auto!important;
  }
  body.itb-final .itb-tabbar a,
  body.itb-final nav.itb-tabbar a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    height:46px!important;
    line-height:46px!important;
    padding:0 2px!important;
    color:#1e293b!important;
    font-size:12px!important;
    font-weight:750!important;
    text-decoration:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.itb-final .itb-tabbar a.active,
  body.itb-final nav.itb-tabbar a.active{
    color:#2563eb!important;
    border-bottom-color:#2563eb!important;
  }
  body.itb-final.itb-drawer-open .itb-tabbar,
  body.itb-final.itb-drawer-open nav.itb-tabbar{
    z-index:1000!important;
  }
}

/* ========================================================================== 
   Build 1317.10.5F - iPhone Search Row Hard Separation Fix
   Scope: mobile only. The search row must occupy real layout height and must
   never float over the horizontal top navigation (儀表板/客戶360/CMDB...).
   ========================================================================== */
@media (max-width: 767px){
  body.itb-final .itb-topbar{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-rows:48px 56px!important;
    grid-template-areas:"menu brand actions" "search search search"!important;
    height:128px!important;
    min-height:128px!important;
    max-height:128px!important;
    padding:10px 10px 12px!important;
    gap:6px 8px!important;
    align-items:center!important;
    align-content:start!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }

  body.itb-final .itb-mobile-toggle{grid-area:menu!important;align-self:center!important;}
  body.itb-final .itb-product{grid-area:brand!important;align-self:center!important;min-width:0!important;}
  body.itb-final .itb-top-actions{grid-area:actions!important;align-self:center!important;}

  body.itb-final .itb-searchbar,
  body.itb-final form.itb-searchbar{
    grid-area:search!important;
    align-self:center!important;
    justify-self:stretch!important;
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    z-index:1!important;
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.itb-final .itb-searchbar span{flex:0 0 auto!important;line-height:46px!important;}
  body.itb-final .itb-searchbar input{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    line-height:44px!important;
    font-size:16px!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.itb-final .itb-tabbar,
  body.itb-final nav.itb-tabbar{
    display:flex!important;
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:0 10px!important;
    clear:both!important;
    background:#fff!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    box-sizing:border-box!important;
    border-top:1px solid #edf2f7!important;
    border-bottom:1px solid #dbe3ef!important;
  }
  body.itb-final .itb-tabbar a,
  body.itb-final nav.itb-tabbar a{
    height:48px!important;
    line-height:48px!important;
    min-height:48px!important;
  }
}

@media (max-width: 380px){
  body.itb-final .itb-topbar{
    grid-template-columns:40px minmax(0,1fr) auto!important;
    height:130px!important;
    min-height:130px!important;
    max-height:130px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* ==========================================================================
   Build 1318.0 - Mobile First UX Refactor Phase 1
   Scope: mobile only. Physically separate Header / Search / Top Navigation,
   prevent iPhone Safari overlap, and keep desktop layout unchanged.
   ========================================================================== */
@media (max-width: 767px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body.itb-final.itb-mobile-first{background:#f5f7fb!important;}

  body.itb-final.itb-mobile-first .v12-main,
  body.itb-final.itb-mobile-first main,
  body.itb-final.itb-mobile-first .main-content{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    padding:0!important;
  }

  /* Row 1: App header only. No search and no tabbar inside this row. */
  body.itb-final.itb-mobile-first .itb-topbar{
    position:sticky!important;
    top:0!important;
    z-index:10030!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    grid-template-areas:"menu brand actions"!important;
    grid-template-rows:56px!important;
    align-items:center!important;
    min-height:76px!important;
    height:76px!important;
    max-height:76px!important;
    padding:10px 10px!important;
    gap:8px!important;
    overflow:visible!important;
    background:#fff!important;
    border-bottom:1px solid #e5edf8!important;
    box-shadow:0 4px 14px rgba(15,23,42,.05)!important;
    box-sizing:border-box!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-toggle{
    grid-area:menu!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    border-radius:14px!important;
    position:relative!important;z-index:2!important;
  }
  body.itb-final.itb-mobile-first .itb-product{
    grid-area:brand!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  body.itb-final.itb-mobile-first .itb-product-icon{
    width:42px!important;height:42px!important;min-width:42px!important;border-radius:14px!important;
  }
  body.itb-final.itb-mobile-first .itb-product-title{
    font-size:16px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.itb-final.itb-mobile-first .itb-product-subtitle{display:none!important;}
  body.itb-final.itb-mobile-first .itb-top-actions{
    grid-area:actions!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    min-width:max-content!important;
    margin:0!important;
    position:relative!important;
    z-index:2!important;
  }
  body.itb-final.itb-mobile-first .itb-action-btn{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    border-radius:13px!important;padding:0!important;font-size:17px!important;
  }
  body.itb-final.itb-mobile-first .itb-user-btn{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border-radius:15px!important;
  }
  body.itb-final.itb-mobile-first .itb-user-btn span{display:none!important;}
  body.itb-final.itb-mobile-first .itb-avatar{
    width:38px!important;height:38px!important;min-width:38px!important;font-size:13px!important;
  }

  /* Row 2: Search is moved by JS into a real physical row. */
  body.itb-final.itb-mobile-first .itb-mobile-search-slot{
    display:block!important;
    position:sticky!important;
    top:76px!important;
    z-index:10020!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:6px 10px!important;
    background:#fff!important;
    border-bottom:1px solid #e5edf8!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-search-slot .itb-searchbar,
  body.itb-final.itb-mobile-first .itb-mobile-search-slot form.itb-searchbar{
    display:flex!important;
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;
    z-index:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:15px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #dbe7f6!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-search-slot .itb-searchbar span{
    flex:0 0 auto!important;
    line-height:46px!important;
    font-size:19px!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-search-slot .itb-searchbar input{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    line-height:44px!important;
    font-size:16px!important;
    padding:0!important;
    min-width:0!important;
  }

  /* Row 3: Top module navigation is moved by JS into its own physical row. */
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot{
    display:block!important;
    position:sticky!important;
    top:134px!important;
    z-index:10010!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    background:#fff!important;
    border-bottom:1px solid #d9e3f2!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot .itb-tabbar,
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot nav.itb-tabbar{
    display:flex!important;
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;
    z-index:1!important;
    width:100%!important;
    max-width:100%!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0 10px!important;
    gap:16px!important;
    align-items:center!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    white-space:nowrap!important;
    background:#fff!important;
    border:0!important;
    box-sizing:border-box!important;
    pointer-events:auto!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot .itb-tabbar a,
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot nav.itb-tabbar a{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:max-content!important;
    height:50px!important;
    min-height:50px!important;
    line-height:50px!important;
    padding:0 1px!important;
    font-size:13px!important;
    font-weight:850!important;
    color:#1e293b!important;
    opacity:1!important;
    visibility:visible!important;
    text-decoration:none!important;
    pointer-events:auto!important;
  }
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot .itb-tabbar a.active,
  body.itb-final.itb-mobile-first .itb-mobile-tab-slot nav.itb-tabbar a.active{
    color:#2563eb!important;
    border-bottom:3px solid #2563eb!important;
  }

  body.itb-final.itb-mobile-first .itb-page,
  body.itb-final.itb-mobile-first .finance-center,
  body.itb-final.itb-mobile-first .c360-wrap,
  body.itb-final.itb-mobile-first .crm-wrap,
  body.itb-final.itb-mobile-first .cmdb-wrap,
  body.itb-final.itb-mobile-first .maintenance-wrap,
  body.itb-final.itb-mobile-first .ka-wrap,
  body.itb-final.itb-mobile-first .kv-wrap,
  body.itb-final.itb-mobile-first .report-wrap,
  body.itb-final.itb-mobile-first .portal-wrap{
    padding:14px 12px 92px!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }

  body.itb-final.itb-mobile-first .itb-page-titlebar,
  body.itb-final.itb-mobile-first .itb-card,
  body.itb-final.itb-mobile-first .finance-card,
  body.itb-final.itb-mobile-first .c360-card,
  body.itb-final.itb-mobile-first .crm-card,
  body.itb-final.itb-mobile-first .dash-card,
  body.itb-final.itb-mobile-first .report-card{
    border-radius:18px!important;
  }

  body.itb-final.itb-mobile-first .itb-dropdown{
    position:fixed!important;
    top:70px!important;
    right:10px!important;
    left:auto!important;
    width:min(270px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
    z-index:2147482500!important;
  }
  body.itb-final.itb-mobile-first #itbLangMenu{right:104px!important;}
  body.itb-final.itb-mobile-first.itb-drawer-open .itb-topbar,
  body.itb-final.itb-mobile-first.itb-drawer-open .itb-mobile-search-slot,
  body.itb-final.itb-mobile-first.itb-drawer-open .itb-mobile-tab-slot{z-index:1000!important;}
}

@media (max-width: 390px){
  body.itb-final.itb-mobile-first .itb-topbar{grid-template-columns:46px minmax(0,1fr) auto!important;padding-left:8px!important;padding-right:8px!important;gap:6px!important;}
  body.itb-final.itb-mobile-first .itb-product-title{font-size:14px!important;}
  body.itb-final.itb-mobile-first .itb-action-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;}
  body.itb-final.itb-mobile-first .itb-user-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;}
  body.itb-final.itb-mobile-first .itb-avatar{width:36px!important;height:36px!important;min-width:36px!important;}
}


/* Build 1318.5 - Global Date Picker Standardization */
body.itb-final input.itb-date-input,
input.itb-date-input{
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
input.itb-date-input::placeholder{
  color:#94a3b8;
}
input.itb-date-input:invalid{
  border-color:#f59e0b!important;
  box-shadow:0 0 0 3px rgba(245,158,11,.12)!important;
}


/* Build 1318.6C - Enterprise Unicode Icon Elimination */
.itb-unicode-recovered-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-0.16em;margin-right:0.28em;background-position:center;background-repeat:no-repeat;background-size:contain;flex:0 0 auto}
.itb-icon-home{background-image:url('../icons/dashboard.svg')}.itb-icon-dashboard{background-image:url('../icons/dashboard.svg')}.itb-icon-announcement{background-image:url('../icons/announcement.svg')}.itb-icon-notification{background-image:url('../icons/notification.svg')}.itb-icon-billing{background-image:url('../icons/billing.svg')}.itb-icon-add{background-image:url('../icons/add.svg')}.itb-icon-customer{background-image:url('../icons/customer.svg')}.itb-icon-user{background-image:url('../icons/user.svg')}.itb-icon-company{background-image:url('../icons/company.svg')}.itb-icon-domain{background-image:url('../icons/domain.svg')}.itb-icon-finance{background-image:url('../icons/finance.svg')}.itb-icon-expense{background-image:url('../icons/finance.svg')}.itb-icon-asset{background-image:url('../icons/asset.svg')}.itb-icon-public-ip{background-image:url('../icons/public-ip.svg')}.itb-icon-ticket{background-image:url('../icons/ticket.svg')}.itb-icon-headset{background-image:url('../icons/headset.svg')}.itb-icon-tools{background-image:url('../icons/tools.svg')}.itb-icon-maintenance{background-image:url('../icons/maintenance.svg')}.itb-icon-wrench{background-image:url('../icons/wrench.svg')}.itb-icon-password{background-image:url('../icons/password.svg')}.itb-icon-lock{background-image:url('../icons/lock.svg')}.itb-icon-shield{background-image:url('../icons/shield.svg')}.itb-icon-settings{background-image:url('../icons/settings.svg')}.itb-icon-document{background-image:url('../icons/document.svg')}.itb-icon-folder{background-image:url('../icons/folder.svg')}.itb-icon-clipboard{background-image:url('../icons/clipboard.svg')}.itb-icon-analytics{background-image:url('../icons/analytics.svg')}.itb-icon-progress{background-image:url('../icons/progress.svg')}.itb-icon-contract{background-image:url('../icons/contract.svg')}.itb-icon-knowledge{background-image:url('../icons/knowledge.svg')}.itb-icon-search{background-image:url('../icons/search.svg')}.itb-icon-export{background-image:url('../icons/export.svg')}.itb-icon-import{background-image:url('../icons/import.svg')}.itb-icon-clock{background-image:url('../icons/clock.svg')}.itb-icon-urgent{background-image:url('../icons/urgent.svg')}.itb-icon-health{background-image:url('../icons/health.svg')}.itb-icon-logout{background-image:url('../icons/logout.svg')}.itb-icon-compass{background-image:url('../icons/compass.svg')}

/* ========================================================================== 
   Build 1318.7E3 - Header Language Icon Standard Style
   Scope: icon visual only. Keep backend/layout/data untouched.
   Force all backend pages to use the same white outlined language button style
   as customer360.php instead of the blue filled square variant.
   ========================================================================== */
body.itb-final #itbLangBtn.itb-action-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.08)!important;
  color:#2563eb!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.itb-final #itbLangBtn.itb-action-btn:hover{
  background:#f8fbff!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 28px rgba(37,99,235,.12)!important;
}
body.itb-final #itbLangBtn.itb-action-btn .itb-local-icon,
body.itb-final #itbLangBtn.itb-action-btn .itb-pro-icon{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  background-color:transparent!important;
  filter:none!important;
}
