:root{--bg:#090a0c;--surface:#141519;--surface2:#1b1d22;--text:#f7f5ef;--muted:#9b9da5;--line:#34373f;--gold:#e6e7ea;--gold2:#ffffff;--on-accent:#0b0c0e;--topbar-h:82px;--login-bg:radial-gradient(circle at 50% 4%,#0f1115 0,#08090b 52%,#050608 100%);--blue:#4b8dff;--green:#3ecf82;--red:#ff6b66;--shadow:0 18px 45px #0007}.dispatcher-trip-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.dispatcher-trip-actions button{padding:9px;border:1px solid color-mix(in srgb,var(--gold) 33%,transparent);border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--gold2);font-weight:700}.dispatcher-trip-actions button.danger{border-color:#ff625f55;background:#ff625f12;color:var(--red)}
.dispatch-search{display:grid;gap:12px}.dispatch-search label{font-size:11px;color:var(--muted)}.dispatch-search input,.dispatch-search select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text)}.dispatch-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dispatch-filter-grid button{align-self:end;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 33%,transparent);border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--gold2);font-weight:700}
:root.light{--bg:#f4f4f2;--surface:#fff;--surface2:#f0f0ed;--text:#111215;--muted:#5e6169;--line:#d7d8da;--gold:#3a3d44;--gold2:#0d0e11;--on-accent:#ffffff;--login-bg:radial-gradient(circle at 50% 4%,#ffffff 0,#eeeeec 48%,#e7e7e4 100%);--shadow:0 14px 38px #20242a18}.tracking-filters{display:grid;gap:12px}.tracking-filters label{font-size:11px;color:var(--muted)}.tracking-filters select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text)}.tracking-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tracking-mode button{padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--muted)}.tracking-mode button.active{border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 9%,transparent);color:var(--gold2)}
.is-hidden{display:none!important}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--login-bg)}.login-card{width:min(100%,390px);background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:30px 25px;text-align:center;box-shadow:var(--shadow)}.login-logo{width:180px;height:95px;object-fit:contain}.login-kicker{color:var(--gold2);font-size:13px;font-weight:700}.login-card h1{font-size:27px;margin:5px 0}.login-card>p{color:var(--muted);margin:0 0 25px}.login-card label{display:block;text-align:right;color:var(--muted);font-size:13px;margin:13px 0}.login-card input,.login-card select{display:block;width:100%;margin-top:6px;padding:13px;background:var(--surface2);border:1px solid var(--line);border-radius:13px;color:var(--text)}
.login-card input:focus,.login-card select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}.login-submit{width:100%;border:0;border-radius:14px;padding:14px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--on-accent);font-weight:800;margin:9px 0 13px}.login-card>small{color:var(--muted);opacity:.8}
.location-status{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;background:var(--surface2);border:1px solid var(--line);padding:12px;border-radius:14px;margin:13px 0}.location-status .status-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#36c97820;color:var(--green)}.location-status.locked .status-icon{background:#ff625f18;color:var(--red)}.location-status strong,.location-status small{display:block}.location-status small{color:var(--muted);font-size:11px}.policy-list{display:grid;gap:8px;margin-top:14px}.policy-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:9px 2px;border-bottom:1px solid var(--line)}.policy-row:last-child{border-bottom:0}.policy-ok{color:var(--green)}.policy-no{color:var(--red)}.fatal-message{position:fixed;inset:20px;display:grid;place-items:center;background:#211;color:#fff;border:1px solid #a44;border-radius:20px;padding:25px;z-index:999;text-align:center}
.sync-banner{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-bottom:14px;border:1px solid #36c97845;background:#36c97810;border-radius:13px;color:var(--muted);font-size:12px}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #36c97818}.sync-banner.offline{border-color:#ff554c55;background:#ff554c12;color:#ff8f88}.sync-banner.offline .sync-dot{background:#ff554c;box-shadow:0 0 0 5px #ff554c22}.real-data-note{font-size:11px;color:var(--muted);margin:8px 2px 0}
.trip-status-btn{width:100%;margin-top:12px;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:11px;background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--gold2);font-weight:700;cursor:pointer}
.date-nav{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:11px;margin-bottom:14px;box-shadow:var(--shadow)}.date-arrow{height:43px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--gold2);font-size:28px;line-height:1;cursor:pointer}.date-current{text-align:center;min-width:0}.date-current strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-current label{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-top:5px}.date-current input{border:0;background:transparent;color:var(--gold2);font-size:11px;max-width:120px}.today-button{grid-column:1/-1;border:0;border-top:1px solid var(--line);background:transparent;color:var(--gold2);padding:8px 0 0;cursor:pointer;font-size:12px}.day-summary{margin:0 2px 12px;color:var(--muted);font-size:13px}.day-summary b{color:var(--text);font-size:18px}
.filter-bar{display:flex;gap:7px;margin:0 0 13px;overflow:auto}.filter-bar button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:99px;padding:7px 14px;white-space:nowrap}.filter-bar button.active{border-color:color-mix(in srgb,var(--gold) 53%,transparent);background:color-mix(in srgb,var(--gold) 9%,transparent);color:var(--gold2)}.trip-item.needs-assignment{border-color:#ffb34066}.assignment-box{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.assignment-box>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assignment-box label{font-size:11px;color:var(--muted)}.assignment-box select{display:block;width:100%;margin-top:4px;padding:9px 7px;border-radius:9px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:12px}.assign-trip-btn{width:100%;margin-top:9px;padding:9px;border:0;border-radius:10px;background:var(--surface2);color:var(--gold2);font-weight:700}
.login-page{min-height:calc(100vh - var(--topbar-h));min-height:calc(100dvh - var(--topbar-h));display:grid;place-items:center;padding:24px;background:var(--login-bg)}.login-card .demo-hint{margin-top:10px;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:11px;line-height:1.5}.user-role-chip{border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold2);border-radius:99px;padding:7px 12px;font-size:12px;font-weight:700}.logout-button{width:100%;margin-top:10px;padding:11px;border:1px solid #ff625f55;border-radius:12px;background:#ff625f0d;color:#ff8f8c}
.trip-detail-btn{width:100%;margin-top:11px;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--gold2);font-size:12px;text-align:right;cursor:pointer}.modal-layer{position:fixed;inset:0;background:#000b;display:grid;place-items:end center;padding:20px 12px 0;z-index:100;backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(100%,520px);max-height:88vh;max-height:88dvh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px 24px 0 0;padding:25px 20px calc(32px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #0008}.modal-close{position:absolute;left:17px;top:15px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:24px}.modal-card h2{font-size:21px;line-height:1.3;padding-left:38px}.detail-grid{display:grid;gap:0;margin-top:18px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.detail-line{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border-bottom:1px solid var(--line);font-size:13px}.detail-line:last-child{border-bottom:0}.detail-line span{color:var(--muted)}.detail-line b{text-align:left}.role-info{margin-top:14px;padding:13px;border-radius:13px;background:var(--surface2);border:1px solid var(--line)}.role-info p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.contact-driver{display:block;margin-top:14px;padding:12px;text-align:center;border-radius:12px;background:#36c97818;border:1px solid #36c97855;color:var(--green);text-decoration:none;font-weight:700}
.trip-form label{display:block;color:var(--muted);font-size:12px;margin-bottom:13px}.trip-form input,.trip-form select,.trip-form textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);color:var(--text);resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.local-only-note{margin-bottom:14px;padding:9px 11px;border-radius:10px;background:#2878ff12;border:1px solid #2878ff44;color:var(--info-text);font-size:11px}.readonly-client{display:flex;justify-content:space-between;padding:11px 12px;margin-bottom:13px;border-radius:11px;background:var(--surface2);font-size:12px}.readonly-client span{color:var(--muted)}.form-error{min-height:20px;color:var(--red);font-size:12px}
.trip-item.has-conflict{border-color:#ff625f88;box-shadow:0 0 0 1px #ff625f20}.conflict-warning{margin-top:11px;padding:9px 10px;border-radius:9px;background:#ff625f12;color:#ff9693;font-size:11px}.control-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.control-summary>div{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:10px;text-align:center}.control-summary b,.control-summary span{display:block}.control-summary b{font-size:19px}.control-summary span{font-size:10px;color:var(--muted)}.control-summary .danger{border-color:#ff625f66;background:#ff625f0b}.control-summary .danger b{color:var(--red)}
.local-trip-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:11px}.local-trip-actions span{color:var(--blue)}.local-trip-actions button{border:1px solid #ff625f44;background:#ff625f0b;color:#ff8f8c;border-radius:9px;padding:6px 10px}
.notification-btn{position:relative}.notification-count{position:absolute;top:-3px;left:-3px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--red);color:#fff;font-size:10px;font-weight:800;border:2px solid var(--bg)}.notification-list{display:grid;gap:9px;margin-top:16px}.notification-item{width:100%;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:right;border:1px solid var(--line);border-radius:13px;background:var(--surface2);color:var(--text);padding:11px}.notification-symbol{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#2878ff18;color:#75a8ff;font-weight:800}.notification-item.warn .notification-symbol{background:#ffb34018;color:#ffbd5d}.notification-item.danger .notification-symbol{background:#ff625f18;color:#ff8f8c}.notification-item.ok .notification-symbol{background:#36c97818;color:var(--green)}.notification-item b,.notification-item small{display:block}.notification-item small{color:var(--muted);margin-top:2px;font-size:11px}
.driver-decision{margin-top:10px;padding:9px 10px;border-radius:10px;font-size:11px}.driver-decision.accepted{background:#36c97812;color:var(--green)}.driver-decision.rejected{background:#ff625f12;color:#ff8f8c}.driver-decision.pending{display:flex;align-items:center;justify-content:space-between;background:#ffb34012;color:#ffbd5d}.driver-decision.pending button{border:0;border-radius:8px;padding:5px 9px;margin-right:4px}.driver-decision.pending button:first-child{background:#36c97822;color:var(--green)}.driver-decision.pending button:last-child{background:#ff625f18;color:#ff8f8c}.dispatcher-ack{margin-top:9px;padding:7px 9px;border-radius:8px;background:var(--surface2);color:var(--muted);font-size:10px}.dispatcher-ack.accepted{color:var(--green)}.dispatcher-ack.rejected{color:var(--red)}.driver-popup-icon{font-size:42px;text-align:center;margin-bottom:10px}.driver-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.driver-popup-actions button{padding:12px;border-radius:12px;border:0;font-weight:800}.driver-popup-actions button:first-child{background:var(--green);color:#082313}.driver-popup-actions button:last-child{background:#ff625f20;color:#ff8f8c;border:1px solid #ff625f55}.popup-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}
.driver-workflow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.driver-workflow>div{display:flex;align-items:center;gap:7px;font-size:11px}.workflow-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.workflow-dot.enroute{background:#ffb340}.workflow-dot.started{background:var(--green);box-shadow:0 0 0 5px #36c97818}.workflow-dot.completed{background:var(--blue)}.driver-workflow button{border:0;border-radius:9px;padding:7px 10px;background:var(--gold);color:var(--on-accent);font-size:11px;font-weight:800}.completed-label{color:var(--green);font-size:11px}
.tracking-status{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:13px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.tracking-status strong,.tracking-status small{display:block}.tracking-status small{color:var(--muted);font-size:11px;margin-top:3px}.tracking-pulse{width:13px;height:13px;border-radius:50%;background:var(--muted)}.tracking-status.online{border-color:#36c97866;background:#36c9780b}.tracking-status.online .tracking-pulse{background:var(--green);box-shadow:0 0 0 7px #36c97818}.history-list{display:grid;gap:8px}.history-row{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.history-row>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--surface2);color:var(--gold2)}.history-row b,.history-row small{display:block}.history-row b{font-size:12px}.history-row small{font-size:10px;color:var(--muted);margin-top:2px}
.registration-rule{margin-bottom:13px;padding:11px 12px;border-radius:12px;background:#2878ff10;border:1px solid #2878ff44;color:var(--muted);font-size:11px;line-height:1.5}.registration-action{width:100%;margin-top:11px;padding:10px;border:0;border-radius:10px;background:var(--green);color:#082313;font-weight:800}.registration-action.cancel{background:#ff625f18;color:#ff8f8c;border:1px solid #ff625f44}.registration-action:disabled{background:var(--surface2);color:var(--muted);border:1px solid var(--line)}.switch:disabled{opacity:.38;cursor:not-allowed}.registration-station{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}.registration-station span{white-space:nowrap;font-weight:700}.registration-station select{flex:1;padding:9px 10px;border-radius:10px;background:var(--surface2);color:var(--text);border:1px solid var(--line);font-size:13px}.registration-station select:disabled{opacity:.5}
.template-section{margin-bottom:18px}.template-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}.template-title h2{font-size:18px;margin:0}.template-title small{color:var(--muted)}.template-title>span{min-width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--gold) 9%,transparent);color:var(--gold2)}.template-list{display:grid;gap:9px}.template-card{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.template-card b,.template-card small{display:block}.template-card small{margin-top:4px;color:var(--muted)}.template-actions{display:grid;grid-template-columns:1fr 38px;gap:8px}.template-actions button{border:0;border-radius:10px;padding:9px;background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--gold2);font-weight:700}.template-actions button.delete{background:#ff625f12;color:var(--red);font-size:20px;padding:0}.template-check{display:flex!important;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.template-check input{width:20px!important;height:20px;margin:0!important}.template-check span{flex:1}.template-check b,.template-check small{display:block}.template-check small{margin-top:3px;color:var(--muted)}.empty.compact{padding:18px 10px;border:1px dashed var(--line);border-radius:13px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Heebo,"Segoe UI",Arial,sans-serif;min-height:100vh;transition:.25s}button,input{font:inherit}.app-shell{width:min(100%,520px);min-height:100vh;min-height:100dvh;margin:auto;background:var(--bg);position:relative;
  padding-bottom:92px;
  /* שוליים בטוחים לצדדים — מכשיר עם מגרעת במצב לרוחב חותך אחרת את התוכן */
  padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);
  overflow-x:hidden}.topbar{min-height:var(--topbar-h);height:auto;padding:calc(14px + env(safe-area-inset-top)) 20px 14px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(14px);z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:58px;height:48px;object-fit:contain;border-radius:8px}.brand div{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:21px;letter-spacing:1px}.brand span{color:var(--muted);font-size:11px;margin-top:6px}.top-actions{display:flex;gap:9px;align-items:center}.icon-btn,.avatar{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.avatar{background:linear-gradient(145deg,var(--gold2),var(--gold));color:var(--on-accent);font-weight:800;border:0}.page{padding:22px 18px 32px}.eyebrow{font-size:13px;color:var(--gold2);font-weight:700}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin:5px 0 22px}.hero h1{font-size:28px;line-height:1.15;margin:0}.hero p{margin:6px 0 0;color:var(--muted);font-size:14px}.role-switch{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 10px;font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.next-trip{position:relative;overflow:hidden;background:linear-gradient(145deg,#202126,#111216)}:root.light .next-trip{background:linear-gradient(145deg,#fff,#f2efe8)}.next-trip:before{content:"";position:absolute;width:170px;height:170px;background:var(--gold);opacity:.1;border-radius:50%;left:-55px;top:-90px}.card-head,.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{border-radius:99px;padding:5px 10px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--gold) 11%,transparent);color:var(--gold2);border:1px solid color-mix(in srgb,var(--gold) 33%,transparent)}.badge.green{color:#62df9b;background:#36c97816;border-color:#36c97845}.trip-time{font-size:35px;font-weight:800;margin:18px 0 4px}.route{display:grid;grid-template-columns:16px 1fr;gap:0 10px;margin:14px 0}.route-mark{display:flex;flex-direction:column;align-items:center}.dot{width:10px;height:10px;border:2px solid var(--gold);border-radius:50%}.dot.fill{background:var(--gold)}.route-line{height:29px;width:1px;background:var(--line)}.route strong{font-size:15px}.route small{display:block;color:var(--muted);margin-top:1px}.driver{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.driver-face{width:40px;height:40px;border-radius:12px;background:var(--surface2);display:grid;place-items:center;font-size:21px}.driver-details{flex:1}.driver-details strong,.driver-details small{display:block}.driver-details small{color:var(--muted)}.call{width:38px;height:38px;border:0;border-radius:12px;background:var(--surface2);color:var(--gold2)}.primary{width:100%;border:0;border-radius:14px;padding:13px 16px;background:linear-gradient(135deg,var(--gold2),var(--gold));font-weight:800;color:var(--on-accent);cursor:pointer;margin-top:15px}.primary:disabled{filter:grayscale(1);opacity:.48}.section-title{font-size:18px;margin:23px 2px 11px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.quick{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px;text-align:right;color:var(--text);cursor:pointer}.quick .qicon{font-size:22px;display:block;margin-bottom:13px}.quick strong{display:block}.quick small{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{text-align:center;padding:14px 7px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.stat b{font-size:21px;display:block}.stat span{font-size:11px;color:var(--muted)}.trip-list{display:grid;gap:10px}.trip-item{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px}.trip-item .datebox{min-width:51px;text-align:center;background:var(--surface2);padding:8px;border-radius:11px}.trip-item .datebox b{font-size:18px;display:block}.trip-item .info{flex:1}.trip-item .info strong,.trip-item .info small{display:block}.trip-item .info small{color:var(--muted)}.map{height:255px;border-radius:18px;overflow:hidden;position:relative;background-color:#e8e4dc;background-image:linear-gradient(28deg,transparent 48%,#fff 49%,#fff 53%,transparent 54%),linear-gradient(154deg,transparent 46%,#d1cec6 47%,#d1cec6 50%,transparent 51%)}.map:after{content:"";position:absolute;right:35%;top:25%;width:8px;height:8px;border:6px solid var(--blue);background:#fff;border-radius:50%;box-shadow:0 0 0 8px #2878ff33}.map-label{position:absolute;bottom:12px;right:12px;left:12px;background:#111c;color:#fff;border-radius:12px;padding:10px 13px;z-index:2;font-size:13px}.privacy{display:flex;gap:10px;color:var(--muted);font-size:12px;line-height:1.55;margin-top:12px}.privacy b{color:var(--text)}.work-toggle{display:flex;justify-content:space-between;align-items:center}.switch{width:54px;height:30px;border:0;border-radius:20px;background:#4a4c52;padding:3px;cursor:pointer}.switch:after{content:"";display:block;width:24px;height:24px;border-radius:50%;background:white;transition:.2s}.switch.on{background:var(--green)}.switch.on:after{transform:translateX(-24px)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:74px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:9px 8px max(8px,env(safe-area-inset-bottom));z-index:12}.nav-btn{border:0;background:transparent;color:var(--muted);min-width:66px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;cursor:pointer}.nav-btn .ni{font-size:20px}.nav-btn.active{color:var(--gold2)}.toast{position:fixed;bottom:92px;left:50%;transform:translate(-50%,20px);background:#25272d;color:#fff;border:1px solid #4a4d55;padding:11px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:20;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{text-align:center;padding:35px 15px;color:var(--muted)}@media(min-width:700px){body{background:#202226}.app-shell{box-shadow:0 0 80px #0008}}

/* הודעת שגיאה במסך הכניסה */
.login-error{margin:4px 0 8px;padding:10px 12px;border-radius:11px;background:#ff625f14;border:1px solid #ff625f55;color:#ff8f8c;font-size:13px;text-align:right}
.login-submit:disabled{opacity:.6;cursor:not-allowed}
.alert-more{margin-top:10px;padding:9px 12px;border-radius:11px;background:#ffb34014;border:1px solid #ffb34055;color:#ffc978;font-size:12.5px;text-align:center}

/* ===== תחנות, נוסעים, חיוג וניווט בכרטיס הנסיעה ===== */
.section-title{margin:18px 0 8px;font-weight:800;color:var(--gold,var(--gold));font-size:15px}
.nav-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.nav-row .nav-place{flex:1 1 120px;font-size:14px;font-weight:600}
/* סימן שהניווט מוביל לנקודה מדויקת שסומנה במשרד, ולא לחיפוש לפי שם */
.nav-row .nav-pin{font-size:12px;line-height:1;opacity:.9}
.nav-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.18)}
.nav-btn.waze{background:#33ccff;color:#06263a}
.nav-btn.maps{background:rgba(255,255,255,.08);color:inherit}
.stations-wrap{margin-top:6px}
.station-block{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;margin-bottom:10px;background:rgba(255,255,255,.03)}
.station-head{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:4px;flex-wrap:wrap}
.station-idx{width:24px;height:24px;border-radius:50%;background:var(--gold,var(--gold));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.station-time{font-variant-numeric:tabular-nums;opacity:.85}
.station-kind{font-size:12px;opacity:.7;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:1px 6px}
/* הערת התחנה — «קוד שער 1234», «איסוף מהחצר האחורית». הנהג צריך אותה לפני
   שהוא מגיע, ולכן היא יושבת מעל כפתורי הניווט ולא נבלעת ברשימת הנוסעים. */
.station-note{font-size:13px;line-height:1.45;margin:2px 0 6px;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.06);border-inline-start:3px solid var(--gold,var(--gold))}
.pax-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.pax-row{display:flex;align-items:center;gap:10px;justify-content:space-between;background:rgba(255,255,255,.04);border-radius:10px;padding:8px 10px}
.pax-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.pax-main small{opacity:.75;font-size:12px}
.pax-actions{display:flex;gap:6px;flex:0 0 auto}
.pax-btn{padding:7px 11px;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.18)}
.pax-btn.call{background:#2f9e5b;color:#fff}
.pax-btn.waze{background:#33ccff;color:#06263a}
.pax-empty{opacity:.6;font-size:13px;padding:4px 2px}
.warn-card{border:1px solid var(--gold);background:rgba(224,181,88,.12)}

.pax-row{position:relative;transition:background .15s}
.pax-state{position:absolute;top:4px;left:8px;font-size:11px;font-weight:800}
.pax-row.pax-picked{background:rgba(47,158,91,.18)}
.pax-row.pax-picked .pax-state{color:#2f9e5b}
.pax-row.pax-noshow{background:rgba(224,80,80,.16)}
.pax-row.pax-noshow .pax-state{color:#e05050}
.pax-btn.ok{background:#2f9e5b;color:#fff}
.pax-btn.no{background:#e05050;color:#fff}

/* ===== הרשמה משפחתית: שורה לכל בן משפחה, סימון ותחנה משלו ===== */
.registration-family{display:grid;gap:8px;margin-top:10px}
.registration-member{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.registration-member input[type=checkbox]{width:20px;height:20px;margin:0;flex:none}
.registration-member>span{flex:1;font-size:13px;font-weight:700}
.registration-member select{flex:1.2;min-width:0;padding:8px 9px;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--line);font-size:12.5px}
.registration-member select:disabled,.registration-member input:disabled{opacity:.5}
/* הפרטים שלי — שדות טקסט באותה שורה כמו בורר התחנה */
.registration-station input{flex:1;min-width:0;padding:9px 10px;border-radius:10px;background:var(--surface2);color:var(--text);border:1px solid var(--line);font-size:13px}

/* ===== כרטיס נסיעה מקוצר ברשימה (07/2026) =====
   שורה אחת קומפקטית לכל נסיעה: שעה · תיאור+מספר+נוסעים · מצב אישור. הכרטיס
   כולו לחיץ ופותח את מסך הפרטים, שם כל שאר המידע והפעולות. */
.trip-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 12px;cursor:pointer;text-align:right;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.trip-card:hover{border-color:color-mix(in srgb,var(--gold) 33%,transparent)}
.trip-card:focus-visible{outline:none;border-color:var(--gold2);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 20%,transparent)}
.trip-card:active{background:var(--surface2)}
.trip-card.needs-assignment{border-color:#ffb34066}
.trip-card.has-conflict{border-color:#ff625f88}
.tc-time{min-width:50px;text-align:center;background:var(--surface2);border-radius:10px;padding:6px 5px;line-height:1.1}
.tc-time b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.tc-time small{display:block;color:var(--muted);font-size:10px;margin-top:2px;font-variant-numeric:tabular-nums}
.tc-main{min-width:0}
.tc-desc{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-meta{display:flex;gap:9px;margin-top:3px;color:var(--muted);font-size:11px}
.tc-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tc-status{font-size:11px;font-weight:700;padding:4px 9px;border-radius:99px;white-space:nowrap;border:1px solid transparent}
.tc-status.ok{background:#36c97814;color:#62df9b;border-color:#36c97840}
.tc-status.go{background:#2878ff14;color:#75a8ff;border-color:#2878ff40}
.tc-status.done{background:var(--surface2);color:var(--muted);border-color:var(--line)}
.tc-status.no{background:#ff625f12;color:#ff8f8c;border-color:#ff625f40}
.tc-status.wait{background:#ffb34012;color:#ffbd5d;border-color:#ffb34040}
.tc-status.warn{background:#ffb34012;color:#ffbd5d;border-color:#ffb34040}
.tc-status.plain{background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--gold2);border-color:color-mix(in srgb,var(--gold) 25%,transparent)}
.tc-flag{font-size:10px;font-weight:700;color:#ff8f8c;white-space:nowrap}
.tc-flag.warn{color:#ffbd5d}
.tc-chevron{color:var(--muted);font-size:20px;opacity:.45;line-height:1}
/* אזור הפעולות בתוך מסך פרטי הנסיעה — הופרד בקו עדין מהמידע שמעליו */
.detail-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.detail-actions>*:first-child{margin-top:0}

/* ===== ריענון נראות כללי: כותרות, ניווט-תאריך וסטטיסטיקות קומפקטיים (08/2026) =====
   מטרה: להקטין את «התקורה» בראש כל מסך (פס חיבור + כותרת ענקית + ניווט תאריך גבוה
   + סטטיסטיקות) כדי שיישאר יותר מקום לרשימות עצמן, בלי לשנות את שפת העיצוב. */
.page{padding:16px 14px 30px}
.hero{align-items:center;margin:2px 0 12px}
.hero .hero-txt{min-width:0}
.hero h1{font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero p{margin:2px 0 0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-role-chip{padding:5px 10px;font-size:11px;flex:none}

/* ניווט תאריך — שורה אחת קומפקטית (במקום גובה 100px) */
.date-nav{display:flex;align-items:center;gap:6px;padding:5px 6px;margin-bottom:10px;box-shadow:none}
.date-arrow{height:36px;width:36px;border-radius:9px;font-size:20px;flex:none}
.date-current{position:relative;flex:1;min-width:0;text-align:center;cursor:pointer;margin:0;display:block}
.date-current strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.date-current input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer}
.today-button{flex:none;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px}

/* סטטיסטיקות — קטנות יותר, ומתאימות גם ל-2 אריחים (נוסע/לקוח) */
.stats{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.stat{padding:9px 6px;border-radius:12px}
.stat b{font-size:17px}
.stat span{font-size:10.5px}

.section-title{font-size:15px;margin:16px 2px 9px}

/* כרטיסים כלליים שעדיין משתמשים ב-.trip-item (הרשמה, «הפרטים שלי») — הידוק */
.trip-item{padding:11px;border-radius:13px}
.trip-item .datebox{min-width:46px;padding:6px}
.trip-item .datebox b{font-size:15px}
.trip-item .info strong{font-size:13.5px}
.trip-item .info small{font-size:11px}
.registration-rule{padding:9px 11px;font-size:11px;margin-bottom:10px}

/* כרטיס החיפוש של הסדרן — מהודק, והסינון המתקדם מתקפל (מוצג רק כשצריך) */
.dispatch-search{gap:8px;padding:12px}
.dispatch-search .search-wide input,.dispatch-search input,.dispatch-search select{padding:8px 10px;margin-top:3px;border-radius:9px;font-size:13px}
.dispatch-search label{font-size:10.5px}
.dispatch-more{margin-top:2px}
.dispatch-more>summary{list-style:none;cursor:pointer;color:var(--gold2);font-size:12px;font-weight:700;padding:7px 2px;user-select:none}
.dispatch-more>summary::-webkit-details-marker{display:none}
.dispatch-more>summary::before{content:"▾ ";font-size:10px}
.dispatch-more[open]>summary::before{content:"▴ "}
.dispatch-more .dispatch-filter-grid{margin-top:6px}
.dispatch-filter-grid{gap:7px}

/* ===== ניווט תחתון: תיקון התנגשות עם .nav-btn (Waze/Maps) + ריענון נראות ===== */
.bottom-nav{gap:2px}
.bottom-nav .nav-btn{position:relative;flex:1;min-width:0;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;padding:8px 2px;border-radius:14px;text-decoration:none;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent;cursor:pointer}
.bottom-nav .nav-btn .ni{font-size:22px;line-height:1;transition:transform .15s}
/* אייקוני SVG — יורשים את צבע הכפתור, ולכן הטאב הפעיל צובע גם אותם */
.bottom-nav .nav-btn .ni{display:flex;align-items:center;justify-content:center;height:23px}
.bottom-nav .nav-btn .ni svg{width:23px;height:23px;display:block}
.bottom-nav .nav-btn.active .ni svg{stroke-width:1.95}
.bottom-nav .nav-btn:active{background:var(--surface2)}
.bottom-nav .nav-btn.active{color:var(--gold2)}
.bottom-nav .nav-btn.active .ni{transform:translateY(-1px)}
.bottom-nav .nav-btn.active::before{content:"";position:absolute;top:-1px;width:22px;height:3px;border-radius:0 0 99px 99px;background:linear-gradient(90deg,var(--gold),var(--gold2))}

/* ===== סרגל צף =====
   הסרגל היה מודבק לתחתית המסך עם קו מפריד, וברוב הטלפונים הוא נגמר בדיוק
   על פס המחוות של המערכת — מה שגרם ללחיצות שפותחות את המסך הבית במקום
   טאב. עכשיו הוא גלולה מרוחפת עם שוליים משלה: היא לא נוגעת בקצה, יש מתחתיה
   מקום לפס המחוות, והתוכן נראה נמשך מתחתיה דרך הטשטוש.
   הסימון של הטאב הפעיל עבר מקו עליון (שנשען על גבול שכבר לא קיים) לגלולה
   מלאה מאחורי האייקון. */
.bottom-nav{
  bottom:max(14px,env(safe-area-inset-bottom));
  width:min(calc(100% - 28px),468px);
  height:68px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:22px;
  background:color-mix(in srgb,var(--surface) 86%,transparent);
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 14px 34px rgba(0,0,0,.5),0 2px 10px rgba(0,0,0,.35);
}
:root.light .bottom-nav{box-shadow:0 12px 30px rgba(30,26,18,.16),0 2px 8px rgba(30,26,18,.1)}
/* הכפתור הפעיל מסומן בגלולה, לא בקו עליון — אין יותר גבול להיתלות עליו */
.bottom-nav .nav-btn.active::before{
  content:"";position:absolute;inset:2px;top:2px;width:auto;height:auto;
  border-radius:16px;background:color-mix(in srgb,var(--gold) 15%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 32%,transparent);
}
.bottom-nav .nav-btn.active .ni,.bottom-nav .nav-btn.active span{position:relative}
/* מקום לסרגל הצף: הוא מרחף, ולכן התוכן חייב להיגמר גבוה יותר מקודם */
.app-shell{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
.toast{bottom:104px}

/* ===== תווית מצב =====
   הקלאס .status הגיע מהמערכת במשרד ושימש כבר בכמה מקומות באפליקציה —
   אבל מעולם לא הוגדר כאן, ולכן הוא נראה כטקסט רגיל: «אושרה» ו«נדחתה»
   באותו צבע בדיוק, בלי שום סימן שמבחין ביניהן. */
.status{display:inline-block;font-size:11px;font-weight:700;line-height:1.5;
  border-radius:99px;padding:3px 10px;white-space:nowrap;
  border:1px solid var(--line);background:var(--surface2);color:var(--muted)}
.status.ok{border-color:#43c58a66;background:#43c58a16;color:#8fe3a6}
.status.warn{border-color:#e0a24a66;background:#e0a24a16;color:#ffd27d}
.status.bad{border-color:#ff625f66;background:#ff625f14;color:#ff9b96}
.status.info{border-color:#5aa6e066;background:#5aa6e016;color:#7cb8e8}
.status.mute{opacity:.75}
:root.light .status.ok{color:#1c7a4b;border-color:#43c58a80;background:#43c58a1c}
:root.light .status.warn{color:#8a5a12;border-color:#e0a24a80;background:#e0a24a22}
:root.light .status.bad{color:#a33a35;border-color:#ff625f80;background:#ff625f18}
:root.light .status.info{color:#1f5f96;border-color:#5aa6e080;background:#5aa6e01c}

/* ===== הבקשות שלי במסך השעות =====
   נהג ששלח בקשה ראה מונה בלבד. כאן מוצג מה נשלח בפועל — תאריך, שעות,
   משך, מה בוצע ומה המשרד החליט — כדי שלא ישלח שוב מחוסר ודאות. */
.req-list{display:grid;gap:8px;margin-top:4px}
.req-row{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:14px;
  border:1px solid var(--line);background:var(--surface)}
.req-ic{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  font-size:14px;font-weight:800;background:var(--surface2);color:var(--gold2)}
.req-row.manual .req-ic{background:color-mix(in srgb,var(--gold) 16%,transparent)}
.req-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.req-main>b{font-size:13.5px}
.req-when{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.req-when i{font-style:normal;margin:0 5px;opacity:.5}
.req-when b{color:var(--text);font-weight:700}
.req-detail{font-size:12px;line-height:1.45;opacity:.8}
.req-row .status{flex:0 0 auto;align-self:flex-start}
.req-by{font-size:11px;opacity:.62}

/* ===== שיבוץ ושליחה בכרטיס הנסיעה של הסדרן =====
   הכרטיס אומר באיזה שלב הנסיעה נמצאת, כי «שובץ» ו«נשלח» הם שני דברים
   שונים — ובלבול ביניהם הוא הסיבה שנסיעות ששובצו לא הגיעו לנהג. */
.assign-state{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:11px}
.assign-state small{color:var(--muted);font-size:11.5px;line-height:1.4;flex:1 1 140px}
.assign-send{display:flex;gap:8px;margin-top:9px}
.send-driver-btn{flex:1;padding:11px;border-radius:11px;border:1px solid var(--gold);
  background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--on-accent);font-weight:800;cursor:pointer}
.send-driver-btn.again{background:transparent;color:var(--gold2)}
.send-driver-btn.off{flex:0 0 auto;background:transparent;border-color:#ff625f55;color:#ff8f8c;font-weight:700}
.send-driver-btn:disabled{filter:grayscale(1);opacity:.45;cursor:default}
.assign-note{margin:9px 0 0;font-size:11px;color:var(--muted);line-height:1.5}

/* לוגו החברה בראש המסך. לוגו שהועלה במשרד מגיע בכל צורה ויחס, ולכן הוא
   מקבל תיבה קבועה עם object-fit ורקע עדין — אחרת לוגו רחב דחק את הכותרת. */
.topbar .brand img.co-logo{width:auto;max-width:96px;height:40px;object-fit:contain;
  border-radius:8px;background:rgba(255,255,255,.06);padding:3px 6px}
:root.light .topbar .brand img.co-logo{background:rgba(30,26,18,.05)}
.topbar .brand strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
/* מסכי אנדרואיד צרים (320–360). הכותרת מחזיקה לוגו, שם חברה ושלושה
   כפתורים — ברוחב 320 זה נדחק והאווטאר נחתך מחוץ למעטפת. הרכיבים
   מתכווצים במקום להידחף. */
.topbar .brand{min-width:0;flex:1 1 auto}
.topbar .top-actions{flex:0 0 auto}
@media(max-width:380px){
  .topbar{padding-inline:12px;gap:8px}
  .topbar .brand img{width:46px;height:38px}
  .topbar .brand strong{max-width:104px;font-size:14px}
  .topbar .top-actions{gap:6px}
  .icon-btn,.avatar{width:36px;height:36px}
}

/* ===== מסמכים משפטיים ומסך האישור =====
   הנוסח היה גוש טקסט אחד מקופל בתוך <details>, ולכן איש לא פתח אותו.
   עכשיו הוא מסמך: פרקים ממוספרים, רשימות, ומרווח שאפשר לקרוא בו. */
.legal-doc{font-size:13.5px;line-height:1.7}
.legal-doc.scroll{max-height:46vh;max-height:46dvh;overflow:auto;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%)}
.legal-intro{margin:4px 0 16px;color:var(--muted);font-size:13px;line-height:1.65}
.legal-sec{margin:0 0 16px}
.legal-sec:last-child{margin-bottom:4px}
.legal-sec h3{display:flex;align-items:center;gap:9px;font-size:14px;margin:0 0 7px}
.legal-num{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold2);
  font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.legal-sec ul{margin:0;padding-inline-start:0;list-style:none}
.legal-sec li{position:relative;padding-inline-start:16px;margin:0 0 6px;color:var(--muted)}
.legal-sec li:before{content:"";position:absolute;inset-inline-start:4px;top:9px;
  width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7}
.legal-raw{white-space:pre-wrap;line-height:1.75;font-size:13px;color:var(--muted)}
/* שער האישור */
.consent-page .card{margin-bottom:12px}
.consent-hero{text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 13%,var(--surface)),var(--surface) 65%)}
.consent-mark{font-size:34px;line-height:1;margin-bottom:8px}
.consent-hero h1{font-size:24px;margin:2px 0 0}
.consent-ver{font-size:11px;color:var(--muted);margin-top:5px}
.consent-points{list-style:none;margin:16px 0 2px;padding:0;text-align:start;display:grid;gap:8px}
.consent-points li{position:relative;padding-inline-start:26px;font-size:13px;line-height:1.55}
.consent-points li:before{content:"✓";position:absolute;inset-inline-start:0;top:0;
  width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;
  background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--gold2)}
.consent-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer;margin-bottom:14px;font-size:13.5px;line-height:1.5}
.consent-check input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto}
.consent-actions .ghost{width:100%;margin-top:9px}

/* ===== מסך פתיחה =====
   מכסה את הפער שבין הצביעה הראשונה לבין טעינת ההפעלה השמורה. קודם הבהב
   שם מסך ההתחברות לרגע, וזה נראה כאילו האפליקציה זרקה את המשתמש החוצה. */
/* מסך הטעינה — תמיד רקע לבן עם הלוגו המקורי של OTL, בכל ערכת נושא */
.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:#ffffff;
  transition:opacity .45s ease,visibility 0s linear .45s}
.splash.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.splash-in{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}
.splash-logo{width:260px;height:174px;display:grid;place-items:center;
  animation:splashIn .7s cubic-bezier(.2,.8,.3,1) both}
.splash-logo img{max-width:100%;max-height:100%;object-fit:contain}
.splash-co{font-size:15px;font-weight:700;letter-spacing:.4px;color:#0f2a4d;
  animation:splashIn .7s .12s cubic-bezier(.2,.8,.3,1) both;text-align:center}
.splash-dots{display:flex;gap:6px;margin-top:2px}
.splash-dots i{width:6px;height:6px;border-radius:50%;background:#1f6fd1;opacity:.35;
  animation:splashDot 1.1s infinite ease-in-out}
.splash-dots i:nth-child(2){animation-delay:.16s}
.splash-dots i:nth-child(3){animation-delay:.32s}
@keyframes splashIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes splashDot{0%,80%,100%{opacity:.28;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
  .splash-logo,.splash-co{animation:none}
  .splash-dots i{animation:none;opacity:.6}
}

/* ===== טפסים: כותרת גיליון, זוגות שדות, בוררים ומונים =====
   הרכיבים כאן משותפים לשלושה מסכים — בקשת תיקון שעות, הוספת משמרת
   ויצירת נסיעה — כי שלושתם אותו סוג טופס: כמה החלטות קצרות ואישור אחד. */
/* כותרת הגיליון. הסמל «ממתין לאישור» ישב בפינה השמאלית העליונה — בדיוק
   מתחת לכפתור הסגירה העגול — ונחתך על ידו. עכשיו הכותרת תופסת שורה
   משלה עם מקום פנוי לכפתור, והסמל יורד לשורה נפרדת מתחתיה. */
.sheet-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:44px}
.sheet-head h2{margin:3px 0 0;padding-left:0;font-size:20px;line-height:1.25}
.sheet-sub{font-size:12.5px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.sheet-badge{align-self:flex-start;font-size:11.5px;font-weight:700;border-radius:99px;padding:5px 11px;
  border:1px solid #e0a24a66;background:#e0a24a14;color:#ffd27d;white-space:nowrap}
:root.light .sheet-badge{color:#8a5a12;border-color:#e0a24a80;background:#e0a24a1f}
/* הפסקה שמסבירה את הגיליון — נושמת מעל השדות ולא נדבקת לכותרת */
.sheet-form>.muted{margin:10px 0 2px;font-size:13px;line-height:1.55}
/* שני שדות באותה שורה — «משעה» ו«עד שעה» שייכות זו לזו ולא לשורות אחרות.
   minmax(0,1fr) ולא 1fr: תא ברשת אינו מצטמצם מתחת לרוחב הטבעי של תוכנו,
   ולשדה שעה באייפון יש רוחב טבעי גדול — ולכן שתי המסגרות גלשו זו על זו.
   min-width:0 על התווית ועל השדה משלים את אותה הגנה. */
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.field-pair label{margin:13px 0 0;min-width:0}
.field-pair input{min-width:0;max-width:100%}
/* בורר היקף התיקון: כל היום או משמרת מסוימת */
.sc-scope{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 4px}
.sc-chip{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);
  background:var(--surface2);color:inherit;border-radius:13px;padding:8px 13px;font-size:12.5px;
  font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}
.sc-chip small{font-size:10px;opacity:.6;font-variant-numeric:tabular-nums;font-weight:600}
.sc-chip.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold2)}
.sc-chip.on small{opacity:.85}
.sc-hint{font-size:11.5px;margin:2px 0 0}
/* טווחי שעות נקראים משמאל לימין גם בעברית: «07:00–13:00». בלי בידוד
   הכיוון הדפדפן הופך אותם בתצוגה ל-«13:00–07:00», והנהג קורא בדיוק הפוך. */
.sc-chip small,.hb-head span,.ht-time,.hd-range,.hq-hours,.req-when{direction:ltr;unicode-bidi:isolate}
.hd-range,.req-when{display:inline-block}
/* המשמרת שנבחרה — סימון מלא ולא רק גוון, כדי שיהיה ברור מה פעיל */
.sc-chip.on{border-color:var(--gold);border-width:1.5px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold2);font-weight:800;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 10%,transparent)}
.sc-chip.on:before{content:"✓ ";font-weight:900}
/* «כמה זה יוצא» — התוצאה של מה שהוקלד, לא עוד שדה */
.sc-delta{font-size:12.5px;opacity:.75;margin:9px 2px 0;font-variant-numeric:tabular-nums}
.sc-delta b{font-size:15px;opacity:1}
.sc-delta .up{color:#8fe3a6}
.sc-delta .down{color:#ff9b96}
:root.light .sc-delta .up{color:#1c7a4b}
:root.light .sc-delta .down{color:#a33a35}
/* סיבות מוכנות — לחיצה במקום הקלדה בנהיגה */
.chip-pick{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 0}
.chip-pick .pick{border:1px dashed var(--line);background:transparent;color:inherit;opacity:.85;
  border-radius:99px;padding:6px 11px;font-size:11.5px;cursor:pointer}
.chip-pick .pick:active{background:var(--surface2)}
.chip-pick .pick.on{border-style:solid;border-color:var(--gold);color:var(--gold2);opacity:1}
/* סוג העבודה בהוספת משמרת — רשת כפתורים במקום רשימה נפתחת */
/* גובה אחיד לכל הכפתורים — שורה שגבוהה מהאחרות נראית כתקלה ולא כעיצוב */
.kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 2px;grid-auto-rows:52px}
.kind{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface2);
  color:inherit;border-radius:13px;padding:11px 12px;font-size:12.5px;font-weight:600;text-align:right;cursor:pointer}
.kind-ic{font-size:18px;line-height:1}
.kind.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold2)}
/* שדות הטופס בגיליון. עד כה נשענו שדות התאריך, השעה והפירוט על עיצוב
   ברירת המחדל של הדפדפן — תיבה אפורה בגובה שונה משאר הרכיבים, בלי סימון
   מיקוד ובלי גובה נגיעה. .sheet-form מסומן בטפסים שבגיליון בלבד, כדי
   שטופס עריכת הנסיעה של הסדרן (.trip-form) יישאר כפי שהוא. */
.sheet-form label{display:block;color:var(--muted);font-size:12px;font-weight:600;margin:13px 0 0}
.sheet-form label input,.sheet-form label select,.sheet-form label textarea{
  display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--line);
  border-radius:13px;background:var(--surface2);color:var(--text);font:inherit;font-size:15px;
  resize:vertical;min-height:46px;box-sizing:border-box}
/* שעה ותאריך נקראים כמספרים — רוחב ספרה אחיד ומשקל כבד יותר */
/* שעה ותאריך נקראים כמספרים — רוחב ספרה אחיד, ממורכז, ובלי העיצוב
   המקורי של iOS שמותח את השדה לרוחב שאינו מתכווץ. */
.sheet-form label input[type=date],.sheet-form label input[type=time]{
  font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.3px;font-size:17px;
  text-align:center;-webkit-appearance:none;appearance:none;min-width:0;width:100%}
.sheet-form label input[type=time]::-webkit-date-and-time-value{text-align:center;margin:0}
.sheet-form label input[type=date]::-webkit-date-and-time-value{text-align:center;margin:0}
.sheet-form label input:focus,.sheet-form label select:focus,.sheet-form label textarea:focus{
  outline:0;border-color:color-mix(in srgb,var(--gold) 55%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent)}
.sheet-form label input::placeholder,.sheet-form label textarea::placeholder{color:var(--muted);opacity:.8}
/* שעון התאריך של הדפדפן מוצג בכהה כברירת מחדל — במצב בהיר הוא נעלם */
.sheet-form input[type=date]::-webkit-calendar-picker-indicator,
.sheet-form input[type=time]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
:root:not(.light) .sheet-form input[type=date]::-webkit-calendar-picker-indicator,
:root:not(.light) .sheet-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}
/* משמרת שתוקנה ואושרה — בלי הסימון הזה «אושר» ו«לא אושר» נראים זהים */
.hb-fix{font-style:normal;font-size:10.5px;font-weight:700;border-radius:99px;padding:2px 8px;
  border:1px solid #36c97855;background:#36c97814;color:#62df9b}
:root.light .hb-fix{color:#1c7a4b;border-color:#1c7a4b55;background:#1c7a4b14}
/* שני הבוררים — חודש ויום — באותה שורה, בשני תאים שווים שאינם נדחסים */
.hours-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:9px 0 2px}
.hours-pick-f{display:flex;flex-direction:column;gap:4px;min-width:0;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 11px}
.hours-pick-f span{font-size:11px;color:var(--muted)}
.hours-pick-f input{min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums;padding:2px 0;
  -webkit-appearance:none;appearance:none}
.hours-pick-f input:focus{outline:0}
/* טווח השעות בשורת הבקשה — יחידה אחת שלא נשברת באמצע */
.req-hours{white-space:nowrap;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.req-dur{font-size:11px;color:var(--muted);white-space:nowrap}
/* «הבקשות שלי» — כותרת שנפתחת, כמו כרטיס יום */
.req-toggle{display:flex;align-items:center;gap:10px;width:100%;margin:18px 0 0;padding:12px 14px;
  border:1px solid var(--line);border-radius:14px;background:var(--surface);color:inherit;
  font-size:14px;font-weight:700;cursor:pointer;text-align:start}
.req-toggle .req-count{margin-inline-start:auto;font-size:11.5px;font-weight:600;color:var(--muted)}
.req-toggle .req-caret{transition:transform .18s;font-size:17px;color:var(--muted);line-height:1}
.req-toggle.open{border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.req-toggle.open .req-caret{transform:rotate(-90deg)}
/* מחיקת משמרת משורת היום, והוספת משמרת ליום שנפתח */
.ht-del{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--muted);
  border-radius:10px;padding:6px 9px;font-size:13px;cursor:pointer;align-self:center}
.ht-del:active{border-color:#ff9b96;color:#ff9b96}
.hd-add{width:100%;margin-top:10px;padding:11px;border:1px dashed var(--line);border-radius:12px;
  background:transparent;color:var(--gold2);font-size:13px;font-weight:700;cursor:pointer}
.hd-add:active{background:var(--surface2)}
/* נקודות סימון על יום ועל משמרת: אדום — נמחקה, כחול — הוקמה במשרד */
.ms-dot{font-size:10px;line-height:1;vertical-align:3px;margin-inline-start:5px}
.ms-dot.del{color:#ff9b96}
.ms-dot.add{color:#7cc0ff}
:root.light .ms-dot.del{color:#a33a35}
:root.light .ms-dot.add{color:#1f5f9e}
.hd-tag.del{border-color:#ff9b9655;background:#ff554c14;color:#ff9b96}
:root.light .hd-tag.del{color:#a33a35;border-color:#a33a3555;background:#a33a3512}
/* מחיקת משמרת שהנהג דיווח — פעולה הרסנית, ולכן שקטה בעין ולא כפתור אדום
   גדול שקל ללחוץ עליו בטעות בזמן נהיגה. */
.req-del{margin-top:6px;align-self:flex-start;border:1px solid var(--line);background:transparent;
  color:var(--muted);border-radius:99px;padding:5px 11px;font-size:11.5px;font-weight:600;cursor:pointer}
.req-del:active{border-color:#ff9b96;color:#ff9b96}
:root.light .req-del:active{border-color:#a33a35;color:#a33a35}
/* הסבר קצר על תיקון שנעשה במשרד — «למה השעות שלי השתנו» */
.hb-note{font-size:11.5px;color:var(--muted);margin:2px 2px 6px;line-height:1.45}
/* חיפוש יום במסך השעות */
/* חיפוש יום — פקד אחד ולא שדה טופס ענק באמצע המסך. התווית והשדה יושבים
   באותה שורה, בתוך מסגרת אחת, כדי שהשורה תיקרא כ«חפש יום» ולא כטופס. */
.hours-daysrch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0 2px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:7px 12px}
.hours-daysrch label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:0;flex:1 1 180px}
.hours-daysrch input{flex:1;min-width:0;padding:6px 0;border:0;background:transparent;
  color:var(--text);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;font-weight:700}
.hours-daysrch input:focus{outline:0}
.hours-daysrch .hchip{padding:6px 11px;font-size:11.5px}
/* כותרת קבוצה בתוך טופס */
.form-sec{display:flex;align-items:center;gap:10px;margin:20px 0 2px}
.form-sec:first-of-type{margin-top:8px}
.form-sec-t{font-size:11.5px;font-weight:700;letter-spacing:.4px;color:var(--gold2);white-space:nowrap}
.form-sec:after{content:"";flex:1;height:1px;background:var(--line)}
/* המסלול מצויר כמסלול — אותה שפה של כרטיס הנסיעה */
.route-form{display:grid;grid-template-columns:16px 1fr;gap:0 10px;align-items:stretch}
.route-rail{display:flex;flex-direction:column;align-items:center;padding-top:31px}
.route-rail .dot{width:10px;height:10px;border:2px solid var(--gold);border-radius:50%;flex:0 0 auto}
.route-rail .dot.fill{background:var(--gold)}
.route-rail .line{flex:1;width:1px;background:var(--line);margin:3px 0}
.route-fields label:first-child{margin-top:0}
/* מונה נוסעים — כפתורים במקום להקליד מספר במקלדת */
.stepper-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--line);background:var(--surface2);border-radius:13px;padding:10px 12px;margin-top:13px;font-size:13px}
.stepper{display:flex;align-items:center;gap:2px}
.stepper button{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);
  color:var(--gold2);border-radius:10px;font-size:19px;line-height:1;cursor:pointer}
.stepper input{width:52px;text-align:center;margin:0 4px;padding:8px 0;border:1px solid var(--line);
  background:var(--surface);color:var(--text);border-radius:10px;font-weight:700;font-variant-numeric:tabular-nums}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ===== מסך «החברות שלי» ===== */
.co-list{display:grid;gap:9px;margin:12px 0 4px}
.co-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.co-item.active{border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent)}
.co-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.co-info .co-name{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  display:flex;align-items:center;gap:7px}
/* סוג המשתמש. אותו אדם מחזיק לפעמים כמה חשבונות — נהג בחברה אחת, הורה של
   נוסע באחרת — ובלי התווית שתי שורות עם אותו שם נראו זהות לגמרי.
   צבע לכל תפקיד, כדי שאפשר יהיה לזהות בלי לקרוא. */
.co-role{flex:0 0 auto;font-size:10px;font-weight:700;border-radius:99px;padding:2px 8px;
  border:1px solid currentColor;opacity:.9}
.co-role.role-driver{color:#5aa6e0}
.co-role.role-passenger{color:#43c58a}
.co-role.role-client{color:var(--gold2)}
.co-role.role-dispatcher{color:#c58ae0}
:root.light .co-role.role-driver{color:#1f5f96}
:root.light .co-role.role-passenger{color:#1c7a4b}
:root.light .co-role.role-client{color:var(--gold2)}
:root.light .co-role.role-dispatcher{color:#6b3d90}
.co-info .co-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-badge{flex:none;font-size:10px;font-weight:800;color:var(--gold2);background:color-mix(in srgb,var(--gold) 11%,transparent);border:1px solid color-mix(in srgb,var(--gold) 33%,transparent);border-radius:99px;padding:4px 10px}
.co-actions{display:flex;gap:6px;flex:none;align-items:center}
.co-actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer}
.co-actions .co-go{border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold2)}
.co-actions .co-del{border-color:#ff625f44;background:#ff625f0b;color:#ff8f8c;padding:8px 11px}
.co-add{margin-top:14px;padding-top:15px;border-top:1px solid var(--line)}
.co-add-title{font-size:13px;font-weight:800;color:var(--gold2);margin-bottom:11px}
.co-add label{display:block;font-size:12px;color:var(--muted);margin-bottom:11px}
.co-add input{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);font-size:14px}
.co-add input:focus{outline:none;border-color:color-mix(in srgb,var(--gold) 53%,transparent)}
.co-add .co-hint{display:block;margin-top:5px;color:var(--muted);font-size:10.5px}
.co-empty{color:var(--muted);font-size:12.5px;padding:8px 2px}
.dispatch-filter-grid button{padding:8px;font-size:12px}

/* ===== שורת אייקונים בפרטי הנסיעה (נוסעים ותחנות / חיוג / ניווט) ===== */
.quick-bar{display:flex;gap:10px;margin:14px 0 6px;flex-wrap:wrap}
.quick-btn{position:relative;width:52px;height:52px;border-radius:16px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:23px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.quick-btn:active{transform:scale(.96)}
.quick-btn.active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--on-accent);border-color:transparent}
/* דיווח תקלה — נבדל בצבע מהכפתורים הרגילים, אבל לא צועק: הוא יושב ליד
   כפתורים שבשימוש יומיומי, ואסור שיילחץ בטעות */
.quick-btn.fault{border-color:#8a5a2b;color:#ffb340}
.quick-btn.fault:active{background:#3a2a14}
/* שורת סימון בטופסי האפליקציה */
.chk-row{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:15px;cursor:pointer}
.chk-row input{width:20px;height:20px;accent-color:var(--gold,var(--gold))}
.quick-badge{position:absolute;top:-5px;left:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--gold);color:var(--on-accent);font-size:11px;font-weight:800;display:grid;place-items:center}
.tc-meta .tc-client{color:var(--muted)}
/* מי הנהג — מה שהסדרן באמת מחפש בשורה. במקומו ישב קוד הנסיעה, מזהה פנימי
   שאין בו שום מידע תפעולי. נסיעה בלי נהג אינה מציגה כאן דבר: תווית המצב
   שבצד כבר אומרת «ללא נהג», ואין טעם לומר זאת פעמיים.

   השורה עוטפת: שלושה שדות ברוחב של טלפון לא נכנסים לשורה אחת, ובלי עטיפה
   שם הנהג נמעך ל-53 פיקסלים ונחתך אחרי מילה. עכשיו הוא מקבל את מה שהוא
   צריך, והלקוח ומספר הנוסעים יורדים לשורה שנייה כשאין מקום. */
.tc-meta{flex-wrap:wrap;row-gap:2px}
.tc-meta .tc-driver{flex:0 1 auto;min-width:0;max-width:100%;color:var(--text);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-meta .tc-client,.tc-meta .tc-pax{white-space:nowrap}

/* ===== תחנות ונוסעים — פאנל נפתח ===== */
.stations-wrap.is-hidden{display:none}
.station-count{margin-inline-start:auto;font-size:11px;font-weight:800;color:var(--gold2);background:color-mix(in srgb,var(--gold) 11%,transparent);border:1px solid color-mix(in srgb,var(--gold) 27%,transparent);border-radius:99px;padding:2px 8px}
.nav-row.compact{gap:6px;align-items:center}
.nav-row.compact .nav-place{font-size:12px;color:var(--muted)}
.nav-btn.icon{padding:6px 9px;font-size:15px;line-height:1}
.pax-btn.maps{background:rgba(255,255,255,.08);color:inherit}

/* ===== טלפון וכתובת בתוך הערה — לחיצים ===== */
.note-tel{display:inline-flex;align-items:center;gap:4px;background:#2f9e5b1f;border:1px solid #2f9e5b55;color:#3fbf75;border-radius:9px;padding:2px 8px;text-decoration:none;direction:ltr;font-weight:700}
.note-addr{display:inline-flex;align-items:center;gap:5px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;padding:2px 8px}
.note-nav{text-decoration:none;font-size:15px;line-height:1}

/* ===== מפת המסלול לנוסע ===== */
.map.route{height:270px;background-image:none;background-color:#dfe7ea}
.map.route:after{display:none}
.route-stops{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.route-stop{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:9px 11px}
.route-idx{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--surface);border:1px solid var(--line)}
.route-idx.start{background:#2f9e5b;color:#fff;border-color:transparent}
.route-idx.end{background:var(--gold);color:var(--on-accent);border-color:transparent}
.route-kind{font-size:11px;color:var(--muted)}
.route-stop .nav-row{margin-inline-start:auto}
.driver-popup-icon.warn{color:#e0a24a}

/* ===== אייקוני וויז וגוגל מפות (SVG מוטמע, בלי תלות ברשת) ===== */
.brand-ico{width:20px;height:20px;display:block;flex:0 0 auto}
.nav-btn .brand-ico{width:18px;height:18px;display:inline-block;vertical-align:-4px;margin-inline-end:4px}
.nav-btn.icon{padding:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--line)}
.nav-btn.icon .brand-ico{width:22px;height:22px;margin:0}
/* הכפתורים עם הכיתוב — רקע ניטרלי, האייקון הוא שנושא את הזהות */
.nav-btn.waze,.nav-btn.maps{background:var(--surface2);color:var(--text);border:1px solid var(--line)}
.pax-btn.waze,.pax-btn.maps{background:var(--surface2);color:var(--text);border:1px solid var(--line);padding:6px;display:inline-flex;align-items:center;justify-content:center}
.pax-btn .brand-ico{width:20px;height:20px}
.note-addr .note-nav .brand-ico{width:17px;height:17px;display:inline-block;vertical-align:-3px}

/* ===== כבישי אגרה — הוראה לנהג ===== */
.toll-note{border-radius:10px;padding:8px 11px;margin:0 0 8px;border:1px solid var(--line);background:var(--surface2);line-height:1.5}
.toll-note.no{border-color:#e0505066;background:#e0505014}
.toll-note.yes{border-color:#2f9e5b66;background:#2f9e5b14}
.toll-note.ask{border-color:#e0a24a66;background:#e0a24a14}

/* כפתור ניסיון חוזר בפס «לא מחובר» */
.retry-sync{margin-inline-start:8px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:2px 9px;font-size:11.5px;cursor:pointer}
.retry-sync:active{opacity:.7}

/* ============================================================
   מסך «שעות העבודה שלי» — סיכום, בורר חודשים, ופירוט הנסיעות
   שמהן מורכבות השעות של כל יום
   ============================================================ */
/* ---- כרטיס הפתיחה: מספר אחד גדול, ומסביבו מה שמסביר אותו ----
   קודם ישבו כאן ארבעה מספרים שווי-משקל שהתחרו זה בזה, ולא היה ברור מה
   העיקר. סך השעות הוא מה שהנהג בא לראות; השאר הוא הקשר. */
.hours-hero{padding:16px 16px 14px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,color-mix(in srgb,var(--gold,var(--gold)) 13%,var(--surface)),var(--surface) 62%)}
.hours-hero:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;
  background:var(--gold,var(--gold));opacity:.09;left:-70px;top:-108px;pointer-events:none}
.hh-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;position:relative}
.hh-ttl .eyebrow{display:block}
.hh-ttl b{display:block;font-size:19px;margin-top:3px}
.hh-total{text-align:left;line-height:1}
.hh-total b{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gold2);letter-spacing:-.5px}
.hh-total small{display:block;font-size:10.5px;opacity:.62;margin-top:5px}
.hh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:15px 0 2px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}
:root.light .hh-grid{background:rgba(30,26,18,.1);border-color:rgba(30,26,18,.1)}
.hh-grid>div{background:var(--surface);padding:10px 4px;text-align:center}
.hh-grid b{display:block;font-size:16px;font-variant-numeric:tabular-nums}
.hh-grid span{display:block;font-size:10px;opacity:.6;margin-top:2px}
@media(max-width:360px){.hh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* בורר החודשים — שורה אחת שנגללת לצדדים, במקום לעטוף לשלוש שורות */
.hours-months{display:flex;gap:6px;margin:14px -16px 2px;padding:2px 16px;
  overflow-x:auto;scrollbar-width:none}
.hours-months::-webkit-scrollbar{display:none}
.hchip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);color:inherit;
  border-radius:99px;padding:6px 13px;font-size:12.5px;font-weight:700;cursor:pointer;
  white-space:nowrap;flex:0 0 auto;transition:background .15s,color .15s}
:root.light .hchip{background:rgba(30,26,18,.05);border-color:rgba(30,26,18,.16)}
.hchip.on{background:var(--gold,var(--gold));border-color:var(--gold,var(--gold));color:var(--on-accent)}
.hours-hero .primary{margin-top:12px}
.hours-pending{background:#e0a24a1a;border:1px solid #e0a24a4d;border-radius:12px;
  padding:10px 12px;margin-top:12px;font-size:13px}
/* ---- כרטיס יום ---- */
.hour-day{padding:12px;margin:10px 0}
.hour-day.is-eshel{border-color:color-mix(in srgb,var(--gold,var(--gold)) 42%,transparent)}
/* כל הכותרת היא הכפתור שפותח את הפירוט — שטח לחיצה גדול, בלי כפתור זעיר */
.hd-head{display:flex;align-items:center;gap:11px;width:100%;text-align:right;
  background:transparent;border:0;color:inherit;padding:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.hd-cal{flex:0 0 auto;width:44px;height:46px;border-radius:13px;background:var(--surface2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hd-cal b{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.hd-cal small{font-size:10px;opacity:.62;margin-top:3px}
.hour-day.is-eshel .hd-cal{background:color-mix(in srgb,var(--gold,var(--gold)) 18%,var(--surface2));
  color:var(--gold2)}
.hd-info{flex:1;min-width:0;display:block}
.hd-title{display:block;font-size:14.5px;font-weight:700}
.hd-range{display:block;font-size:11.5px;opacity:.62;margin-top:2px;font-variant-numeric:tabular-nums}
.hd-range i{font-style:normal;margin:0 5px;opacity:.5}
/* פס יחסי ליום הארוך בתקופה — הופך רשימת מספרים לרשימה שסורקים בעין */
.hd-bar{display:block;height:4px;border-radius:99px;background:rgba(255,255,255,.1);margin-top:7px;overflow:hidden}
:root.light .hd-bar{background:rgba(30,26,18,.1)}
.hd-bar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--gold),var(--gold2))}
.hd-total{flex:0 0 auto;text-align:left;line-height:1.15;display:flex;flex-direction:column;align-items:flex-end}
.hd-total b{font-size:19px;font-variant-numeric:tabular-nums;color:var(--gold2)}
.hd-total small{display:block;font-size:10px;opacity:.6;margin-top:1px}
.hd-caret{font-size:17px;opacity:.45;margin-top:3px;transition:transform .18s;display:block}
.hd-head.open .hd-caret{transform:rotate(-90deg)}
.hd-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 2px}
.hd-tag{font-size:11px;border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:2px 9px;opacity:.85}
.hd-tag.ok{border-color:#43c58a66;background:#43c58a14;color:#8fe3a6;opacity:1}
.hd-tag.warn{border-color:#e0a24a66;background:#e0a24a14;color:#ffd27d;opacity:1}
/* אש״ל — יום מעל 7 שעות, מודגש כי הוא נוגע לתשלום.
   הצבעים דרך משתני הערכה: זהב בהיר על כרטיס כהה, זהב כהה על כרטיס לבן —
   אחרת התג נעלם לגמרי במצב היום. */
.hd-tag.eshel{border-color:color-mix(in srgb,var(--gold) 50%,transparent);background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold2);opacity:1;font-weight:600}
/* «לא מקוון» בכותרת — אדום, כדי שניתוק אמיתי ייראה מיד ולא ייבלע בטקסט האפור */
#syncStatus.is-offline{color:#ff625f}
.hd-tag.info{border-color:#5aa6e066;background:#5aa6e014;color:#7cb8e8;opacity:1}
:root.light .hd-tag.eshel{color:var(--gold2);border-color:color-mix(in srgb,var(--gold2) 50%,transparent);background:color-mix(in srgb,var(--gold2) 13%,transparent)}
:root.light .hd-tag.ok{color:#1c7a4b;border-color:#43c58a80;background:#43c58a1a}
:root.light .hd-tag.warn{color:#8a5a12;border-color:#e0a24a80;background:#e0a24a1f}
:root.light .hd-tag.info{color:#1f5f96;border-color:#5aa6e080}
/* רצף עבודה אחד — קבוצת נסיעות שהפער ביניהן קטן מספיק */
.hour-block{margin-top:8px;padding-right:9px;border-right:2px solid color-mix(in srgb,var(--gold) 25%,transparent)}
.hour-block+.hour-block{margin-top:12px}
.hb-head{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;
  opacity:.72;font-variant-numeric:tabular-nums;margin-bottom:2px}
.hb-head b{font-weight:600;opacity:.95}
.hours-note{font-size:11.5px;line-height:1.55;opacity:.58;margin:12px 2px 0}
/* «בקשת תיקון» ירדה אל תוך הפירוט: היא נוגעת לשעות שמופיעות שם, ובסגור
   היא רק הוסיפה כפתור לכל יום ברשימה */
.hd-fix{width:100%;margin-top:10px;background:transparent;border:1px dashed rgba(255,255,255,.2);
  color:inherit;opacity:.8;border-radius:11px;padding:9px 10px;font-size:12.5px;cursor:pointer}
:root.light .hd-fix{border-color:rgba(30,26,18,.22)}
.hd-trips{margin-top:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
.hd-trips.is-hidden{display:none}
.hour-trip{display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px dashed rgba(255,255,255,.09)}
.hour-trip:last-child{border-bottom:0}
.ht-time{font-size:12px;font-variant-numeric:tabular-nums;opacity:.8;min-width:82px;white-space:nowrap}
.ht-time span{opacity:.5;margin:0 1px}
.ht-main{flex:1;min-width:0}
.ht-main b{display:block;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ht-main small{display:block;font-size:11px;opacity:.6;margin-top:1px}
.ht-dur{text-align:left;min-width:52px}
.ht-dur small{display:block;font-size:10px;opacity:.6}

/* רשימת השינויים בנסיעה ששודרה מחדש — בתוך פופאפ ההתראה לנהג */
.alert-changes{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:right}
.alert-changes b{display:block;margin-bottom:6px;font-size:13px;opacity:.8}
.alert-changes ul{margin:0;padding-inline-start:18px;line-height:1.7;font-size:15px}
.alert-reapprove{margin-top:12px;padding:10px 12px;border-radius:12px;font-weight:600;
  background:rgba(255,176,32,.14);border:1px solid rgba(255,176,32,.45);color:#ffc857}
/* חיווי לנהג שהמיקום שלו משודר — השידור כבר אינו תלוי בכפתור מצב עבודה,
   ולכן הוא חייב להיות גלוי ולא סמוי */
.work-beacon{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:center;margin-top:11px;padding:11px 12px;border:1px solid #36c97845;background:#36c9780e;border-radius:13px}
.work-beacon .beacon-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #36c97822}
.work-beacon b,.work-beacon small{display:block}
.work-beacon small{color:var(--muted);font-size:11px;margin-top:3px;line-height:1.5}
/* זמן הגעה משוער אצל הנוסע */
.eta-box{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;margin-top:12px;padding:12px;border:1px solid #2878ff44;background:#2878ff10;border-radius:14px}
.eta-box .eta-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#2878ff1c;color:var(--blue);font-size:18px}
.eta-box b,.eta-box small{display:block}
.eta-box b{font-size:15px}
.eta-box small{color:var(--muted);font-size:11px;margin-top:2px}
.eta-box.pending{border-color:var(--line);background:var(--surface2)}
.eta-box.pending .eta-icon{background:var(--surface);color:var(--muted)}
/* סמן הרכב על המפה — עיגול עם אוטובוס וחוד לכיוון הנסיעה */
.otl-bus-icon{background:none;border:0}
.otl-bus-icon .obi{position:relative;width:36px;height:36px;border-radius:50%;background:var(--green);box-shadow:0 3px 12px #0008,0 0 0 3px #fffc;display:grid;place-items:center}
.otl-bus-icon .obi-b{font-size:18px;line-height:1}
.otl-bus-icon .obi-dir{position:absolute;inset:0;transform-origin:50% 50%}
.otl-bus-icon .obi-dir:before{content:"";position:absolute;top:-8px;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:var(--green)}
/* ניווט לתחנה הבאה — לנהג, כפתור אחד גדול מתחת למפת המסלול */
.route-drive{margin:11px 0 4px}
.route-drive-btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border-radius:13px;background:#33ccff18;border:1px solid #33ccff55;color:#7fd8ff;font-weight:800;text-decoration:none;font-size:15px}
.route-drive-btn svg{width:19px;height:19px}
/* מסך ההצטרפות להתראות — פתיחה ראשונה */
.po-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px;text-align:right}
.po-list li{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start}
.po-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--surface2);font-size:16px}
.po-list b{display:block;font-size:14px}
.po-list small{display:block;color:var(--muted);font-size:11.5px;line-height:1.5;margin-top:2px}

/* צלילי ההתראה בהגדרות הנהג — שורה לכל סוג התראה, לחיצה משמיעה */
.sound-list{display:grid;gap:7px;margin-top:11px}
.sound-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
  border:1px solid var(--line);background:var(--surface2);color:var(--text);
  border-radius:12px;padding:11px 12px;font-size:13px;text-align:right;cursor:pointer}
.sound-row:active{border-color:var(--gold)}
.sound-name{color:var(--gold2);font-size:12px;white-space:nowrap}

/* ===== מסכי קצין הבטיחות: מסמכים, תוקפים, בדיקת כשירות =====
   המסכים האלה נבנו תחילה עם מחלקות שלא היו קיימות בגיליון (field/btn/muted),
   ולכן הוצגו בעיצוב הגולמי של הדפדפן. כאן הן מוגדרות מחדש על אותם טוקנים
   של שאר האפליקציה, כך שהמצב הכהה והבהיר עובדים בלי כפילות צבעים. */
.sf-card{display:grid;gap:0}
.sf-label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin:14px 2px 6px}
.sf-card>.sf-label:first-child{margin-top:0}
.sf-field{display:block;width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:13px;
  background:var(--surface2);color:var(--text);font:inherit;font-size:15px;resize:vertical}
.sf-field:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent)}
select.sf-field{appearance:none;padding-left:36px;background-repeat:no-repeat;
  background-position:left 14px center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%238b8e97' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.sf-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sf-row2 .sf-label{margin-top:14px}
.sf-card .primary{margin-top:18px}
.sf-status{min-height:18px;margin-top:9px;color:var(--muted);font-size:12.5px;text-align:center}
.sf-status.err{color:var(--red)}

/* בורר נהג/רכב — שתי לשוניות במקום רשימה נפתחת, כי זו בחירה של אחד משניים */
.sf-seg{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;margin-bottom:14px;
  background:var(--surface);border:1px solid var(--line);border-radius:16px}
.sf-seg button{border:0;border-radius:12px;padding:11px;background:transparent;color:var(--muted);
  font-weight:700;font-size:14px;cursor:pointer;transition:.18s}
.sf-seg button.on{background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold2);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 38%,transparent)}

/* אזור הצילום — יעד לחיצה גדול, כי המסך הזה מופעל בשטח ובאצבע אחת */
.sf-shot{display:grid;grid-template-columns:52px 1fr;gap:13px;align-items:center;margin-top:16px;
  padding:16px 14px;border:1.5px dashed color-mix(in srgb,var(--gold) 34%,transparent);border-radius:16px;
  background:color-mix(in srgb,var(--gold) 5%,transparent);cursor:pointer}
.sf-shot:active{background:color-mix(in srgb,var(--gold) 11%,transparent)}
.sf-shot-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;
  background:var(--surface2);font-size:25px}
.sf-shot-txt b{display:block;font-size:15px}
.sf-shot-txt small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px;line-height:1.5}
.sf-preview{display:grid;grid-template-columns:56px 1fr 34px;gap:12px;align-items:center;margin-top:12px;
  padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.sf-prev-thumb{width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--surface);
  display:grid;place-items:center;font-size:24px}
.sf-prev-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sf-prev-txt{min-width:0}
.sf-prev-txt b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-prev-txt small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}
.sf-prev-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--muted);font-size:17px;cursor:pointer}

/* מה נשלח בהפעלה הזו — אישור מיידי שהמסמך יצא מהמכשיר */
.sf-sent{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sf-sent-row{display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.sf-sent-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:#36c97818;color:var(--green);font-weight:800}
.sf-sent-row b{display:block;font-size:13.5px}
.sf-sent-row small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

/* תוקפים: ארבעה מוני סינון ורשימה שהצבע בה הוא המידע */
.exp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:4px 0 15px}
.exp-kpi{display:grid;gap:2px;padding:12px 4px;border:1px solid var(--line);border-radius:15px;
  background:var(--surface);color:var(--muted);cursor:pointer;transition:.18s}
.exp-kpi strong{font-size:21px;color:var(--text);line-height:1.1}
.exp-kpi span{font-size:10.5px}
.exp-kpi.bad strong{color:var(--red)}
.exp-kpi.warn strong{color:#ffbd5d}
.exp-kpi.ok strong{color:var(--green)}
.exp-kpi.on{border-color:color-mix(in srgb,var(--gold) 50%,transparent);
  background:color-mix(in srgb,var(--gold) 9%,transparent);color:var(--gold2)}
.exp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.exp-row{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);
  border-inline-start:3px solid var(--line)}
.exp-row.bad{border-inline-start-color:var(--red)}
.exp-row.warn{border-inline-start-color:#e0a24a}
.exp-row.ok{border-inline-start-color:#43c58a}
.exp-ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;
  background:var(--surface2);font-size:17px}
.exp-txt{min-width:0}
.exp-txt b{display:block;font-size:14px}
.exp-txt small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* תוצאת הבדיקה — ארבע דרגות, והצבע נושא את המשמעות ולא רק הטקסט */
.insp-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.insp-chip{padding:12px 8px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);
  color:var(--muted);font-weight:700;font-size:13px;cursor:pointer;transition:.18s}
.insp-chip.on.s0{border-color:#43c58a;background:#43c58a1c;color:#8fe3a6}
.insp-chip.on.s1{border-color:#e0a24a;background:#e0a24a1c;color:#ffd27d}
.insp-chip.on.s2{border-color:#ff8a3d;background:#ff8a3d1c;color:#ffb27a}
.insp-chip.on.s3{border-color:var(--red);background:#ff625f1c;color:#ff9b96}
:root.light .insp-chip.on.s0{color:#1c7a4b}
:root.light .insp-chip.on.s1{color:#8a5a12}
:root.light .insp-chip.on.s2{color:#9c4a12}
:root.light .insp-chip.on.s3{color:#a33a35}

/* צ'קליסט סעיפי הבדיקה — תקין/לא-תקין לכל סעיף, ושדה «מה לתקן» לליקוי */
.insp-check{display:flex;flex-direction:column;gap:10px}
.insp-grp{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface2)}
.insp-grp-t{padding:8px 12px;font-weight:800;font-size:12.5px;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);border-bottom:1px solid var(--line)}
.insp-item{padding:8px 12px;border-bottom:1px solid var(--line)}
.insp-item:last-child{border-bottom:0}
.insp-item.bad{background:color-mix(in srgb,var(--red) 8%,transparent)}
.insp-item-row{display:flex;align-items:center;gap:10px;justify-content:space-between}
.insp-item-name{font-size:13.5px;font-weight:600}
.insp-seg2{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:0 0 auto}
.insp-seg2 button{padding:7px 14px;background:var(--surface);color:var(--muted);border:0;font-size:12.5px;font-weight:700;cursor:pointer}
.insp-seg2 button.on{background:#43c58a;color:#08351f}
.insp-seg2 button.on.bad{background:var(--red);color:#fff}
.insp-fix{margin-top:8px}

/* שורת בדיקה שאפשר ללחוץ עליה כדי לפתוח את מסמך הביקורת */
.insp-openable{cursor:pointer}
.insp-openable:active{transform:scale(.995)}
.exp-chev{color:var(--muted);font-size:20px;margin-inline-start:2px;flex:0 0 auto}

/* מסמך הביקורת המלא במודל — צ'קליסט עם וי/✗ ומה לתקן */
.idoc-check{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.idoc-grp{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface2)}
.idoc-grp-t{padding:6px 12px;font-weight:800;font-size:12px;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);border-bottom:1px solid var(--line)}
.idoc-row{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line);font-size:13.5px}
.idoc-row:last-child{border-bottom:0}
.idoc-row.bad{background:color-mix(in srgb,var(--red) 8%,transparent)}
.idoc-mark{font-weight:800;color:#43c58a;width:16px;flex:0 0 auto;text-align:center}
.idoc-row.bad .idoc-mark{color:var(--red)}
.idoc-name{flex:0 0 auto}
.idoc-fix{color:var(--red);font-size:12.5px;margin-inline-start:auto;text-align:end}
.idoc-sign{margin-top:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;font-size:13px}
.idoc-sig-img{display:block;max-width:180px;max-height:70px;margin-top:6px;background:#fff;border-radius:6px;padding:4px}

/* לחיצה ארוכה → תפריט תחתון (action sheet) */
#actionSheet{position:fixed;inset:0;z-index:9998}
#actionSheet .as-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
#actionSheet .as-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--surface);
  border-radius:18px 18px 0 0;padding:10px 12px calc(14px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -8px 30px rgba(0,0,0,.4);max-width:560px;margin:0 auto;animation:as-up .18s ease}
@keyframes as-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
#actionSheet .as-title{font-weight:800;font-size:13px;color:var(--muted);text-align:center;padding:8px 0 10px}
#actionSheet .as-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:0;
  background:var(--surface2);color:var(--text);border-radius:13px;font-size:15px;font-weight:600;margin-bottom:8px;text-align:start;cursor:pointer}
#actionSheet .as-btn .as-ic{font-size:18px;width:22px;text-align:center;flex:0 0 auto}
#actionSheet .as-btn.danger{color:var(--red)}
#actionSheet .as-cancel{justify-content:center;background:transparent;border:1px solid var(--line);color:var(--muted);margin-bottom:0}

/* כפתור משני «רפאים» — למשל «בקש מהנהג לצלם» ליד כפתור השליחה הראשי */
.ghost-btn{display:block;width:100%;margin-top:10px;padding:12px;border-radius:13px;
  border:1px dashed var(--line);background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer}
.ghost-btn:active{background:var(--surface2)}

/* בחירה מרובה בסידור (סדרן) */
.day-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bulk-toggle{margin-inline-start:auto;padding:6px 11px;border-radius:9px;border:1px solid var(--line);
  background:var(--surface2);color:var(--text);font-size:12.5px;font-weight:700;cursor:pointer}
.bulk-toggle.on{background:var(--gold);border-color:var(--gold);color:#241a00}
.tc-check{width:22px;height:22px;border:2px solid var(--line);border-radius:6px;display:flex;align-items:center;
  justify-content:center;color:#241a00;font-weight:800;flex:0 0 auto;margin-inline-end:2px;font-size:14px}
.trip-card.bulk-sel{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.trip-card.bulk-sel .tc-check{background:var(--gold);border-color:var(--gold)}
.trip-list.bulk{padding-bottom:120px}
.bulk-bar{position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));z-index:60;
  max-width:544px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:15px;
  box-shadow:0 8px 28px rgba(0,0,0,.45);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.bulk-bar-count{font-weight:800;font-size:13px;color:var(--gold);text-align:center}
.bulk-bar-acts{display:flex;gap:6px}
.bulk-bar-acts button{flex:1;min-width:0;padding:10px 4px;border-radius:11px;border:1px solid var(--line);
  background:var(--surface2);color:var(--text);font-size:12px;font-weight:700;cursor:pointer}
.bulk-bar-acts button.alt{background:transparent;color:var(--muted)}
.bulk-bar-acts button:disabled{opacity:.4}

/* כרטיס «הנסיעה הבאה» בסיכום היום של הנהג */
.next-trip-card{cursor:pointer;border:1px solid var(--gold)}
.next-trip-card .nt-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.next-trip-card .nt-ic{font-size:22px;flex:0 0 auto}
.next-trip-card .nt-head-txt{flex:1;min-width:0}
.next-trip-card .nt-head-txt b{display:block}
.next-trip-card .nt-head-txt small{color:var(--muted);font-size:12px}
.next-trip-card .nt-when{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold);
  padding:4px 11px;border-radius:20px;font-size:12.5px;font-weight:800;white-space:nowrap;flex:0 0 auto}
.next-trip-card .nt-route{font-size:16px;font-weight:700}
.next-trip-card .nt-sub{color:var(--muted);font-size:13px;margin-top:3px}

/* ===== בורר עם חיפוש, החלפת נהג קבוע וחתימה — מסכי קצין הבטיחות ===== */
/* תיקון גלישה: בתוך גריד של שתי עמודות תיבת התאריך היא בעלת רוחב מינימלי
   משלה, ובלי min-width:0 היא דוחפת את השכנה ומסגרת אחת עולה על השנייה. */
.sf-row2>div{min-width:0}
.sf-field{max-width:100%}
input[type=date].sf-field{min-width:0}

.pick-list{margin-top:8px;max-height:212px;overflow:auto;display:grid;gap:6px;
  padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.pick-row{display:flex;align-items:baseline;gap:8px;width:100%;text-align:right;cursor:pointer;
  padding:10px 12px;border:1px solid transparent;border-radius:11px;background:var(--surface);color:var(--text)}
.pick-row b{font-size:14px;font-weight:700}
.pick-row small{color:var(--muted);font-size:11.5px}
.pick-row.on{border-color:color-mix(in srgb,var(--gold) 60%,transparent);
  background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold2);font-weight:700}
/* סימן הבחירה — צבע לבדו לא מספיק כשהרשימה נקראת בשמש, על מסך טלפון */
.pick-row.on:after{content:"✓";margin-inline-start:auto;font-weight:800;color:var(--gold2)}
.pick-row b{margin-inline-end:0}
.pick-empty{padding:16px 10px;text-align:center;color:var(--muted);font-size:12.5px}
.pick-more{margin-top:7px;color:var(--muted);font-size:11.5px;text-align:center}
.exp-search{margin-bottom:11px}

.insp-drv{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}
.insp-drv-now b{font-size:14.5px}
.muted-txt{color:var(--muted);font-size:13px}
.insp-drv-btn{border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:10px;
  padding:8px 14px;background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold2);
  font-weight:700;font-size:12.5px;cursor:pointer}
.insp-drv-change{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;
  padding:10px 12px;border:1px solid #2878ff55;border-radius:12px;background:#2878ff12;font-size:12.5px}
.insp-drv-change button{border:0;border-radius:9px;padding:6px 11px;background:var(--surface2);
  color:var(--muted);font-size:11.5px;cursor:pointer}

.sign-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.sign-seg button{padding:11px 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);
  color:var(--muted);font-weight:700;font-size:12.5px;cursor:pointer}
.sign-seg button.on{border-color:color-mix(in srgb,var(--gold) 60%,transparent);
  background:color-mix(in srgb,var(--gold) 17%,transparent);color:var(--gold2);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 38%,transparent)}
.sign-note{margin-top:11px;padding:11px 12px;border-radius:12px;border:1px solid var(--line);
  background:var(--surface2);color:var(--muted);font-size:12px;line-height:1.6}
.sign-note b{color:var(--text)}
.sign-note.warn{border-color:#e0a24a66;background:#e0a24a12;color:#ffd27d}
:root.light .sign-note.warn{color:#8a5a12}
.sign-pad-wrap{margin-top:11px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface2)}
/* touch-action:none — בלי זה כל משיכה על הפנקס גוללת את הדף במקום לצייר */
.sign-pad{display:block;width:100%;height:170px;touch-action:none;cursor:crosshair;
  background:repeating-linear-gradient(0deg,transparent 0 33px,color-mix(in srgb,var(--line) 60%,transparent) 33px 34px)}
.sign-pad-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}
.sign-clear{border:1px solid var(--line);border-radius:9px;padding:6px 12px;background:var(--surface);
  color:var(--muted);font-size:11.5px;cursor:pointer}

/* הכרטיס אצל הנהג — בדיקה שממתינה לחתימתו */
.insp-sign-card{border-color:color-mix(in srgb,var(--gold) 40%,transparent)}
.insp-sign-head{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}
.insp-sign-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--gold) 12%,transparent);font-size:19px}
.insp-sign-head b{display:block;font-size:15px}
.insp-sign-head small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}
.insp-sign-notes{margin-top:11px;padding:10px 12px;border-radius:11px;background:var(--surface2);
  color:var(--muted);font-size:12px;line-height:1.55}

/* ===== צילום או קובץ, ובורר שנפתח רק אחרי חיפוש ===== */
.sf-shot-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
/* .sf-shot היה תווית ועכשיו הוא כפתור — הכפתור מאפס יישור וגופן משלו */
.sf-shot-row .sf-shot{margin-top:0;grid-template-columns:44px 1fr;gap:10px;padding:13px 11px;
  text-align:right;font:inherit;color:var(--text)}
.sf-shot-row .sf-shot-ic{width:44px;height:44px;font-size:21px}
.sf-shot-row .sf-shot-txt b{font-size:13.5px}
.sf-shot-row .sf-shot-txt small{font-size:11px}
.sf-hint{margin-top:9px;color:var(--muted);font-size:11.5px;line-height:1.55;text-align:center}
.pick-current{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;
  padding:11px 13px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:13px;
  background:color-mix(in srgb,var(--gold) 10%,transparent)}
.pick-current b{font-size:14.5px;color:var(--gold2)}
.pick-change{border:1px solid var(--line);border-radius:9px;padding:6px 12px;background:var(--surface);
  color:var(--muted);font-size:11.5px;cursor:pointer}
.pick-hint{margin-top:8px;padding:12px;border:1px dashed var(--line);border-radius:13px;
  color:var(--muted);font-size:12px;text-align:center}

/* ===== תאריכים בטור אחד, ותצוגת הסריקה =====
   שתי תיבות תאריך זו לצד זו נשברות במכשירים אמיתיים: לפקד התאריך
   הנייטיב יש רוחב מינימלי משלו, והוא משתנה לפי מערכת ההפעלה וגודל
   הגופן של המשתמש. min-width:0 מרשה לקופסה להצטמצם, אבל התוכן הפנימי
   עדיין גולש. לכן הן בטור אחד, ועוברות לשניים רק כשבאמת יש מקום. */
.sf-row2{grid-template-columns:1fr}
@media (min-width:430px){.sf-row2{grid-template-columns:1fr 1fr}}

.sf-preview.is-page{display:block;padding:0;overflow:hidden}
.sf-prev-page{display:block;width:100%;max-height:340px;object-fit:contain;background:#fff}
.sf-prev-tools{display:flex;align-items:center;gap:8px;padding:9px 10px;border-top:1px solid var(--line);
  background:var(--surface2);flex-wrap:wrap}
.scan-modes{display:flex;gap:5px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.scan-modes button{border:0;border-radius:8px;padding:6px 13px;background:transparent;color:var(--muted);
  font-size:12px;font-weight:700;cursor:pointer}
.scan-modes button.on{background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--gold2)}
.scan-rot{border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:var(--surface);
  color:var(--muted);font-size:12px;cursor:pointer}
.scan-size{margin-inline-start:auto;color:var(--muted);font-size:11.5px}
.sf-prev-busy{padding:22px 12px;text-align:center;color:var(--muted);font-size:12.5px}
.doc-open{border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:10px;
  padding:7px 13px;background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold2);
  font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}

/* ===== בורר כמסך בחירה ===== */
.pick-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);
  color:var(--muted);font:inherit;font-size:15px;text-align:right;cursor:pointer}
.pick-trigger.has{color:var(--gold2);font-weight:700;
  border-color:color-mix(in srgb,var(--gold) 40%,transparent)}
.pick-caret{color:var(--muted);font-size:13px}
.pick-sheet{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;
  background:var(--bg);padding:calc(12px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom));
  width:min(100%,520px);margin:0 auto;inset-inline:0}
.pick-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pick-sheet-head b{font-size:18px}
.pick-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface2);color:var(--text);font-size:19px;cursor:pointer}
.pick-search{margin-bottom:10px}
.pick-sheet-list{flex:1;overflow:auto;display:grid;gap:7px;align-content:start;
  padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.pick-sheet-foot{padding-top:10px;color:var(--muted);font-size:11.5px;text-align:center}
.doc-btns{display:flex;gap:6px;flex-shrink:0}
.doc-share{border:1px solid var(--line);border-radius:10px;padding:7px 11px;background:var(--surface2);
  color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.sign-banner{display:block;width:100%;margin:0 0 12px;padding:12px 14px;border-radius:13px;
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);
  background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold2);
  font:inherit;font-size:13.5px;font-weight:700;text-align:right;cursor:pointer}
