:root{--font-sans:"Avenir Next", "Segoe UI", sans-serif;--font-display:"Franklin Gothic Medium", "Arial Narrow", sans-serif;--bg:#f4f1ea;--surface:#ffffffd1;--surface-strong:#fff;--surface-soft:#fbf8f3;--text:#1f2933;--text-soft:#5c6b73;--border:#1f29331f;--primary:#a83c32;--danger:#9f2d2d;--sidebar:linear-gradient(180deg, #1f2a37 0%, #161d28 100%);--shadow:0 10px 24px #0f172a14;--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--control-height:2.2rem;--control-padding-x:.7rem;--section-gap:.7rem;color:var(--text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top left, #a83c3229, transparent 28%), radial-gradient(circle at bottom right, #145b5b24, transparent 30%), var(--bg);font-weight:400;line-height:1.35}*{box-sizing:border-box}html,body,#app{min-height:100%}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:700}.button{min-height:var(--control-height);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .82rem;font-size:.85rem;font-weight:600;line-height:1.1;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:linear-gradient(135deg, var(--primary) 0%, #c86942 100%);color:#fff;box-shadow:0 6px 14px #a83c3229}.button--ghost{border-color:var(--border);color:var(--text);background:#ffffffb3}.button--block{width:100%}.button__spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:.8rem;height:.8rem;animation:.9s linear infinite spin}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-layout{grid-template-columns:minmax(280px,1.1fr) minmax(320px,.9fr);min-height:100vh;display:grid}.auth-layout__panel{color:#f8fafc;background:linear-gradient(160deg,#1f2a37f5,#111827eb);flex-direction:column;justify-content:center;padding:3rem;display:flex}.auth-layout__panel h1{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(2.5rem,4vw,4.2rem)}.auth-layout__lead{color:#f8fafcf0;margin:.75rem 0 0;font-size:1.05rem;font-weight:600}.auth-layout__copy{color:#f8fafcc7;max-width:34rem;margin-top:1.2rem;font-size:1rem}.auth-layout__highlights{flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;display:flex}.auth-layout__highlights span{color:#f8fafce6;background:#ffffff14;border:1px solid #f8fafc14;border-radius:999px;padding:.42rem .72rem;font-size:.84rem}.auth-layout__badge-section{max-width:34rem;margin-top:1.35rem}.auth-layout__badge-label{letter-spacing:.08em;text-transform:uppercase;color:#f8fafc8c;margin:0 0 .65rem;font-size:.78rem;font-weight:600}.auth-layout__badges{flex-wrap:wrap;gap:.6rem;display:flex}.auth-layout__badges span{white-space:nowrap;border-radius:999px;padding:.45rem .78rem;font-size:.82rem;line-height:1}.auth-layout__badge{align-items:center;gap:.45rem;display:inline-flex}.auth-layout__badge--icon svg{fill:currentColor;opacity:.9;flex-shrink:0;width:.9rem;height:.9rem}.auth-layout__badges--live span{color:#f8fafceb;background:#ffffff1c;border:1px solid #f8fafc1f}.auth-layout__badges--upcoming span{color:#f8fafcb8;background:#ffffff0f;border:1px solid #f8fafc14}.auth-layout__content{justify-content:center;align-items:center;padding:1.5rem;display:flex}.auth-card{width:min(100%,480px);padding:1.15rem}.auth-card__header h2{margin:0 0 .35rem;font-size:1.35rem}.auth-card__header p:last-child{color:var(--text-soft);margin:0}.auth-form{gap:.7rem;margin-top:1rem;display:grid}.field{color:var(--text-soft);gap:.28rem;min-width:0;font-size:.82rem;display:grid}.field__label{color:var(--text);font-size:.78rem;font-weight:600}.field__label em{color:var(--danger);margin-left:.25rem;font-style:normal}.field__control{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:var(--control-height);width:100%;max-width:100%;padding:.45rem var(--control-padding-x);background:var(--surface-strong);font-size:.86rem;line-height:1.35;transition:border-color .18s,box-shadow .18s}.field__control--textarea{resize:vertical;min-height:92px}.field__control:focus{border-color:#a83c3280;outline:none;box-shadow:0 0 0 4px #a83c321f}.field__control--error{border-color:#9f2d2d73;box-shadow:0 0 0 4px #9f2d2d14}.field__helper{color:var(--text-soft);font-size:.72rem}.field__error{color:var(--danger);font-size:.72rem;font-weight:600}.admin-shell{grid-template-columns:224px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.admin-shell--collapsed{grid-template-columns:84px minmax(0,1fr)}.admin-shell__main{min-width:0}.admin-shell__content{gap:var(--section-gap);padding:1rem 1.1rem;display:grid}.admin-shell__content>*{min-width:0}.sidebar{background:var(--sidebar);color:#dbe4ee;flex-direction:column;gap:.95rem;min-height:100vh;max-height:100vh;padding:.85rem .75rem;transition:width .18s,padding .18s;display:flex;overflow:hidden}.sidebar--collapsed{width:84px}.sidebar__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sidebar__brand{align-items:center;gap:.6rem;min-width:0;display:flex}.sidebar__badge{color:#fff;background:linear-gradient(135deg,#d7815d,#a83c32);border-radius:.6rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:inline-flex}.sidebar__toggle{color:#eef4f8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;padding:0;display:inline-flex}.sidebar__toggle:hover{background:#ffffff1f}.sidebar__toggle svg{width:.95rem;height:.95rem}.sidebar__toggle path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;transition:transform .18s}.sidebar__toggle-icon--collapsed{transform:rotate(180deg)}.sidebar__backdrop{display:none}.sidebar__title,.sidebar__subtitle,.topbar__user p,.topbar__user strong,.stat-card p,.stat-card strong{margin:0}.sidebar__title{color:#fff;font-size:.88rem;font-weight:700}.dashboard-page{gap:1rem}.dashboard-page__header{align-items:flex-start}.dashboard-loading{padding:1.4rem}.dashboard-section{overflow:hidden}.dashboard-section__toggle{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:1.15rem 1.25rem;display:flex}.dashboard-section__toggle h2{margin:0;font-size:1.18rem}.dashboard-section__icon{background:#1f29330f;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.25rem;font-weight:700;display:inline-flex}.dashboard-section__body{gap:1rem;padding:0 1.25rem 1.25rem;display:grid}.dashboard-kpi-grid,.dashboard-three-column,.dashboard-two-column,.dashboard-chart-grid{gap:.95rem;display:grid}.dashboard-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-kpi-grid--diesel{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpi-card{border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;background:linear-gradient(#ffffffeb,#fbf8f3eb);gap:.3rem;padding:1rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.dashboard-kpi-card:hover{border-color:#a83c323d;transform:translateY(-1px);box-shadow:0 14px 28px #0f172a14}.dashboard-kpi-card strong{font-size:1.7rem;line-height:1.1}.dashboard-kpi-card small,.dashboard-kpi-card__helper,.alert-card p,.insight-item span{color:var(--text-soft)}.dashboard-kpi-card__label{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-size:.82rem;font-weight:700}.dashboard-chart-grid{grid-template-columns:2fr 1.2fr 1fr;align-items:start}.dashboard-chart-card{padding:1rem}.dashboard-chart-card--compact{min-height:100%}.dashboard-chart-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.dashboard-chart-card__header h3,.alert-card h3{margin:0}.chart-frame{height:290px}.chart-frame--short{height:340px}.chart-frame--compact{height:250px}.segmented-control{background:#1f29330f;border-radius:999px;gap:.2rem;padding:.2rem;display:inline-flex}.segmented-control button{background:0 0;border:0;border-radius:999px;padding:.38rem .72rem;font-size:.82rem;font-weight:700}.segmented-control button.active{color:var(--primary);background:#fff;box-shadow:0 6px 16px #0f172a14}.segmented-control button:disabled{opacity:.45;cursor:not-allowed}.alert-grid{gap:.75rem;display:grid}.alert-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.alert-card[data-severity=critical]{border-left:5px solid #9f2d2d}.alert-card[data-severity=high]{border-left:5px solid #c86942}.alert-card[data-severity=medium]{border-left:5px solid #d89b3c}.dashboard-two-column{grid-template-columns:1fr 1.6fr}.dashboard-three-column{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.insight-list{gap:.7rem;display:grid}.insight-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffb3;gap:.2rem;padding:.8rem .9rem;display:grid}.insight-item strong{font-size:1rem}.insight-item[data-tone=warning]{background:#d89b3c14;border-color:#d89b3c66}.table-card--full{padding:1rem}@media (width<=1280px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-two-column,.dashboard-three-column{grid-template-columns:1fr}}@media (width<=768px){.dashboard-kpi-grid,.dashboard-kpi-grid--diesel,.dashboard-chart-grid{grid-template-columns:1fr}.dashboard-section__toggle,.dashboard-section__body{padding-left:1rem;padding-right:1rem}.alert-card,.dashboard-chart-card__header{flex-direction:column;align-items:flex-start}}.sidebar__subtitle{color:#dbe4ee9e;font-size:.72rem}.sidebar__nav{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:.55rem;min-height:0;padding-right:.2rem;display:flex;overflow-y:auto}.sidebar__group{flex:none;align-content:start;gap:.25rem;display:grid}.sidebar__group-toggle,.sidebar__logout{color:#eef4f8;text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:.7rem;gap:.1rem;width:100%;padding:.56rem .7rem;font-size:.84rem;display:grid}.sidebar__logout{flex:none;margin-top:auto}.sidebar__group-toggle{letter-spacing:.02em;grid-template-columns:minmax(0,1fr) auto;align-items:center;font-weight:700}.sidebar__group-toggle--direct{grid-template-columns:minmax(0,1fr)}.sidebar__group-toggle--active{background:#ffffff14;border-color:#ffffff1f}.sidebar__group-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__group-chevron{color:#dbe4eeb8;transition:transform .18s}.sidebar__group-chevron--open{transform:rotate(180deg)}.sidebar__group-links{align-content:start;gap:.2rem;padding-left:.4rem;display:grid}.sidebar__sublink{color:#eef4f8eb;background:#ffffff05;border-left:2px solid #ffffff14;border-radius:.6rem;gap:.14rem;margin-left:.2rem;padding:.48rem .65rem .48rem .75rem;font-size:.8rem;display:grid}.sidebar__sublink:hover,.sidebar__group-toggle:hover,.sidebar__logout:hover{background:#ffffff14}.sidebar__sublink small,.sidebar__logout small{color:#dbe4eea3;font-size:.68rem}.sidebar__sublink--active{background:#a83c3238;border-color:#d870587a}.sidebar__group--active .sidebar__group-label{color:#fff}.sidebar--collapsed .sidebar__nav{gap:.5rem}.sidebar--collapsed .sidebar__header{flex-direction:column}.sidebar--collapsed .sidebar__group-toggle,.sidebar--collapsed .sidebar__logout{text-align:center;justify-items:center;padding-left:0;padding-right:0}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem 1.1rem;display:flex}.topbar__menu-toggle{border:1px solid var(--border);background:#ffffffb3;border-radius:.65rem;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.2rem;width:2rem;height:2rem;padding:0;display:none}.topbar__menu-toggle span{background:var(--text);border-radius:999px;width:.85rem;height:1.5px}.topbar__title-group,.topbar__actions,.topbar__user{align-items:center;gap:.55rem;display:flex}.topbar__title-group h2{margin:0;font-size:.95rem}.topbar__eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .15rem;font-size:.68rem}.topbar__user p{color:var(--text-soft);text-transform:capitalize}.status-dot{background:#33a17a;border-radius:999px;width:.5rem;height:.5rem;box-shadow:0 0 0 3px #33a17a24}.breadcrumbs{color:var(--text-soft);flex-wrap:wrap;gap:.35rem;font-size:.78rem;display:flex}.breadcrumbs__item{align-items:center;gap:.45rem;display:inline-flex}.breadcrumbs__item:not(:last-child):after{content:"/";color:#5c6b73b3}.page{gap:.8rem;min-width:0;display:grid}.page__header h1,.not-found h1{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,2.3vw,2.2rem)}.page__description{max-width:48rem;color:var(--text-soft);margin-top:.35rem;font-size:.84rem}.stats-grid,.content-grid,.form-grid{gap:.7rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.form-grid--single{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.content-grid .card,.form-card,.meta-card{min-width:0;padding:.85rem}.form-card--narrow{max-width:760px}.stat-card p{color:var(--text-soft)}.stat-card strong{margin-top:.2rem;font-size:1.02rem;display:inline-block}.diesel-summary-stats{align-items:stretch}.diesel-summary-card{flex-direction:column;justify-content:center;gap:.3rem;min-height:88px;padding:.9rem 1rem;display:flex}.diesel-summary-card .eyebrow,.diesel-summary-card h2{margin:0}.diesel-summary-card .eyebrow{color:var(--text-soft)}.diesel-summary-card h2{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.15}.form-card__header h2,.meta-card h2,.empty-state h3{margin:0 0 .25rem;font-size:1rem}.form-card__header p,.empty-state p,.inline-message p{color:var(--text-soft);margin:0}.stacked-form{gap:.7rem;margin-top:.8rem;display:grid}.form-actions{justify-content:flex-start;gap:.45rem;display:flex}.page-actions{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;display:flex}.action-chip{color:var(--primary);background:#a83c321a;border-radius:999px;align-items:center;padding:.28rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.meta-list{gap:.55rem;margin:.65rem 0 0;display:grid}.meta-list div{border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--border);padding:.6rem .7rem}.meta-list dt{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.meta-list dd{margin:.25rem 0 0;font-weight:600}.empty-state{text-align:center;border-radius:var(--radius-sm);background:#ffffff6b;border:1px dashed #1f293329;place-content:center;gap:.5rem;min-height:130px;padding:.75rem;display:grid}.inline-message{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff8c;gap:.25rem;margin-top:.65rem;padding:.6rem .75rem;display:grid}.inline-message strong{font-size:.84rem}.inline-message[data-type=error]{background:#9f2d2d0f;border-color:#9f2d2d33}.toast-stack{z-index:50;gap:.45rem;width:min(320px,100vw - 1.5rem);display:grid;position:fixed;top:.8rem;right:.8rem}.toast{border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow);background:#fffffff2;justify-content:space-between;align-items:start;gap:.55rem;padding:.6rem .7rem;display:flex}.toast strong,.toast p{margin:0}.toast p{color:var(--text-soft);margin-top:.15rem;font-size:.78rem}.toast__close{color:var(--text-soft);background:0 0;border:none;padding:.1rem;font-size:.85rem;line-height:1}.feature-list{color:var(--text-soft);margin:.6rem 0 0;padding-left:.9rem}.feature-list li+li{margin-top:.3rem}.toolbar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.45rem;display:grid}.toolbar-grid--wide{grid-template-columns:repeat(5,minmax(0,1fr))}.table-card{padding:.75rem .85rem .85rem}.table-wrapper{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#5c6b7359 transparent;max-width:100%;position:relative;overflow-x:auto}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:0 0}.table-wrapper::-webkit-scrollbar-thumb{background:#5c6b7340;border-radius:999px}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.55rem .5rem;font-size:.83rem}.data-table th{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.68rem}.table-actions{flex-wrap:wrap;gap:.4rem;display:flex}.line-item-cell{min-width:138px}.pagination-bar{justify-content:space-between;align-items:center;gap:.6rem;margin-top:.65rem;display:flex}.pagination-bar p{color:var(--text-soft);margin:0}.status-badge{color:#247a52;background:#33a17a24;border-radius:999px;align-items:center;padding:.18rem .42rem;font-size:.68rem;font-weight:600;display:inline-flex}.status-badge--inactive{color:var(--danger);background:#9f2d2d14}.status-badge--draft{color:#9a6507;background:#bf7e1124}.status-badge--posted{color:#247a52;background:#33a17a24}.status-badge--cancelled{color:var(--danger);background:#9f2d2d14}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.detail-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-soft);flex-direction:column;gap:.35rem;padding:.85rem;display:flex}.detail-item__label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.form-card__header--split{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.not-found{text-align:center;place-content:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.toast-enter-active,.toast-leave-active{transition:all .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-8px)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.admin-shell,.stats-grid,.content-grid,.auth-layout,.form-grid,.toolbar-grid,.form-grid--single,.detail-grid{grid-template-columns:1fr}.sidebar{z-index:40;width:min(18rem,100vw - 2.5rem);max-height:none;transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 18px 40px #0f172a38}.sidebar--collapsed{width:min(18rem,100vw - 2.5rem)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed .sidebar__brand,.sidebar--collapsed .sidebar__header{flex-direction:row}.sidebar--collapsed .sidebar__brand>div,.sidebar--mobile-open .sidebar__brand>div{display:block}.sidebar--collapsed .sidebar__group-toggle,.sidebar--collapsed .sidebar__logout{text-align:left;justify-items:stretch;padding-left:.56rem;padding-right:.7rem}.sidebar--collapsed .sidebar__group-label,.sidebar--mobile-open .sidebar__group-label{white-space:normal}.sidebar--collapsed .sidebar__nav{gap:.55rem}.sidebar--collapsed .sidebar__group-links{padding-left:.4rem;display:grid}.sidebar--collapsed .sidebar__sublink{margin-left:.2rem}.sidebar__backdrop{z-index:30;background:#0f172a47;border:0;padding:0;display:block;position:fixed;inset:0}.auth-layout__panel,.auth-layout__content,.admin-shell__content,.topbar{padding:.95rem}.topbar,.topbar__actions,.topbar__title-group{flex-wrap:wrap}.topbar__menu-toggle{display:inline-flex}.pagination-bar{flex-direction:column;align-items:flex-start}}@media (width<=768px){.table-card{padding:.7rem}.table-wrapper{background:#ffffff8c;border:1px solid #1f293314;margin-inline:-.1rem;padding:0 .1rem .35rem}.table-wrapper:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0,#f4f1eaeb);width:1rem;height:100%;position:absolute;top:0;right:0}.data-table{min-width:640px}.data-table th,.data-table td{padding:.5rem .45rem}.data-table th{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf8f3fa;position:sticky;top:0}.data-table td{white-space:nowrap}.table-actions{align-items:stretch}.table-actions>*{width:100%}}@media (width<=480px){.table-card{padding:.65rem}.data-table{min-width:560px}.data-table th,.data-table td{padding:.44rem .4rem;font-size:.78rem}.data-table th{font-size:.64rem}}
