:root{--ink:#17201d;--muted:#65726d;--paper:#f5f4ef;--white:#fff;--green:#184f43;--green-2:#0f6b57;--lime:#ddeb67;--border:#dde2dd;--danger:#9c2f2f;--success:#1c684e;--shadow:0 24px 70px rgba(23,32,29,.12)}
.oil-master-heading>div:last-child{flex-wrap:wrap}.oil-hierarchy-grid{align-items:start}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper)}button,input{font:inherit}.muted{color:var(--muted);line-height:1.65}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800}.accent{color:var(--green-2)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 12%,#e9efcc 0,transparent 28%),var(--paper)}.login-shell{width:min(1050px,100%);min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--white);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.brand-panel{position:relative;padding:72px;color:#fff;background:linear-gradient(145deg,#123d34,#1e6655);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:340px;height:340px;border:70px solid rgba(221,235,103,.1);border-radius:50%;right:-150px;bottom:-100px}.brand-panel h1{font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,5.6rem);font-weight:500;line-height:.94;letter-spacing:-.055em;margin:0 0 28px}.brand-panel .muted{color:#cadbd5;max-width:440px}.route-line{display:flex;align-items:center;gap:0;margin-top:60px}.route-line:before,.route-line:after{content:"";height:2px;background:#90ac64;flex:1}.route-line span{position:relative;width:12px;height:12px;background:var(--lime);border-radius:50%;margin:0 32px}.login-card{padding:72px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-family:Georgia,serif;font-size:2.6rem;font-weight:500;letter-spacing:-.035em;margin:0 0 10px}.login-card form{display:grid;gap:10px;margin-top:22px}.login-card label{margin-top:12px;font-size:.86rem;font-weight:750}.login-card input{width:100%;border:1px solid var(--border);border-radius:12px;padding:15px 16px;outline:none;background:#fbfcfa}.login-card input:focus{border-color:var(--green-2);box-shadow:0 0 0 4px rgba(15,107,87,.1)}.login-card button{margin-top:18px;border:0;border-radius:12px;padding:16px;background:var(--green);color:white;font-weight:800;cursor:pointer}.login-card button:hover{background:var(--green-2)}.support{text-align:center;color:var(--muted);font-size:.82rem;margin-top:28px}.alert{padding:12px 14px;border-radius:10px;margin-top:18px;font-size:.88rem}.alert.error{background:#faeaea;color:var(--danger)}.alert.success{background:#e7f5ee;color:var(--success)}
.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2))}.wordmark{color:var(--ink);text-decoration:none;font-weight:850;display:flex;align-items:center;gap:12px}.wordmark span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--green);color:var(--lime);font-size:.78rem}.ghost-button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 15px;cursor:pointer}.dashboard-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:70px 0}.welcome{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:70px}.welcome h1{font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;letter-spacing:-.05em;margin:0}.role-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-chip{border:1px solid #bad0c8;color:var(--green);background:#edf5f2;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:850;letter-spacing:.08em}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-heading h2{margin:0;font-size:1.35rem}.section-heading span{color:var(--muted);font-size:.86rem}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module-card{padding:28px;background:#fff;border:1px solid var(--border);border-radius:18px;min-height:230px;transition:.2s}.module-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(23,32,29,.08)}.module-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:var(--green);color:var(--lime);font-family:Georgia,serif;font-size:1.35rem}.module-card h3{margin:28px 0 8px}.module-card p{color:var(--muted);line-height:1.55;min-height:50px}.module-card span{font-size:.82rem;font-weight:800;color:var(--green-2)}
@media(max-width:760px){.login-page{padding:0}.login-shell{display:block;border-radius:0;min-height:100vh}.brand-panel{padding:42px 28px}.brand-panel h1{font-size:3.2rem}.brand-panel .muted,.route-line{display:none}.login-card{padding:48px 28px}.welcome{display:block}.role-list{justify-content:flex-start;margin-top:20px}.module-grid{grid-template-columns:1fr}.dashboard-shell{padding-top:44px}.topbar{padding:0 24px}}

/* Admin application shell */
.admin-page{min-height:100vh;background:#f3f5f2;overflow-x:hidden}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:#123d34;color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:12px 0 40px rgba(13,45,38,.08)}.sidebar-brand{height:86px;padding:0 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-badge{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:var(--lime);color:var(--green);font-size:.78rem;font-weight:950}.sidebar-brand strong{display:block;font-size:.98rem}.sidebar-brand small{display:block;margin-top:3px;color:#a9c2ba;font-size:.64rem;letter-spacing:.04em}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:1.65rem}.side-nav{flex:1;padding:26px 14px;overflow-y:auto}.nav-label{margin:0 14px 11px;color:#79998e;font-size:.64rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.nav-link{position:relative;display:flex;align-items:center;gap:12px;margin:4px 0;padding:11px 13px;border-radius:11px;color:#b9ccc6;text-decoration:none;font-size:.86rem;font-weight:650;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.07);color:#fff}.nav-link.active{background:#fff;color:var(--green);box-shadow:0 8px 24px rgba(3,25,20,.18)}.nav-link.active:before{content:"";position:absolute;left:-14px;width:4px;height:25px;border-radius:0 6px 6px 0;background:var(--lime)}.nav-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);font-family:Georgia,serif;font-weight:800}.nav-link.active .nav-icon{background:#eaf1ee}.sidebar-user{margin:14px;padding:15px 10px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:11px}.user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#2c6a5b;color:var(--lime);font-weight:850}.sidebar-user strong{display:block;max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.sidebar-user small{display:block;margin-top:4px;color:#91aba2;font-size:.61rem;letter-spacing:.08em}.sidebar-scrim{display:none}.admin-main{min-height:100vh;margin-left:272px;display:grid;grid-template-rows:auto 1fr auto}.page-header{position:sticky;top:0;z-index:20;min-height:86px;padding:17px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}.page-header-left{display:flex;align-items:center;gap:14px}.menu-button{display:none;border:1px solid var(--border);background:#fff;width:42px;height:42px;border-radius:10px}.breadcrumb{margin:0 0 4px;color:#8a9692;font-size:.68rem}.breadcrumb span{margin:0 6px}.breadcrumb strong{color:var(--green-2)}.page-header h1{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500;letter-spacing:-.025em}.header-actions{display:flex;align-items:center;gap:10px}.notification-button{position:relative;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--green);font-size:.6rem}.notification-button:after{content:"";position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:#e05b45;border:2px solid white}.content-panel{min-width:0;padding:30px 34px 48px;transition:opacity .15s}.content-panel:focus{outline:none}.content-panel.is-loading{opacity:.45;pointer-events:none}.content-fragment{animation:content-in .22s ease}@keyframes content-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.content-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.content-intro .eyebrow{margin-bottom:8px}.content-intro h2{margin:0;font-family:Georgia,serif;font-weight:500;font-size:2.15rem;letter-spacing:-.04em}.content-intro p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.primary-action{border:0;border-radius:11px;padding:12px 17px;background:var(--green);color:#fff;font-weight:800}.date-chip{padding:9px 13px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:.75rem;font-weight:750}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{min-width:0;padding:21px;background:#fff;border:1px solid var(--border);border-radius:15px}.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:.73rem}.metric-card strong{display:block;margin:13px 0 10px;font-family:Georgia,serif;font-size:2rem;font-weight:500;letter-spacing:-.04em}.metric-card .positive{color:#2b7a59}.metric-card .warning{color:#b2682f}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);gap:20px}.panel-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.panel-heading{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e9ece9}.panel-heading h3{margin:0 0 4px;font-size:.96rem}.panel-heading p{margin:0;color:var(--muted);font-size:.72rem}.panel-heading button{border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px 11px;color:var(--green);font-size:.72rem;font-weight:750}.data-table{overflow-x:auto}.table-row{min-width:650px;display:grid;grid-template-columns:.75fr 1.45fr 1fr .8fr;gap:12px;padding:15px 23px;align-items:center;border-bottom:1px solid #eff1ef;font-size:.75rem}.table-row:last-child{border-bottom:0}.table-head{padding-top:11px;padding-bottom:11px;background:#fafbfa;color:#84908b;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.status{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%}.status.moving{background:#31876a}.status.ready{background:#6d89b6}.status.pending{background:#dc9a41}.attention-list{list-style:none;margin:0;padding:7px 22px}.attention-list li{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid #eef0ee}.attention-list li:last-child{border:0}.attention-list>li>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:#fff0e2;color:#b76628;font-weight:900}.attention-list strong,.attention-list small{display:block}.attention-list strong{font-size:.76rem}.attention-list small{margin-top:5px;color:var(--muted);font-size:.68rem}.empty-module{min-height:380px;max-width:650px;margin:auto;padding:65px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.large-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:20px;background:#eaf1ee;color:var(--green);font-family:Georgia,serif;font-size:1.8rem;font-weight:700}.empty-module h3{margin:22px 0 9px;font-size:1.1rem}.empty-module p{max-width:530px;margin:0;color:var(--muted);line-height:1.65;font-size:.83rem}.content-error{padding:45px;background:#fff;border:1px solid #ecc9c5;border-radius:14px;color:#8c3028}.content-error p{margin-bottom:0}.admin-footer{min-height:58px;padding:16px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);background:#fff;color:#87918d;font-size:.68rem}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .24s}.nav-open .sidebar{transform:translateX(0)}.sidebar-close,.menu-button{display:block}.nav-open .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(14,28,24,.5);z-index:25}.admin-main{margin-left:0}.page-header{padding:15px 20px}.content-panel{padding:24px 20px 38px}.admin-footer{padding:16px 20px}.header-actions .notification-button{display:none}}
@media(max-width:560px){.page-header h1{font-size:1.25rem}.breadcrumb{display:none}.content-intro{align-items:flex-start;flex-direction:column}.content-intro h2{font-size:1.8rem}.metric-grid{grid-template-columns:1fr}.header-actions .ghost-button{padding:9px 11px}.admin-footer{display:block;text-align:center}.admin-footer span{display:block;margin:3px}.panel-heading{align-items:flex-start}.data-table{margin-bottom:4px}}

/* Scrollable accordion navigation */
.side-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b766b transparent}.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-thumb{border-radius:999px;background:#4b766b}.nav-group{margin:4px 0}.nav-group-toggle{width:100%;display:grid;grid-template-columns:31px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:11px;background:transparent;color:#afc6bf;text-align:left;font-size:.76rem;font-weight:800;cursor:pointer;transition:.18s}.nav-group-toggle:hover{background:rgba(255,255,255,.07);color:#fff}.nav-group.open>.nav-group-toggle{background:rgba(255,255,255,.09);color:#fff}.nav-group-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);color:var(--lime);font-family:Georgia,serif;font-size:.8rem}.nav-caret{justify-self:end;color:#789b91;font-size:1rem;transition:transform .2s}.nav-group.open .nav-caret{transform:rotate(180deg);color:var(--lime)}.nav-submenu{display:none;margin:4px 0 8px;padding-left:17px;border-left:1px solid rgba(255,255,255,.1)}.nav-group.open>.nav-submenu{display:block;animation:submenu-in .18s ease}@keyframes submenu-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.nav-submenu .nav-link{margin:2px 0;padding:8px 10px;font-size:.72rem}.nav-submenu .nav-icon{width:25px;height:25px;border-radius:7px;font-size:.72rem}.nav-submenu .nav-link.active:before{left:-18px;height:22px}.sidebar-user{flex:0 0 auto;background:#123d34}

/* Compact sidebar sizing and inline vector icons */
.sidebar-brand{height:72px;padding:0 18px}.brand-badge{flex-basis:36px;height:36px;border-radius:10px;font-size:.7rem}.side-nav{padding:12px 10px}.nav-label{margin:0 10px 6px;font-size:.59rem}.nav-group{margin:1px 0}.nav-group-toggle{grid-template-columns:27px minmax(0,1fr) 16px;gap:8px;padding:6px 9px;border-radius:9px;font-size:.71rem}.nav-group-icon{width:27px;height:27px;border-radius:7px}.nav-group-icon svg,.nav-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-caret{font-size:.88rem}.nav-submenu{margin:2px 0 4px;padding-left:14px}.nav-submenu .nav-link{gap:8px;margin:1px 0;padding:6px 8px;border-radius:8px;font-size:.68rem}.nav-submenu .nav-icon{width:23px;height:23px;border-radius:6px}.nav-submenu .nav-icon svg{width:13px;height:13px}.nav-submenu .nav-link.active:before{left:-15px;height:19px}.sidebar-user{margin:8px 10px;padding:10px 8px}.user-avatar{width:34px;height:34px}.sidebar-user strong{font-size:.75rem}.sidebar-user small{margin-top:2px;font-size:.56rem}

/* Users and roles */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.module-alert{margin-bottom:16px;padding:13px 16px;border-radius:11px;font-size:.78rem;font-weight:700}.module-alert.success{background:#e6f4ed;color:#226449;border:1px solid #c7e6d6}.module-alert.error{background:#fce9e7;color:#8a302a;border:1px solid #f1cac6}.user-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.user-summary-grid article{padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:#fff}.user-summary-grid span{display:block;color:var(--muted);font-size:.7rem}.user-summary-grid strong{display:block;margin-top:9px;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.users-toolbar{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.user-search-wrap{width:min(420px,100%);height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fafbfa}.user-search-wrap span{color:var(--muted);font-size:1.15rem}.user-search-wrap input{width:100%;border:0;outline:0;background:transparent;font-size:.78rem}.users-table-wrap{overflow-x:auto}.users-table{width:100%;min-width:780px;border-collapse:collapse}.users-table th{padding:12px 20px;background:#fafbfa;color:#84908b;text-align:left;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}.users-table td{padding:15px 20px;border-top:1px solid #edf0ed;font-size:.76rem}.table-user{display:flex;align-items:center;gap:11px}.table-avatar{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:11px;background:#eaf1ee;color:var(--green);font-family:Georgia,serif;font-size:1rem;font-weight:700}.table-user strong,.table-user small{display:block}.table-user small{margin-top:3px;color:var(--muted);font-size:.68rem}.table-roles{display:flex;gap:5px;flex-wrap:wrap}.table-roles span{padding:5px 7px;border-radius:6px;background:#edf3f1;color:var(--green);font-size:.58rem;font-weight:850;letter-spacing:.05em}.account-status{display:inline-flex;align-items:center;gap:6px;font-weight:750}.account-status:before{content:"";width:7px;height:7px;border-radius:50%}.account-status.active{color:#317254}.account-status.active:before{background:#43a678}.account-status.disabled{color:#8b7774}.account-status.disabled:before{background:#b8aaa8}.row-actions{text-align:right;white-space:nowrap}.inline-form{display:inline}.table-action{border:0;background:transparent;padding:6px 7px;color:var(--green-2);font-size:.7rem;font-weight:750;cursor:pointer}.table-action.danger{color:#a24b43}.table-action:disabled{color:#aeb5b2;cursor:not-allowed}.user-empty-filter{padding:50px;text-align:center;color:var(--muted);font-size:.82rem}.user-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:18px;box-shadow:0 30px 90px rgba(14,35,29,.25);overflow:auto}.user-dialog::backdrop{background:rgba(14,31,26,.58);backdrop-filter:blur(3px)}.user-form{padding:25px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.dialog-heading .eyebrow{margin-bottom:5px}.dialog-heading h3{margin:0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.dialog-close{border:0;background:#f0f3f1;width:34px;height:34px;border-radius:9px;color:var(--muted);font-size:1.25rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full-field{grid-column:1/-1}.user-form label:not(.role-fieldset label){display:grid;gap:7px;color:var(--ink);font-size:.72rem;font-weight:750}.user-form input[type="text"],.user-form input[type="email"],.user-form input[type="password"],.user-form input:not([type]){width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;outline:0;background:#fafbfa}.user-form input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(15,107,87,.1)}.user-form label small{color:var(--muted);font-weight:500}.role-fieldset{margin:3px 0 0;padding:14px;border:1px solid var(--border);border-radius:11px}.role-fieldset legend{padding:0 5px;font-size:.7rem;font-weight:800}.role-fieldset>label{display:flex;align-items:flex-start;gap:10px;padding:9px;border-radius:8px}.role-fieldset>label:hover{background:#f5f7f5}.role-fieldset input{margin-top:3px;accent-color:var(--green)}.role-fieldset strong,.role-fieldset small{display:block}.role-fieldset strong{font-size:.72rem}.role-fieldset small{margin-top:3px;font-size:.63rem}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.secondary-action{border:1px solid var(--border);border-radius:10px;padding:11px 16px;background:#fff;color:var(--ink);font-weight:750}
@media(max-width:900px){.user-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.user-summary-grid{grid-template-columns:1fr 1fr}.users-toolbar{align-items:stretch;flex-direction:column}.users-toolbar .primary-action{width:100%}.user-form{padding:20px}.form-grid{grid-template-columns:1fr}}
.user-admin-accordion{display:grid;gap:12px}.admin-accordion-item{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff;transition:border-color .18s,box-shadow .18s}.admin-accordion-item.is-open{border-color:#b9d0c7;box-shadow:0 10px 28px rgba(23,32,29,.06)}.admin-accordion-trigger{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto 22px;align-items:center;gap:13px;padding:16px 18px;border:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.admin-accordion-trigger:hover{background:#fafcfb}.admin-accordion-trigger:focus-visible{outline:3px solid rgba(15,107,87,.2);outline-offset:-3px}.admin-accordion-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf2ef;color:var(--green)}.admin-accordion-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-accordion-trigger>span:nth-child(2) strong,.admin-accordion-trigger>span:nth-child(2) small{display:block}.admin-accordion-trigger>span:nth-child(2) strong{font-size:.88rem}.admin-accordion-trigger>span:nth-child(2) small{margin-top:4px;color:var(--muted);font-size:.66rem;font-weight:500}.admin-accordion-count{padding:6px 9px;border-radius:999px;background:#f0f3f1;color:var(--green-2);font-size:.61rem;font-weight:800;white-space:nowrap}.admin-accordion-chevron{color:var(--green);font-size:1.2rem;transition:transform .18s}.admin-accordion-item.is-open .admin-accordion-chevron{transform:rotate(180deg)}.admin-accordion-panel{padding:0 16px 16px;border-top:1px solid #edf0ed}.admin-accordion-panel[hidden]{display:none!important}.admin-accordion-panel>.users-card{margin-top:16px}.admin-accordion-panel>.role-catalogue,.admin-accordion-panel>.operation-management{margin-top:16px}@media(max-width:650px){.admin-accordion-trigger{grid-template-columns:36px minmax(0,1fr) 20px;padding:14px}.admin-accordion-count{display:none}.admin-accordion-icon{width:34px;height:34px}.admin-accordion-panel{padding:0 10px 10px}}
.site-manager-admin{display:grid;gap:16px;margin-top:16px}.site-manager-assignment-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr) auto;align-items:end;gap:12px;padding:16px;border:1px solid #dce8e3;border-radius:13px;background:#f7faf8}.site-manager-assignment-form label{display:grid;gap:6px;color:var(--ink);font-size:.66rem;font-weight:800}.site-manager-assignment-form select{min-height:42px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink)}.site-manager-assignment-table td>small{display:block;margin-top:3px;color:var(--muted)}@media(max-width:850px){.site-manager-assignment-form{grid-template-columns:1fr}.site-manager-assignment-form .primary-action{width:100%}}
.site-manager-phase2-workspace{gap:14px}.site-manager-phase2-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.site-manager-phase2-summary article{min-width:0;padding:14px 16px;border:1px solid #dce8e3;border-radius:12px;background:linear-gradient(135deg,#f8fbf9,#f0f6f3)}.site-manager-phase2-summary span,.site-manager-phase2-summary strong,.site-manager-phase2-summary small{display:block}.site-manager-phase2-summary span{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.site-manager-phase2-summary strong{overflow:hidden;margin-top:6px;color:var(--green-2);font-size:.91rem;text-overflow:ellipsis;white-space:nowrap}.site-manager-phase2-summary small{margin-top:3px;color:var(--muted);font-size:.61rem}.site-manager-phase2-card{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.site-manager-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e8eeeb;background:#fbfcfb}.site-manager-card-heading>div>span{color:var(--green);font-size:.56rem;font-weight:900;letter-spacing:.13em}.site-manager-card-heading h3{margin:4px 0;font-size:.94rem}.site-manager-card-heading p{max-width:650px;margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}.configuration-state,.section-total{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f2eee3;color:#866316;font-size:.59rem;font-weight:850;white-space:nowrap}.configuration-state.configured{background:#e7f2ec;color:#17664d}.section-total{background:#eaf2ef;color:var(--green)}.site-manager-identity-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;padding:18px}.site-manager-config-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.site-manager-config-form label,.site-manager-category-form label{display:grid;align-content:start;gap:6px;color:var(--ink);font-size:.64rem;font-weight:800}.site-manager-config-form input,.site-manager-config-form textarea,.site-manager-category-form input,.site-expense-review-form input,.site-expense-review-form select{width:100%;min-height:41px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#fafbfa;color:var(--ink);font:inherit;outline:0}.site-manager-config-form textarea{resize:vertical}.site-manager-config-form input:focus,.site-manager-config-form textarea:focus,.site-manager-category-form input:focus,.site-expense-review-form input:focus,.site-expense-review-form select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(15,107,87,.1)}.site-manager-config-form .full-field{grid-column:1/-1}.form-action-row{display:flex!important;align-items:center;justify-content:flex-end}.site-manager-logo-card{display:flex;min-width:0;align-items:flex-start;flex-direction:column;padding:17px;border:1px dashed #a9c4b9;border-radius:12px;background:#f4f8f6}.logo-state-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e3efea;color:var(--green)}.logo-state-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-manager-logo-card>strong{margin-top:13px;font-size:.78rem}.site-manager-logo-card>p{margin:6px 0 14px;color:var(--muted);font-size:.62rem;line-height:1.55}.site-manager-logo-form{display:grid;width:100%;gap:10px;margin-top:auto}.site-manager-logo-form input[type=file]{width:100%;padding:9px;border:1px solid #cbded6;border-radius:9px;background:#fff;font-size:.61rem}.site-manager-logo-form .secondary-action{width:100%}.site-manager-category-form{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(180px,1fr) minmax(220px,1.35fr) 105px auto auto;align-items:end;gap:10px;padding:16px 18px;background:#f7faf8}.site-manager-category-form .checkbox-line{display:flex;min-height:41px;align-items:center;gap:7px;padding:0 5px}.site-manager-category-form .checkbox-line input{width:16px;min-height:16px;margin:0}.site-manager-table-wrap{margin:0;border:0;border-radius:0}.site-manager-category-table,.site-manager-expense-table{min-width:780px}.site-manager-category-table td>small,.site-manager-expense-table td>small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.site-manager-expense-table{min-width:900px}.site-manager-expense-table td{vertical-align:top}.expense-amount{font-weight:850;white-space:nowrap}.receipt-link{display:grid;max-width:190px;gap:3px;color:var(--green);font-size:.64rem;font-weight:800;text-decoration:none;word-break:break-word}.receipt-link:hover{text-decoration:underline}.receipt-link small{font-weight:600}.missing-receipt{display:inline-block;padding:5px 7px;border-radius:6px;background:#f4eeee;color:#995555;font-size:.59rem;font-weight:800}.reviewed-by{display:block;margin-top:5px;color:var(--muted);font-size:.58rem}.site-expense-review-form{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(135px,1fr);gap:7px;min-width:275px}.site-expense-review-form .table-action{grid-column:1/-1;justify-self:end}.compact-empty{margin:16px 18px}.site-manager-phase2-card>.vehicle-empty{border-radius:10px}@media(max-width:1100px){.site-manager-category-form{grid-template-columns:repeat(2,minmax(0,1fr))}.site-manager-category-form .category-description{grid-column:1/-1}.site-manager-category-form .primary-action{justify-self:end}.site-manager-identity-layout{grid-template-columns:minmax(0,1fr) 220px}}@media(max-width:760px){.site-manager-phase2-summary{grid-template-columns:1fr}.site-manager-card-heading{align-items:flex-start;flex-direction:column}.site-manager-identity-layout{grid-template-columns:1fr}.site-manager-config-form{grid-template-columns:1fr}.site-manager-config-form .full-field{grid-column:auto}.site-manager-logo-card{min-height:0}.site-manager-category-form{grid-template-columns:1fr}.site-manager-category-form .category-description{grid-column:auto}.site-manager-category-form .primary-action,.form-action-row .primary-action{width:100%}.form-action-row{display:block!important}}@media(max-width:480px){.site-manager-card-heading,.site-manager-identity-layout,.site-manager-category-form{padding:14px}.site-manager-phase2-summary article{padding:12px 14px}}
.role-catalogue{margin-top:20px}.role-catalogue-heading{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:16px}.role-catalogue-heading h3{margin:0 0 4px;font-size:.96rem}.role-catalogue-heading p{margin:0;color:var(--muted);font-size:.72rem}.role-catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-catalogue-grid article{padding:17px;background:#fff;border:1px solid var(--border);border-radius:13px}.role-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.role-code{display:inline-block;padding:5px 7px;border-radius:6px;background:#eaf1ee;color:var(--green);font-size:.58rem;font-weight:900;letter-spacing:.07em}.system-role-badge{padding:4px 7px;border-radius:999px;background:#f0f1ed;color:#77807c;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.role-catalogue-grid h4{margin:13px 0 6px;font-size:.82rem}.role-catalogue-grid p{min-height:42px;margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}.role-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding-top:10px;border-top:1px solid #edf0ed}.role-card-footer>span{color:var(--green-2);font-size:.63rem;font-weight:750}.role-actions{display:flex;align-items:center}.role-form textarea{width:100%;resize:vertical;padding:12px 13px;border:1px solid var(--border);border-radius:10px;outline:0;background:#fafbfa;font:inherit}.role-form textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(15,107,87,.1)}.role-form input:read-only{color:#68736f;background:#edf0ed;cursor:not-allowed}@media(max-width:1150px){.role-catalogue-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.role-catalogue-heading{align-items:stretch;flex-direction:column}.role-catalogue-heading .primary-action{width:100%}.role-catalogue-grid{grid-template-columns:1fr}}@media(max-width:420px){.role-card-footer{align-items:flex-start;flex-direction:column}}

/* Dynamic operations and permissions */
.module-access-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-10px 0 20px}.module-access-label{margin-right:3px;color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.operation-chip{padding:6px 9px;border:1px solid #d7e4df;border-radius:999px;background:#edf5f2;color:var(--green);font-size:.62rem;font-weight:750}.operation-fieldset{max-height:310px;overflow:auto}.operation-checkbox-group{padding:4px 0 10px;border-bottom:1px solid #edf0ed}.operation-checkbox-group:last-child{border-bottom:0}.operation-checkbox-group h4{margin:8px 9px 4px;color:var(--green);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.operation-checkbox-group label{display:flex;align-items:flex-start;gap:10px;padding:7px 9px;border-radius:8px}.operation-checkbox-group label:hover{background:#f5f7f5}.operation-checkbox-group input{margin-top:3px;accent-color:var(--green)}.operation-checkbox-group strong,.operation-checkbox-group small{display:block}.operation-checkbox-group strong{font-size:.7rem}.operation-checkbox-group small{margin-top:2px;color:var(--muted);font-size:.58rem}.operation-management{margin-top:24px}.operation-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.operation-module-card{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.operation-module-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#fafbfa;border-bottom:1px solid var(--border)}.operation-module-heading h4{margin:0 0 4px;font-size:.82rem}.operation-module-heading code{color:var(--green-2);font-size:.61rem}.operation-module-heading>span{color:var(--muted);font-size:.62rem}.operation-list{padding:3px 15px}.operation-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #edf0ed}.operation-row:last-child{border-bottom:0}.operation-row strong,.operation-row small{display:block}.operation-row strong{font-size:.7rem}.operation-row small{margin-top:3px;color:var(--muted);font-size:.57rem;letter-spacing:.04em}.operation-row>span{color:var(--muted);font-size:.61rem}.dynamic-operation-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px}.dynamic-operation-list article{padding:18px;border:1px solid var(--border);border-radius:12px;background:#fafbfa}.dynamic-operation-list h3{margin:13px 0 6px;font-size:.84rem}.dynamic-operation-list p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.5}@media(max-width:1050px){.operation-module-grid{grid-template-columns:1fr}}@media(max-width:650px){.operation-row{grid-template-columns:1fr auto}.operation-row>span{display:none}.dynamic-operation-list{grid-template-columns:1fr;padding:15px}}

/* Vehicle register */
.vehicle-toolbar{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.vehicle-table-controls{display:flex;align-items:center;gap:14px;flex:1}.vehicle-page-size{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.69rem}.vehicle-page-size select,.vehicle-status-form select{padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:.67rem}.vehicles-table-wrap{overflow-x:auto}.vehicles-table{width:100%;min-width:1280px;border-collapse:collapse}.vehicles-table th{padding:11px 14px;background:#fafbfa;border-bottom:1px solid var(--border);text-align:left}.vehicles-table th button{display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#7e8a85;font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.vehicles-table th button span{color:#b2bab7}.vehicles-table th button.sorted{color:var(--green)}.vehicles-table th button[data-direction="asc"] span:after{content:" ↑"}.vehicles-table th button[data-direction="desc"] span:after{content:" ↓"}.vehicles-table td{padding:13px 14px;border-bottom:1px solid #edf0ed;vertical-align:top;font-size:.7rem}.vehicles-table td>strong,.vehicles-table td>small,.vehicle-primary strong,.vehicle-primary small{display:block}.vehicles-table td>small,.vehicle-primary small{margin-top:4px;color:var(--muted);font-size:.61rem}.vehicle-primary strong{color:var(--green);font-size:.76rem}.vehicle-details{margin-top:7px}.vehicle-details summary{color:var(--green-2);font-size:.6rem;font-weight:750;cursor:pointer}.vehicle-detail-popover{width:330px;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px;padding:11px;border:1px solid var(--border);border-radius:9px;background:#fafbfa}.vehicle-detail-popover span{min-width:0}.vehicle-detail-popover .full{grid-column:1/-1}.vehicle-detail-popover small,.vehicle-detail-popover strong{display:block}.vehicle-detail-popover small{color:var(--muted);font-size:.55rem}.vehicle-detail-popover strong{margin-top:3px;overflow-wrap:anywhere;font-size:.62rem}.vehicle-documents{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vehicle-documents span{display:block}.vehicle-documents small,.vehicle-documents strong{display:block}.vehicle-documents small{color:var(--muted);font-size:.54rem}.vehicle-documents strong{margin-top:2px;font-size:.6rem}.vehicle-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf3f1;color:var(--green);font-size:.59rem;font-weight:800;white-space:nowrap}.vehicle-status.status-maintenance{background:#fff2df;color:#9a5d22}.vehicle-status.status-out_of_service{background:#f8e7e5;color:#913f38}.vehicle-status.status-sold,.vehicle-status.status-retired{background:#eceeed;color:#68726e}.vehicle-actions{min-width:180px}.vehicle-status-form{display:flex;align-items:center;gap:3px;margin-top:4px}.vehicle-empty{padding:45px;text-align:center;color:var(--muted);font-size:.75rem}.vehicle-table-footer{min-height:58px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);color:var(--muted);font-size:.66rem}.vehicle-pagination{display:flex;gap:4px}.vehicle-pagination button{min-width:32px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--green);font-size:.62rem;cursor:pointer}.vehicle-pagination button.active{border-color:var(--green);background:var(--green);color:#fff}.vehicle-pagination button:disabled{color:#aeb5b2;cursor:not-allowed}.vehicle-dialog{width:min(920px,calc(100% - 32px))}.vehicle-form-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vehicle-form-sections fieldset{min-width:0;margin:0;padding:15px;border:1px solid var(--border);border-radius:12px}.vehicle-form-sections legend{padding:0 6px;color:var(--green);font-size:.7rem;font-weight:850}.vehicle-form label{display:grid;gap:6px;color:var(--ink);font-size:.68rem;font-weight:750}.vehicle-form input,.vehicle-form select,.vehicle-form textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:9px;outline:0;background:#fafbfa;font:inherit}.vehicle-form textarea{resize:vertical}.vehicle-form input:focus,.vehicle-form select:focus,.vehicle-form textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(15,107,87,.1)}@media(max-width:850px){.vehicle-form-sections{grid-template-columns:1fr}.vehicle-toolbar,.vehicle-table-controls{align-items:stretch;flex-direction:column}.vehicle-toolbar .primary-action{width:100%}.vehicle-table-controls .user-search-wrap{width:100%}}@media(max-width:560px){.vehicle-summary-grid{grid-template-columns:1fr 1fr}.vehicle-table-footer{align-items:flex-start;flex-direction:column}.vehicle-pagination{flex-wrap:wrap}}

/* Vehicle bulk import */
.vehicle-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.vehicle-template-link{display:inline-flex;align-items:center;text-decoration:none}.vehicle-import-dialog{width:min(820px,calc(100% - 32px))}.vehicle-import-content{padding:25px}.vehicle-import-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px;padding:0;list-style:none;counter-reset:vehicle-import}.vehicle-import-steps li{position:relative;min-height:76px;padding:13px 13px 13px 46px;border:1px solid var(--border);border-radius:11px;background:#fafbfa;counter-increment:vehicle-import}.vehicle-import-steps li:before{content:counter(vehicle-import);position:absolute;left:13px;top:13px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e4eee9;color:var(--green);font-size:.66rem;font-weight:900}.vehicle-import-steps strong,.vehicle-import-steps span{display:block}.vehicle-import-steps strong{font-size:.72rem}.vehicle-import-steps span{margin-top:5px;color:var(--muted);font-size:.63rem;line-height:1.4}.vehicle-import-upload{display:flex;align-items:end;gap:12px;padding:16px;border:1px dashed #aebfba;border-radius:12px;background:#f6f9f7}.vehicle-import-upload label{display:grid;flex:1;gap:7px;color:var(--ink);font-size:.7rem;font-weight:800}.vehicle-import-upload input{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:.68rem}.vehicle-import-result{margin-top:18px;padding:17px;border:1px solid var(--border);border-radius:12px}.vehicle-import-result.valid{border-color:#b9ddca;background:#f4fbf7}.vehicle-import-result.invalid{border-color:#edc1bc;background:#fff8f7}.vehicle-import-result-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.vehicle-import-result-heading strong,.vehicle-import-result-heading span{display:block}.vehicle-import-result-heading strong{font-size:.84rem}.vehicle-import-result-heading div>span{margin-top:5px;color:var(--muted);font-size:.65rem}.vehicle-validation-badge{padding:6px 9px;border-radius:999px;background:#f2d9d6;color:#8a302a;font-size:.59rem;font-weight:850;white-space:nowrap}.vehicle-import-result.valid .vehicle-validation-badge{background:#dcefe5;color:#246347}.vehicle-import-errors>p,.vehicle-import-ready>p{margin:15px 0 12px;color:var(--muted);font-size:.7rem;line-height:1.55}.vehicle-import-error-table-wrap{max-height:250px;margin-bottom:13px;overflow:auto;border:1px solid var(--border);border-radius:9px;background:#fff}.vehicle-import-error-table{width:100%;border-collapse:collapse}.vehicle-import-error-table th{position:sticky;top:0;padding:9px 11px;background:#f5f6f5;color:#737f7a;text-align:left;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.vehicle-import-error-table td{padding:9px 11px;border-top:1px solid #edf0ed;font-size:.66rem;vertical-align:top}.vehicle-import-error-table th:first-child,.vehicle-import-error-table td:first-child{width:80px}.vehicle-import-error-table th:nth-child(2),.vehicle-import-error-table td:nth-child(2){width:180px}.marked-workbook-link{display:inline-flex;text-decoration:none}.vehicle-import-ready{display:flex;align-items:center;justify-content:space-between;gap:15px}.vehicle-import-ready p{margin-bottom:0}@media(max-width:850px){.vehicle-toolbar-actions{width:100%;justify-content:stretch}.vehicle-toolbar-actions>*{flex:1;text-align:center;justify-content:center}.vehicle-import-steps{grid-template-columns:1fr}.vehicle-import-upload,.vehicle-import-ready{align-items:stretch;flex-direction:column}}@media(max-width:560px){.vehicle-import-content{padding:20px}.vehicle-import-result-heading{align-items:flex-start;flex-direction:column}.vehicle-toolbar-actions>*{flex-basis:100%}}

/* Driver register */
.driver-admin-module .vehicles-table{min-width:1320px}.driver-admin-module .vehicle-detail-popover{width:390px}.vehicle-status.status-on_leave{background:#fff2df;color:#9a5d22}.vehicle-status.status-suspended{background:#f8e7e5;color:#913f38}.vehicle-status.status-inactive,.vehicle-status.status-retired{background:#eceeed;color:#68726e}

/* Vehicle-driver allocation */
.allocation-table{min-width:1180px}.allocation-dialog{width:min(760px,calc(100% - 32px))}.allocation-dialog form{padding:25px}.allocation-availability-note{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;padding:12px 14px;border:1px solid #d8e6e0;border-radius:10px;background:#f2f8f5}.allocation-availability-note strong,.allocation-availability-note span{font-size:.67rem}.allocation-availability-note strong{color:var(--green)}.allocation-availability-note span{color:var(--muted);text-align:right}.allocation-form-grid select,.allocation-form-grid input,.allocation-form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fafbfa;font:inherit}.vehicle-status.status-planned{background:#e8eef8;color:#49658d}.vehicle-status.status-completed{background:#e6f4ed;color:#226449}.vehicle-status.status-cancelled{background:#eceeed;color:#68726e}@media(max-width:650px){.allocation-availability-note{flex-direction:column}.allocation-availability-note span{text-align:left}}

/* Vehicle and driver compliance */
.compliance-workspace{overflow:hidden}.compliance-scope-tabs{display:flex;padding:6px;background:#edf2ef;border-bottom:1px solid var(--border)}.compliance-scope-tabs button{flex:1;padding:13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.73rem;font-weight:800;cursor:pointer}.compliance-scope-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(20,54,44,.08)}.compliance-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;border-bottom:1px solid var(--border)}.compliance-mode-tabs{display:flex;gap:5px;padding:4px;border-radius:10px;background:#f3f5f3}.compliance-mode-tabs button{padding:9px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.65rem;font-weight:750;cursor:pointer}.compliance-mode-tabs button.active{background:var(--green);color:#fff}.compliance-actions{display:flex;gap:8px}.compliance-filter-bar{display:flex;align-items:end;gap:12px;padding:14px 19px;border-bottom:1px solid var(--border);background:#fbfcfb}.compliance-filter-bar .user-search-wrap{flex:1}.compliance-filter-bar label{display:grid;gap:5px;color:var(--muted);font-size:.61rem;font-weight:750}.compliance-filter-bar select{min-width:150px;padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:.66rem}.compliance-overall-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 19px;background:#f2f8f5;border-bottom:1px solid #dce9e3}.compliance-overall-note div strong,.compliance-overall-note div span{display:block}.compliance-overall-note strong{color:var(--green);font-size:.71rem}.compliance-overall-note span{margin-top:3px;color:var(--muted);font-size:.62rem}.compliance-overall-note b{padding:6px 9px;border-radius:999px;background:#deede6;color:var(--green);font-size:.61rem;white-space:nowrap}.compliance-table{min-width:1250px}.compliance-health{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.59rem;font-weight:850;white-space:nowrap}.health-compliant{background:#e2f1e9;color:#226449}.health-expiring_soon{background:#fff1d8;color:#98601f}.health-expired,.health-rejected{background:#f8e3e1;color:#913f38}.health-missing{background:#eceeed;color:#68726e}.health-pending{background:#e6edf8;color:#49658d}.compliance-documents{display:grid;gap:5px;max-width:230px}.compliance-documents a{overflow:hidden;color:var(--green-2);font-size:.61rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.compliance-no-document{color:#929b97;font-size:.61rem}.compliance-dialog{width:min(760px,calc(100% - 32px))}.compliance-form-grid select,.compliance-form-grid input,.compliance-form-grid textarea,.compliance-type-dialog select,.compliance-type-dialog textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fafbfa;font:inherit}.compliance-upload-field{padding:13px;border:1px dashed #aebfba;border-radius:10px;background:#f6f9f7}.compliance-upload-field input{background:#fff}.compliance-checkbox{display:flex!important;align-items:center;gap:9px;grid-column:1/-1}.compliance-checkbox input{width:auto!important;accent-color:var(--green)}@media(max-width:950px){.compliance-mode-bar,.compliance-filter-bar{align-items:stretch;flex-direction:column}.compliance-actions>*{flex:1}.compliance-filter-bar .user-search-wrap,.compliance-filter-bar label,.compliance-filter-bar select{width:100%}.compliance-mode-tabs{display:grid;grid-template-columns:1fr 1fr 1fr}}@media(max-width:600px){.compliance-scope-tabs,.compliance-actions{flex-direction:column}.compliance-mode-tabs{grid-template-columns:1fr}.compliance-overall-note{align-items:flex-start;flex-direction:column}}

/* Oil tanker workspace */
.oil-workspace-tabs{display:flex;gap:4px;margin-bottom:18px;padding:5px;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#edf2ef}.oil-workspace-tabs button{padding:10px 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.65rem;font-weight:800;white-space:nowrap;cursor:pointer}.oil-workspace-tabs button.active{background:var(--green);color:#fff}.oil-workspace-tabs button:disabled{opacity:.42;cursor:not-allowed}.oil-summary-grid{grid-template-columns:repeat(6,1fr)}.oil-summary-grid article small{display:block;margin-top:5px;color:var(--muted);font-size:.58rem}.oil-dashboard-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr)}.oil-flow-strip{display:flex;align-items:center;gap:7px;padding:22px;overflow-x:auto}.oil-flow-strip span{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#f7f8f7;color:#89928e;font-size:.62rem;font-weight:800;white-space:nowrap}.oil-flow-strip span.ready{border-color:#bdd9cc;background:#e8f4ee;color:var(--green)}.oil-flow-strip i{color:#a6b0ab;font-style:normal}.oil-phase-message{padding:0 22px 22px}.oil-phase-message strong{font-size:.82rem}.oil-phase-message p{margin:6px 0 15px;color:var(--muted);font-size:.69rem;line-height:1.55}.oil-master-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.oil-master-heading h3{margin:0 0 4px;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.oil-master-heading p{margin:0;color:var(--muted);font-size:.69rem}.oil-master-heading>div:last-child{display:flex;gap:8px}.oil-master-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.oil-master-card{min-width:0;overflow:hidden}.oil-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.oil-list-heading h3,.oil-list-heading p{margin:0}.oil-list-heading h3{font-size:.86rem}.oil-list-heading p{margin-top:3px;color:var(--muted);font-size:.6rem}.oil-list-heading .user-search-wrap{width:230px;height:36px}.oil-card-list{max-height:620px;overflow:auto}.oil-card-list>article{padding:15px 17px;border-bottom:1px solid #edf0ed}.oil-card-main h4{margin:8px 0 4px;font-size:.78rem}.oil-card-main p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.45}.oil-card-list dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 0}.oil-card-list dl div{min-width:0}.oil-card-list dt{color:#8a9490;font-size:.53rem;text-transform:uppercase;letter-spacing:.06em}.oil-card-list dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:.62rem}.oil-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #f0f2f0}.oil-dialog{width:min(780px,calc(100% - 32px))}.oil-dialog select,.oil-dialog textarea,.oil-dialog input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fafbfa;font:inherit}.oil-dialog textarea{resize:vertical}@media(max-width:1250px){.oil-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:950px){.oil-master-grid,.oil-dashboard-columns{grid-template-columns:1fr}.oil-master-heading{align-items:stretch;flex-direction:column}}@media(max-width:620px){.oil-summary-grid{grid-template-columns:1fr 1fr}.oil-master-heading>div:last-child,.oil-list-heading{align-items:stretch;flex-direction:column}.oil-list-heading .user-search-wrap{width:100%}.oil-master-heading button{flex:1}}

/* Oil tanker contracts */
.oil-contract-heading{padding:18px 19px;margin:0;border-bottom:1px solid var(--border)}.oil-contract-toolbar{display:flex;align-items:end;gap:14px;padding:14px 19px;background:#fafbfa;border-bottom:1px solid var(--border)}.oil-contract-toolbar .user-search-wrap{flex:1}.oil-contract-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:.6rem;font-weight:800}.oil-contract-toolbar select{min-width:170px;padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.66rem}.oil-tender-list>article{padding:18px 19px;border-bottom:1px solid var(--border)}.oil-tender-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.oil-tender-header>div:last-child{display:flex;align-items:center;gap:5px}.oil-tender-header h4{margin:9px 0 4px;font-size:.88rem}.oil-tender-header p{margin:0;color:var(--muted);font-size:.65rem}.oil-tender-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.oil-tender-metrics span{padding:10px;border-radius:9px;background:#f7f8f7}.oil-tender-metrics small,.oil-tender-metrics strong{display:block}.oil-tender-metrics small{color:var(--muted);font-size:.54rem}.oil-tender-metrics strong{margin-top:4px;font-size:.64rem}.oil-utilization{margin-top:13px}.oil-utilization>div{display:flex;justify-content:space-between;color:var(--muted);font-size:.59rem}.oil-utilization progress{width:100%;height:7px;margin-top:7px;border:0;border-radius:999px;overflow:hidden}.oil-utilization progress::-webkit-progress-bar{background:#e8ece9}.oil-utilization progress::-webkit-progress-value{background:var(--green-2)}.oil-contract-docs,.oil-inline-docs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px}.oil-contract-docs span{color:var(--muted);font-size:.57rem;font-weight:800;text-transform:uppercase}.oil-contract-docs a,.oil-inline-docs a{padding:5px 7px;border-radius:6px;background:#edf4f1;color:var(--green-2);font-size:.57rem;font-weight:700;text-decoration:none}.oil-contract-details{margin-top:14px}.oil-contract-details>summary{color:var(--green-2);font-size:.64rem;font-weight:800;cursor:pointer}.oil-contract-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:11px}.oil-contract-columns>section{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fafbfa}.oil-subheading{display:flex;align-items:center;justify-content:space-between}.oil-subheading h5{margin:0;font-size:.69rem}.oil-sub-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e8ece9}.oil-sub-list>article:last-child{border-bottom:0}.oil-sub-list strong,.oil-sub-list small{display:block}.oil-sub-list strong{font-size:.63rem}.oil-sub-list small,.oil-sub-list>article>span,.oil-sub-list>p{margin-top:3px;color:var(--muted);font-size:.56rem}.oil-inline-docs{grid-column:1/-1;margin-top:0}.oil-contract-dialog{width:min(920px,calc(100% - 32px))}@media(max-width:900px){.oil-contract-columns{grid-template-columns:1fr}.oil-tender-metrics{grid-template-columns:1fr 1fr}.oil-contract-toolbar{align-items:stretch;flex-direction:column}.oil-contract-toolbar select{width:100%}}@media(max-width:600px){.oil-tender-header{flex-direction:column}.oil-tender-metrics{grid-template-columns:1fr}.oil-contract-heading>div:last-child{flex-direction:column}}

/* Oil tanker consignments */
.document-prefill-status{padding:11px 13px;border:1px solid #bed8ce;border-radius:9px;background:#edf7f3;color:var(--green);font-size:.68rem;line-height:1.5}.document-prefill-status.is-loading{border-color:#d9d5b2;background:#fffbea;color:#6f6421}.document-prefill-status.is-error{border-color:#e8c5c2;background:#fff0ee;color:var(--danger)}.document-prefill-status.is-warning{border-color:#e2d29d;background:#fff8df;color:#735f18}.document-prefill-status ul{margin:6px 0 0;padding-left:18px}.document-prefill-filled{outline:2px solid rgba(15,107,87,.25);outline-offset:1px}
.consignment-form-section{margin-top:7px;padding:10px 12px;border-left:3px solid var(--green-2);background:#f2f7f5}.consignment-form-section strong,.consignment-form-section small{display:block}.consignment-form-section strong{color:var(--green);font-size:.76rem}.consignment-form-section small{margin-top:3px;color:var(--muted);font-size:.61rem}.trip-source-preview{padding:10px 12px;border-radius:8px;background:#edf4f1;color:var(--green);font-size:.65rem;font-weight:700}
.consignment-product-options{display:flex;flex-wrap:wrap;gap:8px}.consignment-product-options label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.72rem;font-weight:700}.consignment-product-options input{width:16px;height:16px;margin:0;accent-color:var(--green)}
.oil-consignment-table{min-width:1450px}.oil-consignment-table td>strong,.oil-consignment-table td>small{display:block}.oil-consignment-table td>small{margin-top:4px;color:var(--muted);font-size:.59rem}.oil-consignment-actions{min-width:210px}.oil-status-form{display:flex;align-items:center;gap:3px;margin-top:4px}.oil-status-form select{max-width:130px;padding:7px;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:.6rem}.vehicle-status.status-draft{background:#eceeed;color:#68726e}.vehicle-status.status-confirmed{background:#e6edf8;color:#49658d}.vehicle-status.status-awaiting_allocation{background:#fff1d8;color:#98601f}.vehicle-status.status-trip_created,.vehicle-status.status-in_transit{background:#e7eef8;color:#315e91}.vehicle-status.status-delivered,.vehicle-status.status-awaiting_closure{background:#e2f1e9;color:#226449}.vehicle-status.status-closed{background:#dcebe4;color:#184f43}.vehicle-status.status-cancelled{background:#f8e3e1;color:#913f38}

/* Oil tanker trips */
.oil-trip-workspace{overflow:hidden}.oil-trip-list{display:grid;gap:14px;padding:18px;background:#f7f9f8}.oil-trip-card{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(24,54,45,.04)}.oil-trip-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.oil-trip-card h4{margin:8px 0 4px;font-size:.88rem}.oil-trip-card header p{margin:0;color:var(--muted);font-size:.65rem}.oil-trip-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.oil-trip-metrics span{padding:10px;border-radius:9px;background:#f5f7f6}.oil-trip-metrics small,.oil-trip-metrics strong{display:block}.oil-trip-metrics small{color:var(--muted);font-size:.54rem}.oil-trip-metrics strong{margin-top:4px;font-size:.63rem}.oil-trip-actions{display:flex;justify-content:flex-end;margin-top:12px}.oil-trip-actions form{display:flex;align-items:end;gap:8px}.oil-trip-actions label{display:grid;gap:4px;color:var(--muted);font-size:.58rem}.oil-trip-actions input{padding:9px;border:1px solid var(--border);border-radius:8px}.oil-trip-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.oil-trip-detail-grid>section{min-width:0;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fafbfa}.oil-trip-detail-grid>section:last-child{grid-column:1/-1}.oil-subheading small{color:var(--muted);font-size:.56rem}.oil-check-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.7fr) auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #e8ece9}.oil-check-row label{display:flex;align-items:center;gap:7px;font-size:.62rem}.oil-check-row input[type=checkbox]{accent-color:var(--green)}.oil-check-row>input,.oil-trip-mini-form input,.oil-trip-mini-form select,.oil-trip-upload input,.oil-trip-upload select{min-width:0;width:100%;padding:8px;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:.62rem}.oil-trip-mini-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.oil-trip-mini-form label{display:grid;gap:4px;color:var(--muted);font-size:.57rem}.oil-trip-mini-form .full-field,.oil-trip-mini-form button{grid-column:1/-1}.oil-event-list{display:grid;gap:5px;margin:11px 0 0;padding:0;list-style:none}.oil-event-list li{display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:7px;border-radius:7px;background:#fff;font-size:.58rem}.oil-event-list small{color:var(--muted)}.oil-trip-upload{display:grid;grid-template-columns:150px 1fr auto;gap:8px;margin-top:10px}.vehicle-status.status-awaiting_driver_assignment{background:#fff1d8;color:#98601f}.vehicle-status.status-allocated,.vehicle-status.status-pre_dispatch_ready,.vehicle-status.status-at_loading_terminal,.vehicle-status.status-loaded,.vehicle-status.status-dispatched,.vehicle-status.status-at_delivery_point{background:#e7eef8;color:#315e91}.vehicle-status.status-unloaded,.vehicle-status.status-pod_uploaded{background:#fff1d8;color:#98601f}@media(max-width:900px){.oil-trip-detail-grid{grid-template-columns:1fr}.oil-trip-detail-grid>section:last-child{grid-column:auto}.oil-trip-metrics{grid-template-columns:1fr 1fr}}@media(max-width:600px){.oil-trip-card>header{flex-direction:column}.oil-trip-metrics,.oil-trip-mini-form{grid-template-columns:1fr}.oil-trip-mini-form .full-field,.oil-trip-mini-form button{grid-column:auto}.oil-check-row,.oil-trip-upload{grid-template-columns:1fr}.oil-event-list li{grid-template-columns:1fr}}

/* Oil tanker consignment closure */
.oil-closure-workspace{overflow:hidden}.oil-closure-list{display:grid;gap:14px;padding:18px;background:#f7f9f8}.oil-closure-card{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff}.oil-closure-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.oil-closure-card h4{margin:8px 0 4px;font-size:.88rem}.oil-closure-card header p{margin:0;color:var(--muted);font-size:.64rem}.oil-closure-quantities{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.oil-closure-quantities span,.oil-closure-breakdown span{padding:10px;border-radius:9px;background:#f5f7f6}.oil-closure-quantities small,.oil-closure-quantities strong,.oil-closure-breakdown small,.oil-closure-breakdown strong{display:block}.oil-closure-quantities small,.oil-closure-breakdown small{color:var(--muted);font-size:.53rem}.oil-closure-quantities strong,.oil-closure-breakdown strong{margin-top:4px;font-size:.63rem}.oil-closure-quantities .closure-exception{background:#fff0ee;color:#8b342e}.oil-closure-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:13px}.closure-reject-form{display:flex;gap:5px}.closure-reject-form input{min-width:220px;padding:9px;border:1px solid var(--border);border-radius:8px}.oil-closure-breakdown{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:11px}.oil-closure-note{padding:10px;border-left:3px solid #d69a44;background:#fff8ed;color:#74501d;font-size:.64rem}.closure-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.closure-preview span{padding:10px;border-radius:8px;background:#edf4f1;color:var(--muted);font-size:.62rem}.closure-preview strong{display:block;margin-top:4px;color:var(--green);font-size:.76rem}.vehicle-status.status-submitted{background:#e7eef8;color:#315e91}.vehicle-status.status-rejected{background:#f8e3e1;color:#913f38}.vehicle-status.status-approved{background:#dcebe4;color:#184f43}@media(max-width:1050px){.oil-closure-quantities,.oil-closure-breakdown{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.oil-closure-card>header{flex-direction:column}.oil-closure-quantities,.oil-closure-breakdown,.closure-preview{grid-template-columns:1fr 1fr}.closure-reject-form{width:100%}.closure-reject-form input{min-width:0;flex:1}}

/* CNG reports */
.cng-reports-workspace,.oil-reports-workspace{overflow:hidden}.cng-report-actions,.oil-report-actions{display:flex;gap:8px}.cng-report-panel .vehicles-table,.oil-report-panel .vehicles-table{min-width:1080px}.cng-report-panel .oil-list-heading,.oil-report-panel .oil-list-heading{background:#fff}.cng-report-panel td>strong,.cng-report-panel td>small,.oil-report-panel td>strong,.oil-report-panel td>small{display:block}.cng-report-panel td>small,.oil-report-panel td>small{margin-top:4px;color:var(--muted);font-size:.59rem}@media(max-width:700px){.cng-report-actions,.oil-report-actions{align-items:stretch;flex-direction:column}}
.oil-bills-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(520px,1.28fr);gap:16px}.oil-bill-entry-panel,.oil-bill-review-panel{min-width:0;overflow:hidden}.oil-bill-form{padding:18px}.oil-bill-form fieldset{display:grid;gap:12px;margin:0;padding:0;border:0}.oil-bill-form fieldset:disabled{opacity:.62}.oil-bill-form label{display:grid;gap:6px;color:#34433c;font-size:.65rem;font-weight:800}.oil-bill-form input,.oil-bill-form select,.oil-bill-form textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:#fafbfa;font:inherit}.oil-bill-form textarea{resize:vertical}.oil-bill-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.oil-bill-selected{padding:13px;border:1px solid #c6dbd1;border-radius:10px;background:#eef6f2}.oil-bill-selected small,.oil-bill-selected strong,.oil-bill-selected span{display:block}.oil-bill-selected small{color:var(--muted);font-size:.55rem;text-transform:uppercase;letter-spacing:.07em}.oil-bill-selected strong{margin-top:4px;font-size:.78rem}.oil-bill-selected span{margin-top:3px;color:var(--muted);font-size:.61rem}.oil-bill-review-content{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);min-height:560px;border-top:1px solid var(--border)}.oil-bill-list{max-height:650px;overflow:auto;border-right:1px solid var(--border)}.oil-bill-list>button{display:grid;width:100%;gap:9px;padding:14px 16px;border:0;border-bottom:1px solid #edf0ed;background:#fff;text-align:left;cursor:pointer}.oil-bill-list>button:hover,.oil-bill-list>button.active{background:#edf6f2}.oil-bill-list>button>span:not(.vehicle-status){min-width:0}.oil-bill-list strong,.oil-bill-list small{display:block;overflow-wrap:anywhere}.oil-bill-list strong{font-size:.69rem}.oil-bill-list small{margin-top:3px;color:var(--muted);font-size:.58rem}.oil-bill-list .vehicle-status{justify-self:start}.oil-bill-preview-shell{display:flex;min-height:560px;padding:14px;align-items:center;flex-direction:column;gap:10px;background:#f3f6f4}.oil-bill-preview-shell iframe{width:100%;min-height:505px;border:1px solid var(--border);border-radius:9px;background:#fff}.oil-bill-preview-shell>a{align-self:flex-end;background:#fff}.oil-bill-preview-shell>div{margin:auto;max-width:280px;text-align:center;color:var(--muted)}.oil-bill-preview-shell>div strong{color:var(--ink)}.oil-bill-preview-shell>div p{font-size:.66rem;line-height:1.55}@media(max-width:1100px){.oil-bills-layout{grid-template-columns:1fr}.oil-bill-review-content{grid-template-columns:minmax(250px,.75fr) minmax(300px,1.25fr)}}@media(max-width:720px){.oil-bill-review-content{grid-template-columns:1fr}.oil-bill-list{max-height:360px;border-right:0;border-bottom:1px solid var(--border)}.oil-bill-form-row{grid-template-columns:1fr}}
.oil-admin-bill-upload{background:#f7faf8}.oil-admin-bill-upload label>small{color:var(--muted);font-size:.55rem;font-weight:500}.oil-admin-bill-upload button{justify-self:start}.oil-bill-form-divider{display:flex;align-items:center;gap:10px;padding:0 18px;color:var(--green);font-size:.57rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.oil-bill-form-divider:before,.oil-bill-form-divider:after{content:"";height:1px;flex:1;background:#d9e3de}.oil-bill-form-divider span{white-space:nowrap}
.billing-workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 20px;border:1px solid #cbded6;border-radius:15px;background:linear-gradient(135deg,#f5faf7,#eaf4ef)}.billing-workspace-heading span,.foundation-kicker{color:var(--green);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.billing-workspace-heading h3{margin:5px 0 3px;font-family:Georgia,serif;font-size:1.35rem}.billing-workspace-heading p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.5}.billing-accordion .admin-accordion-panel{background:#fbfcfb}.billing-accordion .admin-accordion-panel>*{margin-top:16px}.billing-accordion .oil-contract-summary{margin-bottom:14px}.transport-bill-foundation,.finance-bill-foundation{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px}.transport-bill-foundation>section,.finance-bill-foundation>section{padding:20px;border:1px solid var(--border);border-radius:13px;background:#fff}.transport-bill-foundation h4,.finance-bill-foundation h4{margin:6px 0;font-size:.9rem}.transport-bill-foundation p,.finance-bill-foundation p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.55}.foundation-upload-placeholder{display:grid;gap:4px;margin-top:18px;padding:22px;border:1px dashed #9fbeb1;border-radius:12px;background:#f3f8f5;text-align:center}.foundation-upload-placeholder strong{font-size:.74rem}.foundation-upload-placeholder small{color:var(--muted);font-size:.61rem}.foundation-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.foundation-field-grid span{padding:10px;border:1px solid #e1e8e4;border-radius:8px;background:#f8faf9;color:#35463f;font-size:.63rem;font-weight:700}.finance-module,.finance-section-page{display:grid;gap:14px}.finance-billing-heading{margin-bottom:0}.finance-billing-heading .secondary-action:disabled{opacity:.55;cursor:not-allowed}@media(max-width:820px){.transport-bill-foundation,.finance-bill-foundation{grid-template-columns:1fr}.foundation-field-grid{grid-template-columns:1fr}.billing-workspace-heading{align-items:flex-start;flex-direction:column}}
.transport-bill-upload{display:grid;gap:10px;margin-top:16px}.transport-bill-upload label{display:grid;gap:6px;font-size:.65rem;font-weight:800}.transport-bill-upload input{padding:10px;border:1px dashed #9fbeb1;border-radius:9px;background:#f7faf8}.transport-bill-list{display:grid;gap:14px}.transport-bill-card{padding:18px}.transport-bill-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.transport-bill-card h4{margin:5px 0 3px;font-size:.86rem}.transport-bill-card p{margin:0;color:var(--muted);font-size:.64rem}.transport-discrepancy-list{display:grid;gap:8px}.transport-discrepancy-list article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px}.transport-discrepancy-list article small,.transport-discrepancy-list article form{grid-column:1/-1}.transport-discrepancy-list span{font-size:.64rem}.transport-discrepancy-list .inline-review-form{display:flex;gap:8px}.transport-discrepancy-list .inline-review-form input{flex:1}@media(max-width:820px){.transport-bill-card>header{flex-direction:column}.transport-discrepancy-list article{grid-template-columns:1fr}}
.transport-bill-details{margin-top:14px}.transport-bill-sheet{margin-top:10px;border:1px solid #aab5b0;background:#fff;color:#17211d}.transport-bill-sheet-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;padding:14px 16px;border-bottom:1px solid #aab5b0}.transport-bill-sheet-title>div:first-child,.transport-bill-document-meta{display:grid;gap:3px}.transport-bill-sheet-title span,.transport-bill-sheet-title small{font-size:.58rem}.transport-bill-sheet-title h5{margin:4px 0 0;font-family:Georgia,serif;font-size:1rem;text-align:center;text-decoration:underline}.transport-bill-document-meta{text-align:right}.transport-bill-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));border-bottom:1px solid #aab5b0}.transport-bill-meta-grid>span{display:grid;gap:4px;padding:10px 12px;border-right:1px solid #d6dcda}.transport-bill-meta-grid>span:last-of-type{border-right:0}.transport-bill-meta-grid small{color:#59655f;font-size:.52rem;font-weight:700;text-transform:uppercase}.transport-bill-meta-grid strong{font-size:.62rem}.transport-bill-declaration{grid-column:1/-1;margin:0!important;padding:9px 12px;border-top:1px solid #d6dcda;color:#34423c!important;font-size:.57rem!important;line-height:1.45!important}.transport-bill-table-wrap{width:100%;overflow:auto}.transport-bill-table{width:100%;min-width:1860px;border-collapse:collapse;font-size:.57rem;font-variant-numeric:tabular-nums}.transport-bill-table th,.transport-bill-table td{padding:6px 7px;border-right:1px solid #c8cfcc;border-bottom:1px solid #c8cfcc;text-align:right;white-space:nowrap}.transport-bill-table th{background:#e8eeeb;color:#21322b;font-weight:850;text-align:center}.transport-bill-table th:last-child,.transport-bill-table td:last-child{border-right:0}.transport-bill-table td:nth-child(5){text-align:left}.transport-party-cell{min-width:245px;white-space:normal!important}.transport-party-cell strong{line-height:1.35}.transport-bill-table td .account-status{font-size:.49rem}.transport-bill-table td>small{display:block;margin-top:3px;color:#67736d;font-size:.49rem}.transport-vehicle-row td{padding:6px 9px;background:#f1f5f3;text-align:left!important}.transport-subtotal-row td,.transport-bill-total-row td,.transport-all-total-row td{font-weight:800}.transport-subtotal-row td:first-child,.transport-bill-total-row td:first-child,.transport-all-total-row td:first-child{text-align:right}.transport-bill-total-row td{background:#f2f5f3}.transport-all-total-row td{background:#dfe9e4;color:#123e31}.transport-bill-source-note{margin:0!important;padding:10px 12px;color:#4d5954!important;font-size:.55rem!important;line-height:1.5!important}.transport-bill-table-wrap::-webkit-scrollbar{height:10px}.transport-bill-table-wrap::-webkit-scrollbar-thumb{border:2px solid #f5f7f6;border-radius:10px;background:#9eada6}@media(max-width:1050px){.transport-bill-meta-grid{grid-template-columns:repeat(3,1fr)}.transport-bill-meta-grid>span:nth-child(3){border-right:0}}@media(max-width:650px){.transport-bill-sheet-title{grid-template-columns:1fr}.transport-bill-sheet-title h5{text-align:left}.transport-bill-document-meta{text-align:left}.transport-bill-meta-grid{grid-template-columns:1fr 1fr}.transport-bill-meta-grid>span{border-bottom:1px solid #d6dcda}.transport-bill-meta-grid>span:nth-child(3){border-right:1px solid #d6dcda}.transport-bill-meta-grid>span:nth-child(even){border-right:0}}
.petrol-pump-admin{display:grid;gap:15px;margin-top:16px}.parser-profile-note{display:grid;gap:5px;padding:13px 15px;border:1px solid #d8e5df;border-radius:11px;background:#f5f9f7}.parser-profile-note strong{font-size:.68rem}.parser-profile-note span{color:var(--muted);font-size:.62rem;line-height:1.5}.petrol-pump-table{min-width:850px}.petrol-pump-table td>small,.diesel-bill-table td>small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.parser-key{display:inline-block;padding:5px 7px;border-radius:6px;background:#eaf2ef;color:var(--green);font-size:.56rem;font-weight:850;letter-spacing:.03em}.diesel-bill-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.diesel-bill-summary article{padding:13px 15px;border:1px solid #dce8e3;border-radius:11px;background:#fff}.diesel-bill-summary span,.diesel-bill-summary strong{display:block}.diesel-bill-summary span{color:var(--muted);font-size:.59rem;font-weight:750}.diesel-bill-summary strong{margin-top:5px;color:var(--green-2);font-size:1.05rem}.diesel-bill-upload select{min-height:41px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink)}.diesel-bill-upload .primary-action{justify-self:start}.diesel-bill-register{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff}.diesel-bill-register .users-table-wrap{margin-top:12px}.diesel-bill-table{min-width:940px}.diesel-bill-table td{vertical-align:top}.diesel-bill-table td:nth-child(5){max-width:240px}.diesel-bill-table .account-status+small{max-width:240px}.finance-billing-accordion .module-alert{margin-bottom:0}@media(max-width:820px){.diesel-bill-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.diesel-bill-summary{grid-template-columns:1fr}}
@media print{body.cng-report-printing *{visibility:hidden!important}body.cng-report-printing [data-cng-pane="reports"],body.cng-report-printing [data-cng-pane="reports"] *{visibility:visible!important}body.cng-report-printing [data-cng-pane="reports"]{position:absolute;inset:0;width:100%;padding:0}body.cng-report-printing .oil-workspace-tabs,body.cng-report-printing .oil-contract-toolbar,body.cng-report-printing .cng-report-actions,body.cng-report-printing .user-summary-grid{display:none!important}body.cng-report-printing .cng-report-panel[hidden]{display:none!important}body.cng-report-printing .panel-card{border:0;box-shadow:none}body.cng-report-printing .vehicles-table{min-width:0;font-size:9pt}}
@media print{body.oil-report-printing *{visibility:hidden!important}body.oil-report-printing [data-oil-pane="reports"],body.oil-report-printing [data-oil-pane="reports"] *{visibility:visible!important}body.oil-report-printing [data-oil-pane="reports"]{position:absolute;inset:0;width:100%;padding:0}body.oil-report-printing .oil-workspace-tabs,body.oil-report-printing .oil-contract-toolbar,body.oil-report-printing .oil-report-actions,body.oil-report-printing .user-summary-grid{display:none!important}body.oil-report-printing .oil-report-panel[hidden]{display:none!important}body.oil-report-printing .panel-card{border:0;box-shadow:none}body.oil-report-printing .vehicles-table{min-width:0;font-size:9pt}}

/* Oil tanker trip preparation */
.trip-preparation{margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:11px;background:#fafcfa}.trip-preparation-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.trip-preparation-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid #dde4e0;border-radius:9px;background:#fff}.trip-preparation-step>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#edf1ef;color:#53605b;font-size:.65rem;font-weight:800}.trip-preparation-step.is-complete>span{background:#dceee6;color:#17624c}.trip-preparation-step strong,.trip-preparation-step small{display:block}.trip-preparation-step strong{font-size:.64rem}.trip-preparation-step small{margin-top:3px;color:var(--muted);font-size:.54rem}.trip-preparation-step button:disabled{cursor:not-allowed;opacity:.45}.expense-step{grid-column:1/-1}.trip-expense-form{grid-column:1/-1}.trip-expense-form fieldset{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:11px;border:1px dashed #cfd9d4;border-radius:9px}.trip-expense-form label{display:grid;gap:4px;color:var(--muted);font-size:.56rem}.trip-expense-form input,.trip-expense-form select,.ccms-form select{width:100%;padding:8px;border:1px solid var(--border);border-radius:7px;background:#fff}.trip-expense-form .full-field{grid-column:1/-1}.trip-expense-form button{grid-column:1/-1}.trip-expense-list{grid-column:1/-1;display:grid;gap:5px}.trip-expense-list>div{display:grid;grid-template-columns:100px minmax(120px,1fr) 100px minmax(100px,1fr);gap:8px;padding:8px 10px;border-radius:7px;background:#fff;font-size:.58rem}.trip-expense-list small{color:var(--muted)}.ccms-form{display:flex;align-items:center;gap:6px}.ccms-form select{min-width:82px}@media(max-width:800px){.trip-preparation-grid{grid-template-columns:1fr}.expense-step,.trip-expense-form,.trip-expense-list{grid-column:auto}.trip-expense-form fieldset{grid-template-columns:1fr 1fr}.trip-expense-list>div{grid-template-columns:1fr 1fr}}@media(max-width:520px){.trip-expense-form fieldset{grid-template-columns:1fr}.trip-preparation-step{grid-template-columns:28px 1fr}.trip-preparation-step form{grid-column:2}.trip-expense-list>div{grid-template-columns:1fr}}

/* Oil Tanker and CNG vertical trip workspace */
.trip-workspace{padding:16px}.trip-workspace-panels{display:grid;gap:14px;margin-top:11px}.trip-workspace-panel{display:block!important;min-width:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff}.trip-workspace-panel>.trip-preparation-step{margin-bottom:10px}.trip-workspace-panel>.trip-preparation-step:last-child{margin-bottom:0}.trip-status-detail-grid{margin-top:0}.trip-status-detail-grid>section:first-child{grid-column:1/-1;background:#f2f7f4}.trip-status-detail-grid .oil-trip-actions{justify-content:flex-start}.trip-status-detail-grid>section:last-child{grid-column:1/-1}@media(max-width:900px){.trip-status-detail-grid>section:first-child,.trip-status-detail-grid>section:last-child{grid-column:auto}}@media(max-width:520px){.trip-workspace{padding:10px}.trip-workspace-panel{padding:10px}}

/* CNG consignment-to-closure workflow */
.cng-operational-flow{display:grid;grid-template-columns:repeat(7,max-content);align-items:center;justify-content:center;gap:10px;margin:0 0 16px;padding:11px 14px;border:1px solid #dce7e1;border-radius:12px;background:#f8fbf9;overflow-x:auto}.cng-operational-flow button{display:flex;align-items:center;gap:7px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:#64716b;font:inherit;font-size:.62rem;font-weight:800;white-space:nowrap;cursor:pointer}.cng-operational-flow button small{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#e6ece9;color:#53605b;font-size:.55rem}.cng-operational-flow button:hover,.cng-operational-flow button.active{background:#e3f1eb;color:#145b47}.cng-operational-flow button.active small{background:#197356;color:#fff}.cng-operational-flow i{color:#93a19a;font-style:normal}.cng-operational-toolbar{margin-bottom:14px}.cng-operational-toolbar input{min-width:min(430px,100%)}@media(max-width:720px){.cng-operational-flow{justify-content:start;grid-template-columns:repeat(7,max-content)}.cng-operational-toolbar{align-items:stretch;flex-direction:column}.cng-operational-toolbar input,.cng-operational-toolbar select{width:100%;min-width:0}}

/* Live operations overview */
.attention-list li.attention-clear>span{background:#e3f1eb;color:#17624c}.data-table>.vehicle-empty{border-top:1px solid #eff1ef}

/* Oil Tanker contract mappings */
.contract-mapping-tabs{display:flex;gap:5px;padding:12px 19px;border-bottom:1px solid var(--border);background:#f7faf8}.contract-mapping-tabs button{padding:8px 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.63rem;font-weight:800;cursor:pointer}.contract-mapping-tabs button.active{border-color:#b8d5c8;background:#e6f2ec;color:var(--green)}.contract-mapping-intro{display:flex;align-items:center;justify-content:space-between;padding:18px 19px;border-bottom:1px solid var(--border)}.contract-mapping-intro h4{margin:0 0 4px;font-size:.82rem}.contract-mapping-intro p{margin:0;color:var(--muted);font-size:.64rem}.contract-mapping-table strong,.contract-mapping-table small{display:block}.contract-mapping-table small{margin-top:3px;color:var(--muted);font-size:.58rem}.mapping-chip-list{display:flex;flex-wrap:wrap;gap:5px}.mapping-chip-list span{padding:5px 7px;border-radius:7px;background:#eaf4ef;color:#17624c;font-size:.58rem;font-weight:750}.mapping-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:420px;padding:4px;overflow:auto}.mapping-choice-grid>label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:9px;background:#fafbfa;cursor:pointer}.mapping-choice-grid input{width:auto;margin-top:2px}.mapping-choice-grid strong,.mapping-choice-grid small{display:block}.mapping-choice-grid strong{font-size:.66rem}.mapping-choice-grid small{margin-top:3px;color:var(--muted);font-size:.57rem}.mapping-limit-note{margin-bottom:12px;padding:9px 11px;border-radius:8px;background:#edf4f1;color:var(--green);font-size:.63rem;font-weight:800}@media(max-width:700px){.mapping-choice-grid{grid-template-columns:1fr}.contract-mapping-tabs{overflow-x:auto}.contract-mapping-tabs button{white-space:nowrap}}

/* Consignee form sections */
.consignee-form-divider{display:flex;align-items:center;gap:12px;margin:5px 0 0;color:var(--green);font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.consignee-form-divider:before,.consignee-form-divider:after{content:"";height:1px;flex:1;background:#d9e3de}.consignee-form-divider span{white-space:nowrap}

/* Management reports */
.management-report{display:grid;gap:16px}.report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid #c9ddd4;border-radius:16px;background:linear-gradient(135deg,#f6faf8,#e8f3ee)}.report-hero span{color:var(--green);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.report-hero h3{margin:5px 0 4px;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.report-hero p{margin:0;color:var(--muted);font-size:.69rem}.report-summary-grid{margin-bottom:0}.report-summary-grid small{display:block;margin-top:4px;color:var(--muted);font-size:.58rem}.report-register{overflow:hidden}.report-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px 19px;border-bottom:1px solid var(--border)}.report-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:.6rem;font-weight:800}.report-toolbar select{min-width:170px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink)}.report-table{min-width:1080px}.report-table td{vertical-align:top}.report-table td>strong,.report-table td>small,.report-table td>.report-source{display:block}.report-table td>small{margin-top:4px;color:var(--muted);font-size:.61rem}.report-source{width:max-content;margin-bottom:5px;padding:4px 7px;border-radius:999px;background:#e7f2ed;color:#17624c;font-size:.52rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.report-source.cng{background:#eef0df;color:#68751d}.health-expired,.health-missing,.health-rejected{background:#f8e5e3!important;color:#8d3831!important}.health-expiring_soon,.health-pending{background:#fbf0d7!important;color:#85631d!important}.health-compliant{background:#e2f1e9!important;color:#21684f!important}@media(max-width:720px){.report-hero,.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar .user-search-wrap,.report-toolbar select{width:100%;min-width:0}.report-summary-grid{grid-template-columns:1fr 1fr}}
.financial-report-nav{display:flex;gap:7px;overflow-x:auto;padding:7px;border:1px solid var(--border);border-radius:12px;background:#fff}.financial-report-nav a{flex:0 0 auto;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:.63rem;font-weight:800;text-decoration:none;white-space:nowrap}.financial-report-nav a:hover,.financial-report-nav a.active{background:#e7f2ed;color:var(--green-2)}.report-row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.dispute-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dispute-heading small{display:block;margin-top:4px;color:var(--muted)}
.finance-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-chart{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff}.finance-chart>div:first-child h4{margin:0 0 4px;font-size:.82rem}.finance-chart>div:first-child p{margin:0;color:var(--muted);font-size:.63rem;line-height:1.45}.finance-ring-chart{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px}.finance-ring{grid-row:1/3;grid-column:2;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--green) 0 var(--match),#e8eeeb var(--match) 100%);position:relative}.finance-ring:after{content:"";width:86px;height:86px;border-radius:50%;background:#fff}.finance-ring span{position:absolute;z-index:1;text-align:center}.finance-ring strong,.finance-ring small{display:block}.finance-ring strong{font-size:1.1rem;color:var(--green-2)}.finance-ring small{color:var(--muted);font-size:.56rem}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.59rem}.chart-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px;background:#e8eeeb}.chart-legend .matched:before{background:var(--green)}.chart-legend .unmatched:before{background:#d8a240}.chart-legend .igst:before{background:var(--green)}.chart-legend .cgst:before{background:#d8a240}.chart-legend .sgst:before{background:#6288a8}.finance-bars,.tax-chart,.value-bridge{display:grid;gap:13px;margin-top:16px}.finance-bar-label,.bridge-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.62rem}.finance-bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-bar-label strong,.bridge-heading strong{font-size:.64rem}.finance-bar-track,.tax-stack{height:12px;overflow:hidden;border-radius:999px;background:#e8eeeb}.finance-bar-track.large{height:18px}.finance-bar-track i,.tax-stack i{display:block;height:100%;background:var(--green)}.finance-bar-track.warning i{background:#d8a240}.finance-bar-track.danger i{background:#b95a50}.tax-stack{display:flex}.tax-stack .igst{background:var(--green)}.tax-stack .cgst{background:#d8a240}.tax-stack .sgst{background:#6288a8}.chart-empty{padding:18px 0;color:var(--muted);font-size:.63rem;text-align:center}.aging-wide,.provider-wide{max-width:900px}@media(max-width:800px){.finance-chart-grid{grid-template-columns:1fr}}@media(max-width:520px){.finance-ring-chart{grid-template-columns:1fr}.finance-ring{grid-row:auto;grid-column:auto;justify-self:center}}
@media print{body.management-report-printing *{visibility:hidden!important}body.management-report-printing .management-report,body.management-report-printing .management-report *{visibility:visible!important}body.management-report-printing .management-report{position:absolute;inset:0;width:100%;gap:10px}body.management-report-printing .report-hero button,body.management-report-printing .report-toolbar{display:none!important}body.management-report-printing .report-hero,body.management-report-printing .panel-card,body.management-report-printing .user-summary-grid article{border-color:#999;box-shadow:none;background:#fff}body.management-report-printing .report-table{min-width:0;font-size:8pt}body.management-report-printing [data-report-row][hidden]{display:none!important}}

/* Vehicle maintenance bill intake and review */
.service-station-register{display:grid;gap:14px}.service-station-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;gap:10px}.service-station-form label{display:grid;gap:5px;color:var(--muted);font-size:.6rem;font-weight:800}.service-station-form input,.service-station-form select{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}.service-station-form .station-active{display:flex;align-items:center;gap:8px;min-height:40px}.service-station-form .station-active input{width:auto}.station-chip-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.station-chip-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #dce6e1;border-radius:9px;background:#f8faf9}.station-chip-list strong,.station-chip-list small{display:block}.station-chip-list strong{font-size:.64rem}.station-chip-list small{margin-top:3px;color:var(--muted);font-size:.54rem}.maintenance-bill-list{display:grid;gap:12px;margin-top:16px}.maintenance-bill-card{padding:17px}.maintenance-bill-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.maintenance-bill-card>header h4{margin:6px 0 3px;font-size:.82rem}.maintenance-bill-card>header p{margin:0;color:var(--muted);font-size:.61rem}.maintenance-bill-card>header>div:last-child{display:grid;justify-items:end;gap:6px}.maintenance-bill-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px}.maintenance-bill-metrics span{padding:10px;border-radius:8px;background:#f4f7f5}.maintenance-bill-metrics small,.maintenance-bill-metrics strong{display:block}.maintenance-bill-metrics small{color:var(--muted);font-size:.53rem}.maintenance-bill-metrics strong{margin-top:4px;font-size:.67rem}.maintenance-bill-details{margin-top:12px}.maintenance-bill-details summary{cursor:pointer;color:var(--green);font-size:.64rem;font-weight:850}.maintenance-bill-details .users-table-wrap{margin-top:10px;border:1px solid var(--border);border-radius:9px}.maintenance-line-table{min-width:1180px}.maintenance-review-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.maintenance-review-footer p{margin:0;color:var(--muted);font-size:.6rem}.diesel-review-list{padding:18px;border:1px solid var(--border);border-radius:13px;background:#f8faf9}.diesel-review-list .maintenance-bill-card{background:#fff}@media(max-width:900px){.service-station-form{grid-template-columns:1fr 1fr}.station-chip-list{grid-template-columns:1fr 1fr}.maintenance-bill-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.service-station-form,.station-chip-list{grid-template-columns:1fr}.maintenance-review-footer{align-items:flex-start;flex-direction:column}}

/* Site Manager operations */
.site-manager-operations{display:grid;gap:16px}.site-manager-work-summary{margin-bottom:0}.site-manager-site-panel{padding:0;overflow:hidden}.site-manager-site-panel .panel-heading{padding:17px 19px;border-bottom:1px solid var(--border)}.site-manager-site-list{display:flex;flex-wrap:wrap;gap:9px;padding:15px 19px}.site-manager-site-list>span{min-width:190px;padding:10px 12px;border:1px solid #d7e5df;border-radius:10px;background:#f6faf8}.site-manager-site-list strong,.site-manager-site-list small{display:block}.site-manager-site-list strong{font-size:.68rem}.site-manager-site-list small{margin-top:4px;color:var(--muted);font-size:.56rem}.site-manager-trip-toolbar{padding:0;border:0}.site-manager-trip-list{display:grid;gap:13px}.site-manager-trip-card{padding:0;overflow:hidden}.site-manager-trip-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 20px}.site-manager-trip-heading h3{margin:6px 0 3px;font-size:.84rem}.site-manager-trip-heading p{margin:0;color:var(--muted);font-size:.62rem}.site-manager-trip-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-block:1px solid var(--border);background:var(--border)}.site-manager-trip-metrics span{padding:11px 15px;background:#f8faf9}.site-manager-trip-metrics small,.site-manager-trip-metrics strong{display:block}.site-manager-trip-metrics small{color:var(--muted);font-size:.53rem}.site-manager-trip-metrics strong{margin-top:4px;font-size:.66rem}.site-manager-workflow>summary{cursor:pointer;padding:13px 20px;color:var(--green);font-size:.65rem;font-weight:900}.site-manager-workflow[open]>summary{border-bottom:1px solid var(--border)}.site-manager-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:16px 20px;background:#f5f8f6}.site-manager-progress>span{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;padding:8px;border:1px solid #dce6e1;border-radius:9px;background:#fff;color:#8b9993;font-size:.6rem;font-weight:900}.site-manager-progress>span:before{content:''}.site-manager-progress>span small{font-size:.52rem;line-height:1.25}.site-manager-progress>span.complete{border-color:#a9d2c0;background:#eaf5f0;color:#17624c}.site-manager-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.site-manager-action-card{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--border);border-radius:11px;background:#fff}.site-manager-action-card>div:first-child{min-width:0}.site-manager-action-card>div:first-child>span{color:var(--green);font-size:.51rem;font-weight:900;letter-spacing:.1em}.site-manager-action-card h4{margin:4px 0;font-size:.72rem}.site-manager-action-card p{margin:0;color:var(--muted);font-size:.57rem;line-height:1.45}.site-manager-action-card>form{display:grid;flex:0 0 210px;gap:8px}.site-manager-action-card input,.site-manager-action-card select{width:100%;min-height:38px;padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit;font-size:.6rem}.site-manager-action-card .primary-action{min-height:38px;padding:8px 11px;font-size:.59rem}.site-manager-done,.site-manager-waiting{align-self:center;padding:7px 9px;border-radius:999px;background:#e4f2eb;color:#17624c;font-size:.57rem;font-weight:850;white-space:nowrap}.site-manager-waiting{background:#fbf0d7;color:#85631d}.site-manager-expense-card{grid-column:1/-1;display:block}.site-manager-expense-entry{display:grid!important;grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;margin-top:12px}.site-manager-expense-entry label{display:grid;gap:4px;color:var(--muted);font-size:.54rem;font-weight:800}.site-manager-expense-entry .full-field{grid-column:span 3}.site-manager-expense-list{display:grid;gap:7px;margin-top:12px}.site-manager-expense-list>article{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;background:#f6f8f7}.site-manager-expense-list>article>div{margin-right:auto}.site-manager-expense-list strong,.site-manager-expense-list small{display:block}.site-manager-expense-list strong{font-size:.62rem}.site-manager-expense-list small{margin-top:3px;color:var(--muted);font-size:.54rem}.site-manager-receipt-form{display:flex!important;flex:0 1 330px!important;grid-template-columns:1fr auto;align-items:center}.site-manager-ccms-form{grid-template-columns:1fr}.site-manager-complete-card{grid-column:1/-1;border-color:#b8d7c9;background:#f1f8f5}.site-manager-document-register{padding:0 20px 20px}.site-manager-document-register h4{margin:0 0 9px;font-size:.67rem}.site-manager-document-register>div{display:flex;flex-wrap:wrap;gap:8px}.site-manager-document-register a{display:grid;max-width:240px;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;color:var(--green);text-decoration:none}.site-manager-document-register a strong{font-size:.56rem}.site-manager-document-register a small{overflow:hidden;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1050px){.site-manager-progress{grid-template-columns:repeat(4,1fr)}.site-manager-action-grid{grid-template-columns:1fr}.site-manager-expense-card,.site-manager-complete-card{grid-column:auto}.site-manager-expense-entry{grid-template-columns:repeat(2,1fr)}.site-manager-expense-entry .full-field{grid-column:span 2}}@media(max-width:700px){.site-manager-trip-heading{align-items:flex-start;flex-direction:column}.site-manager-trip-metrics{grid-template-columns:repeat(2,1fr)}.site-manager-progress{grid-template-columns:1fr 1fr}.site-manager-action-card{align-items:stretch;flex-direction:column}.site-manager-action-card>form{flex-basis:auto;width:100%}.site-manager-expense-entry{grid-template-columns:1fr}.site-manager-expense-entry .full-field{grid-column:auto}.site-manager-expense-list>article{align-items:flex-start;flex-direction:column}.site-manager-receipt-form{display:grid!important;width:100%}.site-manager-trip-toolbar{align-items:stretch;flex-direction:column}.site-manager-trip-toolbar .user-search-wrap,.site-manager-trip-toolbar select{width:100%}}

