*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f3f5f7;color:#17202a}button,input,select{font:inherit}.hidden{display:none!important}.app{max-width:820px;margin:auto;padding:14px 14px 390px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.brand h1{margin:0;font-size:25px}.sub{color:#667085;font-size:13px}.badge{padding:7px 10px;border-radius:999px;background:#e8f1ff;color:#0b4aa2;font-weight:700;font-size:12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#111923,#24344a)}.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 25px 60px rgba(0,0,0,.28)}.login-card h1{margin:0 0 5px}.login-card p{margin:0 0 18px;color:#667085}.field{margin:12px 0}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field select{width:100%;padding:13px;border:1px solid #cfd7df;border-radius:11px;background:#fff}.primary,.secondary,.danger{border:0;border-radius:11px;padding:13px;font-weight:800;cursor:pointer}.primary{background:#111923;color:#fff}.secondary{background:#e8f1ff;color:#0b4aa2}.danger{background:#ffe8ea;color:#9b1c31}.login .primary{width:100%;margin-top:8px}.hint{font-size:12px;color:#667085;margin-top:12px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.toolbar button{padding:11px;border-radius:10px;border:1px solid #d8dee4;background:#fff;font-weight:750}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card{background:#fff;border:1px solid #d8dee4;border-radius:14px;padding:12px}.card h2{margin:0 0 9px;font-size:18px}.row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.fare{appearance:none;-webkit-appearance:none;border:0;border-radius:11px;padding:12px 5px;font-weight:800;font-size:13px;min-height:68px;touch-action:manipulation;cursor:pointer}.fare:active{transform:scale(.98)}.full{background:#e8f1ff;color:#0b4aa2}.student{background:#eaf8ee;color:#176b36}.free{background:#f1edff;color:#5b3ab4}.count{display:block;font-size:11px;margin-top:5px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.actions button{border-radius:10px;padding:12px;font-weight:800;border:1px solid #d8dee4;cursor:pointer}.undo{background:#fff3cd}.reset{background:#ffe8ea}.export{background:#e8f1ff}.historyBtn{background:#eaf8ee}.panel{margin-top:12px;background:#fff;border:1px solid #d8dee4;border-radius:14px;padding:12px}.panel h3{margin:0 0 8px}.panel ul{margin:0;padding-left:20px}.history{display:none}.history.open{display:block}.history-row{display:grid;grid-template-columns:72px 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f2;font-size:14px}.history-row:last-child{border-bottom:0}.daily{margin-top:10px;padding-top:10px;border-top:1px solid #d8dee4}.daily-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.muted{color:#667085;font-size:12px}.summary{background:#111923;color:#fff;padding:10px 12px calc(12px + env(safe-area-inset-bottom))}.inner{max-width:820px;margin:auto}.label{font-size:12px;color:#cbd5e1}.total{font-size:34px;font-weight:900}.money{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.money input{width:100%;padding:11px;border-radius:9px;border:1px solid #64748b;font-size:17px}.change{background:#223043;border-radius:9px;padding:8px 10px}.change strong{display:block;font-size:19px}.status{margin-top:8px;font-size:12px;color:#9fb3c8;display:flex;justify-content:space-between;gap:8px}.saved{color:#82d9a0}.owner{max-width:1000px;margin:auto;padding:16px}.owner-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.owner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.metric{background:#fff;border:1px solid #d8dee4;border-radius:14px;padding:14px}.metric span{display:block;font-size:12px;color:#667085}.metric strong{font-size:25px}.table-wrap{overflow:auto;background:#fff;border:1px solid #d8dee4;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid #edf0f2;font-size:13px}.sensor-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.sensor-box input{width:100%;padding:11px;border:1px solid #d8dee4;border-radius:10px}.notice{padding:10px;border-radius:10px;background:#fff8dc;color:#705600;font-size:13px;margin-top:10px}.shiftbar{background:#fff;border:1px solid #d8dee4;border-radius:14px;padding:10px 12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.shiftbar strong{display:block}.shiftbar small{color:#667085}.shiftbar button{border:0;border-radius:9px;padding:9px 11px;background:#ffe8ea;color:#9b1c31;font-weight:800}.sync-ok{color:#82d9a0}.sync-warn{color:#ffd271}@media(max-width:640px){.grid{grid-template-columns:1fr}.row{grid-template-columns:1fr 1fr 1fr}.owner-grid{grid-template-columns:1fr 1fr}.sensor-box{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr 1fr}.fare{font-size:12px;padding:10px 3px}}@media(max-width:390px){.row{gap:5px}.fare{font-size:11px}.owner-grid{grid-template-columns:1fr}}

.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#2563eb,#14b8a6);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(37,99,235,.25)}.logo-mark:before{content:"HM"}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.hero-stat{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #d8dee4;border-radius:14px;padding:12px}.hero-stat span{display:block;font-size:11px;color:#667085}.hero-stat strong{display:block;margin-top:3px;font-size:20px}.last-action{grid-column:span 2}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:6px}.owner-live{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.activity-list{max-height:340px;overflow:auto}.activity-row{display:grid;grid-template-columns:66px 1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f2}.activity-row:last-child{border-bottom:0}.empty{color:#667085;padding:12px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.theme-toggle{border:1px solid #d8dee4;background:#fff;border-radius:10px;padding:10px;font-weight:800}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:12px}.login-logo .logo-mark{width:50px;height:50px;border-radius:15px}.app-version{font-size:11px;color:#94a3b8;margin-top:8px}@media(prefers-color-scheme:dark){body{background:#0f172a;color:#e5e7eb}.card,.panel,.shiftbar,.metric,.table-wrap,.toolbar button,.theme-toggle{background:#111827;border-color:#334155}.sub,.muted,.metric span,.shiftbar small{color:#94a3b8}.fare.full{background:#172554;color:#bfdbfe}.fare.student{background:#052e16;color:#bbf7d0}.fare.free{background:#2e1065;color:#ddd6fe}.table th,.table td,.history-row,.activity-row{border-color:#1f2937}.owner{color:#e5e7eb}.login-card{color:#17202a}.hero-stat{background:linear-gradient(180deg,#111827,#0f172a);border-color:#334155}.hero-stat span{color:#94a3b8}}
@media(max-width:700px){.hero-stats{grid-template-columns:1fr 1fr}.last-action{grid-column:span 2}.owner-live{grid-template-columns:1fr}}

.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-card{border:1px solid #d8dee4;border-radius:12px;padding:12px;background:#f8fafc}.setting-card h4{margin:0 0 10px}.setting-add{display:grid;grid-template-columns:1fr auto;gap:8px}.setting-add input,.pin-fields input,.manage-row input{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.manage-list{margin-top:10px}.manage-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.manage-row:last-child{border-bottom:0}.manage-row button{border:0;border-radius:9px;padding:9px 10px;font-weight:800;cursor:pointer}.edit-save{background:#e8f1ff;color:#0b4aa2}.delete-item{background:#ffe8ea;color:#9b1c31}.pin-card{grid-column:1/-1}.pin-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px}.settings-panel .primary{white-space:nowrap}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.pin-card{grid-column:auto}.pin-fields{grid-template-columns:1fr}.setting-add{grid-template-columns:1fr}.manage-row{grid-template-columns:1fr auto}.manage-row .delete-item{grid-column:2}.manage-row .edit-save{grid-column:2}}@media(prefers-color-scheme:dark){.setting-card{background:#0f172a;border-color:#334155}.setting-add input,.pin-fields input,.manage-row input{background:#111827;color:#e5e7eb;border-color:#475569}.manage-row{border-color:#1f2937}}

.settings-panel{padding:0;overflow:hidden}.settings-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.settings-toggle::-webkit-details-marker{display:none}.settings-toggle-title{display:flex;align-items:center;gap:10px;font-size:17px}.settings-chevron{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8f1ff;color:#0b4aa2;font-size:25px;line-height:1;transition:transform .2s ease}.settings-panel[open] .settings-chevron{transform:rotate(90deg)}.settings-content{padding:0 12px 12px;border-top:1px solid #edf0f2}.settings-grid{margin-top:12px}.settings-toggle:focus-visible{outline:3px solid rgba(11,74,162,.25);outline-offset:-3px}@media(prefers-color-scheme:dark){.settings-content{border-color:#334155}.settings-chevron{background:#1e3a5f;color:#bfdbfe}}

/* v1.3: şoför-plaka atamaları ve tarife yönetimi */
.driver-add{grid-template-columns:1fr 1fr auto}.driver-add select,.driver-manage-row select,.fare-add input,.fare-manage-row input{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.driver-manage-row{grid-template-columns:1fr 1fr auto auto}.fare-add{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px}.fare-list-card{margin-top:12px}.fare-manage-list{display:grid;gap:8px;margin-top:10px}.fare-manage-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto auto;gap:7px;align-items:center;padding:8px;border:1px solid #e5e7eb;border-radius:11px}.fare-manage-row button{border:0;border-radius:9px;padding:9px 10px;font-weight:800;cursor:pointer}#plateSelect:disabled{opacity:1;color:#17202a;background:#f3f5f7;cursor:not-allowed}
@media(max-width:820px){.driver-add,.fare-add{grid-template-columns:1fr}.driver-manage-row{grid-template-columns:1fr 1fr}.driver-manage-row button{width:100%}.fare-manage-row{grid-template-columns:1fr 1fr}.fare-manage-row input[data-fare="name"]{grid-column:1/-1}.fare-manage-row button{width:100%}}
@media(max-width:480px){.driver-manage-row,.fare-manage-row{grid-template-columns:1fr}.fare-manage-row input[data-fare="name"]{grid-column:auto}}
@media(prefers-color-scheme:dark){.driver-add select,.driver-manage-row select,.fare-add input,.fare-manage-row input{background:#111827;color:#e5e7eb;border-color:#475569}.fare-manage-row{border-color:#334155}#plateSelect:disabled{background:#0f172a;color:#e5e7eb}}

/* v1.4: raporlama ve tam cihaz yedeği */
.report-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:12px}.report-controls select,.report-controls input{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.report-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.ranking-row,.report-day-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #e5e7eb}.ranking-row:last-child,.report-day-row:last-child{border-bottom:0}.ranking-position{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f1ff;color:#0b4aa2;font-weight:900}.ranking-row small,.report-day-row small{display:block;color:#667085}.backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.backup-status{margin-top:10px;padding:10px;border-radius:10px;background:#eef6ff;color:#174c85;font-size:13px}.backup-status.error{background:#ffe8ea;color:#9b1c31}.backup-status.success{background:#eaf8ee;color:#176b36}
@media(max-width:760px){.report-controls{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}.report-sections{grid-template-columns:1fr}}@media(max-width:420px){.report-grid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.report-controls select,.report-controls input{background:#111827;color:#e5e7eb;border-color:#475569}.ranking-row,.report-day-row{border-color:#334155}.ranking-position{background:#1e3a5f;color:#bfdbfe}.backup-status{background:#172554;color:#bfdbfe}.backup-status.success{background:#052e16;color:#bbf7d0}.backup-status.error{background:#450a0a;color:#fecaca}}


/* HatMatik v1.6 */
.money-toggle{border:0;background:transparent;color:inherit;font-size:1.15rem;line-height:1;min-width:40px;min-height:40px;padding:4px 8px;cursor:pointer;vertical-align:middle}
.owner-head-actions{display:flex;align-items:center;gap:8px}.owner-money-toggle{background:rgba(255,255,255,.1);border-radius:12px}
.save-toast{position:fixed;left:50%;top:18px;z-index:9999;transform:translate(-50%,-140%);opacity:0;display:flex;flex-direction:column;gap:3px;min-width:min(88vw,360px);padding:14px 18px;border-radius:16px;background:#123c2d;color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.3);transition:transform .22s ease,opacity .22s ease;text-align:center;pointer-events:none}
.save-toast.show{transform:translate(-50%,0);opacity:1}.save-toast strong{font-size:1.05rem}.save-toast span{font-size:.9rem;opacity:.9}
@media(max-width:600px){.owner-head{align-items:flex-start}.owner-head-actions{flex-shrink:0}.money-stat span{display:flex;align-items:center;justify-content:space-between}}
.owner-live{grid-template-columns:1fr}
.note-button{border:1px solid #d8dee4;background:#fff;border-radius:9px;min-width:38px;min-height:38px;padding:6px 9px;cursor:pointer;font-size:1rem}
.note-button:active{transform:scale(.96)}
@media(prefers-color-scheme:dark){.note-button{background:#111827;border-color:#334155}}


/* HatMatik v1.7: rota yönetimi ve hızlı şoför akışı */
.field-help{margin-top:6px;color:#667085;font-size:12px;line-height:1.35}.route-add{display:grid;grid-template-columns:1fr auto;gap:8px}.route-add input,.route-row-head input{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.route-list-card{margin-top:12px}.route-manage-list{display:grid;gap:12px;margin-top:10px}.route-manage-row{padding:12px;border:1px solid #e5e7eb;border-radius:12px}.route-row-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.route-row-actions{display:flex;gap:7px;align-items:center}.route-row-actions button{border:0;border-radius:9px;padding:9px 11px;font-weight:800;cursor:pointer}.route-stop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.route-stop-check{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;cursor:pointer}.route-stop-check input{width:20px;height:20px;accent-color:#0b4aa2}.route-stop-check:has(input:checked){background:#eef6ff;border-color:#9bc2f2}.route-stop-check:has(input:disabled){cursor:default;opacity:.78}@media(max-width:700px){.route-add,.route-row-head{grid-template-columns:1fr}.route-row-actions{justify-content:flex-end}.route-stop-grid{grid-template-columns:1fr 1fr}}@media(max-width:430px){.route-stop-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.field-help{color:#94a3b8}.route-add input,.route-row-head input{background:#111827;color:#e5e7eb;border-color:#475569}.route-manage-row,.route-stop-check{border-color:#334155}.route-stop-check{background:#0f172a}.route-stop-check:has(input:checked){background:#172554;border-color:#3b82f6}}


/* v1.7.3 UX Test — sabit renkli durak kartları */
.stop-card{position:relative;overflow:hidden;border-radius:18px;padding:13px;background:linear-gradient(145deg,var(--stop-color),var(--stop-color-dark));color:#fff;box-shadow:0 8px 18px rgba(15,23,42,.15);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.stop-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 46%);pointer-events:none}
.stop-card-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.stop-card h2{margin:0;font-size:19px;line-height:1.2;font-weight:700;text-transform:none;letter-spacing:0}.stop-hint{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;background:rgba(0,0,0,.18);padding:5px 8px;border-radius:999px}.stop-fares{position:relative}.stop-card .fare{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:82px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.92);color:#17202a;box-shadow:0 4px 10px rgba(0,0,0,.12);transition:transform .1s ease,filter .1s ease,background .1s ease}.stop-card .fare strong{font-size:16px}.stop-card .fare-label{font-size:12px;font-weight:900}.stop-card .fare.free{background:rgba(241,245,249,.9)}.stop-card .fare:active{transform:scale(.94);filter:brightness(1.05)}.stop-card.is-saved{animation:stopSavedFlash .26s ease-out}@keyframes stopSavedFlash{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.025);filter:brightness(1.28);box-shadow:0 0 0 4px rgba(255,255,255,.78),0 10px 24px rgba(15,23,42,.25)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:640px){.stop-card{padding:12px}.stop-card h2{font-size:18px}.stop-card .fare{min-height:78px;padding:9px 3px}.stop-card .fare strong{font-size:14px}}
@media(max-width:390px){.stop-card .fare-label{font-size:11px}.stop-card .fare strong{font-size:13px}.stop-card .count{font-size:10px}}
@media(prefers-reduced-motion:reduce){.stop-card,.stop-card .fare{transition:none}.stop-card.is-saved{animation:none;filter:brightness(1.15)}}

/* v1.8 voice command test */
.voice-panel{margin:14px 0;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,#162332,#101923);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.voice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.voice-head strong{display:block;font-size:17px}.voice-head small{display:block;margin-top:3px;color:#aebdca}.voice-auto{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.07);font-size:13px;white-space:nowrap}.voice-auto input{width:18px;height:18px}
.voice-button{width:100%;min-height:76px;border:0;border-radius:18px;background:linear-gradient(135deg,#df3f52,#a91e35);color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 20px rgba(169,30,53,.35);touch-action:manipulation}.voice-button:active,.voice-button.listening{transform:scale(.985);background:linear-gradient(135deg,#f04d62,#c5233e)}.voice-button.listening{animation:voicePulse 1.1s infinite}.voice-icon{font-size:28px}@keyframes voicePulse{50%{box-shadow:0 0 0 10px rgba(240,77,98,.13)}}
.voice-example{margin:9px 2px 0;color:#9fb0bf;font-size:12px;line-height:1.4}.voice-result{margin-top:11px;padding:12px;border-radius:14px;background:rgba(255,255,255,.06)}.voice-state{display:block;color:#9fb0bf;font-size:12px}.voice-result>strong{display:block;margin-top:4px;font-size:17px;word-break:break-word}.voice-preview{margin-top:10px;padding:10px;border-radius:11px;background:rgba(49,196,141,.12);border:1px solid rgba(49,196,141,.28);font-weight:700}.voice-actions{display:flex;gap:8px;margin-top:10px}.voice-actions button{flex:1}.voice-warning{margin-top:9px;color:#f1c879;font-size:11px;line-height:1.45}.voice-panel.unsupported .voice-button{opacity:.55;filter:grayscale(.5)}
@media(max-width:520px){.voice-head{display:block}.voice-auto{margin-top:9px;width:max-content}.voice-actions{flex-direction:column}}

/* v1.8.2: iki ücretli seçenek, yalnız İndi-bindi kartında bedelsiz */
.stop-fares.no-free{grid-template-columns:1fr 1fr}.stop-fares.has-free{grid-template-columns:1fr 1fr 1fr}

.driver-details-label{margin:16px 2px 8px;color:#667085;font-size:12px;font-weight:700}.grid+.driver-details-label{margin-top:18px}.driver-details-label+.hero-stats{margin-bottom:12px}.card h2{font-weight:650}
@media(prefers-color-scheme:dark){.driver-details-label{color:#94a3b8}}


/* v1.8.4 fixed transaction dock */
.secondary-actions{margin-bottom:12px}
.bottom-dock{position:fixed;z-index:40;left:0;right:0;bottom:0;background:rgba(243,245,247,.97);border-top:1px solid #cfd7df;box-shadow:0 -8px 28px rgba(15,23,42,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dock-inner{max-width:820px;margin:auto;padding:8px 12px 0}
.dock-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dock-actions button{min-height:44px;border-radius:10px;padding:9px 10px;font-weight:800;border:1px solid #d8dee4;cursor:pointer}
.dock-batch{margin-top:8px;background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:9px 11px}
.dock-batch h3{margin:0 0 5px;font-size:15px}
.dock-batch ul{margin:0;padding-left:19px;max-height:68px;overflow:auto;font-size:13px;line-height:1.35}
.bottom-dock .summary{margin:8px -12px 0;box-shadow:none}
.bottom-dock .total{font-size:30px}
.bottom-dock .money{margin-top:7px}
.bottom-dock .money input{padding:10px}
.bottom-dock .change{padding:7px 10px}
@media(max-width:640px){.app{padding-bottom:405px}.dock-inner{padding-left:8px;padding-right:8px}.bottom-dock .summary{margin-left:-8px;margin-right:-8px}.dock-actions button{font-size:13px}.dock-batch ul{max-height:58px}}
@media(max-height:720px){.app{padding-bottom:350px}.dock-batch ul{max-height:42px}.bottom-dock .money{grid-template-columns:1.15fr .85fr}.bottom-dock .total{font-size:26px}.bottom-dock .summary{padding-top:8px}}
@media(prefers-color-scheme:dark){.bottom-dock{background:rgba(15,23,42,.96);border-color:#334155}.dock-batch{background:#111827;border-color:#334155}}

/* v1.8.5 smart voice safeguards */
.bottom-dock.voice-saved{animation:voiceDockFlash 2.2s ease-out}
@keyframes voiceDockFlash{0%{box-shadow:0 -8px 28px rgba(15,23,42,.18)}12%{box-shadow:0 0 0 4px rgba(34,197,94,.58),0 -10px 34px rgba(34,197,94,.35)}100%{box-shadow:0 -8px 28px rgba(15,23,42,.18)}}
.voice-alias-add{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}.voice-alias-add input,.voice-alias-add select{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.voice-alias-list,.voice-log-list{margin-top:10px;max-height:280px;overflow:auto}.voice-alias-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e5e7eb}.voice-alias-row small{color:#667085}.voice-log-row{display:grid;grid-template-columns:112px 1fr;gap:3px 9px;padding:8px 0;border-bottom:1px solid #e5e7eb}.voice-log-row>span{grid-row:1/3;color:#667085;font-size:12px}.voice-log-row strong{font-size:13px}.voice-log-row small{color:#667085}.compact{padding:7px 9px;font-size:12px}.voice-warning{transition:background .2s ease,color .2s ease}
@media(max-width:720px){.voice-alias-add{grid-template-columns:1fr}.voice-log-row{grid-template-columns:88px 1fr}}
@media(prefers-color-scheme:dark){.voice-alias-add input,.voice-alias-add select{background:#111827;color:#e5e7eb;border-color:#475569}.voice-alias-row,.voice-log-row{border-color:#1f2937}.voice-alias-row small,.voice-log-row>span,.voice-log-row small{color:#94a3b8}}

.voice-training-card{grid-column:1/-1}.voice-training-top{display:grid;grid-template-columns:1fr auto auto;gap:8px}.voice-training-top select{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:10px;background:#fff}.voice-training-box{margin-top:10px;padding:14px;border:1px solid #d8e1ea;border-radius:12px;background:#f8fafc;display:grid;gap:8px}.voice-training-box>strong{font-size:16px}.voice-training-box>span{color:#475467;min-height:22px}.voice-training-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voice-training-actions span{margin-left:auto;font-weight:800;color:#344054}@media(max-width:720px){.voice-training-top{grid-template-columns:1fr}.voice-training-actions span{margin-left:0;width:100%}}@media(prefers-color-scheme:dark){.voice-training-top select{background:#111827;color:#e5e7eb;border-color:#475569}.voice-training-box{background:#0f172a;border-color:#334155}.voice-training-box>span{color:#cbd5e1}.voice-training-actions span{color:#e2e8f0}}

.security-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-bottom:12px}.audit-list{display:grid;gap:8px;max-height:520px;overflow:auto;margin:10px 0 18px}.audit-row{display:grid;grid-template-columns:160px 190px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dfe6ee;border-radius:10px;background:#fff}.audit-row small{grid-column:2/4;color:#687386}.audit-time{font-variant-numeric:tabular-nums;color:#52606d}@media(max-width:900px){.security-kpis{grid-template-columns:1fr 1fr}.audit-row{grid-template-columns:1fr}.audit-row small{grid-column:auto}}


/* v2.0 güvenlik, sağlık ve performans */
.security-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.health-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border,#dce3ea);border-radius:12px;background:var(--surface,#fff)}
.health-dot{width:10px;height:10px;border-radius:50%;background:#64748b}.health-row.ok .health-dot{background:#16a34a}.health-row.warn .health-dot{background:#d97706}.health-row.bad .health-dot{background:#dc2626}
.health-row span:last-child{font-size:12px;color:var(--muted,#64748b);text-align:right}
.security-alert-list,.locked-shift-list{display:flex;flex-direction:column;gap:9px;max-height:360px;overflow:auto}
.alert-row,.locked-shift-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border,#dce3ea);border-radius:11px;background:#fff}
.alert-row{display:grid;grid-template-columns:140px 1fr auto;border-left-width:5px}.alert-row.high{border-left-color:#dc2626}.alert-row.medium{border-left-color:#d97706}.alert-row.low{border-left-color:#2563eb}
.alert-row span,.alert-row small,.locked-shift-row small{font-size:12px;color:var(--muted,#64748b)}
.locked-shift-row span{display:flex;flex-direction:column;gap:3px}
.audit-row small:after{content:' · zincirli'}
@media(max-width:800px){.security-two-column,.health-grid{grid-template-columns:1fr}.alert-row{grid-template-columns:1fr}.locked-shift-row{align-items:flex-start;flex-direction:column}.locked-shift-row button{width:100%}}


/* v2.1 canlı araç durumu */
.live-vehicle-board{margin:14px 0 16px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#111923,#213247);color:#fff;box-shadow:0 16px 38px rgba(15,23,42,.22);border:1px solid rgba(255,255,255,.09)}
.live-vehicle-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.live-vehicle-top h2{margin:4px 0 3px;font-size:27px}.live-vehicle-top p{margin:0;color:#b9c7d6}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.13em;color:#7dd3fc}
.live-status-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);font-weight:900;font-size:13px;white-space:nowrap}.live-status-pill span{width:10px;height:10px;border-radius:50%;background:#94a3b8}.live-status-pill.online span{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.14)}.live-status-pill.warning span{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14)}.live-status-pill.offline span{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.14)}
.live-vehicle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.live-tile{min-height:88px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.065)}.live-tile span{display:block;color:#aebdca;font-size:11px;margin-bottom:7px}.live-tile strong{font-size:18px;line-height:1.25}.live-health-tile{grid-column:span 2}.live-health-track{height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:11px}.live-health-track i{display:block;height:100%;width:0;border-radius:inherit;transition:width .3s ease}.live-health-track i.ok{background:#22c55e}.live-health-track i.warn{background:#f59e0b}.live-health-track i.bad{background:#ef4444}
.live-board-foot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:#aebdca;font-size:12px}.remote-note{background:rgba(255,248,220,.1);color:#f8e8a8;border:1px solid rgba(248,232,168,.18)}
@media(max-width:900px){.live-vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.live-health-tile{grid-column:span 1}}
@media(max-width:640px){.live-vehicle-top{display:block}.live-status-pill{margin-top:12px}.live-vehicle-grid{grid-template-columns:1fr 1fr}.live-health-tile{grid-column:1/-1}.live-board-foot{flex-direction:column}}
@media(max-width:390px){.live-vehicle-grid{grid-template-columns:1fr}.live-health-tile{grid-column:auto}}
.stop-dictionary-row{grid-template-columns:1.4fr 1fr 1fr auto auto}.stop-dictionary-detail{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:#f8fafc;border-radius:9px}.stop-dictionary-detail>div{display:flex;flex-direction:column;gap:3px}.stop-dictionary-detail small{color:#667085;line-height:1.45}.stop-suggestions{grid-column:1/-1}.stop-suggestion{display:inline-flex;align-items:center;gap:5px;margin:4px 6px 0 0;padding:5px 7px;border:1px solid #d8e0e8;border-radius:999px;background:#fff;font-size:12px}.stop-suggestion button{padding:3px 6px;border-radius:999px;border:0;cursor:pointer;font-weight:800}.stop-suggestion button:first-of-type{background:#dff7e7}.stop-suggestion button:last-of-type{background:#fee2e2}@media(max-width:720px){.stop-dictionary-detail{grid-template-columns:1fr}.stop-suggestions{grid-column:auto}}@media(prefers-color-scheme:dark){.stop-dictionary-detail{background:#0f172a}.stop-suggestion{background:#111827;border-color:#334155}}
.rule-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.rule-pack-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:14px 0}.rule-card{border:1px solid var(--border,#d8dee8);border-radius:14px;padding:14px;background:var(--card,#fff)}.rule-card-head,.rule-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center}.rule-card p{margin:10px 0;font-size:13px}.rule-card-foot{font-size:12px;color:#667085;margin-top:10px}.rule-switch{display:flex;gap:7px;align-items:center;font-size:12px}.rule-controls{display:flex;gap:10px;flex-wrap:wrap}.rule-controls label{font-size:12px;display:flex;align-items:center;gap:6px}.rule-number{width:76px}.rule-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}@media(max-width:700px){.rule-metric-grid{grid-template-columns:repeat(2,1fr)}}

/* v3.6 Voice Debug Mode */
.voice-debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.voice-debug-grid>div{min-width:0}.voice-debug-grid small{display:block;color:#667085;margin-bottom:4px;font-weight:700}.voice-debug-grid pre{margin:0;min-height:46px;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:9px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px}.voice-debug-grid>div:last-child{grid-column:1/-1}@media(max-width:720px){.voice-debug-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.voice-debug-grid pre{background:#0f172a;border-color:#334155;color:#e5e7eb}}

.speaker-enrollment-card .notice{margin-top:10px}.speaker-enrollment-card select{min-width:150px}
.rule-platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:14px}.rule-platform-grid textarea,.rule-platform-grid input,.rule-platform-grid select{width:100%;box-sizing:border-box}.rule-code-output{white-space:pre-wrap;max-height:260px;overflow:auto;background:var(--surface-2,#111827);padding:10px;border-radius:10px;font-size:12px}.rule-override-form{display:grid;gap:8px}.button-row{display:flex;gap:8px;margin-top:8px}

/* v3.9.1 driver screen UX refinement */
.voice-head small{max-width:560px}
.voice-button{min-height:68px;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 10px 24px rgba(37,99,235,.28)}
.voice-button:active,.voice-button.listening{background:linear-gradient(135deg,#16a34a,#15803d)}
.voice-result{padding:14px 15px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045))}
.voice-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.voice-result-label{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}
.voice-state{padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.12)}
.voice-transcript{min-height:34px;margin-top:10px!important;padding:11px 12px;border-radius:12px;background:rgba(2,6,23,.38);border:1px solid rgba(125,211,252,.22);font-size:20px!important;line-height:1.35}
.voice-panel.listening .voice-transcript{border-color:rgba(74,222,128,.45);box-shadow:0 0 0 3px rgba(74,222,128,.08)}

.stops-disclosure{margin:12px 0;border:1px solid #d7dee7;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(15,23,42,.05)}
.stops-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;cursor:pointer;user-select:none}
.stops-disclosure>summary::-webkit-details-marker{display:none}
.stops-disclosure>summary span:first-child{display:grid;gap:2px}.stops-disclosure>summary strong{font-size:16px}.stops-disclosure>summary small{color:#667085}
.stops-summary-meta{display:flex;align-items:center;gap:10px;color:#475467}.stops-summary-meta b{font-size:12px;padding:5px 9px;border-radius:999px;background:#eef2f6}.stops-summary-meta i{font-style:normal;font-size:20px;transition:transform .2s}
.stops-disclosure[open] .stops-summary-meta i{transform:rotate(180deg)}
.stops-disclosure .grid{padding:0 12px 12px}

.dock-batch{padding:12px 13px;border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08)}
.dock-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dock-batch h3{margin:1px 0 0;font-size:17px}.dock-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;color:#667085}
.dock-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.dock-badges span{padding:4px 7px;border-radius:999px;background:#eef2f6;color:#344054;font-size:10px;font-weight:800}
.dock-last{margin:9px 0 8px;padding:9px 10px;border-radius:11px;background:linear-gradient(135deg,#ecfdf3,#f0fdf4);border:1px solid #bbf7d0;display:grid;gap:2px}.dock-last span{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#15803d}.dock-last strong{font-size:13px;color:#14532d}
.dock-batch ul{list-style:none;padding:0;display:grid;gap:5px;max-height:82px}.dock-batch li{padding:7px 9px;border-radius:9px;background:#f8fafc;border:1px solid #e8edf3;font-weight:700}
@media(max-width:520px){.voice-result-head{align-items:flex-start;flex-direction:column;gap:6px}.voice-transcript{font-size:18px!important}.dock-batch-head{display:grid}.dock-badges{justify-content:flex-start}.stops-disclosure>summary{padding:12px}}
@media(prefers-color-scheme:dark){.stops-disclosure{background:#111827;border-color:#334155}.stops-disclosure>summary small{color:#94a3b8}.stops-summary-meta{color:#cbd5e1}.stops-summary-meta b{background:#1f2937}.dock-badges span{background:#1f2937;color:#d1d5db}.dock-last{background:rgba(22,101,52,.22);border-color:#166534}.dock-last span,.dock-last strong{color:#bbf7d0}.dock-batch li{background:#0f172a;border-color:#273449}}

/* v3.9.4 voice transcript visibility fix */
.voice-panel{color:#f8fafc}
.voice-result{position:relative;overflow:hidden;border:2px solid rgba(125,211,252,.45);background:linear-gradient(145deg,rgba(30,41,59,.98),rgba(15,23,42,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 24px rgba(2,6,23,.28)}
.voice-result-label{color:#bae6fd}
.voice-state{color:#dbeafe;background:rgba(59,130,246,.18);border:1px solid rgba(147,197,253,.22)}
.voice-transcript{display:block!important;visibility:visible!important;opacity:1!important;min-height:58px!important;color:#ffffff!important;background:#020617!important;border:2px solid rgba(125,211,252,.55)!important;font-weight:900!important;font-size:22px!important;line-height:1.4!important;text-shadow:0 1px 2px rgba(0,0,0,.45);box-shadow:0 0 0 4px rgba(56,189,248,.08)}
.voice-transcript:empty:before{content:'Henüz bir cümle algılanmadı.';color:#94a3b8;font-weight:700}
.voice-panel.listening .voice-transcript{border-color:#4ade80!important;box-shadow:0 0 0 4px rgba(74,222,128,.12),0 8px 20px rgba(2,6,23,.2)}
.voice-preview{color:#dcfce7}
@media(max-width:520px){.voice-transcript{font-size:20px!important;min-height:54px!important}}

/* v3.9.10 Professional Driver UX + explicit theme system */
:root{--hm-bg:#f6f8fb;--hm-surface:#ffffff;--hm-text:#172033;--hm-muted:#64748b;--hm-border:#dce3ec;--hm-soft:#f8fafc}
html[data-theme="light"] body{background:var(--hm-bg);color:var(--hm-text)}
html[data-theme="light"] .app,html[data-theme="light"] .stops-disclosure,html[data-theme="light"] .dock-batch,html[data-theme="light"] .last-entry-summary{background:var(--hm-surface);color:var(--hm-text);border-color:var(--hm-border)}
html[data-theme="light"] .voice-panel{color:#f8fafc}
html[data-theme="dark"]{--hm-bg:#0b1220;--hm-surface:#111827;--hm-text:#f8fafc;--hm-muted:#94a3b8;--hm-border:#334155;--hm-soft:#0f172a}
html[data-theme="dark"] body{background:var(--hm-bg);color:var(--hm-text)}
html[data-theme="dark"] .app,html[data-theme="dark"] .stops-disclosure,html[data-theme="dark"] .dock-batch,html[data-theme="dark"] .last-entry-summary{background:var(--hm-surface);color:var(--hm-text);border-color:var(--hm-border)}
html[data-theme="dark"] .dock-batch li{background:var(--hm-soft);border-color:#273449}
html[data-theme="dark"] .dock-badges span{background:#1f2937;color:#d1d5db}
html[data-theme="dark"] .stops-disclosure>summary small{color:var(--hm-muted)}
html[data-theme="dark"] .stops-summary-meta{color:#cbd5e1}
html[data-theme="dark"] .stops-summary-meta b{background:#1f2937}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--hm-bg:#0b1220;--hm-surface:#111827;--hm-text:#f8fafc;--hm-muted:#94a3b8;--hm-border:#334155;--hm-soft:#0f172a}}
.driver-toolbar{align-items:center}.theme-picker{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.theme-picker select{min-width:92px;padding:8px 10px;border-radius:10px}
.last-entry-summary{margin-bottom:10px;padding:11px 13px;border:1px solid #dce3ec;border-radius:14px;background:#fff}.last-entry-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.last-entry-summary span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#667085}.last-entry-summary strong{font-size:16px}.last-entry-summary small{display:block;margin-top:6px;color:#667085;font-weight:700;line-height:1.4}
.dock-batch ul{max-height:126px;overflow:auto}.dock-batch li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.dock-batch li .txn-time{font-size:10px;color:#667085}.dock-batch li b{font-size:12px;white-space:nowrap}
@media(max-width:520px){.driver-toolbar{display:grid;grid-template-columns:1fr 1fr}.theme-picker{grid-column:1/-1}.theme-picker select{flex:1}.last-entry-summary>div{align-items:flex-start;flex-direction:column;gap:3px}.dock-batch li{grid-template-columns:auto 1fr}.dock-batch li b{grid-column:2}}


/* v3.9.11 Compact Driver Dock + explicit dark-theme readability */
html[data-theme="dark"] .driver-details-label{color:#cbd5e1}
html[data-theme="dark"] .hero-stat{background:linear-gradient(180deg,#111827,#0f172a);border-color:#334155;color:#f8fafc}
html[data-theme="dark"] .hero-stat span{color:#94a3b8}
html[data-theme="dark"] .hero-stat strong{color:#f8fafc}
html[data-theme="dark"] .last-entry-summary span,html[data-theme="dark"] .last-entry-summary small{color:#94a3b8}
html[data-theme="dark"] .last-entry-summary strong{color:#f8fafc}
html[data-theme="dark"] .theme-picker{color:#e2e8f0}
html[data-theme="dark"] .theme-picker select{background:#111827;color:#f8fafc;border:1px solid #475569}

.dock-compact-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid var(--hm-border);border-radius:14px;background:var(--hm-surface);color:var(--hm-text)}
.dock-compact-total{min-width:0;display:grid;gap:1px}.dock-compact-total>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--hm-muted)}.dock-compact-total>strong{font-size:26px;line-height:1.05}.dock-compact-total>small{font-size:11px;color:var(--hm-muted);font-weight:700}
.dock-compact-state{flex:0 0 auto;text-align:right;display:grid;gap:2px}.dock-compact-state>span{font-size:12px;font-weight:900}.dock-compact-state>small{font-size:10px;color:var(--hm-muted)}
.dock-details{margin-top:7px;border:1px solid var(--hm-border);border-radius:12px;background:var(--hm-surface);overflow:hidden}
.dock-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:900;color:var(--hm-text)}
.dock-details>summary::-webkit-details-marker{display:none}.dock-details>summary:after{content:'⌄';font-size:17px;color:var(--hm-muted);transition:transform .2s ease}.dock-details[open]>summary:after{transform:rotate(180deg)}
.dock-details>summary .dock-badges{margin-left:auto}.dock-details-body{max-height:48vh;overflow:auto;padding:0 8px 8px}.dock-details .dock-batch{margin-top:0;border-radius:10px}.dock-payment{margin:7px 0 0!important;border-radius:10px;padding-bottom:8px!important}
.bottom-dock .last-entry-summary{margin-bottom:0;padding:8px 11px}.bottom-dock .last-entry-summary strong{font-size:14px}.bottom-dock .last-entry-summary small{margin-top:3px;font-size:11px}
.app{padding-bottom:245px}
@media(max-width:640px){.app{padding-bottom:255px}.dock-inner{padding-top:6px}.dock-actions button{min-height:40px;padding:7px 8px}.dock-compact-total>strong{font-size:24px}.dock-details>summary .dock-badges{display:none}}
@media(max-height:720px){.app{padding-bottom:230px}.bottom-dock .last-entry-summary{display:none}.dock-compact-summary{margin-top:6px;padding:8px 10px}.dock-details{margin-top:5px}.dock-compact-total>strong{font-size:22px}}
@media(prefers-color-scheme:dark){html[data-theme="system"] .driver-details-label{color:#cbd5e1}html[data-theme="system"] .hero-stat{background:linear-gradient(180deg,#111827,#0f172a);border-color:#334155;color:#f8fafc}html[data-theme="system"] .hero-stat span{color:#94a3b8}html[data-theme="system"] .hero-stat strong{color:#f8fafc}}


/* v3.9.12 compact voice control + privacy wording refinement */
.voice-panel{padding:10px 11px;margin:10px 0;border-radius:15px}
.voice-head{gap:10px;margin-bottom:7px}
.voice-head strong{font-size:14px}
.voice-head small{font-size:11px;line-height:1.35}
.voice-button{width:auto;min-height:46px;padding:0 16px;border-radius:13px;font-size:15px;gap:8px;box-shadow:0 6px 16px rgba(37,99,235,.22)}
.voice-icon{font-size:20px}
.voice-example{margin-top:7px;font-size:11px}
.voice-result{margin-top:8px;padding:10px 11px;border-width:1px}
.voice-transcript{min-height:44px!important;margin-top:7px!important;padding:9px 10px;font-size:18px!important}
.voice-warning{margin-top:7px;font-size:10.5px}
@media(max-width:520px){.voice-panel{padding:9px 10px}.voice-button{min-height:44px;padding:0 14px;font-size:14px}.voice-icon{font-size:18px}.voice-transcript{min-height:42px!important;font-size:17px!important}}

.auto-change-suggestion{margin-top:8px;display:grid;grid-template-columns:1fr auto;grid-template-areas:'label amount' 'detail detail';gap:2px 10px;padding:9px 11px;border-radius:11px;background:#eef8f0;border:1px solid #cfe8d5;color:#173d23}.auto-change-suggestion>span{grid-area:label;font-size:11px;font-weight:800;letter-spacing:.04em;color:#4c6d55}.auto-change-suggestion>strong{grid-area:amount;font-size:20px}.auto-change-suggestion>small{grid-area:detail;font-size:12px;color:#4c6d55}

/* v3.9.19 route progress + origin/destination fare field test */
.route-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}
.route-progress.hidden{display:none}.route-progress span{font-size:11px;letter-spacing:.06em;opacity:.7}.route-progress strong{display:block;font-size:20px}.route-progress small{display:block;margin-top:2px;opacity:.75}.route-progress-actions{display:flex;gap:8px;flex-wrap:wrap}.route-progress-actions button{min-height:44px}.route-start-btn{font-weight:800}.route-stop-select-label{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.route-stop-select-label select{min-height:40px;min-width:150px}.route-progress-main{min-width:0}
.route-pattern-box{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:14px}.route-pattern-head,.route-endpoints{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.route-endpoints{margin:8px 0;font-size:13px}.route-sequence-list{display:grid;gap:6px}.route-sequence-item{display:grid;grid-template-columns:28px 1fr auto auto 40px 40px;gap:6px;align-items:center}.route-sequence-item input[type="number"]{width:72px}.route-progress-toggle{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.route-progress-toggle input{width:auto}.od-editor{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.od-editor-form{display:grid;grid-template-columns:1fr auto 1fr 90px 90px auto;gap:6px;align-items:center;margin-top:8px}.od-fare-list{display:grid;gap:6px;margin-top:8px}.od-fare-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:7px 8px;border-radius:10px;background:var(--surface)}
@media(max-width:720px){.route-progress{align-items:flex-start;flex-direction:column}.route-progress-actions{width:100%}.route-progress-actions button{flex:1}.route-start-btn{flex-basis:100%!important}.route-stop-select-label{align-items:stretch;flex-direction:column}.route-stop-select-label select{width:100%}.od-editor-form{grid-template-columns:1fr 1fr}.od-editor-form span{display:none}.route-sequence-item{grid-template-columns:24px 1fr auto auto 36px 36px}}

.route-live-timer{display:flex;align-items:baseline;gap:8px;margin-top:7px;padding:7px 9px;border-radius:10px;background:var(--surface)}.route-live-timer span{font-size:10px;font-weight:800;letter-spacing:.08em}.route-live-timer strong{font-size:22px;font-variant-numeric:tabular-nums}
