:root{--brand-900:#0b2e4a;--brand-700:#123a63;--brand-600:#1c5f9e;--brand-500:#2b6cb0;--brand-100:#ebf4ff;--energy:#e8871e;--energy-bg:#fff4e5;--text:#3d4552;--text-h:#12161f;--text-muted:#6b7280;--bg:#fff;--bg-subtle:#f7f9fc;--border:#e3e7ee;--accent:var(--brand-500);--accent-bg:var(--brand-100);--danger:#c0392b;--danger-bg:#fdecea;--warning:#9a6d00;--warning-bg:#fff6dd;--success:#1e7a3d;--success-bg:#e6f6ec;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #10182814;--shadow-lg:0 12px 32px #10182824;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;font:15px/1.55 var(--sans);color:var(--text);background:var(--bg-subtle);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-h);letter-spacing:-.01em;margin:0 0 12px;font-weight:700}h1{font-size:22px}h2{font-size:20px}h3{margin-top:28px;font-size:16px}h4{margin-top:20px;font-size:14px}a{color:var(--accent)}.portal{flex-direction:column;min-height:100svh;display:flex}.portal header{z-index:40;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:20px;padding:10px 24px;display:flex;position:sticky;top:0}.brand-link{flex-shrink:0;text-decoration:none}.nav-toggle{color:var(--text-h);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:8px;display:none}.nav-panel{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.portal header nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.portal header nav a{color:var(--text);border-radius:var(--radius-sm);white-space:nowrap;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s}.portal header nav a:hover{color:var(--brand-600);background:var(--bg-subtle)}.portal header nav a.active{color:var(--brand-600);background:var(--accent-bg)}.header-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.header-user{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.header-user a{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:inherit;text-decoration:none;overflow:hidden}.header-user a:hover{color:var(--brand-600);text-decoration:underline}.notif-dropdown{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:min(340px,100vw - 32px);max-height:420px;box-shadow:var(--shadow-lg);z-index:50;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}@media (width<=860px){.notif-dropdown{width:auto;max-height:calc(100svh - 90px);position:fixed;top:68px;left:12px;right:12px}}.diesel-rate-badge{color:var(--brand-600);background:var(--accent-bg);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}@media (width<=860px){.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-panel{background:var(--bg);opacity:0;pointer-events:none;box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 20px;transition:transform .15s,opacity .15s;position:fixed;inset:57px 0 0;overflow-y:auto;transform:translateY(-8px)}.nav-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.portal header nav{flex-direction:column;gap:2px}.portal header nav a{padding:12px 10px;font-size:15px}.header-actions{border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:12px;margin-top:8px;padding-top:12px}.header-user{justify-content:space-between}}.portal main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:28px 24px 60px}@media (width<=600px){.portal main{padding:18px 14px 40px}}.login-page{background:radial-gradient(circle at 15% 15%,#1c5f9e 0%,#0b2e4a 55%,#081f34 100%);flex:1;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-card{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:36px 32px 32px}.login-card .brand-block{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:26px;display:flex}.login-form{flex-direction:column;gap:14px;display:flex}.login-footer{text-align:center;color:#fff9;margin-top:24px;font-size:12px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}label{color:var(--text);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}input,select,textarea,button{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:9px 12px}input,select,textarea{transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--accent-bg);outline:none}button{cursor:pointer;background:var(--brand-500);color:#fff;border:none;align-self:flex-start;font-weight:600;transition:background-color .15s,box-shadow .15s,transform 50ms}button:hover:not(:disabled){background:var(--brand-600)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.btn-plain{color:inherit;background:0 0;padding:6px;font-weight:500}button.btn-plain:hover:not(:disabled){background:var(--bg-subtle)}button.btn-secondary{background:var(--bg);color:var(--text-h);border:1px solid var(--border)}button.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.order-form{flex-direction:column;gap:14px;max-width:420px;margin-bottom:16px;display:flex}.filters{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 20px}.pipeline-tile{cursor:pointer;transition:background-color .15s,box-shadow .15s,transform .1s}.pipeline-tile:hover,.pipeline-tile:focus-visible{background-color:var(--accent-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card-link{color:inherit;cursor:pointer;text-decoration:none;transition:background-color .15s,box-shadow .15s,transform .1s;display:block}.card-link:hover,.card-link:focus-visible{background-color:var(--accent-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.table-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;overflow-x:auto}table.orders-table{border-collapse:collapse;background:var(--bg);width:100%}.orders-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.orders-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:14px}.orders-table tbody tr:hover{background:var(--bg-subtle)}.orders-table tbody tr:last-child td{border-bottom:none}.banner{border-radius:var(--radius-sm);margin-bottom:16px;padding:11px 15px;font-size:14px}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-warning{background:var(--warning-bg);color:var(--warning)}.status-badge{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-rejected{background:var(--danger-bg);color:var(--danger)}.status-fulfilled,.status-booked{background:var(--success-bg);color:var(--success)}.status-pending_approval{background:var(--warning-bg);color:var(--warning)}.amended-flag{color:var(--warning);margin-left:6px;font-size:12px}.order-summary{grid-template-columns:200px 1fr;row-gap:10px;margin-bottom:16px;display:grid}@media (width<=520px){.order-summary{grid-template-columns:1fr;row-gap:2px}.order-summary dt{margin-top:8px}}.order-summary dt{color:var(--text-muted);font-size:13px}.order-summary dd{color:var(--text-h);margin:0;font-size:14px;font-weight:500}.history-list{color:var(--text);padding:0;font-size:13px;list-style:none}.history-list li{border-bottom:1px solid var(--border);padding:7px 0}
