/* Shared MEXP interface. Business colours (lines and validation results) remain local. */
:root{--mexp-forest:#153f38;--mexp-lime:#dbf578;--mexp-paper:#f5f6f0;--hermes-primary:#215c4f;--hermes-secondary:#153f38;--hermes-gradient:linear-gradient(135deg,#215c4f,#153f38);--bs-primary:#215c4f;--bs-primary-rgb:33,92,79;--bs-body-font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--border-color:#dfe5dc;--bg-secondary:#f5f6f0;--text-primary:#18352f;--text-secondary:#61716b}body{font-family:var(--bs-body-font-family)}:focus-visible{outline:3px solid #6b917a!important;outline-offset:3px}input,select,textarea{font-size:max(1em,16px)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.btn{touch-action:manipulation}h1,h2,h3{letter-spacing:-.025em}.admin-main{background:var(--mexp-paper)}.admin-sidebar{background:var(--mexp-forest);border-right:1px solid #284e44}.sidebar-header{padding:27px 22px}.sidebar-header h2{font-weight:700;letter-spacing:-.04em}.sidebar-header small.text-muted{color:#c0d4c8!important}.sidebar-nav{padding:12px}.sidebar-nav .nav-link{border-radius:8px;padding:11px 13px;font-size:13px;margin:3px 0;color:#d5e2d9}.sidebar-nav .nav-link.active{background:var(--mexp-lime);color:var(--mexp-forest);font-weight:700}.sidebar-nav .nav-link:hover{background:#ffffff16}.sidebar-nav .nav-link.active:hover{background:#e4f995}.sidebar-nav .nav-section{font-size:9px;letter-spacing:.14em;color:#9bb8a8;padding:23px 13px 7px}.admin-header{padding:25px 32px;box-shadow:none;background:var(--mexp-paper);border-bottom:1px solid #dfe5dc;gap:18px}.admin-header h1{font-size:23px;font-weight:650;color:var(--mexp-forest)}.admin-header>.text-muted{font-size:12px}.admin-content{padding:30px 32px}.card,.stat-card{border:1px solid #dfe5dc;border-radius:12px;box-shadow:none}.card-header{background:#fff;padding:18px 22px;border-bottom:1px solid #e5e9e1}.card-header:first-child{border-radius:12px 12px 0 0}.card-header h5{font-size:15px;font-weight:650;color:var(--mexp-forest)}.stat-card{padding:22px;align-items:start;gap:18px}.stat-content h3{font-size:28px;color:var(--mexp-forest);font-weight:650}.stat-content p{font-size:12px;color:#64756b}.stat-content small{font-size:11px}.stat-icon{border-radius:10px;width:43px;height:43px;font-size:20px}.stat-icon.primary{background:#e3edda;color:var(--mexp-forest)}.table{font-size:13px;--bs-table-bg:transparent}.table thead th{background:#f5f7f1;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#61716b;font-weight:650;border-bottom:1px solid #dfe5dc;padding:14px}.table td{vertical-align:middle;padding:14px}.btn{border-radius:8px;font-size:13px;font-weight:600;padding:10px 15px}.btn-sm{padding:7px 11px;font-size:12px}.btn-primary{--bs-btn-bg:#215c4f;--bs-btn-border-color:#215c4f;--bs-btn-hover-bg:#153f38;--bs-btn-hover-border-color:#153f38;--bs-btn-active-bg:#153f38;--bs-btn-active-border-color:#153f38;background:#215c4f;border-color:#215c4f}.form-control,.form-select{border-color:#d5dfd1;border-radius:8px;min-height:43px}.form-control:focus,.form-select:focus{border-color:#658b73;box-shadow:0 0 0 3px #638a741a}.form-label{font-size:12px;font-weight:650}.badge{border-radius:5px;font-weight:600;letter-spacing:.01em}.mobile-menu-btn{background:var(--mexp-forest)!important;box-shadow:none!important}.login-card,.auth-card{border:1px solid #dce5d9;box-shadow:0 20px 70px #173f3810;border-radius:18px}.auth-page,body:has(> .login-card){background:var(--mexp-paper)!important;color:#18352f}.login-icon,.auth-logo,.auth-icon{background:var(--mexp-forest)!important;color:var(--mexp-lime)!important}.btn-login,.btn-gradient{background:var(--mexp-forest)!important}.app-container{background:var(--mexp-paper)}.app-header{background:var(--mexp-forest);box-shadow:none}.app-header .header-brand{color:white}.app-header .header-btn{color:#dbe8d9}.app-main{padding-top:22px}.bottom-nav{border-top:1px solid #dfe5dc;box-shadow:0 -4px 20px #153f3805;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav .nav-item.active{color:var(--mexp-forest);font-weight:700}.bottom-nav .nav-item.active i{background:#e8f1dc;border-radius:8px;padding:4px 15px}.vendor-header{background:var(--mexp-forest)!important}.vendor-wrapper{background:var(--mexp-paper)}.vendor-content{padding:28px}.vendor-content .user-card{background:var(--mexp-forest)}.mexp-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 25px}.mexp-heading h2{font-size:29px;font-weight:650;color:var(--mexp-forest);margin:0 0 8px}.mexp-heading p{font-size:13px;color:#61716b;margin:0}.mexp-eyebrow{font-size:10px;letter-spacing:.14em;color:#61716b;font-weight:650;margin-bottom:10px;display:block}.mexp-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.mexp-action{display:flex;flex-direction:column;align-items:start;padding:20px;background:#fff;border:1px solid #dfe5dc;border-radius:11px;gap:10px;color:#18352f;text-decoration:none}.mexp-action:hover{border-color:#799780;color:#153f38;background:#fafff5}.mexp-action i{font-size:22px;color:#215c4f}.mexp-action strong{font-size:13px}.mexp-action small{font-size:11px;color:#61716b}.mexp-action.highlight{background:var(--mexp-forest);color:#fff}.mexp-action.highlight i{color:var(--mexp-lime)}.mexp-action.highlight small{color:#d5e2d9}.mexp-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:18px;background:#fff;border:1px solid #dfe5dc;border-radius:12px;margin-bottom:24px}.mexp-filter label{font-size:11px;font-weight:650;display:block;margin-bottom:6px}.mexp-filter .form-control,.mexp-filter .form-select{width:auto}.mexp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.mexp-kpi{background:#fff;border:1px solid #dfe5dc;border-radius:11px;padding:20px}.mexp-kpi span{font-size:11px;color:#61716b;display:block}.mexp-kpi strong{font-size:30px;display:block;font-weight:650;color:#153f38;margin:8px 0}.mexp-kpi small{font-size:11px;color:#61716b}.mexp-search{display:flex;gap:10px;width:min(100%,370px)}.mexp-notice{padding:15px 18px;border:1px solid #dfd9be;background:#faf8e9;border-radius:9px;font-size:13px;margin-bottom:20px}.mexp-line-badge{background:#e7eedf;color:#18352f;font-weight:700;border-radius:5px;padding:6px 9px;display:inline-block;font-size:11px}.mexp-empty{padding:35px;color:#61716b;font-size:13px;text-align:center}.mexp-mobile-shortcuts{display:flex;gap:10px;margin:0 0 20px}.mexp-mobile-shortcuts a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:white;border:1px solid #dfe5dc;border-radius:10px;padding:14px 9px;text-decoration:none;color:#153f38;font-size:12px;font-weight:650}.mexp-install{position:fixed;right:18px;bottom:90px;z-index:900;background:#153f38;color:white;border:1px solid #729582;border-radius:30px;padding:11px 17px;font:600 12px var(--bs-body-font-family);box-shadow:0 4px 20px #0002;cursor:pointer}.mexp-offline{background:#fff0bf;color:#4d3b0d;padding:12px 20px;text-align:center;font-size:13px}.driver-header{background:#153f38}.driver-header .btn-logout{min-height:40px}.tabs .tab{min-height:64px}.driver-header .line-badge{max-width:40vw;overflow-wrap:anywhere}@media(max-width:1100px){.mexp-kpis,.mexp-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mexp-heading{flex-wrap:wrap}.admin-content{padding:24px}.admin-header{padding:24px}.mexp-search{width:100%}}@media(max-width:767px){.admin-content{padding:22px 15px}.admin-header{flex-wrap:wrap;padding:20px 18px 20px 65px}.admin-header h1{font-size:19px}.admin-header>.text-muted{font-size:11px}.mexp-heading h2{font-size:24px}.mexp-kpis,.mexp-actions{gap:10px}.mexp-kpi,.mexp-action{padding:16px}.mexp-kpi strong{font-size:25px}.mexp-filter>div{flex:1}.mexp-filter .form-control,.mexp-filter .form-select{width:100%}.vendor-content{padding:15px}.mexp-mobile-shortcuts{flex-wrap:wrap}.mexp-mobile-shortcuts a{min-width:40%}.table td,.table th{white-space:nowrap}.mexp-heading{gap:15px}.auth-card{padding:28px 22px}.mexp-install{bottom:88px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.bg-purple{background-color:#70549a!important;color:#fff!important}
