.assets-module .ph1{background:var(--accent-glow);color:var(--accent)}.assets-module .ph2{background:var(--green-dim);color:var(--green)}.assets-module .ph3{background:var(--purple-dim);color:var(--purple)}
.assets-module .btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--rs);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:var(--t)}
.assets-module .btn-p{background:var(--accent);color:#05121f}.assets-module .btn-p:hover{background:#5dbce0}
.assets-module .btn-g{background:transparent;color:var(--text-2);border:1px solid var(--border)}.assets-module .btn-g:hover{border-color:var(--accent-dim);color:var(--text)}
.assets-module .btn-d{background:var(--red-dim);color:var(--red);border:1px solid rgba(240,82,98,.3)}
.assets-module .card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:20px}
.assets-module .card-sm{padding:14px 16px}
.assets-module .ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.assets-module .ct{font-size:13px;font-weight:700}.assets-module .cs{font-size:11px;color:var(--text-2);margin-top:2px}
.assets-module .grid{display:grid;gap:16px}
.assets-module .g2{grid-template-columns:1fr 1fr}.assets-module .g3{grid-template-columns:1fr 1fr 1fr}.assets-module .g4{grid-template-columns:repeat(4,1fr)}
.assets-module .g12{grid-template-columns:1fr 2fr}.assets-module .g21{grid-template-columns:2fr 1fr}
.assets-module .kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px 20px;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.assets-module .kpi:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}
.assets-module .kpi::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.assets-module .kpi-bl::before{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.assets-module .kpi-gr::before{background:linear-gradient(90deg,var(--green),var(--green-2))}.assets-module .kpi-am::before{background:linear-gradient(90deg,var(--amber),var(--amber-2))}.assets-module .kpi-rd::before{background:linear-gradient(90deg,var(--red),var(--red-2))}.assets-module .kpi-pu::before{background:linear-gradient(90deg,var(--purple),var(--purple-2))}
.assets-module .kpi-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;margin:4px 0 14px;color:#fff}
.assets-module .kpi-bl .kpi-ic{background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;color:#fff !important}.assets-module .kpi-gr .kpi-ic{background:linear-gradient(135deg,var(--green),var(--green-2)) !important;color:#fff !important}.assets-module .kpi-am .kpi-ic{background:linear-gradient(135deg,var(--amber),var(--amber-2)) !important;color:#fff !important}.assets-module .kpi-rd .kpi-ic{background:linear-gradient(135deg,var(--red),var(--red-2)) !important;color:#fff !important}.assets-module .kpi-pu .kpi-ic{background:linear-gradient(135deg,var(--purple),var(--purple-2)) !important;color:#fff !important}
.assets-module .kpi-v{font-size:20px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.assets-module .kpi-l{font-size:11px;color:var(--text-2);margin-top:5px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.assets-module .kpi-tr{font-size:10.5px;margin-top:10px;display:inline-flex;align-items:center;gap:3px;font-weight:700;padding:2px 9px;border-radius:999px}
.assets-module .tr-up{background:var(--green-dim);color:var(--green)}.assets-module .tr-dn{background:var(--red-dim);color:var(--red)}.assets-module .tr-ne{background:var(--bg-hover);color:var(--text-2)}
.assets-module .tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--border)}
.assets-module table{width:100%;border-collapse:collapse;font-size:12px}
.assets-module thead tr{background:var(--bg-hover)}
.assets-module th{padding:14px 16px;text-align:start;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text);text-transform:uppercase;border-bottom:1px solid var(--border)}
.assets-module td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text)}
.assets-module tr:last-child td{border-bottom:none}
.assets-module .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700}
.assets-module .b-gr{background:var(--green-dim);color:var(--green)}.assets-module .b-rd{background:var(--red-dim);color:var(--red)}
.assets-module .b-am{background:var(--amber-dim);color:var(--amber)}.assets-module .b-bl{background:var(--accent-glow);color:var(--accent)}
.assets-module .b-pu{background:var(--purple-dim);color:var(--purple)}.assets-module .b-tl{background:var(--teal-dim);color:var(--teal)}.assets-module .b-gy{background:rgba(255,255,255,.06);color:var(--text-2)}
.assets-module .av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.assets-module .av-bl{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none}
.assets-module .av-gr{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff}.assets-module .av-pu{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff}
.assets-module .av-am{background:linear-gradient(135deg,var(--amber),var(--amber-2));color:#fff}.assets-module .av-tl{background:linear-gradient(135deg,var(--teal),var(--teal-2));color:#fff}
.assets-module .av-lg{width:48px;height:48px;font-size:17px}
.assets-module .fg{margin-bottom:14px}
.assets-module label{display:block;font-size:11px;font-weight:600;color:var(--text-2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}
.assets-module input, .assets-module select, .assets-module textarea{width:100%;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--rs);padding:9px 12px;font-size:12.5px;color:var(--text);outline:none;transition:var(--t);font-family:inherit}
.assets-module input:focus, .assets-module select:focus, .assets-module textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.assets-module select option{background:var(--bg-card)}
.assets-module .ov{position:fixed;inset:0;background:rgba(7,13,26,.85);z-index:1050;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.assets-module .modal{position:relative;top:auto;left:auto;display:block;height:auto;overflow-x:visible;background:var(--bg-card);border:1px solid var(--border-lt);border-radius:14px;width:min(560px,92vw);max-height:85vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.assets-module .mh{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.assets-module .mt{font-size:14px;font-weight:700}
.assets-module .mc-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:var(--t)}
.assets-module .mc-btn:hover{background:var(--red-dim);color:var(--red)}
.assets-module .mb{padding:20px 24px}.assets-module .mf{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
.assets-module .pb{height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.assets-module .pf{height:100%;border-radius:3px;transition:width .4s ease}
.assets-module .tl{position:relative;padding-left:24px}
.assets-module .tl::before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:1px;background:var(--border)}
.assets-module .tli{position:relative;margin-bottom:16px}
.assets-module .tld{position:absolute;left:-21px;top:3px;width:10px;height:10px;border-radius:50%;border:2px solid}
.assets-module .tl-gr .tld{border-color:var(--green);background:var(--green-dim)}
.assets-module .tl-bl .tld{border-color:var(--accent);background:var(--accent-glow)}
.assets-module .tl-am .tld{border-color:var(--amber);background:var(--amber-dim)}
.assets-module .tll{font-size:11.5px;font-weight:600}.assets-module .tlm{font-size:10.5px;color:var(--text-2);margin-top:2px}
.assets-module .ob{background:var(--bg-card);border:1px solid var(--border-lt);border-radius:8px;padding:10px 14px;min-width:100px;text-align:center;transition:var(--t);cursor:pointer}
.assets-module .ob:hover{border-color:var(--accent)}.assets-module .ob.root{border-color:var(--accent);background:var(--accent-glow)}
.assets-module .on{font-size:11.5px;font-weight:700}.assets-module .os{font-size:10px;color:var(--text-2);margin-top:2px}
.assets-module .bc{display:flex;flex-direction:column;gap:8px}
.assets-module .bcr{display:flex;align-items:center;gap:10px}
.assets-module .bcl{font-size:11px;color:var(--text-2);width:90px;flex-shrink:0;text-align:right}
.assets-module .bct{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.assets-module .bcf{height:100%;border-radius:4px}
.assets-module .bcv{font-size:11px;font-weight:700;width:38px;flex-shrink:0}
.assets-module .sc{padding:6px 4px;border-radius:4px;font-size:10px;font-weight:600;text-align:center;cursor:pointer;transition:var(--t)}
.assets-module .sc-d{background:var(--green-dim);color:var(--green)}.assets-module .sc-n{background:var(--purple-dim);color:var(--purple)}
.assets-module .sc-o{background:var(--border);color:var(--text-3)}.assets-module .sc-l{background:var(--amber-dim);color:var(--amber)}
.assets-module .sh{font-size:9.5px;color:var(--text-3);text-align:center;padding:4px 2px}
.assets-module .lc{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.assets-module .lch{font-size:9.5px;font-weight:700;color:var(--text-3);text-align:center;padding:4px}
.assets-module .lcd{padding:6px 4px;border-radius:5px;font-size:11px;text-align:center;cursor:pointer;transition:var(--t);position:relative}
.assets-module .lcd:hover{background:var(--bg-hover)}.assets-module .lcd.tod{background:var(--accent-glow);color:var(--accent);font-weight:700}
.assets-module .lcd.onl{background:var(--amber-dim);color:var(--amber)}
.assets-module .di{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.assets-module .di:last-child{border-bottom:none}
.assets-module .dico{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.assets-module .pb2{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-hover) 100%);border:1px solid var(--border-lt);border-radius:var(--r);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:14px}
.assets-module .pn{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;flex-shrink:0}
.assets-module #toast{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}
.assets-module .ti{background:var(--bg-card);border:1px solid var(--border-lt);border-radius:9px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.4);display:flex;align-items:center;gap:10px;font-size:12.5px;min-width:260px;animation:sIn .25s ease}
@keyframes sIn{from{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}
.assets-module .t-s{border-left:3px solid var(--green)}.assets-module .t-e{border-left:3px solid var(--red)}.assets-module .t-i{border-left:3px solid var(--accent)}
.assets-module .div{height:1px;background:var(--border);margin:16px 0}
.assets-module .tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600;background:var(--bg-hover);color:var(--text-2);border:1px solid var(--border)}
.assets-module .er{display:flex;align-items:center;gap:10px}
.assets-module .st{font-size:18px;font-weight:800;margin-bottom:4px}
.assets-module .ss{font-size:12px;color:var(--text-2);margin-bottom:20px}
.assets-module .ir{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}
.assets-module .ir:last-child{border-bottom:none}
.assets-module .il{color:var(--text-2);font-weight:600}.assets-module .iv{color:var(--text);text-align:right}
.assets-module .ab{border-radius:var(--rs);padding:10px 14px;font-size:12px;display:flex;align-items:flex-start;gap:9px;margin-bottom:14px}
.assets-module .ab-r{background:var(--red-dim);border:1px solid rgba(240,82,98,.25);color:var(--red)}
.assets-module .ab-a{background:var(--amber-dim);border:1px solid rgba(245,166,35,.25);color:var(--amber)}
.assets-module .ab-b{background:var(--accent-glow);border:1px solid rgba(74,175,214,.25);color:var(--accent)}

[dir="rtl"] .assets-module th, [dir="rtl"] .assets-module td { text-align: right !important; }
[dir="ltr"] .assets-module th, [dir="ltr"] .assets-module td { text-align: left !important; }

.assets-module .search-result:hover{background:var(--bg-hover)}
.assets-module .import-progress-track{width:100%;height:7px;background:var(--border);border-radius:4px;overflow:hidden;position:relative}
.assets-module .import-progress-fill{position:absolute;top:0;bottom:0;left:0;background:var(--accent);border-radius:4px;transition:width .2s ease}
.assets-module .import-progress-fill.import-progress-indeterminate{width:35%;left:-35%;animation:assetsImportIndeterminate 1.1s ease-in-out infinite;transition:none}
@keyframes assetsImportIndeterminate{0%{left:-35%}100%{left:100%}}
[x-cloak]{display:none!important}

/* Small screens (handheld scanners, phones) — the base .g2/.g3/.g4 grid classes have no
   built-in breakpoint anywhere in the app, so on a ~360-400px wide device browser a 3-up
   grid (e.g. the stocktake Found/Missing/Misplaced panels) squeezes each column unreadably
   thin. Stack to one column instead. */
@media (max-width: 720px) {
    .assets-module .grid.g2,
    .assets-module .grid.g3,
    .assets-module .grid.g4 { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    /* Bootstrap's px-3/px-lg-4 utilities on the page's root container are !important,
       so overriding them needs !important too, not just higher specificity. */
    .assets-module.container-fluid { padding-left: 10px !important; padding-right: 10px !important; }
    .assets-module .card { padding: 14px; }
    .assets-module table { font-size: 11.5px; }
}


/* Asset Register row-detail view (assets::livewire.assets-register-index, $view === 'detail') */
.assets-module .meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}
.assets-module .meta .l{font-size:10px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}
.assets-module .meta .v{font-size:13px;font-weight:600;margin-top:3px;color:var(--text)}
.assets-module .tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:18px 0 16px}
.assets-module .tabs button{background:none;border:none;color:var(--text-2);padding:9px 14px;font-size:13px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.assets-module .tabs button.on{color:var(--text);border-bottom-color:var(--accent)}
.assets-module .detail-qr svg{width:100%;height:100%;display:block}
@media (max-width:720px){.assets-module .meta-grid{grid-template-columns:1fr}}

/* Dashboard vertical bar chart (assets::livewire.assets-dashboard-index, Value by Department) */
.assets-module .bar-h{display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:10px}
.assets-module .bar-h .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.assets-module .bar-h .b .fill{width:100%;background:linear-gradient(180deg,var(--accent-2),var(--accent));border-radius:6px 6px 0 0;min-height:4px}
.assets-module .bar-h .b .cap{font-size:11px;color:var(--text-2);text-align:center}
.assets-module .bar-h .b .num{font-size:12px;font-weight:700}
