/* OTOVERA Enterprise UI V1
   Sales CRM V2 compatible. CSS-only visual treatment; no navigation/business changes.
   Optional local Nouvel R files may already exist from a previous font installation.
*/
@font-face{font-family:"Nouvel R";font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/NouvelR-Regular.ttf') format('truetype')}
@font-face{font-family:"Nouvel R";font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/NouvelR-Semibold.ttf') format('truetype')}
@font-face{font-family:"Nouvel R";font-style:normal;font-weight:700;font-display:swap;src:url('/static/fonts/NouvelR-Bold.ttf') format('truetype')}
:root{
 --ent-font:"Nouvel R","Segoe UI",Arial,sans-serif;
 --ent-bg:#f1f3f6;--ent-paper:#fff;--ent-ink:#223248;--ent-muted:#66788b;
 --ent-stroke:#d8e0e8;--ent-stroke-strong:#c3cfdd;--ent-blue:#245f94;
 --ent-blue-deep:#174c7a;--ent-blue-soft:#eaf2f9;--ent-focus:#367db5;
 --ent-radius:7px;--ent-cardshadow:0 2px 12px rgba(34,50,72,.035);
 --erp-canvas:var(--ent-bg);--erp-sidebar:#e9eef3;--erp-accent:var(--ent-blue);
 --ink:var(--ent-ink);--muted:var(--ent-muted);
 --line:var(--ent-stroke);--blue:var(--ent-blue);
 color-scheme:light;
 font-family:var(--ent-font)!important;
}
html,body,button,input,select,textarea,option,table,th,td,label,dialog{
 font-family:var(--ent-font)!important;
}
html{background:var(--ent-bg)!important}
body{color:var(--ent-ink)!important;font-size:13.5px!important;letter-spacing:.004em!important;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-size:13px!important}
button{font-weight:600!important}
h1,h2,h3,h4,h5,h6,.page-head h1,.crm-heading h1,.lead h1,.panel h2,.panel h3,
.dialog-top h2,.brand-block span,.sidebar,.topbar,.tabs button,
.crm-layout h1,.crm-layout h2,.crm-layout h3{font-family:var(--ent-font)!important}
h1,.page-head h1,.crm-heading h1,.lead h1{font-weight:700!important;letter-spacing:-.025em!important}
h2,h3,.panel-head h2,.panel-head h3{font-weight:700!important;letter-spacing:-.01em!important}
strong,b,th{font-weight:600!important}
p{line-height:1.5!important}
:where(button,a,input,select,textarea):focus-visible{
 outline:2px solid var(--ent-focus)!important;outline-offset:2px!important
}
:where(button,input,select,textarea):disabled{cursor:not-allowed!important;opacity:.65}
::selection{background:#d8eafa;color:#153c60}
/* Main application frame; preserve fixed mobile menu behavior. */
.shell{background:var(--ent-bg)!important}
.shell .sidebar{background:#e9eef3!important;border-right:1px solid #ccd6e0!important;box-shadow:none!important}
.sidebar .brand-block{background:#fafbfc!important;min-height:82px!important;border-bottom:1px solid var(--ent-stroke)!important;
 box-shadow:inset 0 3px 0 #245f94!important}
.sidebar .brand-block span{color:#6a7e93!important;font-size:10.5px!important;letter-spacing:.025em!important}
.sidebar #nav{scrollbar-color:#bdcbd9 transparent!important}
#nav .erp-nav-group{margin-bottom:5px!important}
#nav .erp-nav-head{font-size:12px!important;min-height:37px!important;height:auto!important;
 border-radius:5px!important;font-weight:700!important;color:#344e67!important;padding:7px 10px!important}
#nav .erp-nav-head:hover{background:#dfe8f0!important;color:#1b537d!important}
#nav .erp-nav-head.has-active{background:#dfeaf4!important;color:#154d7d!important}
#nav .erp-nav-items{margin:2px 0 8px 12px!important;padding-left:8px!important;border-left-color:#c8d4e1!important}
#nav .erp-nav-item,#nav button[data-page]{font-size:12.3px!important;min-height:34px!important;
 border-radius:5px!important;padding:8px 10px!important;line-height:1.25!important}
#nav .erp-nav-item:hover,#nav button[data-page]:hover{background:#e0eaf3!important;color:#184b74!important}
#nav .erp-nav-item.active,#nav button[data-page].active{background:#d9e9f6!important;
 color:#134b78!important;border-color:#c2d8ec!important;box-shadow:inset 3px 0 #24679f!important}
#nav .nav-label{overflow-wrap:anywhere}
.side-bottom{background:#e3eaf1!important;border-top:1px solid #cdd8e3!important}
/* Header and workspace hierarchy */
.workspace{background:var(--ent-bg)!important}
.topbar{height:62px!important;min-height:62px!important;padding:0 19px!important;background:#fff!important;
 border-bottom:1px solid var(--ent-stroke)!important;box-shadow:0 2px 8px rgba(25,45,70,.025)!important}
.global-search{height:38px!important;min-height:38px!important;border-radius:6px!important;
 border:1px solid #d1dce6!important;background:#f8fafc!important}
.global-search:focus-within{border-color:#8bb5d8!important;box-shadow:0 0 0 3px #dceaf7!important}
.global-search input{font-size:12.5px!important}
.topbar-status{gap:4px!important}
.status-chip{border-radius:6px!important;padding:7px 8px!important;min-height:39px!important}
.status-chip:hover{background:#f1f6fa!important}
.status-chip span:not(.status-icon){font-size:10px!important}
.status-chip strong{font-size:12px!important;color:#263e54!important}
.status-icon,.icon-button{border-radius:6px!important}
.icon-button{min-height:35px!important;height:35px!important;width:35px!important;
 border-color:var(--ent-stroke)!important}
.pro-workbar,.otovera-full-workbar{background:#edf1f5!important;height:32px!important;min-height:32px!important;
 letter-spacing:.07em!important;font-size:10px!important;color:#516a82!important}
.content{background:var(--ent-bg)!important;padding:20px 22px 32px!important}
.page-head{min-height:84px!important;background:#fff!important;margin-bottom:16px!important;
 padding:15px 20px!important;border:1px solid var(--ent-stroke)!important;
 border-left:3px solid var(--ent-blue)!important;border-radius:var(--ent-radius)!important;
 box-shadow:var(--ent-cardshadow)!important}
.page-head h1{font-size:22px!important;color:#1e3750!important}
.page-subtitle{font-size:12px!important;color:var(--ent-muted)!important}
.breadcrumb,.page-head .breadcrumb{font-size:10.5px!important;letter-spacing:.035em!important}
.date-chip{font-size:11px!important;color:#65778c!important}
/* KPI metrics, modules and panels */
.cards,.dashboard-cards,.cash-cards{gap:12px!important;margin-bottom:16px!important}
.card,.stat{min-height:104px!important;padding:17px 17px!important;border-radius:var(--ent-radius)!important;
 border:1px solid var(--ent-stroke)!important;border-left:3px solid #8aacc9!important;
 box-shadow:var(--ent-cardshadow)!important;background:#fff!important}
.card span,.stat>span{font-size:11px!important;color:#687d91!important;font-weight:600!important}
.card strong,.stat b{font-size:23px!important;font-weight:700!important;line-height:1.27!important;color:#1b425f!important}
.card small,.stat small{font-size:10px!important;color:#8394a5!important}
.card.accent,.card:first-child,.stat:first-child{border-left-color:#245f94!important}
.panel,.panel.wide,.profile-card,.vehicle-detail,.quick-actions-panel{background:var(--ent-paper)!important;
 border:1px solid var(--ent-stroke)!important;border-radius:var(--ent-radius)!important;
 box-shadow:var(--ent-cardshadow)!important;overflow:visible!important}
.panel{margin-bottom:14px!important}
.panel-head,.panel .panel-head,.vehicle-detail>.panel-head{min-height:48px!important;
 border-bottom:1px solid #e1e7ee!important;background:#fafbfd!important;
 padding:12px 16px!important;border-radius:var(--ent-radius) var(--ent-radius) 0 0!important}
.panel-head h2,.panel .panel-head h2{font-size:13.5px!important;color:#2c435c!important}
.panel-head .muted,.panel-head span{font-size:11px!important}
/* Dense but readable table hierarchy */
table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;
 font-size:12.5px!important;font-variant-numeric:tabular-nums}
thead th,th{background:#eef3f7!important;border-bottom:1px solid #cdd9e4!important;
 color:#49627b!important;font-size:11px!important;line-height:1.4!important;
 padding:11px 12px!important;font-weight:700!important;letter-spacing:.01em!important}
tbody td,td{font-size:12px!important;line-height:1.45!important;padding:10px 12px!important;
 border-bottom:1px solid #e6ecf2!important;color:#31485d!important}
tbody tr:nth-child(even)>td{background:#fcfdfe!important}
tbody tr:hover>td{background:#edf5fc!important}
td strong{font-size:12px!important;font-weight:700!important;color:#243c52!important}
.table-scroll,.scroll,.stock-table-wrap{scrollbar-width:thin!important;scrollbar-color:#b9cada transparent!important}
/* Inputs, actions, toolbars */
label{font-size:12px!important;font-weight:600!important;color:#40566c!important;line-height:1.4!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:13px!important;
 min-height:38px!important;border:1px solid #cad5df!important;border-radius:6px!important;
 padding:8px 11px!important;background:#fff!important;color:#263e55!important;
 box-shadow:none!important}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{
 border-color:#578bb6!important;outline:0!important;box-shadow:0 0 0 3px #e3eff8!important}
input[type=checkbox],input[type=radio]{accent-color:var(--ent-blue)!important}
button.primary,.primary{background:var(--ent-blue)!important;border:1px solid #1d578a!important;
 min-height:38px!important;padding:8px 14px!important;color:#fff!important;
 border-radius:6px!important;font-size:12.3px!important;box-shadow:none!important}
button.primary:hover,.primary:hover{background:var(--ent-blue-deep)!important;border-color:#164571!important}
button.quiet,.quiet,button.secondary,.secondary{min-height:38px!important;padding:8px 13px!important;
 border:1px solid #c8d5e1!important;border-radius:6px!important;background:#fff!important;
 color:#355571!important;font-size:12.3px!important}
button.quiet:hover,.quiet:hover,button.secondary:hover,.secondary:hover{background:#f3f8fb!important;border-color:#a9c4d9!important}
button.danger,.danger{min-height:36px!important;border-radius:6px!important;
 padding:8px 12px!important;font-size:12px!important}
button.small,.small{min-height:30px!important;font-size:11px!important;padding:5px 10px!important}
.toolbar,.vehicle-filter,.statement-filters,.chart-toolbar{border:1px solid var(--ent-stroke)!important;
 border-radius:var(--ent-radius)!important;padding:12px 14px!important;background:#fafbfd!important}
/* Tabs use familiar enterprise underlined selection, not decorative pills */
.tabs,.tabbar,.tab-bar{border-bottom:1px solid var(--ent-stroke-strong)!important;gap:3px!important}
.tabs button,.tabbar button,.tab-bar button{font-size:12px!important;min-height:38px!important;
 font-weight:600!important;letter-spacing:0!important}
.tabs button.active,.tabs button[aria-selected=true],.tabbar button.active,.tab-bar button.active{
 color:#195985!important;border-bottom:2px solid var(--ent-blue)!important;font-weight:700!important}
/* Modals and login */
dialog{border:1px solid #d2deea!important;border-radius:10px!important;
 box-shadow:0 22px 60px rgba(23,42,65,.19)!important}
dialog::backdrop{background:rgba(23,39,58,.49)!important}
.dialog-top,.dialog-header{border-bottom:1px solid #e0e7ef!important;padding-bottom:14px!important}
.dialog-top h2,.dialog-header h2{font-size:17px!important;color:#213d55!important}
.dialog-kicker,.eyebrow{font-size:10.5px!important;letter-spacing:.075em!important;font-weight:700!important;color:#51718c!important}
.dialog-actions,.dialog-footer{border-top:1px solid #e0e7ef!important;background:#f9fbfd!important;
 padding:13px 16px!important;gap:9px!important}
.login{background:#eff3f7!important}
.login-card{background:#fff!important;border:1px solid var(--ent-stroke)!important;
 border-radius:12px!important;box-shadow:0 16px 48px rgba(28,53,80,.10)!important;padding:34px!important}
.login h1{font-size:22px!important;line-height:1.23!important}
.login-intro{font-size:12px!important}
.login .primary{min-height:42px!important}
/* Standalone CRM and Sales Team screens */
.crm-layout{max-width:1520px!important;padding:24px 28px 44px!important;color:var(--ent-ink)!important}
.crm-heading{margin-bottom:20px!important;gap:18px!important}
.crm-heading h1{font-size:25px!important;color:#1d3650!important;line-height:1.18!important}
.crm-heading .subtitle{font-size:13px!important;color:var(--ent-muted)!important}
.crm-layout .stat{padding:17px!important;min-height:100px!important}
.crm-layout .stat strong{font-size:24px!important;color:#204765!important;font-variant-numeric:tabular-nums!important}
.crm-layout .panel{padding:16px!important}
.crm-layout .panel-head{padding:0 0 13px!important;margin-bottom:13px!important;background:transparent!important;
 border-radius:0!important;min-height:0!important}
.crm-layout .panel-head h3{font-size:14px!important;color:#2c4760!important}
.crm-layout .filters{border:1px solid var(--ent-stroke)!important;border-radius:7px!important;
 background:#f8fafc!important;padding:12px!important;margin:0 0 16px!important}
.crm-layout .tab{font-size:12px!important}
.crm-layout .tabs{margin-bottom:14px!important;overflow-x:auto}
.crm-layout .tabs button{white-space:nowrap!important}
.crm-layout .team-brand{font-size:10.5px!important;border-radius:5px!important}
.crm-layout .team-brand.main{background:#e4f1fb!important}
.crm-layout .brand-picker{border-radius:7px!important}
.crm-layout .head-actions button{white-space:nowrap!important}
/* Rent a Car legacy iframe and new ERP */
body:has(>header) > header{background:#fff!important;border:1px solid var(--ent-stroke)!important;
 border-left:3px solid var(--ent-blue)!important;border-radius:7px!important;
 padding:16px!important;margin-bottom:15px!important}
body:has(>header) > header h1{font-size:21px!important}
body:has(>header) > header h2{font-size:19px!important}
body:has(>header) .panel{border-radius:7px!important}
body:has(>header) .stat{border-radius:7px!important}
body:has(>header) .tabs{scrollbar-width:thin!important}
/* Additional editor-only typography; document print templates not restyled */
.editor{max-width:1180px!important}
.editor .lead h1{font-size:24px!important;color:#223d57!important}
.editor .panel{padding:24px!important}
.editor .panel h2{font-size:15px!important;color:#25445e!important}
.editor .grid label{font-size:12px!important}
.editor .total-strip strong{font-size:19px!important}
/* Mobile controls, no menu logic changes */
@media(max-width:1100px){
 .crm-layout{padding:18px!important}
 .topbar-status .status-chip:nth-child(n+3){display:none!important}
}
@media(max-width:820px){
 .shell{display:block!important}
 .shell .sidebar{position:fixed!important;top:0!important;width:246px!important;
  left:-260px!important;height:100dvh!important;z-index:50!important}
 .shell.sidebar-open .sidebar{left:0!important}
 .topbar{min-height:56px!important;height:56px!important;padding:0 12px!important}
 .topbar-status{display:none!important}
 .menu-toggle{display:inline-grid!important}
 .content{padding:14px 12px 26px!important}
 .page-head{padding:13px!important;min-height:0!important;align-items:flex-start!important}
 .page-head h1{font-size:20px!important}
 .crm-heading{flex-wrap:wrap!important;align-items:flex-start!important}
 .crm-heading .head-actions{flex-wrap:wrap!important}
 .crm-layout .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .crm-layout .filters{display:flex!important;flex-wrap:wrap!important}
 .login-card{padding:25px!important}
}
@media(max-width:520px){
 .content{padding:10px!important}
 .crm-layout{padding:12px!important}
 .crm-layout .stats{grid-template-columns:1fr!important}
 .crm-layout .head-actions{width:100%!important}
 .crm-layout .head-actions button{flex:1!important}
 .crm-heading h1{font-size:22px!important}
 .card,.stat{min-height:87px!important}
 .global-search{display:none!important}
 .topbar .user-tools{margin-left:auto!important}
 .page-head{flex-direction:column!important}
}
@media print{
 /* Enterprise UI decoration does not alter printed business document templates. */
 .shell .sidebar,.topbar,.pro-workbar,.page-head,#actions,.toolbar{display:none!important}
 .panel,.card{box-shadow:none!important}
}

/* V4 Personnel profile selector */
.position-departments{display:block!important;border:1px solid #dce5ed;border-radius:8px;padding:15px;background:#f9fbfd}
.position-departments>strong{display:block;color:#213d55;font-size:13px;margin-bottom:5px}
.position-departments .muted{font-size:11px;line-height:1.5;margin:4px 0 9px}
.position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.position-grid label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;min-height:40px;padding:8px 10px!important;border:1px solid #d8e4ee;border-radius:6px;background:#fff;font-size:12px!important;font-weight:600;cursor:pointer}
.position-grid input[type=checkbox]{width:17px!important;min-width:17px;height:17px!important;min-height:17px!important;accent-color:#236b98;box-shadow:none!important;margin:0!important;padding:0!important}
.position-grid label:has(input:checked){border-color:#a0bed4;background:#f1f7fc}
@media(max-width:680px){.position-grid{grid-template-columns:1fr}.position-departments{padding:12px}}

/* Logout/login visibility - must override .shell display:grid!important across stylesheets and breakpoints. */
#app[hidden],#login[hidden]{display:none!important;visibility:hidden!important}
