/* Usability layer: preserve the existing modules and their permission states. */
:root{--muted:#596b7e}
[hidden]{display:none!important}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #167f88;outline-offset:3px}
.sidebar .nav-item{min-height:46px;padding:12px 13px}
.sidebar .nav-item b{font-size:14px;line-height:1.35}
.sidebar .nav-label{font-size:10px;letter-spacing:.1em}
.sidebar .nav-item i{font-size:11px}
.sidebar .promo small{font-size:11px;line-height:1.55}
.sidebar .promo b{font-size:13px}
.sidebar .user-row b{font-size:13px}
.sidebar .user-row small{font-size:11px}
.main .eyebrow,.modal .eyebrow{font-size:11px;letter-spacing:.09em}
.main .section-tools h2,.dashboard-welcome-simple h2{font-size:30px}
.main .section-tools p,.dashboard-welcome-simple p,.panel-head p,.modal-head p{font-size:13px;line-height:1.6}
.main .btn,.modal .btn,.auth-form .btn{min-height:44px;font-size:13px;padding:12px 16px}
.row-btn,.text-btn,.chip,.icon-btn,.round-btn{min-height:42px;font-size:12px}
.icon-btn,.round-btn{min-width:42px}
.main .chip{padding:9px 13px;line-height:1.3}
.main .chip.active{background:#173c50;color:#fff}
.main .status,.main .muted,.main .inventory-pill{font-size:11px;line-height:1.5}
.main table th{font-size:11px;letter-spacing:.035em;padding-block:14px}
.main table td{font-size:13px;padding-block:17px}
.main .asset-cell b,.main .company-name{font-size:14px}
.main .asset-cell small{font-size:11px;line-height:1.45}
.asset-photo.asset-placeholder{display:grid;place-items:center;background:#eaf3f5;border:1px solid #d4e5e9;overflow:hidden}
.asset-placeholder>span{font-size:20px;letter-spacing:-.02em;font-weight:750;color:#326476}
.asset-placeholder.vehicle{background:#f4eee3;border-color:#e8dcc5}
.asset-placeholder.vehicle>span{color:#81612e}
.asset-placeholder.industrial{background:#e9edf5;border-color:#d6dfed}
.asset-placeholder.industrial>span{color:#3b5684}
.main .top-title h1{font-size:22px}
.main .top-title span{font-size:10px}
.top-user b{font-size:13px}
.top-user small{font-size:11px}
.search input{font-size:14px;min-height:44px}
.dashboard-executive-grid.single-summary{grid-template-columns:1fr}
.simple-kpi-grid{gap:16px}
.kpi.simple-kpi{min-height:135px;padding:23px 19px}
.simple-kpi strong{font-size:34px}
.simple-kpi span{font-size:13px}
.simple-kpi small{font-size:11px;margin-top:9px}
.executive-summary-card{padding:24px}
.executive-card-head h3,.simple-panel-head h3{font-size:20px}
.executive-card-head p,.simple-panel-head p{font-size:12px}
.operation-total strong{font-size:39px}
.operation-total span{font-size:13px}
.operation-status-list{gap:11px}
.operation-status-list button{min-height:54px;padding:12px 14px}
.operation-status-list span{font-size:13px}
.operation-status-list b{font-size:20px}
.post-sales-overview span{font-size:10px;line-height:1.5}
.post-sales-overview b{font-size:26px;overflow-wrap:anywhere}
.post-sales-overview small{font-size:11px}
.tagvera-impact span{font-size:11px;letter-spacing:.06em}
.tagvera-impact strong{font-size:36px;overflow-wrap:anywhere}
.tagvera-impact small{font-size:12px}
.metric-explanation{color:#526d66;font-size:11px;line-height:1.5;margin:12px 0 0}
.simple-dashboard-table td b{font-size:13px}
.simple-dashboard-table td small,.simple-due-state{font-size:11px}
.simple-dashboard-table tbody tr{cursor:default}
.simple-dashboard-table td:last-child{display:table-cell}
.simple-quick-actions button{padding:16px;min-height:75px}
.simple-quick-actions b{font-size:13px}
.simple-quick-actions small{font-size:11px;line-height:1.5}
.main .end-client-card p,.main .company-card p,.main .reminder-card p{font-size:12px;line-height:1.6}
.main .end-client-card small,.main .company-card small{font-size:11px}
.main .agenda-event{font-size:12px;min-height:44px}
.main .agenda-toolbar button{min-height:42px;font-size:12px}
.main .opportunity-card p,.main .opportunity-card small{font-size:12px}
.asset-view-controls{max-width:730px}
.asset-view-controls .chips{flex-wrap:wrap;justify-content:flex-end;gap:7px}
.asset-search-tools{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;margin:4px 0 18px}
.asset-search-tools label{font-size:12px;font-weight:700;flex:1;max-width:560px}
.asset-search-tools input{display:block;width:100%;border:1px solid #c7d5df;border-radius:10px;padding:13px 14px;background:#fff;font-size:14px;margin-top:7px;min-height:46px;color:var(--ink)}
.asset-search-tools>div{display:flex;align-items:flex-end;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.asset-search-tools .text-btn{font-size:11px;min-height:30px}
.empty b{font-size:16px}
.empty p{font-size:13px;font-weight:400;max-width:470px;margin:12px auto 18px;line-height:1.6}
.modal{padding:26px}
.modal-head h2{font-size:25px}
.modal label,.auth-form label{font-size:13px;line-height:1.5}
.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea,.auth-form input{font-size:14px;min-height:44px}
.modal small,.modal .form-hint,.modal .field-help{font-size:11px;line-height:1.55}
.modal .form-section-title{font-size:14px}
.modal-actions{position:sticky;bottom:-26px;background:#fff;border-top:1px solid #dce5ec;padding:16px 0 8px;z-index:2}
.modal-head .icon-btn{font-size:26px;flex-shrink:0}
.auth-form>p{font-size:14px}
.auth-note{font-size:12px;line-height:1.6}
.auth-home-link{display:block;font-size:13px;color:var(--brand-dark);margin-top:21px;text-align:center}
.password-toggle{font-size:11px;border:0;color:var(--brand-dark);background:#edf5f5;border-radius:6px;min-height:32px;padding:5px 10px;margin-top:5px}
.required-mark{color:#a43d3d;margin-left:4px}
.required-note{font-size:11px;color:var(--muted);margin:10px 0 16px}
.toast{font-size:14px;line-height:1.5;max-width:min(480px,calc(100vw - 32px));padding:15px 20px;z-index:100}
.sidebar-overlay,.sidebar-close{display:none}
body.dialog-open{overflow:hidden}
@media(max-width:1100px){.section-tools{align-items:flex-start;flex-direction:column;gap:18px}.asset-view-controls{width:100%;max-width:none}.asset-view-controls .chips{justify-content:flex-start}.dashboard-executive-grid{grid-template-columns:1fr}.simple-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-inline:20px}}
@media(max-width:780px){
  .main{padding-inline:16px}.sidebar{width:280px;left:-300px;z-index:70;max-width:85vw;height:100dvh}.sidebar.open{left:0}
  .sidebar-close{display:block;align-self:flex-end;background:#ffffff12;color:#fff;border:1px solid #ffffff30;border-radius:6px;font-size:12px;padding:9px 12px;min-height:40px;margin-bottom:12px}
  .sidebar-overlay:not([hidden]){display:block;position:fixed;inset:0;border:0;background:#05172599;z-index:60}
  body.sidebar-visible{overflow:hidden}
  .mobile-menu{width:44px;height:44px;font-size:20px;flex:none}
  .topbar{gap:10px;min-height:78px}
  .topbar .btn{font-size:12px;padding-inline:12px}
  .top-user-menu-button{min-height:44px}
  .modal-actions{bottom:-18px;flex-wrap:wrap;gap:8px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .modal-actions>.btn{flex:1;min-width:120px}
  .modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea,.auth-form input,.asset-search-tools input{font-size:16px}
  .asset-search-tools{align-items:stretch;flex-direction:column;gap:12px}
  .asset-search-tools label{max-width:none}
  .asset-search-tools>div{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
  .simple-dashboard-table td:last-child{display:table-cell}
}
@media(max-width:600px){
  .main{padding-inline:12px}.main .section-tools h2,.dashboard-welcome-simple h2{font-size:27px}
  .simple-kpi-grid{gap:10px}.kpi.simple-kpi{padding:18px 14px;min-height:128px}.simple-kpi strong{font-size:30px}.simple-kpi span{font-size:12px}
  .executive-summary-card{padding:20px}.executive-card-head h3{font-size:19px}.operation-total strong{font-size:34px}.operation-status-list{grid-template-columns:1fr}
  .post-sales-overview{grid-template-columns:1fr}.tagvera-impact strong{font-size:31px}
  .simple-dashboard-table td:last-child{display:block;grid-column:1/-1;text-align:left}.simple-dashboard-table td:last-child .row-btn{width:100%}
  #assetsView .table-panel{background:transparent;border:0;box-shadow:none}
  #assetsView .table-wrap{overflow:visible}
  #assetsView table,#assetsView tbody{display:block;width:100%;min-width:0}
  #assetsView thead{display:none}
  #assetsView tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:14px;padding:18px}
  #assetsView tbody td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere;text-align:left}
  #assetsView tbody td:before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:6px;font-weight:700}
  #assetsView tbody td:not([data-label]):before{display:none}
  #assetsView .asset-cell{grid-column:1/-1;display:flex}
  #assetsView td:nth-child(2){grid-column:1/-1}
  #assetsView td:nth-child(5){display:flex;align-items:center}
  #assetsView td:last-child .table-row-actions{display:flex;flex-direction:column;gap:8px}
  #assetsView .qr-mini{width:68px;height:68px}
  #assetsView .empty{grid-column:1/-1;text-align:center;padding:16px 0}
  .modal{padding:20px 16px}.modal-head h2{font-size:23px}
  .auth-form{padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
