/* DriveQuery v828.3 — UK mileage log; retains the existing tool styles. */
:root {
  --dq-log-ink:#10182b;
  --dq-log-muted:#5d6678;
  --dq-log-line:#dfe4ee;
  --dq-log-soft:#f6f8fc;
  --dq-log-blue:#2557d6;
  --dq-log-blue-soft:#eef3ff;
  --dq-log-green:#16794d;
  --dq-log-green-soft:#edf8f2;
  --dq-log-warn:#8a5a00;
  --dq-log-warn-soft:#fff8e8;
  --dq-log-shadow:0 18px 48px rgba(16,24,43,.08);
}

.log-hero .lead { max-width: 72ch; }
.log-hero .hero-actions { margin-top: 24px; }
.log-trust-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.log-trust-pill { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:6px 11px; border:1px solid rgba(37,87,214,.18); border-radius:999px; background:#fff; color:#33405a; font-size:.9rem; font-weight:650; }
.log-trust-pill::before { content:"✓"; color:var(--dq-log-green); font-weight:800; }

.log-shell { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:24px; align-items:start; }
.log-card { background:#fff; border:1px solid var(--dq-log-line); border-radius:22px; box-shadow:var(--dq-log-shadow); }
.log-entry { padding:24px; }
.log-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.log-card-head h2,.log-card-head h3 { margin:3px 0 4px; }
.log-card-head p { margin:0; color:var(--dq-log-muted); }
.log-step { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; border-radius:999px; background:var(--dq-log-blue-soft); color:var(--dq-log-blue); font-size:.84rem; font-weight:800; }

.log-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.log-field { position:relative; display:flex; flex-direction:column; gap:7px; min-width:0; }
.log-field.is-wide { grid-column:1/-1; }
.log-field > span,.log-field legend { color:#303a50; font-weight:720; font-size:.92rem; }
.log-field small { color:var(--dq-log-muted); line-height:1.35; }
.log-input,.log-select { width:100%; box-sizing:border-box; min-height:48px; padding:11px 13px; border:1px solid #cfd6e3; border-radius:12px; background:#fff; color:var(--dq-log-ink); font:inherit; transition:border-color .15s,box-shadow .15s; }
.log-input:focus,.log-select:focus { outline:none; border-color:var(--dq-log-blue); box-shadow:0 0 0 3px rgba(37,87,214,.12); }
.log-input[aria-invalid="true"] { border-color:#b42318; box-shadow:0 0 0 3px rgba(180,35,24,.08); }
.log-address { position:relative; }
.log-address-input { padding-right:40px; }
.log-field-icon { position:absolute; right:13px; top:39px; pointer-events:none; color:#78849a; font-size:1rem; }
.log-suggestions { position:absolute; z-index:900; left:0; right:0; top:calc(100% + 5px); margin:0; padding:6px; list-style:none; background:#fff; border:1px solid var(--dq-log-line); border-radius:14px; box-shadow:0 16px 40px rgba(16,24,43,.16); max-height:300px; overflow:auto; }
.log-suggestion { width:100%; border:0; background:transparent; border-radius:9px; padding:10px 11px; text-align:left; cursor:pointer; color:var(--dq-log-ink); font:inherit; }
.log-suggestion:hover,.log-suggestion[aria-selected="true"] { background:var(--dq-log-blue-soft); }
.log-suggestion strong { display:block; font-size:.94rem; line-height:1.3; }
.log-suggestion small { display:block; margin-top:3px; color:var(--dq-log-muted); font-size:.78rem; }
.log-session-tag { color:var(--dq-log-green); font-weight:750; }

.log-route-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; gap:10px; grid-column:1/-1; }
.log-swap { width:42px; height:42px; margin-bottom:3px; border:1px solid #cfd6e3; border-radius:12px; background:#fff; color:#34405a; cursor:pointer; font-size:1.05rem; }
.log-swap:hover { border-color:var(--dq-log-blue); color:var(--dq-log-blue); }

.log-type-group { grid-column:1/-1; border:0; padding:0; margin:0; }
.log-type-options { display:flex; flex-wrap:wrap; gap:9px; margin-top:8px; }
.log-type-option { position:relative; }
.log-type-option input { position:absolute; opacity:0; pointer-events:none; }
.log-type-option span { display:inline-flex; align-items:center; min-height:42px; padding:8px 14px; border:1px solid #cfd6e3; border-radius:999px; background:#fff; cursor:pointer; font-weight:680; color:#3a455c; }
.log-type-option input:checked + span { border-color:var(--dq-log-blue); background:var(--dq-log-blue-soft); color:var(--dq-log-blue); box-shadow:inset 0 0 0 1px var(--dq-log-blue); }
.log-type-option input:focus-visible + span { outline:3px solid rgba(37,87,214,.22); outline-offset:2px; }

.log-optional { grid-column:1/-1; border-top:1px solid var(--dq-log-line); padding-top:6px; }
.log-optional summary { cursor:pointer; color:#41506c; font-weight:700; padding:7px 0; }
.log-time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:10px; }

.log-route-preview { grid-column:1/-1; border:1px solid var(--dq-log-line); border-radius:16px; overflow:hidden; background:var(--dq-log-soft); }
.log-map { min-height:280px; background:linear-gradient(135deg,#f2f5fa,#e8eef9); }
.log-map-placeholder { min-height:280px; display:flex; align-items:center; justify-content:center; padding:30px; text-align:center; color:#6b768c; }
.log-route-summary { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; padding:14px 16px; border-top:1px solid var(--dq-log-line); background:#fff; }
.log-route-metric span { display:block; color:var(--dq-log-muted); font-size:.76rem; }
.log-route-metric strong { display:block; margin-top:2px; font-size:1.08rem; }
.log-route-status { flex:1 1 200px; margin:0; color:var(--dq-log-muted); font-size:.87rem; }
.log-route-status[data-tone="error"] { color:#a12016; }
.log-route-status[data-tone="success"] { color:var(--dq-log-green); }
.log-distance-edit { display:flex; align-items:center; gap:6px; }
.log-distance-edit .log-input { width:106px; min-height:40px; }

.log-entry-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:20px; }
.log-entry-actions .button { min-height:46px; }
.log-action-note { flex:1 1 220px; margin:0; color:var(--dq-log-muted); font-size:.85rem; }

.log-summary { padding:20px; position:sticky; top:92px; }
.log-summary h2 { margin:4px 0 3px; font-size:1.25rem; }
.log-summary > p { margin:0; color:var(--dq-log-muted); }
.log-summary-main { margin:18px 0 14px; padding:17px; border-radius:16px; background:var(--dq-log-blue-soft); }
.log-summary-main span { color:#53617c; font-size:.82rem; }
.log-summary-main strong { display:block; margin-top:2px; color:var(--dq-log-blue); font-size:2rem; line-height:1.05; }
.log-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.log-summary-stat { padding:13px; border:1px solid var(--dq-log-line); border-radius:14px; background:#fff; }
.log-summary-stat span { display:block; color:var(--dq-log-muted); font-size:.76rem; }
.log-summary-stat strong { display:block; margin-top:4px; font-size:1rem; }
.log-reimbursement { margin-top:12px; padding:15px; border-radius:15px; background:var(--dq-log-green-soft); }
.log-reimbursement span { display:block; color:#4b6558; font-size:.8rem; }
.log-reimbursement strong { display:block; margin-top:3px; color:var(--dq-log-green); font-size:1.45rem; }
.log-rate { margin-top:14px; }
.log-rate .log-select { min-height:44px; }
.log-tax-note { margin:9px 0 0; color:var(--dq-log-muted); font-size:.78rem; line-height:1.42; }
.log-tax-note a { font-weight:700; }

.log-unsaved { display:flex; gap:11px; align-items:flex-start; margin-top:14px; padding:13px 14px; border:1px solid #f1d99b; border-radius:14px; background:var(--dq-log-warn-soft); color:#6d4b08; font-size:.84rem; line-height:1.4; }
.log-unsaved strong { display:block; color:#684603; }
.log-unsaved-icon { font-size:1.1rem; line-height:1.2; }

.log-list-card { margin-top:24px; overflow:hidden; }
.log-list-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px; padding:20px 22px; border-bottom:1px solid var(--dq-log-line); }
.log-list-head h2 { margin:2px 0 0; font-size:1.35rem; }
.log-list-head p { margin:0; color:var(--dq-log-muted); }
.log-list-actions { display:flex; gap:8px; }
.log-text-btn { border:0; background:transparent; color:var(--dq-log-blue); font:inherit; font-weight:700; cursor:pointer; padding:8px; }
.log-text-btn:disabled { opacity:.45; cursor:not-allowed; }
.log-empty { padding:36px 22px 40px; text-align:center; color:var(--dq-log-muted); }
.log-empty strong { display:block; color:#34405a; margin-bottom:6px; }
.log-table-wrap { overflow-x:auto; }
.log-table { width:100%; border-collapse:collapse; min-width:850px; }
.log-table th { padding:11px 12px; background:#f8f9fc; border-bottom:1px solid var(--dq-log-line); color:#67728a; text-align:left; font-size:.76rem; font-weight:750; }
.log-table td { padding:13px 12px; border-bottom:1px solid #edf0f5; vertical-align:top; color:#273249; font-size:.9rem; }
.log-table tbody tr:hover { background:#fbfcfe; }
.log-route-cell strong,.log-purpose-cell strong { display:block; }
.log-route-cell small,.log-purpose-cell small { display:block; margin-top:3px; color:var(--dq-log-muted); }
.log-badge { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border-radius:999px; background:var(--dq-log-blue-soft); color:var(--dq-log-blue); font-size:.76rem; font-weight:760; white-space:nowrap; }
.log-badge.private { background:#f2f3f6; color:#586174; }
.log-row-actions { display:flex; gap:4px; justify-content:flex-end; }
.log-row-btn { border:1px solid transparent; background:transparent; border-radius:8px; padding:5px 7px; color:#56617a; font:inherit; font-size:.8rem; cursor:pointer; }
.log-row-btn:hover { border-color:#d8dfeb; background:#fff; color:var(--dq-log-blue); }
.log-row-btn.delete:hover { color:#a12016; }

.log-export { margin-top:24px; padding:22px; }
.log-export-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:22px; align-items:start; }
.log-report-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.log-export-actions { padding:18px; border-radius:16px; background:var(--dq-log-soft); }
.log-export-actions h3 { margin:0 0 5px; }
.log-export-actions p { margin:0 0 14px; color:var(--dq-log-muted); font-size:.86rem; }
.log-export-buttons { display:grid; gap:9px; }
.log-export-buttons .button { justify-content:center; width:100%; }
.log-export-status { min-height:20px; margin:10px 0 0; color:var(--dq-log-muted); font-size:.8rem; }
.log-export-status[data-tone="error"] { color:#a12016; }
.log-export-status[data-tone="success"] { color:var(--dq-log-green); }

.log-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.log-how-card { padding:20px; border:1px solid var(--dq-log-line); border-radius:18px; background:#fff; }
.log-how-card span { display:inline-flex; width:31px; height:31px; align-items:center; justify-content:center; border-radius:999px; background:var(--dq-log-blue-soft); color:var(--dq-log-blue); font-weight:800; }
.log-how-card h3 { margin:13px 0 7px; }
.log-how-card p { margin:0; color:var(--dq-log-muted); }
.log-faq { display:grid; gap:12px; max-width:900px; margin-top:22px; }
.log-faq details { border:1px solid var(--dq-log-line); border-radius:14px; background:#fff; padding:0 16px; }
.log-faq summary { cursor:pointer; padding:15px 0; font-weight:750; }
.log-faq p { margin:0 0 16px; color:var(--dq-log-muted); }

.leaflet-container { font-family:inherit; }
.log-map .leaflet-control-attribution { font-size:10px; }
.log-marker { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--dq-log-blue); color:#fff; border:2px solid #fff; box-shadow:0 3px 10px rgba(16,24,43,.25); font-size:12px; font-weight:800; }
.log-marker.end { background:var(--dq-log-green); }

@media (max-width:980px) {
  .log-shell { grid-template-columns:1fr; }
  .log-summary { position:static; }
  .log-export-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .log-entry { padding:18px; }
  .log-form-grid { grid-template-columns:1fr; }
  .log-route-row { grid-template-columns:1fr auto; align-items:end; }
  .log-route-row .log-address:first-child { grid-column:1/2; }
  .log-route-row .log-swap { grid-column:2/3; grid-row:1/3; align-self:center; margin:23px 0 0; }
  .log-route-row .log-address:last-child { grid-column:1/2; }
  .log-time-grid,.log-report-fields { grid-template-columns:1fr; }
  .log-map,.log-map-placeholder { min-height:230px; }
  .log-summary-grid { grid-template-columns:1fr 1fr; }
  .log-how-grid { grid-template-columns:1fr; }
  .log-list-head { align-items:flex-start; }
  .log-list-actions { width:100%; justify-content:flex-start; }
  .log-table-wrap { overflow:visible; }
  .log-table { min-width:0; }
  .log-table thead { display:none; }
  .log-table,.log-table tbody,.log-table tr,.log-table td { display:block; width:100%; box-sizing:border-box; }
  .log-table tr { padding:15px 16px; border-bottom:1px solid var(--dq-log-line); }
  .log-table td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; padding:5px 0; border:0; }
  .log-table td::before { content:attr(data-label); color:#788298; font-size:.74rem; font-weight:720; }
  .log-row-actions { justify-content:flex-start; }
  .log-row-actions::before { content:""; }
}
@media (max-width:430px) {
  .log-summary-grid { grid-template-columns:1fr; }
  .log-type-options { display:grid; grid-template-columns:1fr 1fr; }
  .log-type-option span { justify-content:center; width:100%; box-sizing:border-box; }
  .log-entry-actions .button { width:100%; justify-content:center; }
}


/* v825.1 — optional 2026 kilometre-allowance increases */
.log-allowance-advanced { border-top:1px solid var(--dq-log-line); }
.log-allowance-advanced[open] { padding-bottom:4px; }
.log-allowance-intro { margin:4px 0 14px; padding:12px 14px; border-radius:13px; background:#f8f9fc; color:#4f5b73; }
.log-allowance-intro p { margin:0 0 4px; font-weight:650; }
.log-allowance-intro small { display:block; color:var(--dq-log-muted); line-height:1.4; }
.log-allowance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.log-check-card { display:flex; gap:10px; align-items:flex-start; min-height:72px; padding:12px 13px; border:1px solid var(--dq-log-line); border-radius:13px; background:#fff; cursor:pointer; box-sizing:border-box; }
.log-check-card input { margin-top:3px; width:18px; height:18px; accent-color:var(--dq-log-blue); flex:0 0 auto; }
.log-check-card strong,.log-check-card small { display:block; }
.log-check-card strong { color:#2f3a51; font-size:.9rem; }
.log-check-card small { margin-top:3px; color:var(--dq-log-muted); line-height:1.35; }
.log-special-km { grid-column:1/-1; }
.log-special-km .log-distance-edit { max-width:180px; }
.log-allowance-preview { grid-column:1/-1; margin-top:2px; padding:11px 13px; border-radius:12px; background:var(--dq-log-green-soft); color:#365846; font-size:.84rem; font-weight:650; }
.log-allowance-preview[data-tone="muted"] { background:#f3f4f7; color:#687185; }
.log-table td[data-label="Korvaus"] small { display:block; margin-top:3px; color:var(--dq-log-muted); font-size:.74rem; line-height:1.3; }
@media (max-width:720px) { .log-allowance-grid { grid-template-columns:1fr; } .log-special-km { grid-column:auto; } }


/* UK sidebar facts use the available column width instead of three narrow cards. */
[data-uk-core-seo-v827-5="mileage-log-answer"] { min-width:0; }
[data-uk-core-seo-v827-5="mileage-log-answer"] .notice { padding:22px; }
.uk-hmrc-facts { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:20px 0 18px; }
.uk-hmrc-facts .card { min-width:0; padding:16px; border:1px solid var(--dq-log-line); border-radius:16px; background:#fff; box-shadow:none; }
.uk-hmrc-facts .card h3 { margin:0 0 7px; font-size:1.0625rem; line-height:1.35; }
.uk-hmrc-facts .card p { margin:0; color:var(--dq-log-muted); font-size:1rem; line-height:1.5; }

/* Keep the amount and its calculation distinct on desktop and mobile. */
.log-table td[data-label="Approved amount"] strong { display:block; white-space:nowrap; font-variant-numeric:tabular-nums; }
.log-table td[data-label="Approved amount"] small { display:block; margin-top:4px; color:var(--dq-log-muted); font-size:.8125rem; line-height:1.4; overflow-wrap:anywhere; }
.log-table td[data-label="Miles"] strong { white-space:nowrap; }
.log-row-btn { white-space:nowrap; }
@media (min-width:721px) {
  .log-table td[data-label="Approved amount"] { min-width:10rem; }
}
@media (max-width:720px) {
  .log-table td[data-label="Approved amount"] strong,
  .log-table td[data-label="Approved amount"] small { grid-column:2; }
  .log-table td[data-label="Approved amount"] small { margin-top:0; }
  .log-row-actions { flex-wrap:wrap; }
}
