*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans Thai",Segoe UI,Tahoma,sans-serif;background:#f4f7fb;color:#1d2636}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;background:#162334;padding:20px}.login-card{width:410px;max-width:100%;background:#fff;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 80px #0005}.login-card h1{font-size:23px;margin:4px 0 0}.login-card p{margin:0 0 8px;color:#738095}.login-card label{font-size:12px;color:#647086;display:flex;flex-direction:column;gap:6px}.login-card input,.form-field input,.form-field select,.form-field textarea,.toolbar input,.toolbar select{padding:10px 11px;border:1px solid #dbe2ea;border-radius:9px;font:inherit}.login-card small{color:#8d6b29}.error{color:#b22929;font-size:13px}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:#162334;color:#fff;padding:20px 14px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 20px}.logo{width:44px;height:44px;border-radius:13px;background:#a6d82d;color:#162334;display:grid;place-items:center;font-weight:900;font-size:20px}.logo.big{width:58px;height:58px;font-size:25px}.brand h2{font-size:18px;margin:0}.brand p{font-size:11px;margin:3px 0 0;color:#a9b5c5}nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#c7d0dc;text-align:left;padding:10px 13px;border-radius:9px;font-size:13px;cursor:pointer}.nav-item:hover,.nav-item.active{background:#26394f;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #31445b;padding:14px 8px 0;display:grid;gap:8px;font-size:12px}.sidebar-footer div{display:flex;flex-direction:column}.sidebar-footer small{color:#91a0b3}.sidebar-footer button{background:#26394f;color:#dce6f3;border:0;border-radius:7px;padding:7px;cursor:pointer}main{margin-left:245px;width:calc(100% - 245px);padding:26px 30px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p,.section-head p{margin:4px 0 0;color:#778396}.topbar span{color:#69768a;font-size:13px}.primary{background:#162334;color:#fff;border:0;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}.secondary{background:#fff;border:1px solid #dce2e9;padding:9px 13px;border-radius:9px;cursor:pointer}.page{display:none}.page.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.card{background:#fff;border:1px solid #e5e9ef;border-radius:15px;box-shadow:0 7px 22px rgba(25,41,65,.05)}.stat{padding:19px}.stat span{display:block;color:#69768a;font-size:13px}.stat strong{display:block;font-size:34px;margin:7px 0}.stat small{color:#929bab}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pad{padding:20px}.pad h3{margin-top:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-head h2,.section-head h3{margin:0}.table-wrap{overflow:auto}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid #e9edf2}.toolbar input{min-width:240px}.toolbar .spacer{flex:1}table{border-collapse:collapse;width:100%}th,td{padding:11px 12px;border-bottom:1px solid #edf0f4;text-align:left;font-size:13px;white-space:nowrap}th{background:#f9fafc;color:#69768a;font-size:12px}.badge{display:inline-block;padding:5px 8px;border-radius:18px;background:#edf2f7;font-size:11px;font-weight:700}.badge.good{background:#e6f7e8;color:#2d8438}.badge.warn{background:#fff0d9;color:#9b640c}.badge.bad{background:#ffe5e5;color:#a83131}.row-actions{display:flex;gap:5px}.edit{border:0;background:#eaf1ff;color:#315f9d;border-radius:7px;padding:6px 8px;cursor:pointer}.delete{border:0;background:#fff0f0;color:#a73737;border-radius:7px;padding:6px 8px;cursor:pointer}.listrow{padding:11px 0;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between}.listrow:last-child{border:0}.listrow small{display:block;color:#8993a3}.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tab{border:1px solid #dfe5ec;background:#fff;padding:9px 14px;border-radius:9px;cursor:pointer}.tab.active{background:#162334;color:#fff;border-color:#162334}.netpanel{display:none}.netpanel.active{display:block}.modal{display:none;position:fixed;inset:0;background:#0b1524aa;z-index:30;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-panel{background:#fff;width:680px;max-width:100%;border-radius:16px;padding:20px;max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0}.modal-head button{border:0;background:none;font-size:18px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;color:#657184}.form-field.full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.button-grid{display:flex;flex-wrap:wrap;gap:8px}.diagram{display:flex;flex-direction:column;gap:16px}.switch-card{border:1px solid #dfe5ec;border-radius:12px;padding:14px;background:#fafbfd}.switch-title{display:flex;justify-content:space-between;gap:10px}.port-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.port-node{border:1px solid #dfe5ec;border-radius:8px;padding:8px;font-size:12px;background:#fff}.port-node b{display:block}.vlan-chip{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:10px;background:#edf2f7;font-size:10px}.muted{color:#8a94a3}.admin-only.hidden-role{display:none}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.port-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.app{display:block}.brand{padding-bottom:10px}nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-footer{display:none}main{margin:0;width:100%;padding:16px}.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-field.full,.form-actions{grid-column:1}.topbar{align-items:flex-start}.topbar span{display:none}.port-grid{grid-template-columns:1fr}}.qrbtn{border:0;background:#eef7dd;color:#55770d;border-radius:7px;padding:6px 8px;cursor:pointer}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-item{border:1px solid #e1e6ed;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.gallery-item img{width:100%;height:210px;object-fit:cover;border-radius:8px;background:#f2f4f7}.gallery-item small{word-break:break-word;color:#727f91}.qr-wrap{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.qr-wrap img{width:320px;max-width:100%;height:auto;border:12px solid white;box-shadow:0 4px 18px #0001}.qr-wrap h3,.qr-wrap p{margin:0}.qr-wrap small{color:#8a6a2d}.form-field input[type=file]{background:#fafbfd}@media(max-width:600px){.gallery{grid-template-columns:1fr}}

.editor-only.hidden-role{display:none}.import-card{margin-bottom:16px}.import-controls{display:grid;grid-template-columns:220px 1fr auto;gap:14px;align-items:end}.import-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#657184}.import-controls select,.import-controls input{padding:10px 11px;border:1px solid #dbe2ea;border-radius:9px;font:inherit;background:#fff}.import-actions{display:flex;gap:8px}.import-help{margin-top:16px;padding:12px;border-radius:10px;background:#f6f8fb;font-size:13px;line-height:1.7}.import-stats{margin-top:16px}.inline-label{display:flex;align-items:center;gap:8px;font-size:12px}.import-new td:first-child{border-left:4px solid #5d9b62}.import-duplicate td:first-child{border-left:4px solid #d99b32}.import-invalid td:first-child{border-left:4px solid #c84b4b}.import-invalid{background:#fff9f9}@media(max-width:900px){.import-controls{grid-template-columns:1fr}.import-actions{justify-content:flex-start}.inline-label{width:100%;justify-content:space-between}}

#licenses .stats,#repairs .stats{margin-bottom:16px}

.top-actions-v5{display:flex;align-items:center;gap:12px}.notify-btn{border:1px solid #dce2e9;background:#fff;border-radius:9px;padding:7px 10px;cursor:pointer}.notify-btn span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#b63838;color:#fff;font-size:11px}.notify-row{display:grid;grid-template-columns:14px 1fr 20px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f4;cursor:pointer}.notify-row:last-child{border:0}.notify-row small{display:block;color:#8490a0;margin-top:3px}.notify-dot{width:10px;height:10px;border-radius:50%;background:#8c98a7}.notify-dot.warn{background:#d99b32}.notify-dot.bad{background:#c84b4b}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px}.kv span{color:#7b8796}.small-strong{font-size:19px!important}.ipam-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.ipam-summary span{padding:7px 10px;background:#fff;border:1px solid #e1e6ed;border-radius:9px;font-size:12px}@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.kv{grid-template-columns:100px 1fr}}

.module-error{margin-bottom:14px;padding:13px 15px;border:1px solid #efc7c7;background:#fff5f5;border-radius:10px;color:#8f2e2e}
.module-error div{margin-top:5px;font-size:12px;word-break:break-word}
.module-error small{display:block;margin-top:6px;color:#8b6666}

.version-note{display:inline-block;margin-bottom:10px;padding:4px 8px;border-radius:12px;background:#eef2f7;color:#687588;font-size:10px}

.in-btn,.out-btn,.adjust-btn{border:0;border-radius:7px;padding:6px 8px;cursor:pointer;font-size:12px}
.in-btn{background:#e8f7ea;color:#2c7c38}.out-btn{background:#fff0e2;color:#a05b10}.adjust-btn{background:#f1eefb;color:#6149a5}

.auto-asset-box{padding:14px;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc}
.form-grid.nested{margin-top:10px}

.license-mini-summary{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 14px}
.license-mini-summary span{background:#fff;border:1px solid #e2e7ee;border-radius:10px;padding:7px 10px;font-size:12px}

.master-import-card{border:1px solid #cbd8a8}.master-sheet-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:10px;padding:9px 4px;border-bottom:1px solid #edf0f4;font-size:12px}.ok-text{color:#287a3d}.bad-text{color:#b42318;font-weight:700}

.spec-head{padding:10px;margin-bottom:10px;background:#f4f7fb;border-radius:10px}.form-field.full{grid-column:1/-1}

.dispose-btn{border:0;background:#f7e9e9;color:#923737;border-radius:7px;padding:6px 8px;cursor:pointer;font-size:12px}

.inventory-class-guide{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 12px;font-size:11px;color:#6c7888}
.inventory-class-guide b{padding:5px 0}
.inventory-class-guide span{background:#fff;border:1px solid #e2e7ee;border-radius:10px;padding:5px 8px}

#computerusers .stats{margin-bottom:16px}

#communication .stats{margin-bottom:16px}.comm-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.comm-tab{border:1px solid #dce3eb;background:#fff;border-radius:10px;padding:8px 14px;cursor:pointer}
.comm-tab.active{background:#162334;color:#fff;border-color:#162334}.comm-panel.hidden-role{display:none}
.comm-history-form{display:grid;grid-template-columns:140px 1fr 1fr 1fr 2fr auto;gap:8px;margin-top:14px}
.comm-history-form input{padding:9px;border:1px solid #dbe2ea;border-radius:8px}
@media(max-width:900px){.comm-history-form{grid-template-columns:1fr}}

#wifiaccess .stats{margin-bottom:16px}.wifi-tab{border:1px solid #dce3eb;background:#fff;border-radius:10px;padding:8px 14px;cursor:pointer}
.wifi-tab.active{background:#162334;color:#fff;border-color:#162334}.wifi-panel.hidden-role{display:none}
#wifi-users hr{border:0;border-top:1px solid #edf0f4;margin:5px 0}

#credentials .stats{margin-bottom:16px}.vault-warning{margin:0 0 14px;padding:11px 13px;border:1px solid #e2d8ad;background:#fffbea;border-radius:10px;color:#66551a;font-size:12px}
.vault-btn{border:0;background:#e8edf8;color:#314f85;border-radius:7px;padding:6px 8px;cursor:pointer;font-size:12px}
.secret-view{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center}.secret-view label{color:#758196}.secret-view small{grid-column:1/-1;color:#7a6b3a}
.secret-box{display:flex;gap:8px;align-items:center;background:#f5f7fa;border:1px solid #dde3ea;border-radius:9px;padding:10px}.secret-box code{flex:1;word-break:break-all;font-size:15px}

.repair-btn{border:0;background:#fff2df;color:#9a5a10;border-radius:7px;padding:6px 8px;cursor:pointer;font-size:12px}

/* v6.5 Dual Asset Registration */

/* PRO v6.6 Custom Dashboard Builder */
.dashboard-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dashboard-toolbar small{display:block;color:#7a8794;margin-top:3px}
.dashboard-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:14px;padding:10px 12px;background:#f7f9fb;border:1px solid #e3e8ee;border-radius:11px}
.dashboard-filters label{font-size:11px;color:#6b7785}.dashboard-filters select{display:block;margin-top:3px;min-width:145px;padding:7px;border:1px solid #d8e0e8;border-radius:8px;background:#fff}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.dashboard-widget{background:#fff;border:1px solid #e2e7ee;border-radius:13px;padding:14px;min-width:0;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.dashboard-widget.size-S{grid-column:span 3}.dashboard-widget.size-M{grid-column:span 6}.dashboard-widget.size-L{grid-column:span 12}
.widget-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.widget-head>b{font-size:13px}.widget-controls{margin-left:auto;display:flex;gap:5px}.widget-controls button{border:1px solid #dbe2ea;background:#f8fafc;border-radius:7px;padding:4px 7px;cursor:pointer}
.widget-stat strong{display:block;font-size:30px;line-height:1.1}.widget-stat small{color:#7b8794}.widget-drag{font-size:10px;color:#8a96a3;margin:-5px 0 7px;cursor:grab}.dashboard-editing .dashboard-widget{border-style:dashed}.dashboard-widget.dragging{opacity:.45}
.widget-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0}.widget-picker label{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #e2e7ee;border-radius:10px}.widget-picker small{display:block;color:#7b8794;margin-top:2px}
.dashboard-builder-help{padding:10px 12px;border-radius:9px;background:#f4f8fc;color:#40566b;margin-bottom:8px;font-size:12px}
@media(max-width:1100px){.dashboard-widget.size-S{grid-column:span 6}.dashboard-widget.size-M{grid-column:span 12}}
@media(max-width:700px){.dashboard-widget.size-S,.dashboard-widget.size-M,.dashboard-widget.size-L{grid-column:span 12}.widget-picker{grid-template-columns:1fr}}

/* V6.7 Stability & Repair Build */
.stability-error{border-left:4px solid #d9822b!important}
.health-ok{padding:12px 14px;margin:12px 0;border:1px solid #b8dfc1;background:#f2fbf4;border-radius:10px;color:#28643a}
.system-check-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.system-path{margin-top:14px}.system-path code{display:block;margin-top:7px;word-break:break-all;color:#4e5d6c}


/* =========================================================
   PRO V6.8 — MODERN ICT PORTAL UI
   ========================================================= */
:root{
  --bg:#07111c;--bg2:#0a1623;--panel:#101d2b;--panel2:#132333;
  --line:#233546;--line2:#2d4154;--text:#edf4fb;--muted:#8fa1b4;
  --accent:#b7ef32;--accent2:#8fd524;--blue:#3e88ff;--amber:#ffab2e;
  --violet:#9b63e9;--red:#ff5d67;--shadow:0 18px 40px rgba(0,0,0,.24);
}
html{background:var(--bg)}
body{background:
 radial-gradient(circle at 70% -20%,rgba(183,239,50,.08),transparent 35%),
 linear-gradient(145deg,#07111c 0%,#091522 55%,#07111c 100%);
 color:var(--text);min-height:100vh}
body,input,select,textarea,button{font-family:Inter,"Noto Sans Thai","Segoe UI",Tahoma,sans-serif}
.app{background:transparent}
.sidebar{
 width:272px;background:linear-gradient(180deg,#07131f 0%,#091724 62%,#07131f 100%);
 border-right:1px solid #1d3041;padding:20px 14px 14px;box-shadow:8px 0 36px rgba(0,0,0,.16);
 scrollbar-width:thin;scrollbar-color:#2b4355 transparent
}
.brand{padding:2px 9px 22px;gap:12px;position:relative}
.logo{background:linear-gradient(135deg,#d8ff78,#9be523);color:#07131f;box-shadow:0 8px 24px rgba(183,239,50,.18);border-radius:14px}
.brand h2{font-size:20px;letter-spacing:-.4px}.brand p{color:#899aac}.version-chip{margin-left:auto;align-self:flex-start;font-size:9px;font-weight:800;padding:4px 6px;border:1px solid #365057;border-radius:6px;color:#8fa1b4}
.sidebar nav{gap:4px}
.nav-item{display:flex;align-items:center;gap:11px;color:#b9c7d5;padding:10px 12px;border-radius:10px;font-size:12.5px;transition:.18s ease;min-height:40px}
.nav-item .nav-icon{width:22px;text-align:center;font-size:17px;color:#93a7b9}
.nav-item:hover{background:#102335;color:#fff;transform:translateX(2px)}
.nav-item.active{background:linear-gradient(90deg,#d7ff7a,#a9ef23);color:#0a1623;font-weight:800;box-shadow:0 10px 24px rgba(155,229,35,.14)}
.nav-item.active .nav-icon{color:#0a1623}
.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:99px;background:var(--accent);color:#07131f;font-size:10px;font-weight:900}
.nav-item.active .nav-count{background:#0d1d2b;color:var(--accent)}
.search-hidden{display:none!important}
.sidebar-support{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px;margin-bottom:10px;border:1px solid #24394a;border-radius:13px;background:#0d1b28}
.sidebar-support .support-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(183,239,50,.1);color:var(--accent);font-size:20px}
.sidebar-support strong{display:block;font-size:12px}.sidebar-support small{color:#75889a;font-size:10px}
.sidebar-footer{margin-top:0;border-top:1px solid #1f3344;padding:12px 5px 0}
.user-mini{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.mini-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#0a1623;font-weight:900;font-size:11px}
.user-mini div{display:flex;flex-direction:column}.footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.sidebar-footer button{background:#102334;border:1px solid #22394b;color:#bdc9d4}
main{margin-left:272px;width:calc(100% - 272px);padding:0 28px 36px}
.topbar{position:sticky;top:0;z-index:20;min-height:72px;margin:0 -28px 22px;padding:11px 28px;background:rgba(7,17,28,.90);backdrop-filter:blur(16px);border-bottom:1px solid #1d3040;display:grid;grid-template-columns:1fr auto 1fr;gap:18px}
.topbar-left,.top-actions-v5{display:flex;align-items:center;gap:10px}.top-actions-v5{justify-content:flex-end}.topbar-center{text-align:center}.topbar-center h1{font-size:17px}.topbar-center p{font-size:10px;margin-top:2px}
.icon-button,.notify-btn{height:38px;min-width:38px;border:1px solid #243849;background:#0c1a27;color:#cbd7e3;border-radius:10px;cursor:pointer}
.global-search{height:40px;width:min(360px,38vw);display:flex;align-items:center;gap:8px;padding:0 12px;background:#0b1926;border:1px solid #223647;border-radius:11px;color:#7f91a3}
.global-search input{width:100%;border:0;outline:0;background:transparent;color:#e8f0f8}.global-search input::placeholder{color:#617486}
#today{color:#77899b!important;font-size:11px!important}
.top-user{display:flex;align-items:center;gap:8px;border-left:1px solid #263949;padding-left:12px}.top-user b{display:block;font-size:11px}.top-user small{display:block;color:#768a9d;font-size:9px;text-transform:capitalize}
.page{animation:fadeIn .18s ease}@keyframes fadeIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
.dashboard-hero{min-height:170px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;padding:25px 28px;margin-bottom:16px;border:1px solid #223748;border-radius:18px;background:
 radial-gradient(circle at 90% 20%,rgba(183,239,50,.14),transparent 28%),
 linear-gradient(125deg,#0c1a28,#0b1724 60%,#0d1e27);box-shadow:var(--shadow)}
.dashboard-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:380px;height:300px;border:1px solid rgba(183,239,50,.15);border-radius:50%;box-shadow:0 0 0 35px rgba(183,239,50,.025),0 0 0 70px rgba(183,239,50,.018)}
.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px;font-weight:900;letter-spacing:2px;color:var(--accent)}.hero-copy h2{font-size:30px;margin:7px 0 6px;letter-spacing:-.8px}.hero-copy h2 span{color:var(--accent)}.hero-copy p{margin:0;color:#8ea0b3;font-size:12px}
.quick-actions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.quick-actions button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:9px;padding:11px;border:1px solid #263b4c;background:rgba(16,31,45,.82);color:#e7eff6;border-radius:12px;cursor:pointer;transition:.18s}
.quick-actions button:hover{border-color:#607b42;transform:translateY(-2px);background:#122436}.quick-actions button>span{grid-row:1/3;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:rgba(183,239,50,.09);color:var(--accent);font-size:20px}.quick-actions b{font-size:11px;align-self:end}.quick-actions small{font-size:9px;color:#768a9c;align-self:start}
.dashboard-toolbar{margin:4px 0 10px;padding:0 2px}.dashboard-toolbar>b,.dashboard-toolbar div>b{font-size:14px}.dashboard-toolbar small{color:#62788c}.dashboard-toolbar .secondary{background:#0d1b29;color:#b9c9d8;border-color:#24394a}
.dashboard-filters{background:#0b1926;border-color:#213646;border-radius:12px;padding:9px 11px}.dashboard-filters label{color:#71879a}.dashboard-filters select{background:#0e1e2c;color:#d6e1eb;border-color:#294052}.dashboard-filters .secondary{background:#101f2d;color:#aebfce;border-color:#294052}
.dashboard-grid{gap:12px}
.dashboard-widget,.card{background:linear-gradient(145deg,#101d2b,#0e1a27);border-color:#24384a;box-shadow:0 10px 30px rgba(0,0,0,.12);color:#ecf3f9}
.dashboard-widget{border-radius:15px;padding:15px;min-height:120px;position:relative;overflow:hidden}
.dashboard-widget:after{content:"";position:absolute;right:-25px;bottom:-32px;width:100px;height:100px;border-radius:50%;background:rgba(183,239,50,.025)}
.widget-head{position:relative;z-index:1}.widget-title-wrap{display:flex;align-items:center;gap:9px}.widget-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(183,239,50,.10);color:var(--accent);font-size:16px}.widget-head b{font-size:11px;color:#b9c7d4}.widget-stat{position:relative;z-index:1;padding:5px 0 0 40px}.widget-stat strong{font-size:30px;color:#fff}.widget-stat small{color:#748a9c}
.widget-open_tickets .widget-icon{background:rgba(62,136,255,.14);color:var(--blue)}.widget-low_stock .widget-icon,.widget-radio_pm .widget-icon{background:rgba(255,171,46,.14);color:var(--amber)}.widget-license_expiry .widget-icon,.widget-credential_due .widget-icon{background:rgba(155,99,233,.14);color:var(--violet)}
.widget-list .listrow{border-color:#1f3343;padding:9px 3px}.widget-list .listrow small{color:#6f8496}.widget-list b{font-size:11px}.widget-list span{color:#91a3b4}
.section-head h2,.section-head h3{color:#edf4fb}.section-head p{color:#74889b}.pad h3{color:#e8f0f7}
.toolbar{background:#0d1b28;border-color:#243748;border-radius:13px 13px 0 0}.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{background:#0a1825;color:#e2ebf3;border-color:#2a4051}.toolbar input::placeholder,.form-field input::placeholder,.form-field textarea::placeholder{color:#5d7183}
.primary{background:linear-gradient(135deg,#c9f75c,#9ee62b);color:#0a1623;box-shadow:0 7px 18px rgba(183,239,50,.10)}
.secondary{background:#111f2d;color:#b8c8d6;border-color:#2a3d4e}
.table-wrap{border:1px solid #233747;border-radius:13px;overflow:auto;background:#0d1a27}
table{color:#cbd7e2}th{background:#101f2d;color:#778da0;border-color:#203344;font-size:10px;text-transform:uppercase;letter-spacing:.4px}td{border-color:#1c3040;font-size:11.5px}tbody tr:hover{background:#102333}
.badge{background:#1a2b39;color:#b7c5d2}.badge.good{background:rgba(140,214,53,.13);color:#a8ec54}.badge.warn{background:rgba(255,171,46,.13);color:#ffc05d}.badge.bad{background:rgba(255,93,103,.13);color:#ff8189}
.edit{background:rgba(62,136,255,.13);color:#70a5ff}.delete{background:rgba(255,93,103,.12);color:#ff7e87}.repair-btn{background:rgba(255,171,46,.12)!important;color:#ffc15e!important}.vault-btn{background:rgba(155,99,233,.13)!important;color:#b78cef!important}
.tabs{gap:6px}.tab{background:#0e1d2b;color:#8397a9;border-color:#263c4d}.tab.active{background:var(--accent);color:#081420;border-color:var(--accent);font-weight:800}
.modal{background:rgba(2,8,14,.78);backdrop-filter:blur(8px)}.modal-panel{background:#0d1a27;color:#e9f1f8;border:1px solid #2a3e4f;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-head{border-bottom:1px solid #213647;padding-bottom:12px}.modal-head button{color:#8599aa}
.form-field label{color:#8094a6}.form-field input:disabled{background:#101c27;color:#607384}.readonly-field{background:#101c27!important;color:#708496!important}
.module-error{background:rgba(255,171,46,.08)!important;border-color:rgba(255,171,46,.28)!important;color:#f5c26b!important}.health-ok{background:rgba(183,239,50,.07)!important;border-color:rgba(183,239,50,.25)!important;color:#b9ef5d!important}
.login-screen{background:
 radial-gradient(circle at 20% 20%,rgba(183,239,50,.10),transparent 30%),
 linear-gradient(145deg,#07111c,#0b1c2a)}
.login-card{background:#0e1c29;color:#ecf4fb;border:1px solid #263b4c;box-shadow:0 35px 100px rgba(0,0,0,.5)}
.login-card p,.login-card label{color:#8094a7}.login-card input{background:#091824;color:#eaf2f8;border-color:#294153}.login-card small{color:#758a9c}
.asset360-grid .card,.stats .card{background:linear-gradient(145deg,#101f2d,#0d1926)}
.stats .stat span{color:#7f93a5}.stats .stat strong{color:#fff}.stats .stat small{color:#677c8e}
.version-note{background:#152635!important;color:#9db0bf!important;border-color:#294052!important}
.ipam-summary{background:#0c1a27!important;border-color:#263b4c!important;color:#9cafbe!important}
.diagram{background:#0b1926!important;border-color:#273b4c!important}
.notification-item{background:#0e1d2a!important;border-color:#263a4b!important}
.spacer{flex:1}

/* collapsed sidebar */
.sidebar-collapsed .sidebar{width:78px;padding-left:10px;padding-right:10px}
.sidebar-collapsed main{margin-left:78px;width:calc(100% - 78px)}
.sidebar-collapsed .brand-copy,.sidebar-collapsed .version-chip,.sidebar-collapsed .nav-item>span:not(.nav-icon),.sidebar-collapsed .sidebar-support div:not(.support-icon),.sidebar-collapsed .sidebar-footer .user-mini div,.sidebar-collapsed .footer-actions{display:none!important}
.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .nav-icon{width:auto}.sidebar-collapsed .sidebar-support{justify-content:center;padding:9px}

/* Responsive */
@media(max-width:1050px){
 .topbar{grid-template-columns:1fr auto}.topbar-center{display:none}
 .dashboard-hero{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(4,1fr)}
 .quick-actions button{grid-template-columns:1fr;text-align:center}.quick-actions button>span{grid-row:auto;margin:auto}.quick-actions small{display:none}
}
@media(max-width:760px){
 .sidebar{transform:translateX(-100%);transition:.2s}.sidebar-collapsed .sidebar{transform:translateX(0);width:245px}
 main,.sidebar-collapsed main{margin-left:0;width:100%;padding:0 14px 28px}
 .topbar{margin:0 -14px 16px;padding:10px 14px;grid-template-columns:1fr auto}.global-search{width:48vw}.top-user,#today{display:none}
 .dashboard-hero{padding:20px}.hero-copy h2{font-size:24px}.quick-actions{grid-template-columns:repeat(2,1fr)}
 .dashboard-widget.size-S,.dashboard-widget.size-M,.dashboard-widget.size-L{grid-column:span 12}
}

/* V7.2.82 — Asset Verification */
.verification-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--card-radius,18px);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));margin-bottom:16px}
.verification-hero h2{margin:5px 0 6px;font-size:clamp(22px,3vw,34px)}
.verification-hero p{margin:0;color:var(--muted)}
.verification-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.verification-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.verification-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:16px;margin:16px 0}
.verification-rounds{display:grid;gap:9px;margin-top:12px}
.verification-round{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px 8px 6px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text)}
.verification-round:hover{border-color:var(--accent);transform:translateY(-1px)}
.verification-round-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0;text-align:left;padding:6px 8px;border:0;background:transparent;color:inherit;cursor:pointer}.verification-round-main>span{display:flex;flex-direction:column;gap:4px}.verification-round-main>span:last-child{align-items:flex-end}.verification-round small{color:var(--muted)}.verification-round>select{width:auto;min-width:130px}
.verification-guide ol{margin:12px 0 0;padding-left:22px}.verification-guide li{margin:8px 0;line-height:1.55}
.verification-coverage{margin:16px 0}.verification-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.verification-coverage-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:118px;padding:15px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);cursor:pointer}.verification-coverage-grid button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--panel));transform:translateY(-1px)}.verification-coverage-grid span{font-size:12px;line-height:1.5;color:var(--muted)}.verification-coverage-grid small{margin-top:auto;color:var(--accent-text,#658731);font-weight:700}
.verification-table-wrap table{min-width:1120px}.verification-summary{min-width:260px;max-width:420px;white-space:normal!important}
.verification-current{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin-top:8px;background:var(--soft);border:1px solid var(--line);border-radius:11px}.verification-current span{font-size:12px;color:var(--muted)}
.verify-search{display:flex;gap:8px}.verify-search input{flex:1}
.verification-observed{padding:16px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--panel))}
.verification-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.verification-detail-head small{color:var(--muted)}
.verification-photo{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.verification-photo img{width:110px;height:80px;object-fit:cover;border-radius:8px}
.verification-compare tr.changed td:last-child{font-weight:700;color:var(--accent)}
.verification-compare th:first-child{min-width:150px}.verification-compare td{min-width:210px}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px;color:var(--muted)}

@media(max-width:900px){.verification-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-layout{grid-template-columns:1fr}.verification-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-hero{align-items:flex-start;flex-direction:column}.verification-actions{width:100%;justify-content:stretch}.verification-actions button{flex:1}}
@media(max-width:620px){.verification-stats{grid-template-columns:1fr 1fr}.verification-coverage-grid{grid-template-columns:1fr}.verification-hero{padding:18px}.verification-actions{flex-direction:column}.verification-actions button{width:100%}.verify-search{flex-direction:column}.verification-detail-head{align-items:flex-start;flex-direction:column}}

/* V7.2.52 — Radio repair intake and structured spare-part lines */
.radio-asset-create-summary{display:grid;gap:14px;padding:16px;border:1px solid var(--line,#dfe6eb);border-radius:14px;background:var(--panel,#fff)}
.radio-asset-create-summary>.kv{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr);gap:8px 14px}
.radio-asset-create-summary>.kv span{color:#71808d}.radio-asset-create-summary small{color:#6c7a85}
.repair-parts-box{padding:14px;border:1px solid var(--line,#dfe6eb);border-radius:12px;background:rgba(116,143,158,.05)}
.repair-parts-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.repair-parts-head label,.repair-parts-head small{display:block}.repair-parts-head small{margin-top:3px;color:#758491}
.repair-part-columns,.repair-part-row{display:grid;grid-template-columns:1.4fr 1.2fr 90px 120px 1fr auto;gap:8px;align-items:center}
.repair-part-columns{padding:0 2px 6px;color:#758491;font-size:11px;font-weight:700}
.repair-part-row{margin-top:8px}.repair-part-row input,.repair-part-row select{width:100%;min-width:0}.repair-part-row .delete{min-height:38px}
.repair-total{display:flex;align-items:center;gap:6px;min-height:42px;padding:8px 12px;border:1px solid var(--line,#dfe6eb);border-radius:9px;background:var(--panel,#fff)}.repair-total b{font-size:20px;color:var(--accent-text,#56761a)}
@media(max-width:900px){.repair-part-columns{display:none}.repair-part-row{grid-template-columns:1fr 1fr}.repair-part-row .delete{grid-column:1/-1}.radio-asset-create-summary>.kv{grid-template-columns:1fr}}


/* =========================================================
   PRO V6.8.1 — LIGHT COMFORT UI
   White / soft gray / lime accent
   ========================================================= */
:root{
 --bg:#f5f7f9;--bg2:#ffffff;--panel:#ffffff;--panel2:#f8fafb;
 --line:#e3e8ed;--line2:#d5dde5;--text:#24313d;--muted:#748392;
 --accent:#b9e84a;--accent2:#a8d83e;--blue:#4f86d9;--amber:#e5a43a;
 --violet:#8d70c9;--red:#dc6870;--shadow:0 10px 30px rgba(32,48,64,.07)
}
html,body{background:#f5f7f9;color:var(--text)}
body{background:linear-gradient(145deg,#f8fafb,#f2f5f7)}
.sidebar{background:#ffffff;border-right:1px solid #e4e9ed;box-shadow:5px 0 24px rgba(45,60,75,.04)}
.brand h2{color:#263441}.brand p,.sidebar-support small{color:#8996a2}
.logo{background:linear-gradient(135deg,#d9f68c,#b6e547);color:#24313d;box-shadow:none}
.version-chip{border-color:#dfe5e9;color:#8996a2;background:#f8fafb}
.nav-item{color:#647381}.nav-item .nav-icon{color:#8795a2}
.nav-item:hover{background:#f3f6f8;color:#263441}
.nav-item.active{background:#eaf6c9;color:#2d3a29;box-shadow:none}
.nav-item.active .nav-icon{color:#4e6729}
.nav-count{background:#b9e84a;color:#28351d}.nav-item.active .nav-count{background:#fff;color:#59712e}
.sidebar-support{background:#f8fafb;border-color:#e3e8ec}.sidebar-support .support-icon{background:#edf6d9;color:#6c8e32}
.sidebar-footer{border-top-color:#e4e9ed}.sidebar-footer button{background:#f8fafb;border-color:#e1e7eb;color:#657583}
.mini-avatar{background:#b9e84a;color:#29361f}
main{background:transparent}
.topbar{background:rgba(255,255,255,.92);border-bottom-color:#e5eaee;box-shadow:0 5px 18px rgba(40,55,70,.035)}
.topbar-center h1,.top-user b{color:#263441}.topbar-center p,#today,.top-user small{color:#8a98a5!important}
.icon-button,.notify-btn{background:#fff;border-color:#dfe6eb;color:#627382}
.global-search{background:#f5f7f9;border-color:#e0e6eb;color:#83929e}
.global-search input{color:#2c3945}.global-search input::placeholder{color:#98a4ae}
.top-user{border-left-color:#e1e7eb}
.dashboard-hero{background:linear-gradient(125deg,#ffffff,#f7faf5);border-color:#e2e8e5;box-shadow:var(--shadow)}
.dashboard-hero:after{border-color:rgba(166,211,61,.16);box-shadow:0 0 0 35px rgba(166,211,61,.025),0 0 0 70px rgba(166,211,61,.018)}
.eyebrow{color:#71942c}.hero-copy h2{color:#25333f}.hero-copy h2 span{color:#6e9229}.hero-copy p{color:#7b8996}
.quick-actions button{background:#fff;border-color:#e1e7eb;color:#2c3945;box-shadow:0 5px 16px rgba(45,60,75,.04)}
.quick-actions button:hover{background:#fbfdf8;border-color:#cbdca6}
.quick-actions button>span{background:#f0f7df;color:#6d8f31}.quick-actions small{color:#8c99a4}
.dashboard-toolbar .secondary,.dashboard-filters .secondary{background:#fff;color:#647482;border-color:#dfe5ea}
.dashboard-toolbar small{color:#8a98a4}
.dashboard-filters{background:#fff;border-color:#e2e7eb}.dashboard-filters label{color:#71818e}.dashboard-filters select{background:#f7f9fa;color:#34424e;border-color:#dde4e9}
.dashboard-widget,.card{background:#fff;border-color:#e2e7eb;box-shadow:var(--shadow);color:#2b3945}
.dashboard-widget:after{background:rgba(166,211,61,.035)}
.widget-icon{background:#eef7dc;color:#6f9133}.widget-head b{color:#5e6e7b}.widget-stat strong{color:#263441}.widget-stat small{color:#8795a1}
.widget-open_tickets .widget-icon{background:#eaf2fc;color:#4f86d9}.widget-low_stock .widget-icon,.widget-radio_pm .widget-icon{background:#fff3df;color:#c58b2f}.widget-license_expiry .widget-icon,.widget-credential_due .widget-icon{background:#f2ecfb;color:#8267b9}
.widget-list .listrow{border-color:#edf0f2}.widget-list .listrow small{color:#8b98a3}.widget-list b{color:#394854}.widget-list span{color:#758592}
.section-head h2,.section-head h3,.pad h3{color:#2a3844}.section-head p{color:#7f8e9a}
.toolbar{background:#fff;border-color:#e1e7eb}
.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{background:#fff;color:#34424e;border-color:#dbe3e8}
.toolbar input::placeholder,.form-field input::placeholder,.form-field textarea::placeholder{color:#a0abb4}
.primary{background:#b9e84a;color:#2d3b24;box-shadow:none}.secondary{background:#f7f9fa;color:#62717e;border-color:#dce3e8}
.table-wrap{background:#fff;border-color:#e2e7eb}table{color:#485763}th{background:#f7f9fa;color:#778693;border-color:#e4e9ed}td{border-color:#edf0f2}tbody tr:hover{background:#fafcf7}
.badge{background:#eef2f4;color:#667681}.badge.good{background:#eef7df;color:#668b2c}.badge.warn{background:#fff4df;color:#b47d28}.badge.bad{background:#fcebed;color:#bd5961}
.edit{background:#eaf2fc;color:#4f7fc5}.delete{background:#fcebed;color:#c15d65}.repair-btn{background:#fff3df!important;color:#b77e27!important}.vault-btn{background:#f1ecfa!important;color:#8066b3!important}
.tabs{gap:6px}.tab{background:#fff;color:#748491;border-color:#dde4e9}.tab.active{background:#eaf6c9;color:#486126;border-color:#cfe49e}
.modal{background:rgba(42,53,63,.35)}.modal-panel{background:#fff;color:#2e3b47;border-color:#dfe5ea;box-shadow:0 30px 80px rgba(40,50,60,.18)}.modal-head{border-bottom-color:#e6ebee}.modal-head button{color:#82919d}
.form-field label{color:#6f7f8c}.form-field input:disabled,.readonly-field{background:#f5f7f8!important;color:#8896a1!important}
.module-error{background:#fff7e8!important;border-color:#f1d69d!important;color:#a87527!important}.health-ok{background:#f1f8e5!important;border-color:#d4e7ad!important;color:#66882d!important}
.login-screen{background:linear-gradient(145deg,#f7f9fa,#eef3f5)}.login-card{background:#fff;color:#2d3a46;border-color:#e0e6ea;box-shadow:0 25px 70px rgba(45,60,75,.12)}
.login-card p,.login-card label{color:#758591}.login-card input{background:#f8fafb;color:#2d3a46;border-color:#dce4e9}.login-card small{color:#8a98a4}
.asset360-grid .card,.stats .card{background:#fff}.stats .stat span{color:#81909c}.stats .stat strong{color:#283642}.stats .stat small{color:#8d99a3}
.version-note{background:#f5f8fa!important;color:#70808c!important;border-color:#e0e6ea!important}
.ipam-summary{background:#f8fafb!important;border-color:#e0e6ea!important;color:#667783!important}
.diagram{background:#fbfcfd!important;border-color:#e0e6ea!important}
.notification-item{background:#fff!important;border-color:#e1e7eb!important}


/* =========================================================
   PRO V6.9 — MULTI THEME UI
   ========================================================= */
.theme-button{font-size:16px}
.theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 0 8px}
.theme-option{position:relative;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:13px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;transition:.18s}
.theme-option:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.theme-option.selected{outline:2px solid var(--accent);outline-offset:1px}
.theme-preview{width:64px;height:44px;border-radius:9px;overflow:hidden;display:grid;grid-template-columns:18px 1fr;grid-template-rows:12px 1fr;gap:3px;padding:5px;flex:0 0 auto;border:1px solid rgba(0,0,0,.07)}
.theme-preview i:first-child{grid-row:1/3;border-radius:3px}.theme-preview i:nth-child(2),.theme-preview i:nth-child(3){border-radius:3px}
.preview-light-comfort{background:#f5f7f9}.preview-light-comfort i:first-child{background:#fff}.preview-light-comfort i:nth-child(2){background:#b9e84a}.preview-light-comfort i:nth-child(3){background:#fff}
.preview-dark-modern{background:#07111c}.preview-dark-modern i:first-child{background:#0d1b28}.preview-dark-modern i:nth-child(2){background:#b7ef32}.preview-dark-modern i:nth-child(3){background:#132333}
.preview-corporate-blue{background:#f4f7fb}.preview-corporate-blue i:first-child{background:#fff}.preview-corporate-blue i:nth-child(2){background:#4d7fc1}.preview-corporate-blue i:nth-child(3){background:#fff}
.preview-fresh-green{background:#f5faf6}.preview-fresh-green i:first-child{background:#fff}.preview-fresh-green i:nth-child(2){background:#4caf67}.preview-fresh-green i:nth-child(3){background:#fff}
.preview-minimal-gray{background:#f4f4f4}.preview-minimal-gray i:first-child{background:#fff}.preview-minimal-gray i:nth-child(2){background:#7b8790}.preview-minimal-gray i:nth-child(3){background:#fff}
.theme-meta b{display:block;font-size:12px}.theme-meta small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.theme-check{margin-left:auto;color:var(--accent);font-weight:900;font-size:18px}

/* Dark Modern */
html[data-theme="dark-modern"]{
 --bg:#07111c;--bg2:#0a1623;--panel:#101d2b;--panel2:#132333;
 --line:#233546;--line2:#2d4154;--text:#edf4fb;--muted:#8fa1b4;
 --accent:#b7ef32;--accent2:#8fd524;--shadow:0 18px 40px rgba(0,0,0,.24)
}
html[data-theme="dark-modern"] body{background:linear-gradient(145deg,#07111c,#091522);color:var(--text)}
html[data-theme="dark-modern"] .sidebar{background:#07131f;border-color:#1d3041}
html[data-theme="dark-modern"] .topbar{background:rgba(7,17,28,.92);border-color:#1d3040}
html[data-theme="dark-modern"] .dashboard-hero,
html[data-theme="dark-modern"] .dashboard-widget,
html[data-theme="dark-modern"] .card,
html[data-theme="dark-modern"] .modal-panel,
html[data-theme="dark-modern"] .table-wrap{background:#101d2b;color:#edf4fb;border-color:#24384a}
html[data-theme="dark-modern"] .nav-item{color:#b9c7d5}
html[data-theme="dark-modern"] .nav-item.active{background:#b7ef32;color:#0a1623}
html[data-theme="dark-modern"] th{background:#101f2d;color:#8da0b1;border-color:#203344}
html[data-theme="dark-modern"] td{border-color:#1c3040}
html[data-theme="dark-modern"] tbody tr:hover{background:#102333}
html[data-theme="dark-modern"] .toolbar input,
html[data-theme="dark-modern"] .toolbar select,
html[data-theme="dark-modern"] .form-field input,
html[data-theme="dark-modern"] .form-field select,
html[data-theme="dark-modern"] .form-field textarea{background:#0a1825;color:#e2ebf3;border-color:#2a4051}
html[data-theme="dark-modern"] .global-search{background:#0b1926;border-color:#223647}
html[data-theme="dark-modern"] .global-search input{color:#edf4fb}
html[data-theme="dark-modern"] .quick-actions button{background:#132333;color:#edf4fb;border-color:#263b4c}
html[data-theme="dark-modern"] .sidebar-support,
html[data-theme="dark-modern"] .sidebar-footer button{background:#0d1b28;border-color:#24394a;color:#c0ccd7}

/* Corporate Blue */
html[data-theme="corporate-blue"]{
 --bg:#f3f6fa;--bg2:#fff;--panel:#fff;--panel2:#f7f9fc;
 --line:#dfe6ee;--line2:#d2dce7;--text:#263544;--muted:#75879a;
 --accent:#4d7fc1;--accent2:#396ba9;--shadow:0 10px 28px rgba(47,73,103,.08)
}
html[data-theme="corporate-blue"] .nav-item.active{background:#e7eff9;color:#315d90}
html[data-theme="corporate-blue"] .nav-item.active .nav-icon{color:#315d90}
html[data-theme="corporate-blue"] .logo,.mini-avatar{background:#4d7fc1;color:#fff}
html[data-theme="corporate-blue"] .primary{background:#4d7fc1;color:#fff}
html[data-theme="corporate-blue"] .widget-icon{background:#e8f0fa;color:#4d7fc1}
html[data-theme="corporate-blue"] .eyebrow,.html[data-theme="corporate-blue"] .hero-copy h2 span{color:#4d7fc1}

/* Fresh Green */
html[data-theme="fresh-green"]{
 --bg:#f3f8f4;--bg2:#fff;--panel:#fff;--panel2:#f6faf7;
 --line:#dce8df;--line2:#cfdfd3;--text:#2b3b31;--muted:#75877b;
 --accent:#59b66d;--accent2:#429a56;--shadow:0 10px 28px rgba(51,95,61,.07)
}
html[data-theme="fresh-green"] .nav-item.active{background:#e3f4e7;color:#357644}
html[data-theme="fresh-green"] .logo,
html[data-theme="fresh-green"] .mini-avatar{background:#59b66d;color:#fff}
html[data-theme="fresh-green"] .primary{background:#59b66d;color:#fff}
html[data-theme="fresh-green"] .widget-icon{background:#e8f6eb;color:#439a56}

/* Minimal Gray */
html[data-theme="minimal-gray"]{
 --bg:#f3f4f5;--bg2:#fff;--panel:#fff;--panel2:#f8f8f8;
 --line:#e0e2e4;--line2:#d4d7da;--text:#343b41;--muted:#7c858d;
 --accent:#7b8790;--accent2:#68737c;--shadow:0 8px 24px rgba(55,60,65,.06)
}
html[data-theme="minimal-gray"] .nav-item.active{background:#eceeef;color:#343b41}
html[data-theme="minimal-gray"] .logo,
html[data-theme="minimal-gray"] .mini-avatar{background:#7b8790;color:#fff}
html[data-theme="minimal-gray"] .primary{background:#6f7b84;color:#fff}
html[data-theme="minimal-gray"] .widget-icon{background:#eff1f2;color:#6f7b84}
html[data-theme="minimal-gray"] .dashboard-hero{background:#fff}

@media(max-width:700px){.theme-picker{grid-template-columns:1fr}}


/* =========================================================
   PRO V6.9.1 — HIGH READABILITY / TEXT CONTRAST
   ========================================================= */

/* Default / Light Comfort */
html:not([data-theme="dark-modern"]){
 --text:#17232e;
 --muted:#566675;
}
html:not([data-theme="dark-modern"]) body,
html:not([data-theme="dark-modern"]) .card,
html:not([data-theme="dark-modern"]) .dashboard-widget,
html:not([data-theme="dark-modern"]) .modal-panel,
html:not([data-theme="dark-modern"]) .table-wrap{color:#17232e}

html:not([data-theme="dark-modern"]) .brand h2,
html:not([data-theme="dark-modern"]) .topbar-center h1,
html:not([data-theme="dark-modern"]) .section-head h2,
html:not([data-theme="dark-modern"]) .section-head h3,
html:not([data-theme="dark-modern"]) .pad h3,
html:not([data-theme="dark-modern"]) .hero-copy h2,
html:not([data-theme="dark-modern"]) .widget-stat strong,
html:not([data-theme="dark-modern"]) .top-user b{color:#15212c!important}

html:not([data-theme="dark-modern"]) .brand p,
html:not([data-theme="dark-modern"]) .section-head p,
html:not([data-theme="dark-modern"]) .hero-copy p,
html:not([data-theme="dark-modern"]) .widget-stat small,
html:not([data-theme="dark-modern"]) .widget-list span,
html:not([data-theme="dark-modern"]) .widget-list small,
html:not([data-theme="dark-modern"]) .dashboard-toolbar small,
html:not([data-theme="dark-modern"]) .form-field label,
html:not([data-theme="dark-modern"]) .theme-meta small{color:#596a78!important}

html:not([data-theme="dark-modern"]) .nav-item{color:#425361;font-weight:600}
html:not([data-theme="dark-modern"]) .nav-item .nav-icon{color:#536574}
html:not([data-theme="dark-modern"]) .nav-item.active{color:#263718;font-weight:800}
html:not([data-theme="dark-modern"]) .nav-item.active .nav-icon{color:#3f5b20}

html:not([data-theme="dark-modern"]) th{
 color:#435461!important;
 font-weight:800;
 font-size:11px;
}
html:not([data-theme="dark-modern"]) td{
 color:#263641!important;
 font-size:12px;
}
html:not([data-theme="dark-modern"]) .widget-head b{color:#425461!important;font-weight:800}
html:not([data-theme="dark-modern"]) .quick-actions b{color:#263641!important;font-weight:800}
html:not([data-theme="dark-modern"]) .quick-actions small{color:#5d6d7a!important}

html:not([data-theme="dark-modern"]) input,
html:not([data-theme="dark-modern"]) select,
html:not([data-theme="dark-modern"]) textarea{color:#1f2d38!important}
html:not([data-theme="dark-modern"]) input::placeholder,
html:not([data-theme="dark-modern"]) textarea::placeholder{color:#788692!important;opacity:1}

html:not([data-theme="dark-modern"]) .secondary{color:#3d4e5b!important;font-weight:700}
html:not([data-theme="dark-modern"]) .primary{font-weight:800}
html:not([data-theme="dark-modern"]) .badge{font-weight:700}

/* Dark theme contrast */
html[data-theme="dark-modern"]{
 --text:#f4f8fc;
 --muted:#b3c0cb;
}
html[data-theme="dark-modern"] body,
html[data-theme="dark-modern"] .card,
html[data-theme="dark-modern"] .dashboard-widget,
html[data-theme="dark-modern"] .modal-panel,
html[data-theme="dark-modern"] td{color:#edf4fa!important}
html[data-theme="dark-modern"] .nav-item{color:#d2dce5;font-weight:600}
html[data-theme="dark-modern"] .nav-item .nav-icon{color:#c0ccd6}
html[data-theme="dark-modern"] .widget-head b,
html[data-theme="dark-modern"] .section-head p,
html[data-theme="dark-modern"] .hero-copy p,
html[data-theme="dark-modern"] .widget-stat small,
html[data-theme="dark-modern"] .form-field label,
html[data-theme="dark-modern"] .theme-meta small{color:#b7c4cf!important}
html[data-theme="dark-modern"] th{color:#c2ced8!important;font-weight:800;font-size:11px}
html[data-theme="dark-modern"] input,
html[data-theme="dark-modern"] select,
html[data-theme="dark-modern"] textarea{color:#f2f7fb!important}
html[data-theme="dark-modern"] input::placeholder,
html[data-theme="dark-modern"] textarea::placeholder{color:#8fa1b0!important;opacity:1}

/* Theme-specific active text */
html[data-theme="corporate-blue"] .nav-item.active{color:#244f7d!important}
html[data-theme="fresh-green"] .nav-item.active{color:#28633a!important}
html[data-theme="minimal-gray"] .nav-item.active{color:#303940!important}

/* General typography improvement */
body{font-size:14px;line-height:1.55}
.nav-item{font-size:13px}
.form-field label{font-size:12px;font-weight:700}
.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{font-size:13px}


/* =========================================================
   PRO V6.9.2 — IT TECH DEPTH
   Layered enterprise IT operations theme
   ========================================================= */
.preview-it-tech-depth{background:linear-gradient(135deg,#eef3f8,#dfe8f1)}
.preview-it-tech-depth i:first-child{background:#0d2437}
.preview-it-tech-depth i:nth-child(2){background:#32b6d9}
.preview-it-tech-depth i:nth-child(3){background:linear-gradient(135deg,#fff,#e8f0f6)}

html[data-theme="it-tech-depth"]{
 --bg:#edf2f6;
 --bg2:#f7fafc;
 --panel:#ffffff;
 --panel2:#f4f8fb;
 --line:#d7e1e8;
 --line2:#c8d5df;
 --text:#182a38;
 --muted:#5d7180;
 --accent:#32b6d9;
 --accent2:#2298b8;
 --blue:#3e7fd8;
 --amber:#d89a2e;
 --violet:#7759ba;
 --red:#d95e68;
 --shadow:0 14px 34px rgba(34,62,82,.10),0 2px 8px rgba(34,62,82,.05);
}
html[data-theme="it-tech-depth"] body{
 background:
   radial-gradient(circle at 85% 8%,rgba(50,182,217,.08),transparent 25%),
   linear-gradient(145deg,#eef3f7 0%,#f7fafc 55%,#eaf0f5 100%);
 color:#182a38;
}
html[data-theme="it-tech-depth"] .sidebar{
 background:linear-gradient(180deg,#0c2234 0%,#102b40 55%,#0c2234 100%);
 border-right:1px solid #173950;
 box-shadow:10px 0 34px rgba(18,44,63,.15);
}
html[data-theme="it-tech-depth"] .brand h2,
html[data-theme="it-tech-depth"] .brand p,
html[data-theme="it-tech-depth"] .sidebar-support strong,
html[data-theme="it-tech-depth"] .sidebar-footer strong{color:#f3f7fa!important}
html[data-theme="it-tech-depth"] .brand p,
html[data-theme="it-tech-depth"] .sidebar-support small,
html[data-theme="it-tech-depth"] .sidebar-footer small{color:#8ea7b8!important}
html[data-theme="it-tech-depth"] .logo{
 background:linear-gradient(135deg,#49c6e5,#27a8c9);
 color:#fff;
 box-shadow:0 10px 25px rgba(50,182,217,.22);
}
html[data-theme="it-tech-depth"] .version-chip{
 background:#15344a;border-color:#254e67;color:#a8c0cf
}
html[data-theme="it-tech-depth"] .nav-item{
 color:#c2d2de;font-weight:600
}
html[data-theme="it-tech-depth"] .nav-item .nav-icon{color:#9eb7c7}
html[data-theme="it-tech-depth"] .nav-item:hover{
 background:rgba(64,125,158,.18);color:#fff;transform:translateX(2px)
}
html[data-theme="it-tech-depth"] .nav-item.active{
 background:linear-gradient(90deg,#eef9fc,#cdeef6);
 color:#143043!important;
 box-shadow:inset 0 0 0 1px rgba(50,182,217,.25),0 8px 22px rgba(6,27,40,.20)
}
html[data-theme="it-tech-depth"] .nav-item.active .nav-icon{color:#217f98}
html[data-theme="it-tech-depth"] .sidebar-support{
 background:linear-gradient(145deg,#153247,#0f2b3e);
 border-color:#28516a;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
html[data-theme="it-tech-depth"] .sidebar-support .support-icon{
 background:rgba(50,182,217,.15);color:#53c9e5;
 box-shadow:inset 0 0 0 1px rgba(50,182,217,.18)
}
html[data-theme="it-tech-depth"] .sidebar-footer{border-top-color:#22455c}
html[data-theme="it-tech-depth"] .sidebar-footer button{
 background:#153247;border-color:#28516a;color:#c7d8e2
}
html[data-theme="it-tech-depth"] .topbar{
 background:rgba(247,250,252,.92);
 border-bottom:1px solid #d5e0e7;
 box-shadow:0 5px 18px rgba(36,60,78,.055)
}
html[data-theme="it-tech-depth"] .global-search{
 background:#fff;border-color:#d5e1e8;
 box-shadow:inset 0 1px 2px rgba(45,65,80,.035)
}
html[data-theme="it-tech-depth"] .global-search input{color:#183040!important}
html[data-theme="it-tech-depth"] .icon-button,
html[data-theme="it-tech-depth"] .notify-btn{
 background:#fff;border-color:#d3e0e7;color:#35566b;
 box-shadow:0 4px 10px rgba(41,65,82,.05)
}
html[data-theme="it-tech-depth"] .top-user{border-left-color:#d8e2e8}
html[data-theme="it-tech-depth"] .mini-avatar{
 background:linear-gradient(135deg,#49c6e5,#2ea9c8);
 color:#fff;box-shadow:0 5px 12px rgba(50,182,217,.18)
}

/* Layered Dashboard */
html[data-theme="it-tech-depth"] .dashboard-hero{
 background:
   linear-gradient(135deg,rgba(255,255,255,.98),rgba(241,247,251,.98)),
   linear-gradient(135deg,#fff,#edf4f8);
 border:1px solid #d4e1e8;
 box-shadow:0 20px 45px rgba(28,58,78,.10),0 2px 8px rgba(28,58,78,.04);
}
html[data-theme="it-tech-depth"] .dashboard-hero:before{
 content:"";
 position:absolute;inset:0;
 background:
   linear-gradient(90deg,transparent 0%,transparent 74%,rgba(50,182,217,.035) 74%,rgba(50,182,217,.035) 75%,transparent 75%),
   linear-gradient(0deg,transparent 0%,transparent 80%,rgba(50,182,217,.025) 80%,rgba(50,182,217,.025) 81%,transparent 81%);
 pointer-events:none
}
html[data-theme="it-tech-depth"] .dashboard-hero:after{
 border-color:rgba(50,182,217,.20);
 box-shadow:0 0 0 35px rgba(50,182,217,.035),0 0 0 70px rgba(50,182,217,.018)
}
html[data-theme="it-tech-depth"] .eyebrow{color:#1984a1}
html[data-theme="it-tech-depth"] .hero-copy h2 span{color:#1687a4}
html[data-theme="it-tech-depth"] .hero-copy p{color:#5d7282!important}
html[data-theme="it-tech-depth"] .quick-actions button{
 background:linear-gradient(145deg,#ffffff,#f4f8fb);
 border:1px solid #d5e1e8;
 box-shadow:0 8px 18px rgba(31,60,79,.07),inset 0 1px 0 rgba(255,255,255,.9)
}
html[data-theme="it-tech-depth"] .quick-actions button:hover{
 transform:translateY(-3px);
 border-color:#a8d7e3;
 box-shadow:0 15px 28px rgba(37,94,119,.10)
}
html[data-theme="it-tech-depth"] .quick-actions button>span{
 background:linear-gradient(145deg,#e9f8fb,#d9f1f7);
 color:#1588a5;
 box-shadow:inset 0 0 0 1px rgba(50,182,217,.18),0 4px 10px rgba(44,132,158,.06)
}

/* Cards with depth */
html[data-theme="it-tech-depth"] .dashboard-widget,
html[data-theme="it-tech-depth"] .card{
 background:linear-gradient(145deg,#ffffff,#f7fafc);
 border:1px solid #d7e2e8;
 box-shadow:0 12px 26px rgba(36,62,79,.075),0 2px 5px rgba(36,62,79,.035);
}
html[data-theme="it-tech-depth"] .dashboard-widget{
 overflow:hidden;
}
html[data-theme="it-tech-depth"] .dashboard-widget:before{
 content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
 background:linear-gradient(180deg,#45c2df,#3181c9)
}
html[data-theme="it-tech-depth"] .dashboard-widget:hover{
 transform:translateY(-2px);
 box-shadow:0 18px 36px rgba(35,67,86,.11),0 3px 8px rgba(35,67,86,.05);
 border-color:#c7d8e2
}
html[data-theme="it-tech-depth"] .widget-icon{
 background:linear-gradient(145deg,#eaf8fb,#dff2f7);
 color:#1688a5;
 box-shadow:inset 0 0 0 1px rgba(50,182,217,.18),0 4px 9px rgba(39,123,149,.05)
}
html[data-theme="it-tech-depth"] .widget-open_tickets .widget-icon{
 background:linear-gradient(145deg,#eaf2fc,#dceafd);color:#3d79c8
}
html[data-theme="it-tech-depth"] .widget-low_stock .widget-icon,
html[data-theme="it-tech-depth"] .widget-radio_pm .widget-icon{
 background:linear-gradient(145deg,#fff5e4,#ffedd1);color:#c58a2c
}
html[data-theme="it-tech-depth"] .widget-license_expiry .widget-icon,
html[data-theme="it-tech-depth"] .widget-credential_due .widget-icon{
 background:linear-gradient(145deg,#f2ecfb,#e9ddf8);color:#7658b1
}
html[data-theme="it-tech-depth"] .widget-head b{color:#304858!important}
html[data-theme="it-tech-depth"] .widget-stat strong{color:#122c3c!important}
html[data-theme="it-tech-depth"] .widget-stat small{color:#637888!important}

/* Tabs / toolbar / tables */
html[data-theme="it-tech-depth"] .dashboard-filters,
html[data-theme="it-tech-depth"] .toolbar{
 background:linear-gradient(145deg,#fff,#f8fafc);
 border-color:#d7e2e8;
 box-shadow:0 6px 16px rgba(38,61,77,.04)
}
html[data-theme="it-tech-depth"] .dashboard-filters select,
html[data-theme="it-tech-depth"] .toolbar input,
html[data-theme="it-tech-depth"] .toolbar select,
html[data-theme="it-tech-depth"] .form-field input,
html[data-theme="it-tech-depth"] .form-field select,
html[data-theme="it-tech-depth"] .form-field textarea{
 background:#fff;color:#1f3544!important;border-color:#d2dfe7;
 box-shadow:inset 0 1px 2px rgba(35,57,73,.025)
}
html[data-theme="it-tech-depth"] .primary{
 background:linear-gradient(135deg,#45c1dd,#299cbb);
 color:#fff;
 box-shadow:0 7px 16px rgba(42,157,187,.18)
}
html[data-theme="it-tech-depth"] .secondary{
 background:linear-gradient(145deg,#fff,#f1f5f8);
 color:#465d6c!important;border-color:#d2dde4;
 box-shadow:0 3px 8px rgba(38,59,74,.04)
}
html[data-theme="it-tech-depth"] .tabs{
 padding:4px;border-radius:12px;background:#e9eff3;display:inline-flex
}
html[data-theme="it-tech-depth"] .tab{
 background:transparent;border-color:transparent;color:#607583
}
html[data-theme="it-tech-depth"] .tab.active{
 background:#fff;color:#1a718a;border-color:#d2dee6;
 box-shadow:0 5px 12px rgba(38,64,82,.08)
}
html[data-theme="it-tech-depth"] .table-wrap{
 background:#fff;border-color:#d7e2e8;
 box-shadow:0 10px 24px rgba(35,60,77,.055)
}
html[data-theme="it-tech-depth"] th{
 background:linear-gradient(180deg,#f5f8fa,#edf3f6);
 color:#435b69!important;border-color:#dae4ea
}
html[data-theme="it-tech-depth"] td{color:#243a49!important;border-color:#e8eef2}
html[data-theme="it-tech-depth"] tbody tr:hover{
 background:linear-gradient(90deg,#f8fcfd,#f0f8fa)
}

/* Modal / dialog depth */
html[data-theme="it-tech-depth"] .modal{
 background:rgba(17,39,54,.34);backdrop-filter:blur(7px)
}
html[data-theme="it-tech-depth"] .modal-panel{
 background:linear-gradient(145deg,#fff,#f7fafc);
 border:1px solid #cfdae2;
 box-shadow:0 28px 75px rgba(24,48,65,.20),0 5px 14px rgba(24,48,65,.07)
}
html[data-theme="it-tech-depth"] .modal-head{border-bottom-color:#dfe7ec}

/* Badge refinements */
html[data-theme="it-tech-depth"] .badge{
 background:#eef3f6;color:#526978;border:1px solid #dde6eb
}
html[data-theme="it-tech-depth"] .badge.good{background:#edf8f0;color:#3f8751;border-color:#d6ebdc}
html[data-theme="it-tech-depth"] .badge.warn{background:#fff6e6;color:#aa792a;border-color:#f0dfbb}
html[data-theme="it-tech-depth"] .badge.bad{background:#fcecee;color:#b95760;border-color:#f0d1d5}

/* Status accents and structural components */
html[data-theme="it-tech-depth"] .edit{background:#eaf3fc;color:#3977be}
html[data-theme="it-tech-depth"] .delete{background:#fcebed;color:#be5c65}
html[data-theme="it-tech-depth"] .repair-btn{background:#fff3df!important;color:#af7826!important}
html[data-theme="it-tech-depth"] .vault-btn{background:#f0eafa!important;color:#7459aa!important}
html[data-theme="it-tech-depth"] .version-note{
 background:#eef5f8!important;color:#527181!important;border-color:#d5e3ea!important
}
html[data-theme="it-tech-depth"] .ipam-summary{
 background:linear-gradient(145deg,#f8fbfc,#eef5f8)!important;
 border-color:#d8e4ea!important;color:#526a79!important
}
html[data-theme="it-tech-depth"] .diagram{
 background:
   linear-gradient(rgba(30,112,139,.035) 1px,transparent 1px),
   linear-gradient(90deg,rgba(30,112,139,.035) 1px,transparent 1px),
   #fbfdfe!important;
 background-size:28px 28px!important;
 border-color:#d3e1e8!important
}
html[data-theme="it-tech-depth"] .notification-item{
 background:linear-gradient(145deg,#fff,#f7fafb)!important;border-color:#d7e2e8!important
}


/* =========================================================
   PRO V6.9.3 — APPEARANCE SETTINGS
   ========================================================= */
:root{
 --user-font-scale:1;
 --user-font-weight:500;
 --user-sidebar-width:272px;
 --user-card-radius:15px;
}
body{
 font-size:calc(14px * var(--user-font-scale));
 font-weight:var(--user-font-weight);
}
.sidebar{
 width:var(--user-sidebar-width);
}
main{
 margin-left:var(--user-sidebar-width);
 width:calc(100% - var(--user-sidebar-width));
}
.dashboard-widget,
.card,
.modal-panel,
.table-wrap,
.dashboard-hero,
.quick-actions button{
 border-radius:var(--user-card-radius);
}
.nav-item,
td,
.form-field input,
.form-field select,
.form-field textarea,
button{
 font-size:calc(1em * var(--user-font-scale));
}
.nav-item{
 font-weight:var(--user-font-weight);
}
td{font-weight:var(--user-font-weight)}
th{font-weight:max(600,var(--user-font-weight))}

/* Density */
html[data-density="compact"] .dashboard-grid{gap:8px}
html[data-density="compact"] .dashboard-widget{padding:10px;min-height:96px}
html[data-density="compact"] .toolbar{padding:8px}
html[data-density="compact"] td,
html[data-density="compact"] th{padding:7px 8px}
html[data-density="compact"] .form-grid{gap:8px}
html[data-density="compact"] .form-field input,
html[data-density="compact"] .form-field select,
html[data-density="compact"] .form-field textarea{padding:7px 8px}

html[data-density="spacious"] .dashboard-grid{gap:18px}
html[data-density="spacious"] .dashboard-widget{padding:20px;min-height:145px}
html[data-density="spacious"] .toolbar{padding:15px}
html[data-density="spacious"] td,
html[data-density="spacious"] th{padding:13px 14px}
html[data-density="spacious"] .form-grid{gap:18px}
html[data-density="spacious"] .form-field input,
html[data-density="spacious"] .form-field select,
html[data-density="spacious"] .form-field textarea{padding:12px 13px}

/* Appearance settings modal */
.appearance-button{
 font-weight:800;
 font-size:13px;
 letter-spacing:-.3px;
}
.appearance-settings{
 display:grid;
 gap:12px;
}
.appearance-field{
 display:grid;
 grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr);
 gap:16px;
 align-items:center;
 padding:12px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--panel2);
}
.appearance-field b{display:block}
.appearance-field small{display:block;color:var(--muted);margin-top:2px}
.appearance-field select{
 width:100%;
 padding:9px;
 border:1px solid var(--line2);
 border-radius:9px;
 background:var(--panel);
 color:var(--text);
}
.range-line{
 display:grid;
 grid-template-columns:1fr 68px;
 gap:10px;
 align-items:center;
}
.range-line input[type="range"]{
 width:100%;
 accent-color:var(--accent);
}
.range-line span{
 text-align:center;
 padding:6px 8px;
 border-radius:8px;
 background:var(--panel);
 border:1px solid var(--line);
 font-weight:700;
}
.appearance-preview{
 padding-top:4px;
}
.preview-card-demo{
 display:grid;
 grid-template-columns:42px 1fr auto;
 gap:12px;
 align-items:center;
 padding:14px;
 border-radius:var(--user-card-radius);
 border:1px solid var(--line);
 background:var(--panel);
 box-shadow:var(--shadow);
}
.preview-icon-demo{
 width:40px;height:40px;border-radius:10px;
 display:grid;place-items:center;
 background:var(--accent);color:#fff;font-weight:900;
}
.preview-card-demo small{display:block;color:var(--muted)}
.preview-card-demo strong{font-size:24px}

@media(max-width:760px){
 .sidebar{width:245px}
 main{margin-left:0;width:100%}
 .appearance-field{grid-template-columns:1fr}
}


/* =========================================================
   PRO V6.9.4 — CLEAR IT MENU ICONS
   Offline inline SVG + clearer navigation semantics
   ========================================================= */
.nav-icon.svg-icon{
  width:24px;
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  transition:.16s ease;
}
.nav-icon.svg-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.nav-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-item:hover .nav-icon.svg-icon{
  transform:scale(1.05);
}

/* semantic icon accents */
.nav-cat-ops .nav-icon{color:#d18a27}
.nav-cat-assets .nav-icon{color:#4f7fd1}
.nav-cat-network .nav-icon{color:#249ab7}
.nav-cat-security .nav-icon{color:#8063ba}
.nav-cat-admin .nav-icon{color:#71808b}

/* selected menu remains visually unified */
.nav-item.active .nav-icon{
  color:inherit!important;
}

/* IT Tech Depth semantic tiles */
html[data-theme="it-tech-depth"] .nav-cat-ops:not(.active) .nav-icon{
  background:rgba(226,151,48,.10); color:#e6ad59;
}
html[data-theme="it-tech-depth"] .nav-cat-assets:not(.active) .nav-icon{
  background:rgba(79,127,209,.11); color:#8eb3ed;
}
html[data-theme="it-tech-depth"] .nav-cat-network:not(.active) .nav-icon{
  background:rgba(50,182,217,.11); color:#66cbe4;
}
html[data-theme="it-tech-depth"] .nav-cat-security:not(.active) .nav-icon{
  background:rgba(128,99,186,.12); color:#b3a0dc;
}
html[data-theme="it-tech-depth"] .nav-cat-admin:not(.active) .nav-icon{
  background:rgba(142,164,179,.10); color:#a9bdca;
}

/* collapsed Sidebar tooltip */
.sidebar-collapsed .nav-item{
  position:relative;
}
.sidebar-collapsed .nav-item .nav-label{
  display:none!important;
}
.sidebar-collapsed .nav-item::after{
  content:attr(title);
  position:absolute;
  left:58px;
  top:50%;
  transform:translateY(-50%) translateX(-4px);
  opacity:0;
  pointer-events:none;
  z-index:100;
  white-space:nowrap;
  padding:7px 10px;
  border-radius:8px;
  background:#172530;
  color:#fff;
  font-size:11px;
  font-weight:600;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:.14s ease;
}
.sidebar-collapsed .nav-item:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.sidebar-collapsed .nav-icon.svg-icon{
  width:34px;
  height:34px;
}

/* keep labels readable when Sidebar width changes */
.nav-item{
  min-width:0;
}
.nav-item .nav-label{
  flex:1;
}
.nav-item .nav-count{
  flex:0 0 auto;
}

/* Light-theme icon background */
html:not([data-theme="dark-modern"]):not([data-theme="it-tech-depth"]) .nav-item:not(.active) .nav-icon.svg-icon{
  background:rgba(90,110,125,.055);
}

/* Dark Modern */
html[data-theme="dark-modern"] .nav-item:not(.active) .nav-icon.svg-icon{
  background:rgba(255,255,255,.04);
}

/* Mobile: native title remains as fallback, avoid floating tooltip */
@media(max-width:760px){
  .sidebar-collapsed .nav-item::after{display:none}
}


/* =========================================================
   PRO V6.9.5 — AUTO BUSINESS ID + FIELD RULES
   ========================================================= */
.field-rule-badge{
  display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;
  font-size:9px;font-weight:800;vertical-align:middle;
  background:#eef2f4;color:#667681;border:1px solid #dde5ea
}
.field-mode-required .field-rule-badge{background:#fff0f1;color:#b74e58;border-color:#f2d3d6}
.field-mode-auto .field-rule-badge{background:#e8f7fb;color:#177f9a;border-color:#c9e9f1}
.field-mode-readonly .field-rule-badge{background:#f1eef8;color:#725b9f;border-color:#e0d8ef}
.field-mode-readonly input,.field-mode-auto input,.field-mode-readonly textarea,.field-mode-auto textarea{
  background:var(--panel2)!important;cursor:not-allowed
}
.field-rules-toolbar{
  display:flex;align-items:end;gap:14px;flex-wrap:wrap;
  padding:12px;margin-bottom:12px;border:1px solid var(--line);
  background:var(--panel);border-radius:12px
}
.field-rules-toolbar label{font-size:11px;color:var(--muted);font-weight:700}
.field-rules-toolbar select{display:block;margin-top:5px;min-width:260px;padding:9px;border:1px solid var(--line2);border-radius:9px;background:var(--panel);color:var(--text)}
.field-rules-legend{display:flex;gap:6px;flex-wrap:wrap}
.field-rules-legend span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);font-size:10px}
.field-rules-legend .rule-required{background:#fff0f1;color:#aa4d55}
.field-rules-legend .rule-auto{background:#e8f7fb;color:#187f9a}
.field-rules-table code{font-size:11px}
.field-rules-table td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.field-rules-table select,.field-rules-table input{
  width:100%;min-width:110px;padding:7px 8px;border:1px solid var(--line2);
  border-radius:8px;background:var(--panel);color:var(--text)
}
.field-rules-table .field-rule-digits{min-width:70px;max-width:90px}
.field-rules-table input:disabled{opacity:.45}
@media(max-width:800px){
  .field-rules-table{min-width:900px}
}

/* V6.9.6 Dropdown List Manager */
.dropdown-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:12px;margin-bottom:12px;border:1px solid var(--line);background:var(--panel);border-radius:12px}
.dropdown-toolbar label{font-size:11px;color:var(--muted);font-weight:700}
.dropdown-toolbar select{display:block;margin-top:5px;min-width:320px;padding:9px;border:1px solid var(--line2);border-radius:9px;background:var(--panel);color:var(--text)}
.dropdown-help{flex:1;min-width:280px;padding:9px 11px;border-radius:9px;background:var(--panel2);color:var(--muted);font-size:11px}
.dropdown-list-table code{font-size:11px;font-weight:700}

/* V6.9.7 Field Rules Thai Guide */
.field-thai-desc{display:block;margin-top:4px;max-width:340px;line-height:1.45;color:var(--muted);font-size:10px}
.field-rules-table td:nth-child(2){min-width:250px}
.field-rules-table td:nth-child(2)>b{font-size:12px;color:var(--text)}

/* PRO V6.9.8 — MOBILE RESPONSIVE + LAN LIVE */
.mobile-quickbar{display:none}
@media (pointer:coarse){button,.nav-item,.tab,input,select,textarea{min-height:42px}}
@media(max-width:760px){
 body{padding-bottom:72px}
 .sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,310px)!important;transform:translateX(-104%)!important;z-index:200;transition:.2s;box-shadow:18px 0 45px rgba(20,40,55,.2)}
 .mobile-menu-open .sidebar{transform:translateX(0)!important}
 main,.sidebar-collapsed main{margin-left:0!important;width:100%!important;padding:0 12px 24px!important}
 .topbar{margin:0 -12px 12px!important;padding:9px 12px!important;min-height:58px;grid-template-columns:auto 1fr auto!important}
 .topbar-center,.top-user,#today{display:none!important}
 .global-search{width:min(50vw,230px)!important}
 .dashboard-hero{grid-template-columns:1fr!important;padding:18px!important;min-height:auto!important}
 .quick-actions{grid-template-columns:repeat(2,1fr)!important}
 .dashboard-widget.size-S,.dashboard-widget.size-M,.dashboard-widget.size-L{grid-column:1/-1!important}
 .form-grid{grid-template-columns:1fr!important}
 .form-field,.form-field.full{grid-column:1!important}
 .form-actions{position:sticky;bottom:0;background:var(--panel);padding:10px 0 2px;z-index:5}
 .form-actions button{flex:1;min-height:46px}
 .modal-panel{width:calc(100vw - 18px)!important;max-width:none!important;max-height:92vh!important;margin:4vh auto!important}
 .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
 table:not(.field-rules-table):not(.dropdown-list-table){display:block;width:100%}
 table:not(.field-rules-table):not(.dropdown-list-table) thead{display:none}
 table:not(.field-rules-table):not(.dropdown-list-table) tbody{display:grid;gap:10px}
 table:not(.field-rules-table):not(.dropdown-list-table) tr{display:block;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:10px 11px;box-shadow:0 5px 16px rgba(35,55,70,.05)}
 table:not(.field-rules-table):not(.dropdown-list-table) td{display:flex!important;justify-content:space-between;gap:12px;padding:6px 0!important;border:0!important;border-bottom:1px dashed var(--line)!important;text-align:right}
 table:not(.field-rules-table):not(.dropdown-list-table) td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700;text-align:left;flex:0 0 38%}
 #fieldrules .table-wrap,#dropdowns .table-wrap{overflow:auto!important;border:1px solid var(--line)!important}
 .field-rules-table,.dropdown-list-table{min-width:900px}
 .mobile-quickbar{position:fixed;left:8px;right:8px;bottom:8px;z-index:140;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 12px 30px rgba(30,50,65,.17);backdrop-filter:blur(12px);overflow:hidden}
 html[data-theme="dark-modern"] .mobile-quickbar{background:rgba(14,29,43,.96)}
 .mobile-quickbar button{border:0;background:transparent;color:var(--text);padding:7px 2px 6px;display:grid;place-items:center;gap:1px}
 .mobile-quickbar span{font-size:18px}.mobile-quickbar small{font-size:8px;color:var(--muted)}
}
@media(max-width:390px){.global-search{display:none!important}}


/* =========================================================
   PRO V6.9.9 — THAI FORM HELP
   ========================================================= */
.form-guide-note{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin-bottom:12px;padding:10px 12px;border-radius:11px;
  background:linear-gradient(135deg,#eef7fa,#f7fafc);
  border:1px solid #d6e6ec;color:var(--text)
}
.form-guide-note b{font-size:12px}
.form-guide-note span{font-size:10px;color:var(--muted)}
.field-label-main{font-weight:700}
.field-thai-title{
  margin:-1px 0 2px;
  color:var(--text);
  font-size:11px;
  font-weight:700
}
.field-thai-help{
  margin:0 0 5px;
  color:var(--muted);
  font-size:9.5px;
  line-height:1.45
}
.field-rule-help{
  display:inline-flex;
  width:max-content;max-width:100%;
  margin:0 0 6px;
  padding:3px 7px;border-radius:999px;
  font-size:8.5px;font-weight:700
}
.field-rule-help-required{background:#fff0f1;color:#ad4e57;border:1px solid #f1d4d7}
.field-rule-help-optional{background:#eef5f8;color:#587384;border:1px solid #dce7ec}
.field-rule-help-readonly{background:#f1edf8;color:#735d9d;border:1px solid #dfd7ee}
.field-rule-help-auto{background:#e7f7fb;color:#157e99;border:1px solid #c7e9f1}
html[data-theme="dark-modern"] .form-guide-note{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08)
}
@media(max-width:760px){
  .field-thai-title{font-size:12px}
  .field-thai-help{font-size:10.5px}
  .field-rule-help{font-size:9px}
}


/* =========================================================
   PRO V6.9.9.1 — TOOLTIP FORM HELP
   ========================================================= */
.form-guide-note.compact{
  padding:7px 10px;
  margin-bottom:10px;
  background:var(--panel2);
  border-color:var(--line);
}
.form-guide-note.compact b{
  font-size:10px;
  color:var(--muted);
  font-weight:600;
}
.form-field label{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.field-help-icon{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%;
  background:transparent!important;
  color:#648095!important;
  font-size:13px!important;
  line-height:1!important;
  cursor:help;
  box-shadow:none!important;
  overflow:visible!important;
}
.field-help-icon:hover,
.field-help-icon:focus{
  color:#1f6f92!important;
  outline:none;
}
.field-help-icon::after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:500;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translateX(-20%) translateY(4px);
  width:max-content;
  max-width:330px;
  min-width:190px;
  padding:9px 11px;
  border-radius:9px;
  background:#173044;
  color:#fff;
  font-size:10px;
  font-weight:500;
  line-height:1.5;
  white-space:normal;
  text-align:left;
  box-shadow:0 10px 28px rgba(10,30,45,.23);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.12s ease;
}
.field-help-icon::before{
  content:"";
  position:absolute;
  z-index:501;
  left:50%;
  bottom:calc(100% + 4px);
  border:5px solid transparent;
  border-top-color:#173044;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.field-help-icon:hover::after,
.field-help-icon:hover::before,
.field-help-icon:focus::after,
.field-help-icon:focus::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-20%) translateY(0);
}
.field-thai-title,
.field-thai-help,
.field-rule-help{
  display:none!important;
}
@media(max-width:760px){
  .field-help-icon::after{
    left:0;
    transform:translateX(-10%) translateY(4px);
    max-width:min(78vw,300px);
  }
  .field-help-icon:hover::after,
  .field-help-icon:focus::after{
    transform:translateX(-10%) translateY(0);
  }
}

/* =========================================================
   PRO V6.9.9.2 — NOTIFICATION ACKNOWLEDGE
   ========================================================= */
.notify-summary{
  display:flex;justify-content:flex-end;gap:10px;align-items:center;
  margin:-4px 0 10px;color:var(--muted);font-size:10px
}
.notify-summary b{
  padding:4px 8px;border-radius:999px;background:var(--panel2);color:var(--text)
}
.notify-action-row{
  cursor:default!important;
  grid-template-columns:auto 1fr auto!important;
}
.notify-main{cursor:pointer;min-width:0}
.notify-ack-btn{
  min-height:32px!important;padding:6px 9px!important;
  border:1px solid #cfe4d4!important;border-radius:8px!important;
  background:#edf8f0!important;color:#327646!important;
  font-size:9px!important;font-weight:800!important;white-space:nowrap
}
.notify-ack-btn:hover{background:#e3f4e8!important}
.notification-empty{
  display:grid;place-items:center;gap:5px;text-align:center;
  padding:30px 15px;color:var(--muted)
}
.notification-empty b{color:#3f7f50;font-size:13px}
.notification-empty small{font-size:10px}
@media(max-width:760px){
  .notify-action-row{display:grid!important;grid-template-columns:auto 1fr!important}
  .notify-ack-btn{grid-column:2;width:100%;margin-top:5px;min-height:40px!important}
  .notify-summary{justify-content:space-between}
}


/* =========================================================
   PRO V7.0 — MOBILE FIELD CAPTURE
   ========================================================= */
.capture-action-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px
}
.capture-action-card{
  min-height:150px;padding:18px 14px;border:1px solid var(--line)!important;border-radius:15px!important;
  background:var(--panel)!important;color:var(--text)!important;text-align:left!important;
  display:grid;align-content:center;gap:7px;box-shadow:0 7px 22px rgba(35,55,70,.06)!important
}
.capture-action-card:hover{transform:translateY(-2px);border-color:var(--line2)!important}
.capture-action-card span{font-size:28px}.capture-action-card b{font-size:13px}.capture-action-card small{font-size:10px;color:var(--muted);line-height:1.45}
.capture-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-bottom:16px;border-radius:11px;background:var(--panel2);border:1px solid var(--line)}
.capture-note b{white-space:nowrap;font-size:10px}.capture-note span{font-size:10px;color:var(--muted);line-height:1.5}
.compact-head{margin-top:6px}
.capture-history-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.capture-history-row:last-child{border-bottom:0}.capture-history-row div{display:grid;gap:2px}.capture-history-row b{font-size:11px}.capture-history-row small{font-size:9px;color:var(--muted)}
.capture-form{display:grid;gap:12px}
.capture-camera-box{position:relative;display:grid;place-items:center;text-align:center;gap:4px;padding:20px;border:2px dashed var(--line2);border-radius:14px;background:var(--panel2)}
.capture-camera-icon{font-size:30px}.capture-camera-box b{font-size:12px}.capture-camera-box small{font-size:9px;color:var(--muted)}
.capture-camera-box input{margin-top:8px;width:100%;max-width:360px}
.capture-scan-status{padding:8px 10px;border-radius:9px;background:var(--panel2);color:var(--muted);font-size:10px}
.capture-scan-status b{color:#33784a}
.capture-auto-list{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:9.5px;color:var(--muted)}
.capture-linked-photo{display:grid;gap:3px;padding:9px 11px;margin-bottom:10px;border-radius:9px;background:#eef7fa;border:1px solid #d4e7ed;font-size:10px}
.capture-linked-photo small{color:var(--muted)}
@media(max-width:900px){.capture-action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){
  .capture-action-grid{grid-template-columns:1fr 1fr;gap:9px}
  .capture-action-card{min-height:125px;padding:13px 10px}
  .capture-action-card span{font-size:24px}.capture-action-card b{font-size:12px}.capture-action-card small{font-size:9px}
  .capture-note{display:grid}.capture-note b{white-space:normal}
}


/* =========================================================
   PRO V7.0.1 — ACTION FEEDBACK UI
   ========================================================= */
.toast-host{
  position:fixed;top:18px;right:18px;z-index:10000;
  display:grid;gap:8px;width:min(360px,calc(100vw - 24px));
  pointer-events:none
}
.app-toast{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;
  padding:11px 13px;border-radius:12px;
  background:var(--panel);color:var(--text);
  border:1px solid var(--line);box-shadow:0 12px 36px rgba(25,45,60,.18);
  font-size:11px;font-weight:650;
  opacity:0;transform:translateY(-7px) scale(.98);
  transition:.18s ease
}
.app-toast.show{opacity:1;transform:none}
.toast-icon{
  display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  font-size:12px;font-weight:900
}
.toast-success .toast-icon{background:#e4f5e8;color:#2f7a44}
.toast-error .toast-icon{background:#fde9eb;color:#a33d49}
.toast-warning .toast-icon{background:#fff4da;color:#8a6a16}
.toast-info .toast-icon{background:#e9f2f8;color:#386b8b}

.btn-spinner,.action-spinner{
  width:14px;height:14px;border-radius:50%;
  border:2px solid currentColor;border-right-color:transparent;
  display:inline-block;animation:actionSpin .7s linear infinite
}
button.is-busy{cursor:wait!important;opacity:.8!important}
button.is-busy .btn-spinner{margin-right:4px}
@keyframes actionSpin{to{transform:rotate(360deg)}}

.action-overlay{
  position:fixed;inset:0;z-index:9990;
  display:grid;place-items:center;
  background:rgba(20,35,45,.18);
  backdrop-filter:blur(1.5px);
  opacity:0;visibility:hidden;transition:.12s ease
}
.action-overlay.show{opacity:1;visibility:visible}
.action-overlay-card{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-radius:12px;
  background:var(--panel);color:var(--text);
  border:1px solid var(--line);box-shadow:0 14px 40px rgba(20,40,55,.2);
  font-size:11px
}
.action-overlay-card .action-spinner{width:18px;height:18px}

@media(max-width:760px){
  .toast-host{top:10px;right:10px;left:10px;width:auto}
  .app-toast{font-size:12px;padding:12px}
}




/* =========================================================
   PRO V7.0.5 — POPUP TABLE ONLY
   ========================================================= */

/* Modal lock remains: clicking outside does not dismiss */
#modal.open{cursor:default}
#modal .modal-panel{cursor:default}

/* Main-page tables intentionally keep their original layout.
   Only tables rendered inside the popup/modal are expanded. */
#modal .modal-panel{
  width:min(96vw,1500px)!important;
  max-width:1500px!important;
}

#modal .table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
}

#modal .table-wrap table,
#modal table.popup-wide-table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto;
}

#modal .table-wrap th,
#modal .table-wrap td,
#modal table.popup-wide-table th,
#modal table.popup-wide-table td{
  white-space:normal!important;
  word-break:break-word;
  overflow-wrap:anywhere;
  vertical-align:top;
}

#modal .table-wrap th:last-child,
#modal .table-wrap td:last-child{
  width:1%;
  white-space:nowrap!important;
}

#modal .row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  justify-content:flex-end;
}

#modal .row-actions button{
  white-space:nowrap;
}

@media(min-width:1000px){
  #modal .table-wrap table{
    font-size:10px;
  }
  #modal .table-wrap th{
    padding:8px 6px!important;
    font-size:9px!important;
  }
  #modal .table-wrap td{
    padding:7px 6px!important;
  }
}

@media(max-width:760px){
  #modal .modal-panel{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
  }
  #modal .table-wrap{
    overflow-x:auto!important;
  }
  #modal .table-wrap table{
    min-width:720px!important;
  }
}


/* =========================================================
   PRO V7.1 — CCTV MANAGEMENT
   ========================================================= */
.cctv-help-card{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 12px;margin-bottom:14px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel2)
}
.cctv-help-card b{font-size:11px}
.cctv-help-card span{font-size:10px;color:var(--text)}
.cctv-help-card small{font-size:9px;color:var(--muted)}
#cctvRegistry .toolbar{flex-wrap:wrap}
@media(max-width:760px){
  .cctv-help-card{display:grid}
}


/* =========================================================
   PRO V7.2 — IT OPERATIONS HUB
   ========================================================= */
.ops-learning-path{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px
}
.ops-learning-path>div{
  padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);
  display:grid;gap:4px
}
.ops-learning-path b{font-size:11px}
.ops-learning-path span{font-size:10px;color:var(--muted);line-height:1.5}
.ops-panel.hidden-role{display:none!important}
@media(max-width:760px){.ops-learning-path{grid-template-columns:1fr}}


/* =========================================================
   PRO V7.2.1 — UPGRADE CHECKER
   ========================================================= */
.upgrade-checker-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px
}
.upgrade-checker-head h2{margin:0 0 4px}
.upgrade-checker-head p{margin:0;color:var(--muted);font-size:10px}
.upgrade-workflow{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0
}
.upgrade-workflow>div{
  display:grid;gap:4px;padding:11px 13px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel2)
}
.upgrade-workflow b{font-size:11px}
.upgrade-workflow span{font-size:10px;color:var(--muted);line-height:1.5}
.upgrade-baseline-empty{margin:12px 0}
.upgrade-baseline-empty p{margin:5px 0 0;color:var(--muted);font-size:10px}
@media(max-width:760px){.upgrade-workflow{grid-template-columns:1fr}}

/* PRO V7.2.2 — Bulk row selection */
.select-col{width:42px;min-width:42px;text-align:center!important}
.select-col input[type="checkbox"],.bulk-row-check{width:18px;height:18px;cursor:pointer;accent-color:var(--accent,#65a30d)}
.bulk-delete-btn:disabled{opacity:.45;cursor:not-allowed}
.bulk-delete-btn:not(:disabled){box-shadow:0 0 0 2px rgba(220,38,38,.08)}


/* ===== V7.2.5 Executive & ICT Operations Dashboard ===== */
.dashboard-hero .hero-copy h2 span{color:var(--accent,#86b817);font-weight:700}.executive-filter{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,max-content) max-content;align-items:end}.executive-filter .filter-title{align-self:center}.executive-filter .filter-title b,.executive-filter .filter-title small{display:block}.executive-filter .filter-title small{margin-top:3px;color:#82909c;font-size:11px}
.exec-widget{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.widget-clickable:not(.dashboard-editing .widget-clickable){cursor:pointer}.widget-clickable:hover{transform:translateY(-2px);border-color:rgba(128,177,31,.48);box-shadow:0 14px 30px rgba(20,35,45,.10)}.widget-open{font-size:10px;color:#82909b;font-weight:700}.executive-stat{padding-top:8px}.executive-stat strong{font-size:34px;letter-spacing:-1.4px}.executive-stat small{font-size:12px;margin-top:6px;display:block}.executive-panel{padding-top:4px}.dash-chart-row{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center}.dash-donut{width:136px;height:136px;border-radius:50%;display:grid;place-items:center;position:relative}.dash-donut:after{content:"";position:absolute;inset:24px;background:var(--card-bg,#fff);border-radius:50%}.dash-donut>div{position:relative;z-index:2;text-align:center}.dash-donut b{display:block;font-size:24px}.dash-donut small{font-size:10px;color:#81909b}.dash-legend{display:grid;gap:7px}.dash-legend>div{display:grid;grid-template-columns:8px 1fr auto 34px;gap:7px;align-items:center;font-size:11px}.dash-legend i{width:8px;height:8px;border-radius:3px}.dash-legend small{color:#8a97a1;text-align:right}.dash-mini-trend{display:flex;gap:10px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid rgba(128,145,160,.17)}.dash-mini-trend strong{font-size:20px}.dash-mini-trend span{margin-left:auto;color:#82909b;font-size:11px}.sla-gauge{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.gauge-ring{--pct:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#61a62f calc(var(--pct)*1%),#e8edf0 0);position:relative}.gauge-ring:after{content:"";position:absolute;inset:21px;background:var(--card-bg,#fff);border-radius:50%}.gauge-ring>div{z-index:1;text-align:center}.gauge-ring b{font-size:25px;display:block}.gauge-ring small{font-size:10px;color:#82909b}.sla-numbers{display:grid;gap:9px}.sla-numbers div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(128,145,160,.14);padding:7px 0}.dash-kpi-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dash-kpi-pair>div{background:rgba(125,145,160,.07);border-radius:10px;padding:10px}.dash-kpi-pair span{font-size:10px;color:#80909d;display:block}.dash-kpi-pair b{font-size:18px}.bad-text{color:#d54a4a!important}.dash-bars{display:grid;gap:8px}.dash-bar-row{display:grid;grid-template-columns:105px 1fr 32px 35px;gap:8px;align-items:center;font-size:11px}.dash-bar-row>div{height:9px;background:rgba(125,145,160,.13);border-radius:8px;overflow:hidden}.dash-bar-row i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#2b65d8,#5a8be7)}.dash-bar-row small{color:#8b98a2;text-align:right}.dash-insight{margin-top:12px;padding:10px;border-radius:10px;background:rgba(125,145,160,.07);display:flex;gap:10px;align-items:center;font-size:11px}.dash-insight span{color:#788995}.dash-asset-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.dash-asset-summary>div{padding:9px;border:1px solid rgba(125,145,160,.14);border-radius:10px}.dash-asset-summary span{display:block;font-size:9px;color:#81909b}.dash-asset-summary b{font-size:19px}.license-progress{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin:10px 0}.license-progress>div{grid-column:1/-1;height:9px;background:rgba(125,145,160,.13);border-radius:10px;overflow:hidden}.license-progress i{display:block;height:100%;background:#61a62f;border-radius:10px}.compact-list{display:grid;gap:5px}.compact-list div{display:flex;justify-content:space-between;font-size:10px;border-top:1px solid rgba(125,145,160,.11);padding-top:5px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.health-grid>div{padding:11px;border:1px solid rgba(125,145,160,.14);border-radius:10px}.health-grid span,.health-grid small{display:block;font-size:9px;color:#84929d}.health-grid b{font-size:22px;margin:3px 0;display:block}.alert-summary{display:flex;gap:10px;margin-bottom:10px}.alert-summary div{min-width:100px;padding:8px 12px;border-radius:10px;background:rgba(125,145,160,.07)}.alert-summary b{font-size:20px;margin-right:5px}.alert-summary span{font-size:10px;color:#81909b}.action-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.action-list button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;border:1px solid rgba(125,145,160,.14);background:transparent;color:inherit;text-align:left;border-radius:10px;padding:8px 10px;cursor:pointer}.action-list button:hover{border-color:rgba(128,177,31,.45);background:rgba(128,177,31,.04)}.action-list i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-weight:900;background:#fff3d8;color:#bd7800}.action-list i.bad{background:#ffe8e8;color:#c83838}.action-list span b,.action-list span small{display:block}.action-list span b{font-size:11px}.action-list span small{font-size:9px;color:#82909b;margin-top:2px}.action-list em{font-size:9px;color:#8796a1;font-style:normal}.dash-more{margin-top:9px;border:0;background:none;color:#6f9e20;font-weight:800;cursor:pointer}.dashboard-all-clear{grid-column:1/-1;padding:18px;text-align:center;color:#5f9a2c;font-weight:800}
html[data-theme="dark-modern"] .dash-donut:after,html[data-theme="dark-modern"] .gauge-ring:after,html[data-theme="it-tech-depth"] .dash-donut:after,html[data-theme="it-tech-depth"] .gauge-ring:after{background:#101d2b}.dashboard-widget.widget-ict_alert_action{border-top:3px solid #f59e0b}.dashboard-widget.widget-sla_compliance{border-top:3px solid #46a55a}.dashboard-widget.widget-open_tickets{border-top:3px solid #2864d7}.dashboard-widget.widget-pm_overdue,.dashboard-widget.widget-backup_attention{border-top:3px solid #e05252}
@media(max-width:1050px){.executive-filter{grid-template-columns:1fr 1fr 1fr}.executive-filter .filter-title{grid-column:1/-1}.action-list{grid-template-columns:1fr}.dash-chart-row{grid-template-columns:125px 1fr}.dash-donut{width:118px;height:118px}.health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.executive-filter{display:flex;flex-wrap:wrap}.executive-filter .filter-title{width:100%}.dash-chart-row,.sla-gauge{grid-template-columns:1fr}.dash-donut,.gauge-ring{margin:auto}.dash-asset-summary{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr 1fr}.action-list{grid-template-columns:1fr}.dash-bar-row{grid-template-columns:90px 1fr 26px}.dash-bar-row small{display:none}}


/* =========================================================
   PRO V7.2.6 — TABLE / CONTENT OVERFLOW FIT
   Keep the page frame visible after real data is added.
   Main-page tables keep their normal layout but long values wrap.
   Horizontal scrolling, when unavoidable, stays inside the table frame.
   ========================================================= */

/* Flex/grid children must be allowed to shrink; otherwise real data can push
   the whole application wider than the viewport. */
html, body, #app, .app, main, .page, .card, .pad,
.dashboard-grid, .dashboard-widget, .grid-2, .stats,
.section-head, .toolbar, .form-grid, .form-field {
  min-width:0;
  box-sizing:border-box;
}

body, #app, .app, main {
  max-width:100vw;
}

main {
  overflow-x:hidden;
}

.page,
.card,
.pad,
.dashboard-widget {
  max-width:100%;
}

/* The visible border belongs to the wrapper, not to the far-right edge of
   a wide table. This keeps the card/table boundary visible at all times. */
.page .table-wrap {
  display:block;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
  overflow-x:auto!important;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  border:1px solid var(--line, #d7e2e8)!important;
  border-radius:12px;
  background:var(--panel, #fff);
}

/* Real values such as serials, notes, hostnames and locations should wrap
   instead of forcing the whole page wider. */
.page .table-wrap table {
  width:100%!important;
  max-width:100%!important;
  min-width:100%;
  table-layout:auto;
}

.page .table-wrap th,
.page .table-wrap td {
  min-width:0;
  max-width:260px;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:break-word;
  vertical-align:top;
}

/* Keep compact fields/actions readable. */
.page .table-wrap th:first-child,
.page .table-wrap td:first-child {
  max-width:90px;
}

.page .table-wrap .row-actions,
.page .table-wrap .row-actions button,
.page .table-wrap .badge {
  white-space:nowrap!important;
}

.page .table-wrap .row-actions {
  flex-wrap:wrap;
}

/* Long toolbar/search values must not push the card outside the page. */
.toolbar {
  max-width:100%;
}
.toolbar input,
.toolbar select {
  min-width:0!important;
  max-width:100%;
}

/* Dashboard widgets and free text must also shrink/wrap with real content. */
.dashboard-widget,
.dashboard-widget *,
.card,
.card * {
  min-width:0;
}
.dashboard-widget p,
.dashboard-widget small,
.dashboard-widget b,
.card p,
.card small {
  overflow-wrap:anywhere;
}

/* Preserve the existing V7.0.5 popup behaviour: popup tables can be wider,
   but the popup itself never extends beyond the viewport. */
#modal .modal-panel {
  width:min(96vw,1500px)!important;
  max-width:96vw!important;
  box-sizing:border-box;
  overflow:hidden;
}
#modal .table-wrap {
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  scrollbar-gutter:stable;
}

/* Mobile: use an internal table scroller only when columns genuinely cannot
   fit. The page itself never gets a horizontal scrollbar. */
@media(max-width:760px){
  main{overflow-x:hidden!important}
  .page .table-wrap{
    max-width:100%!important;
    -webkit-overflow-scrolling:touch;
  }
  .page .table-wrap th,
  .page .table-wrap td{
    max-width:190px;
    padding:8px 7px!important;
  }
  .toolbar input,
  .toolbar select,
  .toolbar button{
    max-width:100%;
  }
}


/* =========================================================
   PRO V7.2.7 — SEARCHABLE ASSET PICKER
   ========================================================= */
.asset-picker{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0}
.asset-picker-search{grid-column:1/2;width:100%;min-width:0}
.asset-picker-clear{grid-column:2/3;width:38px;min-width:38px;border:1px solid var(--line,#dfe6eb);background:var(--panel,#fff);color:var(--muted,#73808d);border-radius:9px;font-size:18px;cursor:pointer}
.asset-picker-results{
  position:absolute;z-index:120;left:0;right:0;top:44px;
  max-height:320px;overflow:auto;padding:6px;
  background:var(--panel,#fff);border:1px solid var(--line,#dbe3e8);border-radius:11px;
  box-shadow:0 14px 38px rgba(28,45,58,.18)
}
.asset-picker-option{display:grid;width:100%;gap:2px;text-align:left;padding:9px 10px;border:0;border-bottom:1px solid var(--line,#edf1f3);border-radius:7px;background:transparent;color:var(--text,#283640);cursor:pointer}
.asset-picker-option:hover,.asset-picker-option:focus{background:var(--panel2,#f5f8f4);outline:0}
.asset-picker-option b{font-size:11px}.asset-picker-option span{font-size:10.5px}.asset-picker-option small{font-size:9px;color:var(--muted,#788691)}
.asset-picker-no-result,.asset-picker-empty{padding:9px;color:var(--muted,#788691);font-size:10px}
.asset-picker-preview{grid-column:1/-1;min-width:0}
.asset-picker-selected{padding:9px 10px;border:1px solid var(--line,#dfe6eb);border-radius:9px;background:var(--panel2,#f7f9fa);display:grid;gap:4px}
.asset-picker-selected-title{font-size:11px;font-weight:800;overflow-wrap:anywhere}
.asset-picker-selected-meta{font-size:9.5px;color:var(--muted,#74818c);line-height:1.5;overflow-wrap:anywhere}
.asset-picker-dot{opacity:.55;padding:0 2px}
.asset-repair-summary{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:3px;padding-top:6px;border-top:1px dashed var(--line,#dfe6eb);font-size:9.5px}
.asset-repair-summary b{color:var(--text,#293943)}.asset-repair-summary span{color:var(--muted,#74818c)}
@media(max-width:760px){
  .asset-picker-results{position:fixed;left:10px;right:10px;top:auto;bottom:10px;max-height:48vh;z-index:10020}
  .asset-picker-option{padding:11px}
}


/* =========================================================
   PRO V7.2.8 — POPUP SCROLL / OVERFLOW FIX
   Popup header stays visible. Long forms scroll vertically inside the popup.
   Wide tables scroll horizontally inside their own frame.
   ========================================================= */
#modal{
  padding:12px!important;
  overflow:hidden!important;
}

#modal .modal-panel{
  display:flex!important;
  flex-direction:column!important;
  width:min(96vw,1500px)!important;
  max-width:96vw!important;
  height:auto!important;
  max-height:94vh!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:0!important;
}

#modal .modal-head{
  flex:0 0 auto;
  position:sticky;
  top:0;
  z-index:15;
  margin:0!important;
  padding:14px 18px!important;
  background:inherit;
  border-bottom:1px solid var(--line,#dfe7ec);
}

#modal .modal-head h3{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}

#modal #modalClose{
  flex:0 0 auto;
}

/* This is the vertical scroller for long popup forms/content. */
#modal #dataForm{
  flex:1 1 auto;
  min-height:0;
  max-height:calc(94vh - 58px);
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px 18px 20px!important;
  box-sizing:border-box;
  scrollbar-gutter:stable both-edges;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Wide tables get their own horizontal scrollbar without making
   the whole popup wider than the viewport. */
#modal #dataForm .table-wrap,
#modal .table-wrap{
  display:block;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}

#modal #dataForm .table-wrap table,
#modal table.popup-wide-table{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
}

/* Forms themselves stay within the popup width. */
#modal .form-grid,
#modal .form-field,
#modal .form-guide-note,
#modal .asset-picker,
#modal .asset-picker-preview{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box;
}

/* Make scrollbars clearly visible on supported browsers. */
#modal #dataForm::-webkit-scrollbar,
#modal .table-wrap::-webkit-scrollbar{
  width:12px;
  height:12px;
}
#modal #dataForm::-webkit-scrollbar-thumb,
#modal .table-wrap::-webkit-scrollbar-thumb{
  background:#9aa8b3;
  border:3px solid transparent;
  background-clip:padding-box;
  border-radius:10px;
}
#modal #dataForm::-webkit-scrollbar-track,
#modal .table-wrap::-webkit-scrollbar-track{
  background:rgba(120,140,155,.10);
}

@media(max-width:760px){
  #modal{padding:6px!important}
  #modal .modal-panel{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    max-height:96vh!important;
  }
  #modal .modal-head{
    padding:11px 12px!important;
  }
  #modal #dataForm{
    max-height:calc(96vh - 52px);
    padding:12px!important;
  }
}

/* PRO v7.2.11: Printer Consumable Finder */
.printer-lookup-card{margin-bottom:14px;padding:16px}
.printer-lookup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.printer-lookup-head h3{margin:0 0 4px;font-size:17px}.printer-lookup-head p{margin:0;color:var(--muted);font-size:12px}
.printer-lookup-badge{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:var(--panel-2)}
.printer-lookup-search{display:flex;gap:8px}.printer-lookup-search input{flex:1;min-width:0}
.printer-lookup-hint{margin-top:8px;font-size:12px;color:var(--muted)}
.printer-lookup-results{margin-top:10px}.printer-match-assets{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px;align-items:center}
.printer-match-assets>b{font-size:12px}.printer-match-assets span{border:1px solid var(--line);border-radius:10px;padding:6px 9px;background:var(--panel-2);font-size:11px}
.printer-lookup-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:700px){.printer-lookup-head{display:block}.printer-lookup-badge{display:inline-block;margin-top:8px}.printer-lookup-search{align-items:stretch}.printer-lookup-table{min-width:760px}}

/* V7.2.13 Printer Profile 360 */
.printer-profile-hero{margin-bottom:16px;overflow:hidden}
.printer-profile-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.printer-profile-title h3{font-size:24px;margin:4px 0 2px}
.printer-profile-title p{margin:0;color:var(--muted)}
.printer-profile-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.printer-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.printer-profile-metrics>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft,#f7f8fa);display:flex;flex-direction:column;gap:3px;min-width:0}
.printer-profile-metrics span,.printer-profile-metrics small{font-size:12px;color:var(--muted)}
.printer-profile-metrics b{font-size:18px;overflow-wrap:anywhere}
.printer-profile-grid{margin-bottom:16px}
.printer-consumable-card{grid-column:span 2}
.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.card-title-row h3,.card-title-row p{margin-top:0}
.printer-consumable-list{display:flex;flex-direction:column;gap:8px}
.printer-consumable-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(100px,.5fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}
.printer-consumable-row:first-child{border-top:0}
.printer-consumable-row small{display:block;color:var(--muted);margin-top:2px}
.printer-stock-mini{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
@media(max-width:900px){.printer-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.printer-consumable-card{grid-column:auto}.printer-consumable-row{grid-template-columns:1fr}.printer-stock-mini{justify-content:flex-start}.card-title-row{flex-direction:column}}
@media(max-width:520px){.printer-profile-metrics{grid-template-columns:1fr}.printer-profile-title{flex-direction:column}.printer-profile-title h3{font-size:20px}}

/* V7.2.14 Smart Filter & Quick Search */
.smart-filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line,#dfe5ea);border-radius:14px;background:var(--card,#fff)}
.smart-filter-bar label{display:flex;flex-direction:column;gap:5px;min-width:145px;flex:1 1 145px;max-width:230px}
.smart-filter-bar label span{font-size:12px;font-weight:700;opacity:.72}
.smart-filter-bar select,.smart-filter-bar input{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line,#d9e0e6);border-radius:9px;background:var(--surface,#fff);color:inherit}
.smart-filter-bar .sf-reset{min-height:38px;white-space:nowrap}
.smart-filter-bar .sf-count{margin-left:auto;align-self:center;font-size:13px;font-weight:700;opacity:.75;white-space:nowrap}
@media(max-width:760px){.smart-filter-bar{align-items:stretch}.smart-filter-bar label{max-width:none;min-width:calc(50% - 6px)}.smart-filter-bar .sf-count{width:100%;margin-left:0}.smart-filter-bar .sf-reset{flex:1}}

/* =========================================================
   V7.2.18 — Main Data Table Vertical Scroll
   Keep large master-data tables inside a predictable viewport.
   Modal/popup scrolling remains controlled by the existing #modal rules.
   ========================================================= */
#assets .table-wrap,
#computerusers .table-wrap,
#communication .table-wrap,
#wifiaccess .table-wrap,
#credentials .table-wrap,
#tickets .table-wrap,
#pm .table-wrap,
#inventory .table-wrap,
#licenses .table-wrap,
#repairs .table-wrap,
#operations .table-wrap,
#cctv .table-wrap,
#network .table-wrap,
#reports .table-wrap,
#importdata .table-wrap,
#users .table-wrap,
#audit .table-wrap,
#dropdowns .table-wrap,
#fieldrules .table-wrap {
  max-height:calc(100vh - 245px);
  min-height:180px;
  overflow-y:auto!important;
  overflow-x:auto!important;
  scrollbar-gutter:stable both-edges;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Keep column labels visible while scrolling long data sets. */
#assets .table-wrap thead th,
#computerusers .table-wrap thead th,
#communication .table-wrap thead th,
#wifiaccess .table-wrap thead th,
#credentials .table-wrap thead th,
#tickets .table-wrap thead th,
#pm .table-wrap thead th,
#inventory .table-wrap thead th,
#licenses .table-wrap thead th,
#repairs .table-wrap thead th,
#operations .table-wrap thead th,
#cctv .table-wrap thead th,
#network .table-wrap thead th,
#reports .table-wrap thead th,
#importdata .table-wrap thead th,
#users .table-wrap thead th,
#audit .table-wrap thead th,
#dropdowns .table-wrap thead th,
#fieldrules .table-wrap thead th {
  position:sticky;
  top:0;
  z-index:4;
  box-shadow:0 1px 0 var(--line, #d7e2e8);
}

/* Make the scrollbar easy to see on desktop Chromium/Chrome. */
#assets .table-wrap::-webkit-scrollbar,
#computerusers .table-wrap::-webkit-scrollbar,
#communication .table-wrap::-webkit-scrollbar,
#wifiaccess .table-wrap::-webkit-scrollbar,
#credentials .table-wrap::-webkit-scrollbar,
#tickets .table-wrap::-webkit-scrollbar,
#pm .table-wrap::-webkit-scrollbar,
#inventory .table-wrap::-webkit-scrollbar,
#licenses .table-wrap::-webkit-scrollbar,
#repairs .table-wrap::-webkit-scrollbar,
#operations .table-wrap::-webkit-scrollbar,
#cctv .table-wrap::-webkit-scrollbar,
#network .table-wrap::-webkit-scrollbar,
#reports .table-wrap::-webkit-scrollbar,
#importdata .table-wrap::-webkit-scrollbar,
#users .table-wrap::-webkit-scrollbar,
#audit .table-wrap::-webkit-scrollbar,
#dropdowns .table-wrap::-webkit-scrollbar,
#fieldrules .table-wrap::-webkit-scrollbar {
  width:11px;
  height:11px;
}

#assets .table-wrap::-webkit-scrollbar-thumb,
#computerusers .table-wrap::-webkit-scrollbar-thumb,
#communication .table-wrap::-webkit-scrollbar-thumb,
#wifiaccess .table-wrap::-webkit-scrollbar-thumb,
#credentials .table-wrap::-webkit-scrollbar-thumb,
#tickets .table-wrap::-webkit-scrollbar-thumb,
#pm .table-wrap::-webkit-scrollbar-thumb,
#inventory .table-wrap::-webkit-scrollbar-thumb,
#licenses .table-wrap::-webkit-scrollbar-thumb,
#repairs .table-wrap::-webkit-scrollbar-thumb,
#operations .table-wrap::-webkit-scrollbar-thumb,
#cctv .table-wrap::-webkit-scrollbar-thumb,
#network .table-wrap::-webkit-scrollbar-thumb,
#reports .table-wrap::-webkit-scrollbar-thumb,
#importdata .table-wrap::-webkit-scrollbar-thumb,
#users .table-wrap::-webkit-scrollbar-thumb,
#audit .table-wrap::-webkit-scrollbar-thumb,
#dropdowns .table-wrap::-webkit-scrollbar-thumb,
#fieldrules .table-wrap::-webkit-scrollbar-thumb {
  background:#9ba8b2;
  border:2px solid transparent;
  background-clip:padding-box;
  border-radius:10px;
}

#assets .table-wrap::-webkit-scrollbar-track,
#computerusers .table-wrap::-webkit-scrollbar-track,
#communication .table-wrap::-webkit-scrollbar-track,
#wifiaccess .table-wrap::-webkit-scrollbar-track,
#credentials .table-wrap::-webkit-scrollbar-track,
#tickets .table-wrap::-webkit-scrollbar-track,
#pm .table-wrap::-webkit-scrollbar-track,
#inventory .table-wrap::-webkit-scrollbar-track,
#licenses .table-wrap::-webkit-scrollbar-track,
#repairs .table-wrap::-webkit-scrollbar-track,
#operations .table-wrap::-webkit-scrollbar-track,
#cctv .table-wrap::-webkit-scrollbar-track,
#network .table-wrap::-webkit-scrollbar-track,
#reports .table-wrap::-webkit-scrollbar-track,
#importdata .table-wrap::-webkit-scrollbar-track,
#users .table-wrap::-webkit-scrollbar-track,
#audit .table-wrap::-webkit-scrollbar-track,
#dropdowns .table-wrap::-webkit-scrollbar-track,
#fieldrules .table-wrap::-webkit-scrollbar-track {
  background:rgba(125,145,160,.09);
}

@media(max-width:760px){
  #assets .table-wrap,
  #computerusers .table-wrap,
  #communication .table-wrap,
  #wifiaccess .table-wrap,
  #credentials .table-wrap,
  #tickets .table-wrap,
  #pm .table-wrap,
  #inventory .table-wrap,
  #licenses .table-wrap,
  #repairs .table-wrap,
  #operations .table-wrap,
  #cctv .table-wrap,
  #network .table-wrap,
  #reports .table-wrap,
  #importdata .table-wrap,
  #users .table-wrap,
  #audit .table-wrap,
  #dropdowns .table-wrap,
  #fieldrules .table-wrap {
    max-height:62vh;
    min-height:140px;
  }
}

/* =========================================================
   PRO V7.2.22 — READABLE TABLE COLUMNS / HEADER WRAP
   Desktop table headers never break inside English words.
   Long labels may wrap only at spaces, while wide tables scroll
   horizontally inside the existing table frame.
   ========================================================= */
@media (min-width:761px){
  .page .table-wrap table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
  }

  .page .table-wrap thead th{
    min-width:118px;
    max-width:240px;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    line-height:1.3;
    vertical-align:middle;
  }

  /* Compact identifier / selection columns. */
  .page .table-wrap thead th:first-child{
    min-width:64px;
    max-width:90px;
  }

  /* Action controls need enough room to stay usable. */
  .page .table-wrap thead th:last-child{
    min-width:128px;
  }

  /* Data may wrap when necessary, but never forces the entire page wider. */
  .page .table-wrap tbody td{
    min-width:0;
    max-width:280px;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .page .table-wrap{
    overflow-x:auto!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable both-edges;
  }
}


/* =========================================================
   PRO V7.2.28 — SMART GLOBAL HORIZONTAL SCROLLBAR
   ========================================================= */
.smart-hscroll{
  position:fixed;
  z-index:850;
  bottom:8px;
  height:18px;
  display:none;
  padding:2px 3px;
  border:1px solid var(--line);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  box-shadow:0 4px 16px rgba(0,0,0,.12);
  backdrop-filter:blur(5px);
}
.smart-hscroll.show{display:block}
.smart-hscroll-track{
  width:100%;
  height:13px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:auto;
  overscroll-behavior-x:contain;
}
.smart-hscroll-spacer{height:1px;min-width:100%}

/* Make native table scrollbar clearer too, while retaining it as fallback. */
.page.active .table-wrap{
  scrollbar-gutter:stable;
}
.page.active .table-wrap::-webkit-scrollbar{height:12px}
.smart-hscroll-track::-webkit-scrollbar{height:12px}

@media(max-width:760px){
  .smart-hscroll{bottom:5px;height:20px}
  .smart-hscroll-track{height:15px}
}

/* Popup/Modal keeps its own existing scrolling behavior. */
#modal .table-wrap,.modal .table-wrap,[role="dialog"] .table-wrap{
  scrollbar-gutter:auto;
}

/* V7.2.30: column chooser */
.column-hidden{display:none!important}
.column-chooser{position:relative;flex:none}
.column-chooser summary{cursor:pointer;padding:10px 14px;border:1px solid var(--border,#ccd5dd);border-radius:9px;font-weight:600}
.column-options{position:absolute;right:0;top:100%;margin-top:6px;z-index:90;width:min(320px,80vw);padding:16px;background:var(--panel,#fff);color:var(--text,#18232f);border:1px solid var(--border,#ccd5dd);border-radius:12px;box-shadow:0 10px 30px #0003}
.column-options small{display:block;margin:6px 0 12px}
.column-list{max-height:300px;overflow:auto;margin-bottom:12px}
.column-list label{display:flex;align-items:center;gap:10px;padding:7px;cursor:pointer}
.column-list input[type=checkbox]{width:18px!important;height:18px;flex:none;margin:0}

/* V7.2.33 — grouped navigation and role-aware advanced menus */
#legacyNav{display:none!important}
#primaryNav{display:flex;flex-direction:column;gap:9px;padding-bottom:8px}
.nav-section{display:block;min-width:0}
.nav-section-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:0;background:transparent;color:#8296a8;text-align:left;padding:7px 9px 5px;
  cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;
}
.nav-section-toggle:hover{color:#d6e6ef;background:rgba(255,255,255,.035);border-radius:8px}
.nav-section-label{display:flex;align-items:center;gap:7px;min-width:0}
.nav-section-label>span:not(.nav-section-symbol){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-section-label small{display:block;color:#5f7486;font-size:8px;font-weight:600;letter-spacing:0;text-transform:none;margin-left:2px;white-space:nowrap}
.nav-section-symbol{width:18px;height:18px;display:grid;place-items:center;color:#a2b5c4;font-size:14px;flex:none}
.nav-section-chevron{font-size:15px;color:#73899a;line-height:1;transition:transform .16s ease}
.nav-section.is-collapsed .nav-section-chevron{transform:rotate(-90deg)}
.nav-section-items{display:flex;flex-direction:column;gap:3px}
.nav-section.is-collapsed .nav-section-items{display:none}
#primaryNav .nav-item{width:100%;min-width:0}
#primaryNav .nav-item.nav-power-only.hidden-role,
#primaryNav .nav-item.hidden-role{display:none!important}
#primaryNav .nav-icon-text{width:24px;min-width:24px;height:24px;display:grid;place-items:center;border-radius:7px;font-size:16px;line-height:1;color:currentColor}
#primaryNav .nav-item:hover .nav-icon-text{transform:scale(1.05)}
#primaryNav .nav-section.search-empty{display:none}

/* The advanced sections remain available to Admin/Editor but stay closed until needed. */
#primaryNav .nav-section-advanced .nav-section-toggle{color:#718798}
#primaryNav .nav-section-advanced .nav-section-symbol{color:#8aa4b4}

/* V7.2.95: clear group headings and readable, indented menu items. */
#primaryNav{gap:12px}
#primaryNav .nav-section-toggle{background:#243d4d;color:#f1f8fc;border:1px solid #486475;border-left:4px solid #62d0b1;border-radius:9px;padding:11px 10px;font-size:14px;font-weight:800;letter-spacing:0;text-transform:none;min-height:48px;line-height:1.5}
#primaryNav .nav-section-toggle:hover{background:#2e4b5d;color:#fff}
#primaryNav .nav-section-label{flex:1;align-items:center}
#primaryNav .nav-section-label>span:not(.nav-section-symbol){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#primaryNav .nav-section-symbol{color:#91ebd2;width:24px;min-width:24px;font-size:18px}
#primaryNav .nav-section-chevron{color:#e4f5fc;flex:none}
#primaryNav .nav-section-items{margin:7px 0 0 13px;padding-left:8px;border-left:1px solid #435b6d;gap:4px}
#primaryNav .nav-item{font-size:14px;min-height:44px;padding:10px 9px}
#primaryNav .nav-item .nav-label{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5;overflow-wrap:anywhere}
.sidebar-collapsed #primaryNav .nav-section-toggle{padding:6px 0;border-left-width:1px}
.sidebar-collapsed #primaryNav .nav-section-items{margin-left:0;padding-left:0;border-left:0}

/* Collapsed sidebar: keep group symbols useful without showing long labels. */
.sidebar-collapsed #primaryNav .nav-section-toggle{justify-content:center;padding-left:0;padding-right:0}
.sidebar-collapsed #primaryNav .nav-section-label>span:not(.nav-section-symbol),
.sidebar-collapsed #primaryNav .nav-section-label small,
.sidebar-collapsed #primaryNav .nav-section-chevron{display:none}
.sidebar-collapsed #primaryNav .nav-section-symbol{width:34px;height:30px;background:rgba(255,255,255,.04);border-radius:8px}
.sidebar-collapsed #primaryNav .nav-section-items{gap:4px}

@media(max-width:760px){
  #primaryNav{gap:7px}
  .nav-section-toggle{min-height:36px}
  #primaryNav .nav-item{min-height:42px}
}

.dashboard-flow-hint{
  grid-column:1/-1;position:relative;z-index:2;margin-top:-3px;padding:8px 10px;
  border-top:1px solid rgba(183,239,50,.14);color:#88a0b1;font-size:10px;letter-spacing:.05px;
}
.dashboard-flow-hint b{color:#b7ef32}

/* V7.2.35 — contextual Item Class descriptions in the Inventory form */
.inventory-class-help{margin-top:2px}
.inventory-class-help-card{
  padding:10px 11px;border:1px solid #dbe5ec;border-left:4px solid #7890a1;
  border-radius:9px;background:#f7fafc;color:#344653;line-height:1.45;
}
.inventory-class-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.inventory-class-help-head>b{font-size:11px;color:#203846}
.inventory-class-help-head>span{
  flex:none;padding:3px 7px;border-radius:999px;background:#edf2f5;color:#617684;
  font-size:9px;font-weight:800;white-space:nowrap;
}
.inventory-class-help-card p{margin:5px 0 3px;font-size:10px;color:#526773}
.inventory-class-help-card small{display:block;font-size:9px;color:#748692;white-space:normal}
.inventory-class-help-card[data-tone="yes"]{border-left-color:#66a832;background:#f6fbed}
.inventory-class-help-card[data-tone="yes"] .inventory-class-help-head>span{background:#e4f4d7;color:#467923}
.inventory-class-help-card[data-tone="conditional"]{border-left-color:#d69b32;background:#fffaf0}
.inventory-class-help-card[data-tone="conditional"] .inventory-class-help-head>span{background:#fff0ce;color:#966515}
.inventory-class-reference{margin-top:3px}
.inventory-class-reference summary{cursor:pointer;color:#527188;font-size:10px;font-weight:700;list-style-position:inside}
.inventory-class-reference-list{display:grid;gap:6px;margin-top:7px}
.inventory-class-help-card.is-compact{padding:8px 9px}
.inventory-class-help-card.is-compact p{margin:3px 0 2px}
html[data-theme="dark-modern"] .inventory-class-help-card,
html[data-theme="it-tech-depth"] .inventory-class-help-card{background:#102330;border-color:#2a4658;color:#d9e6ed}
html[data-theme="dark-modern"] .inventory-class-help-head>b,
html[data-theme="it-tech-depth"] .inventory-class-help-head>b{color:#e0edf3}
html[data-theme="dark-modern"] .inventory-class-help-card p,
html[data-theme="it-tech-depth"] .inventory-class-help-card p{color:#a9bbc5}
html[data-theme="dark-modern"] .inventory-class-help-card small,
html[data-theme="it-tech-depth"] .inventory-class-help-card small{color:#8198a5}
@media(max-width:760px){
  .inventory-class-help-head{flex-direction:column}
  .inventory-class-help-head>span{white-space:normal}
}
/* PRO v7.2.36 — unified IT receiving */
#dataForm.receiving-form{min-width:0}.modal-panel.receiving-wide,.modal-panel:has(#dataForm.receiving-form){width:min(1080px,96vw)}
.receiving-summary-flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:12px;margin-bottom:14px;border:1px solid #cfe0f5;border-radius:12px;background:#f2f7fd;color:#214e7b;font-size:13px}.receiving-summary-flow span{font-weight:800}.receiving-summary-flow b{color:#7794b0}
.receiving-lines-head,.receiving-line-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.receiving-lines-head{margin:20px 0 10px}.receiving-lines-head h3,.receiving-lines-head p{margin:0}.receiving-lines-head p{margin-top:4px;color:#778396;font-size:12px}
#receivingLines{display:grid;gap:14px}.receiving-line{border:1px solid #dfe6ee;border-radius:14px;padding:14px;background:#fbfcfe}.receiving-line-head{margin-bottom:12px}.receiving-line-head .receiving-mode{margin-left:auto}.receiving-line .form-grid.nested{margin-top:0}
.receiving-asset-panel{margin-top:14px}.receiving-flow-note{margin-bottom:12px;color:#315f48;font-size:13px}.receiving-spec-panel{margin-top:14px;padding-top:13px;border-top:1px dashed #ccd9e5}.receiving-spec-panel>b{display:block;margin-bottom:10px}
.receiving-unit-section{margin-top:14px;padding-top:13px;border-top:1px dashed #ccd9e5}.receiving-unit-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:10px}.receiving-unit-section-head small{color:#778396}.receiving-unit-list{display:grid;gap:9px}.receiving-unit-row{display:grid;grid-template-columns:150px repeat(5,minmax(145px,1fr));gap:9px;align-items:end;padding:11px;border:1px solid #dfe6ee;border-radius:11px;background:#fff;overflow-x:auto}.receiving-unit-title{align-self:center}.receiving-unit-title b,.receiving-unit-title span{display:block}.receiving-unit-title span{font-size:11px;color:#778396;margin-top:3px}.receiving-unit-row .form-field{margin:0}.receiving-unit-row:not(.is-deploy) .receiving-deploy-field{opacity:.4}.receiving-unit-row:not(.is-deploy) .receiving-deploy-field select,.receiving-unit-row:not(.is-deploy) .receiving-deploy-field input{pointer-events:none;background:#f4f6f8}.receiving-unit-row.is-deploy{border-color:#9ddad7;background:#f5fffe;box-shadow:inset 4px 0 #22a9a4}
.receiving-safety-note{margin-top:14px;padding:11px 13px;border-radius:10px;background:#fff7e8;border:1px solid #f0dbad;color:#7f5c16;font-size:13px}.receipt-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.receipt-detail-grid>div{padding:12px;border:1px solid #e3e8ee;border-radius:10px;background:#fafbfd}.receipt-detail-grid span,.receipt-detail-grid b{display:block}.receipt-detail-grid span{color:#778396;font-size:11px;margin-bottom:4px}
@media(max-width:760px){.receipt-detail-grid{grid-template-columns:1fr 1fr}.receiving-summary-flow b{display:none}.receiving-summary-flow{justify-content:flex-start}.receiving-summary-flow span{width:calc(50% - 6px)}.receiving-unit-section-head{align-items:flex-start;flex-direction:column}.receiving-unit-row{grid-template-columns:130px repeat(5,190px)}}
/* V7.2.40 — consistent page back navigation */
.page-back-button{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line,#dfe6eb);border-radius:10px;background:var(--panel,#fff);color:var(--text,#34424e);font:inherit;cursor:pointer;white-space:nowrap}
.page-back-button:hover{border-color:var(--accent,#b9e84a);transform:translateX(-1px)}
.page-back-button>span{font-size:20px!important;line-height:1;color:inherit!important}
.page-back-button>b{font-size:12px}
.page-back-button[hidden]{display:none!important}
@media(max-width:760px){.page-back-button{width:40px;padding:0;justify-content:center}.page-back-button>b{display:none}}

/* V7.2.47 — Thai dd/mm/yyyy display with the native calendar picker retained */
.thai-date-picker-wrap{position:relative;display:flex;align-items:stretch;width:100%}
.thai-date-picker-wrap>[data-thai-date-display="1"]{flex:1;min-width:0;padding-right:46px}
.thai-date-picker-button{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2;
  width:36px;height:34px;border:0;border-left:1px solid var(--line,#dfe6eb);
  background:transparent;color:inherit;font-size:17px;line-height:1;cursor:pointer
}
.thai-date-picker-button:hover{background:rgba(116,143,158,.1);border-radius:7px}
.thai-date-picker-button:disabled{opacity:.45;cursor:not-allowed}
.thai-date-native-input{
  position:absolute!important;left:0!important;bottom:0!important;width:1px!important;height:1px!important;
  padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important
}

/* V7.2.49 — safe admin Form Builder */
.form-builder-head{align-items:flex-start}
.form-builder-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.form-builder-add{font-size:14px;font-weight:800;min-height:42px;padding:10px 16px;box-shadow:0 5px 14px rgba(111,155,31,.2)}
.form-builder-add-hint{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 14px;border:1px solid #dce8c6;border-left:4px solid var(--accent,#91bb31);border-radius:10px;background:#f7faef;color:#526134}
.form-builder-add-hint span{color:#6f7c5d}
.custom-fields-manager{margin-top:24px;padding-top:18px;border-top:2px solid var(--line,#dfe6eb)}
.custom-fields-manager .section-head{margin-bottom:10px}
.custom-fields-manager td small{display:block;margin-top:3px;color:#778596;white-space:normal}
.custom-fields-heading{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:9px;background:#f1f6fa;border-left:4px solid var(--accent,#91bb31)}
.custom-fields-heading small{color:#738391}
.custom-form-field{padding:9px;border:1px dashed #d7e1e7;border-radius:10px;background:#fbfcfd}
.user-master-picker{display:grid;gap:7px}.user-master-actions{display:flex;gap:7px;flex-wrap:wrap}.user-master-actions .secondary{padding:7px 10px;font-size:11px}.user-master-picker>small{color:#7b8a96;line-height:1.45}.quick-user-modal{z-index:80}.quick-user-panel{width:min(760px,96vw)}.quick-user-modal .form-guide-note{margin-bottom:12px}.user-master-actions button:disabled{opacity:.45;cursor:not-allowed}
#receivingInlineModal [data-inline-error]{color:#b42318;white-space:pre-wrap}
.receiving-form .receiving-unit-row{grid-template-columns:100px repeat(6,minmax(145px,1fr))}
.custom-checkbox{min-height:38px;display:flex!important;align-items:center;gap:8px;font-weight:500!important}
.custom-checkbox input{width:18px;height:18px}
html[data-theme="dark-modern"] .custom-fields-heading,html[data-theme="it-tech-depth"] .custom-fields-heading{background:#122734}
html[data-theme="dark-modern"] .custom-form-field,html[data-theme="it-tech-depth"] .custom-form-field{background:#10222e;border-color:#2c4656}
html[data-theme="dark-modern"] .form-builder-add-hint,html[data-theme="it-tech-depth"] .form-builder-add-hint{background:#122734;border-color:#365146;color:#d8e7c0}
html[data-theme="dark-modern"] .form-builder-add-hint span,html[data-theme="it-tech-depth"] .form-builder-add-hint span{color:#aebf9a}
@media(max-width:720px){
  .form-builder-head{display:block}
  .form-builder-head-actions{justify-content:stretch;margin-top:12px}
  .form-builder-head-actions button{flex:1 1 100%;width:100%}
  .form-builder-add-hint{align-items:flex-start;flex-direction:column;gap:3px}
}

/* V7.2.51 — shared table filters, status counters and persistent table state */
.smart-filter-wrap{margin:0 0 12px}
.smart-filter-wrap .smart-filter-bar{margin-bottom:0}
.smart-filter-chips{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:0 0 9px;scrollbar-width:thin}
.smart-filter-chips button{
  flex:0 0 auto;min-height:34px;padding:6px 11px;border:1px solid var(--line,#dfe6eb);border-radius:999px;
  background:var(--panel,#fff);color:var(--text,#34424e);font:inherit;font-size:12px;font-weight:700;cursor:pointer
}
.smart-filter-chips button b{display:inline-flex;align-items:center;justify-content:center;min-width:23px;margin-left:5px;padding:1px 6px;border-radius:999px;background:rgba(116,143,158,.12);font-size:11px}
.smart-filter-chips button:hover{border-color:var(--accent,#91bb31)}
.smart-filter-chips button.active{border-color:var(--accent,#91bb31);background:var(--accent,#91bb31);color:#17200d}
.smart-filter-chips button.active b{background:rgba(255,255,255,.46)}
.inventory-status-chips{margin:0 0 10px}
html[data-theme="dark-modern"] .smart-filter-chips button,
html[data-theme="it-tech-depth"] .smart-filter-chips button{background:#122734;border-color:#304858;color:#dce8ee}
html[data-theme="dark-modern"] .smart-filter-chips button.active,
html[data-theme="it-tech-depth"] .smart-filter-chips button.active{background:var(--accent,#91bb31);border-color:var(--accent,#91bb31);color:#17200d}
@media(max-width:760px){
  .smart-filter-bar label{flex:1 1 100%;min-width:100%}
  .smart-filter-bar .sf-reset{width:100%}
  .smart-filter-chips{margin-right:-10px;padding-right:10px}
}
/* V7.2.55 Equipment Profile Hub */
.equipment-hub-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:16px;border-radius:22px;background:linear-gradient(135deg,var(--panel,#fff) 0%,rgba(183,222,34,.13) 100%);border:1px solid var(--line,#dfe6dd);box-shadow:0 12px 30px rgba(23,45,31,.06)}
.equipment-hub-hero h2{margin:5px 0 4px;font-size:clamp(22px,2vw,30px)}
.equipment-hub-hero p{margin:0;color:var(--muted,#647168)}
.equipment-group-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.equipment-group-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;padding:12px 14px;text-align:left;border:1px solid var(--line,#dfe6dd);border-radius:16px;background:var(--panel,#fff);color:var(--text,#17231b);box-shadow:0 6px 18px rgba(23,45,31,.04);cursor:pointer;transition:.18s ease}
.equipment-group-card:hover{transform:translateY(-2px);border-color:#a9ca31;box-shadow:0 10px 24px rgba(87,113,21,.12)}
.equipment-group-card.active{border-color:#9fbe25;background:linear-gradient(145deg,rgba(183,222,34,.22),rgba(255,255,255,.95));box-shadow:0 0 0 2px rgba(183,222,34,.12)}
.equipment-group-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#172d24;color:#d5f34b;font-size:21px}
.equipment-group-card span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.equipment-group-card small{color:var(--muted,#647168);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-group-card strong{font-size:22px;color:#527012}
.equipment-filter-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:13px;margin-bottom:12px}
.equipment-filter-card input,.equipment-filter-card select{width:100%;height:44px;border:1px solid var(--line,#dfe6dd);border-radius:12px;background:var(--panel,#fff);color:var(--text,#17231b);padding:0 12px}
.equipment-search{position:relative}.equipment-search span{position:absolute;left:13px;top:10px;font-size:19px;color:var(--muted,#647168)}.equipment-search input{padding-left:39px}
.equipment-result-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:5px 4px 10px}.equipment-result-head div{display:flex;align-items:baseline;gap:10px}.equipment-result-head b{font-size:19px}.equipment-result-head small,.equipment-result-head>span{color:var(--muted,#647168)}
.equipment-table-card{overflow:hidden}.equipment-profile-table{width:max-content;min-width:100%;table-layout:auto}.equipment-profile-table th{white-space:nowrap}.equipment-profile-table td{vertical-align:top;padding-top:14px;padding-bottom:14px;white-space:normal}.equipment-profile-table th:nth-child(1),.equipment-profile-table td:nth-child(1){min-width:255px}.equipment-profile-table th:nth-child(2),.equipment-profile-table td:nth-child(2){min-width:250px}.equipment-profile-table th:nth-child(3),.equipment-profile-table td:nth-child(3){min-width:245px}.equipment-profile-table th:nth-child(4),.equipment-profile-table td:nth-child(4){min-width:240px;max-width:340px}.equipment-profile-table th:nth-child(5),.equipment-profile-table td:nth-child(5){min-width:185px}.equipment-profile-table th:nth-child(6),.equipment-profile-table td:nth-child(6){min-width:125px}.equipment-profile-table th:nth-child(7),.equipment-profile-table td:nth-child(7){min-width:225px}
.equipment-identity{display:flex;align-items:flex-start;gap:10px;min-width:max-content}.equipment-identity>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#edf4e5;color:#365119;font-size:17px}.equipment-identity div{display:flex;min-width:max-content;flex-direction:column;gap:3px}.equipment-identity b{font-size:14px;line-height:1.35;white-space:nowrap}.equipment-identity small,.table-subline{display:block;margin-top:4px;color:var(--muted,#647168);font-size:12px;line-height:1.35;white-space:nowrap}
.equipment-serial-cell>b{display:block;margin-top:3px;line-height:1.35;white-space:nowrap}.equipment-field-label{display:inline-flex;align-items:center;margin:0 6px 3px 0;padding:2px 5px;border-radius:5px;background:#eef3ea;color:#58703f;font-size:9px;font-weight:800;line-height:1.2;text-transform:uppercase;vertical-align:middle}.equipment-serial-cell .table-subline{margin-top:8px}
.equipment-tech{display:flex;flex-direction:column;gap:4px;min-width:170px;max-width:260px}.equipment-tech span{font-size:12px;line-height:1.35}.equipment-tech b{color:#4d6815}
.equipment-history-counts{display:flex;gap:5px;flex-wrap:wrap;min-width:155px}.equipment-history-counts span{padding:4px 7px;border-radius:8px;background:#f0f4ed;font-size:11px;white-space:nowrap}.equipment-history-counts b{font-size:13px;color:#334b1b}
.equipment-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:205px}.equipment-actions button{padding:7px 9px;font-size:11px;white-space:nowrap}.equipment-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:38px;color:var(--muted,#647168)}.equipment-empty b{color:var(--text,#17231b);font-size:17px}
@media(max-width:1350px){.equipment-group-grid{grid-template-columns:repeat(3,1fr)}.equipment-filter-card{grid-template-columns:minmax(280px,1fr) repeat(2,minmax(140px,.55fr));}.equipment-filter-card select:nth-of-type(3){grid-column:2}.equipment-filter-card button{grid-column:3}}
@media(max-width:760px){.equipment-hub-hero{align-items:flex-start;flex-direction:column;padding:18px}.equipment-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-group-card{grid-template-columns:36px minmax(0,1fr);min-height:74px;padding:10px}.equipment-group-icon{width:36px;height:36px}.equipment-group-card strong{grid-column:2;font-size:18px}.equipment-filter-card{grid-template-columns:1fr}.equipment-filter-card select:nth-of-type(3),.equipment-filter-card button{grid-column:auto}.equipment-result-head{align-items:flex-start;flex-direction:column}.equipment-result-head>span{display:none}}

/* V7.2.59 — Equipment Profiles keeps both scroll directions within the table viewport. */
#equipmentprofiles .equipment-table-card .table-wrap{
  max-height:calc(100vh - 430px);
  min-height:300px;
  overflow-x:auto!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable both-edges;
  overscroll-behavior:contain;
}
#equipmentprofiles .equipment-table-card thead th{
  position:sticky;
  top:0;
  z-index:5;
  box-shadow:0 1px 0 var(--line,#d7e2e8);
}
#equipmentprofiles .equipment-table-card .table-wrap::-webkit-scrollbar{width:13px;height:13px}
#equipmentprofiles .equipment-table-card .table-wrap::-webkit-scrollbar-thumb{
  background:#81909c;
  border:2px solid transparent;
  background-clip:padding-box;
  border-radius:12px;
}
#equipmentprofiles .equipment-table-card .table-wrap::-webkit-scrollbar-track{background:rgba(125,145,160,.12)}
@media(max-width:760px){#equipmentprofiles .equipment-table-card .table-wrap{max-height:58vh;min-height:260px}}

/* V7.2.60 — automatic IT-STK code and safe Inventory item management */
.field-auto-hint{display:block;margin-top:4px;color:var(--muted,#69768a);font-size:11px}
.inventory-manage-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:12px}
.inventory-manage-summary>div{padding:12px;border:1px solid var(--line,#dfe6eb);border-radius:11px;background:var(--panel,#fff)}
.inventory-manage-summary span,.inventory-manage-summary b{display:block}.inventory-manage-summary span{margin-bottom:4px;color:var(--muted,#69768a);font-size:11px}
.inventory-usage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.inventory-usage-grid span{padding:8px 10px;border-radius:9px;background:rgba(125,145,160,.10);font-size:12px}.inventory-usage-grid b{float:right}
.inventory-manage-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line,#dfe6eb)}
.inventory-manage-box>div{display:flex;min-width:0;flex-direction:column;gap:3px}.inventory-manage-box small{color:var(--muted,#69768a);white-space:normal}.inventory-manage-box select{min-height:40px;padding:7px 9px;border:1px solid var(--line,#dfe6eb);border-radius:9px;background:var(--panel,#fff);color:inherit}.inventory-manage-box.danger{grid-template-columns:minmax(0,1fr) auto}.inventory-manage-box button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.inventory-manage-summary,.inventory-usage-grid{grid-template-columns:1fr 1fr}.inventory-manage-box,.inventory-manage-box.danger{grid-template-columns:1fr}.inventory-manage-box button{width:100%}}
.dropdown-sync-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid rgba(35,181,199,.28);border-radius:14px;background:rgba(35,181,199,.07)}
.dropdown-sync-summary span{color:var(--muted)}
.dropdown-sync-summary .primary{margin-left:auto}
.dropdown-discovered-row{background:rgba(245,158,11,.055)}
.badge.warn{background:rgba(245,158,11,.15);color:#9a5d00;border-color:rgba(245,158,11,.28)}
.empty-cell{text-align:center;color:var(--muted);padding:28px!important}
@media(max-width:760px){.dropdown-sync-summary .primary{margin-left:0;width:100%}.dropdown-toolbar #dropdownAddItemInline{width:100%}}
.license-key-modal{z-index:82}
.license-key-panel{width:min(1120px,94vw);max-height:90vh;overflow:auto}
.license-key-head{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:16px;padding:14px;border-radius:14px;background:var(--surface-soft,#f4f7f6)}
.license-key-head b{display:block;font-size:1.08rem}.license-key-head small{display:block;margin-top:4px;color:var(--muted)}
.license-key-stats{display:flex;gap:8px;flex-wrap:wrap}.license-key-stats span{padding:7px 11px;border-radius:999px;background:var(--card,#fff);border:1px solid var(--line,#dfe6e3)}
.license-key-add{margin-top:18px;padding:16px;border:1px solid var(--line,#dfe6e3);border-radius:14px}.license-key-add h4{margin:0 0 4px}.license-key-add p{margin:0 0 10px;color:var(--muted)}
.license-key-add textarea,.license-key-add input{width:100%;margin-bottom:10px}
.license-key-panel code{white-space:nowrap;font-size:.92rem}
@media(max-width:720px){.license-key-head{align-items:flex-start;flex-direction:column}.license-key-panel{width:96vw}.license-key-panel .table-wrap{overflow-x:auto}}

/* =========================================================
   V7.2.74 — ADAPTIVE COLUMN STANDARD FOR EVERY DATA TABLE
   JavaScript classifies each column from its header and real values, then
   supplies a safe width. Tables scroll inside their own frame instead of
   squeezing identifiers, serial numbers and actions into unreadable text.
   ========================================================= */
.table-wrap{
  max-width:100%;
  overflow-x:auto!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.table-wrap table.adaptive-data-table{
  width:var(--adaptive-table-min-width,100%)!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:fixed!important;
}
.table-wrap table.adaptive-data-table th,
.table-wrap table.adaptive-data-table td{
  width:var(--adaptive-col-width,160px)!important;
  min-width:var(--adaptive-col-width,160px)!important;
  max-width:var(--adaptive-col-width,160px)!important;
  vertical-align:top;
}
.page .table-wrap table.adaptive-data-table th[data-column-role]:not([data-column-role="detail"]),
.page .table-wrap table.adaptive-data-table td[data-column-role]:not([data-column-role="detail"]),
#modal .table-wrap table.adaptive-data-table th[data-column-role]:not([data-column-role="detail"]),
#modal .table-wrap table.adaptive-data-table td[data-column-role]:not([data-column-role="detail"]){
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap table.adaptive-data-table [data-column-role="detail"]{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.45;
}
.table-wrap table.adaptive-data-table [data-column-role="select"]{
  text-align:center;
  padding-left:8px!important;
  padding-right:8px!important;
}
.table-wrap table.adaptive-data-table [data-column-role="number"]{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.table-wrap table.adaptive-data-table [data-column-role="actions"]{
  overflow:visible;
  white-space:normal!important;
}
.table-wrap table.adaptive-data-table [data-column-role="actions"] .row-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
}
.table-wrap table.adaptive-data-table td:not([data-column-role="detail"]):not([data-column-role="actions"])>b,
.table-wrap table.adaptive-data-table td:not([data-column-role="detail"]):not([data-column-role="actions"])>small,
.table-wrap table.adaptive-data-table td:not([data-column-role="detail"]):not([data-column-role="actions"])>code{
  display:block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap!important;
  text-overflow:ellipsis;
}
.table-wrap table.adaptive-data-table .equipment-identity,
.table-wrap table.adaptive-data-table .equipment-identity div{
  width:100%;
  min-width:0;
  max-width:100%;
}
.table-wrap table.adaptive-data-table .equipment-identity b,
.table-wrap table.adaptive-data-table .equipment-identity small,
.table-wrap table.adaptive-data-table .equipment-serial-cell>b,
.table-wrap table.adaptive-data-table .equipment-serial-cell>.table-subline{
  display:block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap!important;
  text-overflow:ellipsis;
}
.table-wrap table.adaptive-data-table .equipment-field-label{display:inline-flex;overflow:visible}

/* On phones, ordinary data tables keep the established card layout. Only
   manager tables that deliberately remain tabular keep adaptive widths. */
@media(max-width:760px){
  .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table),
  #modal .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table){
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    table-layout:auto!important;
  }
  .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table) td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip;
  }
  .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table) td>small,
  .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table) td>b,
  .table-wrap table.adaptive-data-table:not(.field-rules-table):not(.dropdown-list-table) td>code{
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
}

/* =========================================================
   V7.2.76 — CSS-ONLY AUTO TABLES
   The browser sizes columns from their longest visible content. No script
   reads cell text, measures widths, queues tables or observes desktop DOM.
   ========================================================= */
@media(min-width:761px){
  .page .table-wrap table,
  #modal .table-wrap table,
  .modal .table-wrap table,
  [role="dialog"] .table-wrap table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
  }

  .page .table-wrap th,
  .page .table-wrap td,
  #modal .table-wrap th,
  #modal .table-wrap td,
  .modal .table-wrap th,
  .modal .table-wrap td,
  [role="dialog"] .table-wrap th,
  [role="dialog"] .table-wrap td{
    width:auto!important;
    min-width:110px;
    max-width:420px;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:normal;
    vertical-align:top;
  }

  .page .table-wrap th,
  #modal .table-wrap th,
  .modal .table-wrap th,
  [role="dialog"] .table-wrap th{white-space:nowrap!important}

  .table-wrap .select-col,
  .table-wrap th:has(input[type="checkbox"]),
  .table-wrap td:has(>input[type="checkbox"]){
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    text-align:center;
  }

  .table-wrap td:has(.row-actions),
  .table-wrap td:has(>button),
  .table-wrap td:has(>select){min-width:170px;max-width:360px}

  .table-wrap .row-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;
    min-width:max-content;
  }

  .table-wrap [data-column-key="asset_code"],
  .table-wrap [data-column-key="it_asset_no"],
  .table-wrap [data-column-key="company_asset_no"],
  .table-wrap [data-column-key="serial_no"],
  .table-wrap [data-column-key="hostname"],
  .table-wrap [data-column-key="item_code"],
  .table-wrap [data-column-key="phone_number"],
  .table-wrap [data-column-key="radio_code"],
  .table-wrap [data-column-key="license_id"]{
    min-width:170px;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }

  .table-wrap [data-column-key*="date"],
  .table-wrap [data-column-key$="_at"]{
    min-width:125px;
    white-space:nowrap!important;
  }

  .equipment-profile-table th:nth-child(1),
  .equipment-profile-table td:nth-child(1){min-width:320px!important;max-width:440px!important}
  .equipment-profile-table th:nth-child(2),
  .equipment-profile-table td:nth-child(2){min-width:300px!important;max-width:460px!important}
  .equipment-profile-table th:nth-child(3),
  .equipment-profile-table td:nth-child(3){min-width:260px!important;max-width:390px!important}
  .equipment-profile-table .equipment-identity,
  .equipment-profile-table .equipment-identity div{min-width:0;max-width:100%}
}

@media(max-width:760px){
  .field-rules-table,.dropdown-list-table{
    width:max-content!important;
    min-width:900px!important;
    table-layout:auto!important;
  }
}
.searchable-select{position:relative;min-width:0}
.searchable-select .select-search-input{width:100%;box-sizing:border-box}
.searchable-select .select-search-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:0;bottom:0}
.select-search-results{position:absolute;z-index:1100;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #b6cfc1;border-radius:8px;box-shadow:0 8px 22px #183d2933}
.select-search-results[hidden]{display:none}
#assetPrinterFields[hidden]{display:none!important}
.inline-master-manage{margin-top:6px;align-self:flex-start;font-size:12px;padding:5px 9px}
.inline-master-modal{position:fixed;inset:0;z-index:10050;background:#0006;display:grid;place-items:center;padding:16px}
#assetBatchModal input[type=checkbox]{width:20px;height:20px;min-height:20px;vertical-align:middle}
#assetBatchModal label{display:block;margin-bottom:6px}
.inline-master-panel{width:440px;max-width:100%;max-height:90vh;overflow:auto;padding:20px;border-radius:16px;background:#fff;color:#1d2636;box-shadow:0 20px 60px #0004}
.inline-master-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.inline-master-head h3{margin:0;font-size:18px}
.inline-master-rows{max-height:230px;overflow:auto;margin-bottom:15px}
.inline-master-rows>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #dbe2ea}
.inline-master-panel input,.inline-master-panel select{width:100%;min-height:44px;font-size:16px}
.select-search-option{display:block;width:100%;padding:9px 12px;text-align:left;border:0;background:#fff;color:#193d2b;cursor:pointer;white-space:normal}
.select-search-option:hover,.select-search-option:focus{background:#e6f4e9}
.select-search-empty{padding:10px;color:#697b70}

/* Username feedback for Computer User forms. */
.username-suggestion-help{display:block;margin-top:5px;color:#627985;font-size:12px}
.username-suggestion-help.username-suggestion-error{color:#b53434;font-weight:700}
.username-suggest-btn{margin-top:6px;align-self:flex-start;font-size:12px}

/* Mobile toner issue: readable counter entry and an easy-to-tap save action. */
.printer-counter-field{grid-column:1/-1}
.printer-counter-field small{display:block;margin-top:5px;color:var(--muted,#647168)}
@media(max-width:760px){
  #dataForm[data-entity="__inventory_move"] #linkedAssetSelect,
  #dataForm[data-entity="__inventory_move"] .printer-counter-field input{width:100%;min-height:48px;font-size:16px}
  #dataForm[data-entity="__inventory_move"] .form-actions{display:flex;gap:10px;flex-wrap:wrap}
  #dataForm[data-entity="__inventory_move"] .form-actions button{flex:1;min-height:48px}
}
#printerLocationSummary .printer-location-summary{margin:12px 0;padding:16px}
#printerLocationSummary summary{cursor:pointer}
#printerLocationSummary p{font-size:13px;margin:10px 0}
#printerLocationSummary button{min-height:44px;white-space:normal;text-align:left}
#printerlocations .printer-menu-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
#printerlocations .printer-menu-filters label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px}
#printerlocations .printer-menu-filters input,#printerlocations .printer-menu-filters select{font:inherit;min-height:44px;padding:10px;border:1px solid #dbe2ea;border-radius:8px;width:100%}
[data-filter-choice-hidden="1"]{display:none!important}
.filter-choice-menu{position:relative;align-self:flex-end;min-width:130px}
.filter-choice-menu>summary{cursor:pointer;padding:10px 14px;border:1px solid #c9d8d5;border-radius:8px;min-height:44px;background:#fff;color:#173e35;list-style:none}
.filter-choice-panel{position:fixed;inset:auto;z-index:10050;width:360px;max-width:calc(100vw - 16px);max-height:65vh;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;margin:0;padding:16px;background:#fff;box-shadow:0 8px 24px #0003;border:1px solid #c9d8d5;border-radius:10px;color:#173e35}
.filter-choice-panel[hidden]{display:none!important}
.filter-choice-panel::backdrop{background:transparent;pointer-events:none}
.filter-choice-panel>label{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;min-height:44px;min-width:0;max-width:none;margin:0;width:100%;white-space:normal}
.filter-choice-panel>label span{overflow-wrap:anywhere}
.filter-choice-panel input[type="checkbox"]{flex:0 0 20px;min-height:20px}
.filter-choice-panel input[type="checkbox"]{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px;padding:0}
:root .field-input-guidance{display:block;margin-top:5px;font-size:.85rem;line-height:1.5;color:var(--muted,#52616b);}
.nav-secondary{margin:5px 0;padding:4px;border-left:2px solid currentColor;border-radius:4px;}
.nav-secondary summary{cursor:pointer;padding:9px 7px;font-size:.85rem;line-height:1.4;}
.nav-secondary .nav-item{font-size:.9rem;}
.save-validation-errors{white-space:pre-line;padding:12px 16px;margin:0 0 14px;border:1px solid #b42318;border-radius:8px;background:#fff1f0;color:#8a1c13;line-height:1.65}
