*{box-sizing:border-box} :root{color-scheme:dark;--bg:#0d1421;--panel:#162132;--line:#2a394f;--muted:#a6b6cb;--accent:#70d7c0;--text:#eef3fa}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.layout{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:#101a29;padding:26px 18px;border-right:1px solid var(--line)}.brand{display:block;color:var(--text);font-size:22px;font-weight:750;line-height:1.2;padding:0 10px}.brand:hover{text-decoration:none}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.12em;margin:12px 0 30px}.nav a{display:block;padding:11px 13px;margin:4px 0;color:var(--muted);border-radius:9px}.nav a.active,.nav a:hover{background:#23364b;color:#fff;text-decoration:none}.nav a.active{box-shadow:inset 3px 0 var(--accent)}.main{flex:1;min-width:0}.topbar{padding:18px 30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;background:#101a29}.content{padding:30px;max-width:1800px;margin:auto}.heading{display:flex;justify-content:flex-start;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.heading>.actions{margin-top:0}.heading h1{margin:0;font-size:30px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.muted,.helptext{color:var(--muted)}.helptext{font-size:12px;display:block;margin-top:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}.card h2{margin-top:0}.btn{border:1px solid var(--line);display:inline-block;background:#24384e;color:#fff;border-radius:8px;padding:10px 17px;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--accent);color:#0d2925;border-color:var(--accent);font-weight:700}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn:disabled{opacity:.4;cursor:not-allowed}.logout{background:none;border:0;color:var(--muted);cursor:pointer}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px}.stat{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.stat strong{font-size:27px;display:block;margin-top:7px}.filters,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.filters label,.form-grid label{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}input:not([type=checkbox]),select,textarea{width:100%;min-height:43px;border:1px solid #3b4c63;border-radius:7px;padding:9px 11px;background:#0d1828;color:#f6f9ff}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}textarea{resize:vertical}.full{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:center}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin:18px 0}table{border-collapse:collapse;width:100%;background:var(--panel);font-size:14px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);background:#1c2a3d;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr[data-row-href]:hover{background:#1c2a3a}td.num{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.nowrap{white-space:nowrap}.pagination{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:18px}.details{display:grid;grid-template-columns:minmax(170px,1fr) 2fr;gap:0;margin:0}.details dt,.details dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}.details dt{color:var(--muted)}.note,.notice{border:1px solid #436856;background:#172f2d;padding:14px 17px;border-radius:9px;margin:12px 0}.warning{border-color:#78633d;background:#322b1d;color:#f7dfaa}.errorlist,.errors{color:#ffb6b6}.errorlist{margin:8px 0;padding-left:20px}.errors{padding:14px;background:#35232c;border-radius:8px}.badge{display:inline-block;background:#26394b;border-radius:6px;padding:2px 8px;font-size:12px;color:#bfe7dd}.empty{padding:38px;text-align:center}.inline-form{display:inline}.foot{font-size:12px;color:var(--muted);margin-top:26px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(100%,420px)}.login-card label{display:block;margin:18px 0 7px}.login-card button{width:100%;margin-top:24px}details>summary{cursor:pointer;color:var(--muted);margin-bottom:15px}@media(max-width:850px){.layout{display:block}.sidebar{width:auto;padding:14px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:19px}.brand small{display:none}.nav{display:flex;overflow-x:auto;gap:3px;margin-top:12px}.nav a{white-space:nowrap;padding:8px 12px}.topbar{padding:12px 18px;font-size:13px}.content{padding:20px 14px}.heading{align-items:flex-start}.heading h1{font-size:25px}.details{grid-template-columns:1fr}.details dt{border-bottom:0;padding-bottom:0}.details dd{padding-top:5px}.card{padding:19px}.filters,.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.filters,.form-grid{grid-template-columns:1fr}.topbar>span{max-width:60%}.heading{flex-wrap:wrap}.stats{grid-template-columns:1fr}.pagination{flex-wrap:wrap}}
.plan-compose{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:16px;align-items:end}.plan-compose textarea{min-height:120px}.plan-results{display:grid;gap:12px}.plan-result{background:#101b2b;border:1px solid var(--line);border-radius:11px;padding:17px}.plan-result-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.plan-result-raw{font-size:17px;font-weight:700}.plan-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.plan-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.plan-field{background:#162538;border-radius:8px;padding:10px 12px}.plan-field small{display:block;color:var(--muted);margin-bottom:3px}.prototype-note{display:flex;gap:10px;align-items:flex-start}.prototype-note strong{color:var(--accent)}@media(max-width:700px){.plan-compose{grid-template-columns:1fr}.plan-result-header{display:block}}


.plan-date-nav { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.plan-date-nav > div { flex: 1; min-width: 180px; }
.plan-date-nav input { width: 100%; }
.plan-meta { margin: 14px 0; font-size: .9rem; }
.plan-cancelled { opacity: .68; }
.plan-cancelled .plan-result-raw { text-decoration: line-through; }
.plan-result form { margin-top: 16px; }
.plan-result form > .input { width: 100%; }
@media (max-width: 640px) {
  .plan-date-nav { display: grid; grid-template-columns: auto 1fr auto; }
  .plan-date-nav > div { min-width: 0; }
  .plan-date-nav .btn:nth-of-type(2) { grid-column: 3; }
}

#invite-link { width: 100%; }
.plan-compose-mixed { grid-template-columns: 1fr; }
.plan-row-order { margin-top: 16px; }
.plan-row-order label { display: block; color: var(--muted); margin-bottom: 6px; }

[data-row-href]{cursor:pointer}[data-row-href]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.plan-result[data-row-href]:hover{background:#15253a}p[data-row-href]{border-radius:6px;padding:4px 6px;margin-left:-6px;margin-right:-6px}p[data-row-href]:hover{background:#162538}
.heading-actions{display:flex;flex-wrap:wrap;gap:10px}.row-menu-cell{width:1%;white-space:nowrap}.trip-row-actions{display:flex;align-items:flex-start;gap:7px}.trip-duplicate-action{padding:4px 10px;font-size:13px;line-height:1.35}.row-menu>summary{list-style:none;margin:0;border:1px solid var(--line);border-radius:7px;padding:3px 9px;color:var(--text);font-weight:700}.row-menu>summary::-webkit-details-marker{display:none}.row-menu[open]>summary{background:#24384e}.row-menu nav{display:grid;gap:4px;min-width:130px;margin-top:7px;padding:7px;background:#101a29;border:1px solid var(--line);border-radius:8px}.row-menu nav a{display:block;padding:5px 7px;border-radius:5px}.row-menu nav a:hover{background:#24384e;text-decoration:none}
.deadline-expired{background:#5a2931;color:#ffd5d9}.deadline-within_7{background:#664821;color:#ffe2a3}.deadline-within_30{background:#4c4425;color:#f6e9a8}.deadline-later{background:#26394b;color:#bfe7dd}
.notification-danger{background:#5a2931;color:#ffd5d9}.notification-urgent{background:#664821;color:#ffe2a3}.notification-warning{background:#4c4425;color:#f6e9a8}
.maintenance-due-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.maintenance-due-item{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:13px;color:var(--text)}.maintenance-due-item:hover{text-decoration:none;filter:brightness(1.04)}.maintenance-overdue{background:var(--danger-bg);color:var(--danger-text)}.maintenance-upcoming{background:var(--urgent-bg);color:var(--urgent-text)}.maintenance-later{background:var(--badge-bg);color:var(--badge-text)}
.maintenance-form{max-width:1280px}.maintenance-form-section h2{margin:2px 0 18px}.maintenance-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.maintenance-text-grid{grid-template-columns:1fr}.maintenance-executor-grid,.maintenance-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px}.maintenance-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.maintenance-total,.maintenance-line-total{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:10px 13px;background:var(--bg)}.maintenance-total span,.maintenance-line-total span{color:var(--muted);font-size:12px}.maintenance-total output{font-size:22px;font-weight:750;color:var(--accent)}.maintenance-total small{color:var(--muted);margin-top:2px}.maintenance-grand-total{margin:18px 0}.maintenance-parts-card{padding-top:18px}.maintenance-parts-empty{margin:0;color:var(--muted)}.maintenance-part-form{padding:18px 0;border-bottom:1px solid var(--line)}.maintenance-part-form:first-child{padding-top:0}.maintenance-part-form:last-child{border-bottom:0}.maintenance-part-form.is-deleted{opacity:.55}.maintenance-part-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.maintenance-part-name,.maintenance-part-supplier,.maintenance-part-comment{grid-column:span 2}.maintenance-line-total output{font-weight:700;color:var(--accent)}.maintenance-part-delete{align-self:stretch}.maintenance-form>.actions{margin-bottom:24px}
@media(max-width:1000px){.maintenance-primary-grid,.maintenance-part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-total{grid-column:1/-1}}
@media(max-width:700px){.maintenance-table thead,.maintenance-parts-table thead{display:none}.maintenance-table,.maintenance-table tbody,.maintenance-table tr,.maintenance-table td,.maintenance-parts-table,.maintenance-parts-table tbody,.maintenance-parts-table tr,.maintenance-parts-table td{display:block;width:100%}.maintenance-table tr,.maintenance-parts-table tr{padding:12px 14px;border-bottom:1px solid var(--line)}.maintenance-table td,.maintenance-parts-table td{display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:10px;padding:6px 0;border:0;text-align:left}.maintenance-table td::before,.maintenance-parts-table td::before{content:attr(data-label);color:var(--muted);font-size:12px}.maintenance-table td.num,.maintenance-parts-table td.num{text-align:left}.maintenance-due-grid{grid-template-columns:1fr}.maintenance-primary-grid,.maintenance-executor-grid,.maintenance-cost-grid,.maintenance-next-grid,.maintenance-part-grid{grid-template-columns:1fr}.maintenance-part-name,.maintenance-part-supplier,.maintenance-part-comment,.maintenance-total{grid-column:auto}.maintenance-form-section h2{font-size:20px}.section-heading{align-items:flex-start}.section-heading .btn{width:100%}}
.counterparty-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.role-badges{display:flex;flex-wrap:wrap;gap:7px}.badge-archive{color:#e5c4c4;background:#493237}.counterparty-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:22px}.counterparty-quick>div{background:#101b2b;border:1px solid var(--line);border-radius:10px;padding:13px}.counterparty-quick small{display:block;color:var(--muted);margin-bottom:4px}.counterparty-quick strong{font-size:16px;overflow-wrap:anywhere}.dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.dossier-grid .card{margin-bottom:0}.compact-details{grid-template-columns:minmax(145px,.8fr) 1.5fr}.dossier-note{margin:18px 0 0}.role-checks{display:flex;flex-wrap:wrap;gap:12px}.role-checks label,.checkbox-field{display:flex;align-items:center;gap:8px;background:#101b2b;border:1px solid var(--line);border-radius:9px;padding:11px 13px}.checkbox-field{align-self:end;flex-wrap:wrap}.checkbox-field .helptext{flex-basis:100%}.counterparty-form>.actions{margin:22px 0 0}@media(max-width:700px){.dossier-grid{grid-template-columns:1fr}.compact-details{grid-template-columns:1fr}.compact-details dt{border-bottom:0;padding-bottom:0}.compact-details dd{padding-top:5px}.counterparty-quick{grid-template-columns:1fr 1fr}}@media(max-width:420px){.counterparty-quick{grid-template-columns:1fr}}
.bulk-link-form{display:grid;gap:12px}.bulk-toolbar{position:sticky;top:8px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:0}.bulk-toolbar .actions{margin:0 0 0 auto}.bulk-select-all,.candidate-choice{display:flex;align-items:center;gap:10px}.bulk-confirm-list{display:flex;flex-wrap:wrap;gap:8px}.fulfillment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.fulfillment-grid .card{display:flex;flex-direction:column;gap:7px;margin:0}.fulfillment-grid small{color:var(--muted)}.fulfillment-grid strong{font-size:22px}@media(max-width:700px){.bulk-toolbar{position:static}.bulk-toolbar .actions{margin-left:0;width:100%}.fulfillment-grid{grid-template-columns:1fr}}

/* Profit month navigation: compact on desktop, thumb-friendly on mobile. */
.profit-month-picker{padding:18px 20px}
.profit-month-nav{display:grid;grid-template-columns:auto minmax(220px,360px) auto auto auto;gap:12px;align-items:end}
.profit-month-field label{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
.profit-month-nav .btn{text-align:center}
.stat strong,.profit-month-nav,.table-wrap td.num{font-variant-numeric:tabular-nums}
@media(max-width:900px){
  .profit-month-nav{grid-template-columns:auto minmax(180px,1fr) auto}
  .profit-month-show,.profit-month-current{grid-column:auto}
}
@media(max-width:620px){
  .profit-month-nav{grid-template-columns:1fr 1fr}
  .profit-month-field{grid-column:1/-1;grid-row:1}
  .profit-month-previous,.profit-month-next{width:100%}
  .profit-month-show,.profit-month-current{width:100%}
}

.profit-month-field input[type="month"]{cursor:pointer}
.profit-attention>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:0;color:inherit}
.profit-attention>summary span{font-size:13px;font-weight:600;white-space:nowrap}
.profit-attention[open]>summary{margin-bottom:12px}
.profit-attention-table{margin:0;background:var(--card);border-radius:8px}
.profit-attention-table table{margin:0}
@media(max-width:620px){
  .profit-attention>summary{align-items:flex-start;flex-direction:column;gap:5px}
  .profit-attention>summary span{white-space:normal}
}


/* Cash flow: compact controls and account-level balance reconciliation. */
.cash-flow-heading{justify-content:space-between;align-items:flex-end}
.cash-flow-refresh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cash-flow-refresh .btn{min-width:190px}
.cash-flow-stats .stat{min-height:132px;display:flex;flex-direction:column}
.cash-flow-stats .stat strong{margin-top:auto}
.cash-flow-control-card{padding:22px}
.cash-flow-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.cash-flow-section-heading h2{margin:0 0 3px}
.cash-flow-section-heading p{margin:0}
.cash-flow-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cash-flow-control-item{display:flex;flex-direction:column;min-height:118px;padding:16px 18px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text)}
.cash-flow-control-link{cursor:pointer;transition:transform .15s ease,border-color .15s ease,filter .15s ease}
a.cash-flow-control-item:hover{text-decoration:none;filter:brightness(1.08);transform:translateY(-2px);border-color:var(--accent)}
a.cash-flow-control-item:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.cash-flow-control-item>span{color:var(--muted);font-size:13px}
.cash-flow-control-item>strong{font-size:30px;line-height:1.15;margin-top:auto;font-variant-numeric:tabular-nums}
.cash-flow-control-item>small{color:var(--accent);margin-top:5px;font-weight:650}
.cash-flow-control-warning{border-color:color-mix(in srgb,#d89a3d 58%,var(--line));background:color-mix(in srgb,#d89a3d 13%,var(--card))}
.cash-flow-control-warning>span{color:color-mix(in srgb,#b87518 76%,var(--text))}
.cash-flow-control-warning>strong{color:color-mix(in srgb,#c9801f 82%,var(--text))}
.cash-flow-control-warning>small{color:color-mix(in srgb,#b87518 82%,var(--text))}
.cash-flow-internal-note{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;border-radius:10px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}
.cash-flow-internal-note:hover{text-decoration:none;filter:brightness(1.05)}
.cash-flow-internal-note strong{font-size:21px;color:var(--accent);font-variant-numeric:tabular-nums}
.cash-flow-balance-table{margin-bottom:14px}
.cash-flow-balance-table table{min-width:1060px}
.cash-flow-difference{color:#ffb6b6;font-weight:700}
.cash-flow-boundary-note{margin:0;padding:13px 15px;border-left:3px solid var(--accent);background:var(--bg);color:var(--muted)}
@media(max-width:1100px){.cash-flow-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cash-flow-heading{align-items:flex-start}.cash-flow-refresh{width:100%}.cash-flow-refresh .btn{width:100%}.cash-flow-control-grid{grid-template-columns:1fr}.cash-flow-control-item{min-height:96px}.cash-flow-internal-note{align-items:flex-start}.cash-flow-stats .stat{min-height:auto}}


/* Shared navigation and local actions for every top-level Fuel screen. */
.fuel-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 18px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.fuel-section-nav a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border-radius:8px;color:var(--muted);font-weight:650;white-space:nowrap}
.fuel-section-nav a:hover{background:#24384e;color:var(--text);text-decoration:none}
.fuel-section-nav a.active{background:var(--accent);color:#0d2925}
.fuel-page-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
@media(max-width:700px){.fuel-section-nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.fuel-section-nav a{flex:0 0 auto}.fuel-page-actions .btn{flex:1 1 auto;text-align:center}}


/* Cash flow: one compact, unambiguous status area in the page header. */
.cash-flow-system-status{display:inline-flex;align-items:center;margin:0 0 12px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:650}
.cash-flow-system-status:hover{color:var(--text);text-decoration:none;border-color:var(--accent)}
.cash-flow-heading-copy h1{margin-bottom:5px}
.cash-flow-heading-copy>p{margin:0}
.cash-flow-source-status{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-size:13px}
.cash-flow-source-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--accent)}
.cash-flow-source-status.has-warning{color:#b98328}
.cash-flow-source-status.has-warning .cash-flow-source-dot{background:#b98328}
.cash-flow-source-warning{padding-left:8px;border-left:1px solid var(--line)}
details.cash-flow-source-status{display:block}
details.cash-flow-source-status>summary{margin:0;color:inherit}
details.cash-flow-source-status>div{margin-top:8px;max-width:760px}
@media(max-width:700px){.cash-flow-source-status{align-items:flex-start;flex-wrap:wrap}.cash-flow-source-warning{width:100%;padding:4px 0 0;border-left:0}}

.cash-flow-category-table{margin-bottom:0}
.cash-flow-category-more{margin-top:10px}
.cash-flow-category-more>summary{display:inline-flex;align-items:center;list-style:none;margin:0;user-select:none}
.cash-flow-category-more>summary::-webkit-details-marker{display:none}
.cash-flow-category-more[open]>summary{margin-bottom:10px}
.cash-flow-category-more .table-wrap{margin:0}

/* Vehicle list groups and independent history expansion. */
.vehicle-group{margin-top:24px}
.vehicle-group h2{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 8px}
.vehicle-group .table-wrap{margin:0}
.vehicle-expand{margin-top:14px}
tr[data-extra-row][hidden]{display:none!important}

.plan-date-nav > div{flex:0 1 180px;min-width:0}.plan-date-nav input{width:180px;max-width:100%}#plan-entries{min-height:13rem;resize:vertical}
