.route-command{border-color:#d8dfda;margin-bottom:18px;overflow:hidden}.planner-top{border-bottom:1px solid var(--erp-line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 24px;display:flex}.planner-head{flex:260px;min-width:0;height:auto;padding:0;display:block}.planner-head h2{font-size:calc(19px * var(--arabic-text-scale,1));color:var(--erp-ink);margin:5px 0 8px;line-height:1.3}.planner-lead{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);max-width:480px;margin:0;line-height:1.55}.planner-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;width:100%;margin:0;display:grid}.planner-kpis>div{border:1px solid var(--erp-line);text-align:center;background:#f4f8f6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-width:0;padding:10px 12px;display:flex}.planner-kpis dt{font-size:calc(10px * var(--arabic-text-scale,1));letter-spacing:.06em;text-transform:uppercase;color:var(--erp-muted);overflow-wrap:anywhere;max-width:100%;margin:0;font-weight:800;line-height:1.35}.planner-kpis dd{font-size:calc(22px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;color:var(--erp-teal);overflow-wrap:anywhere;max-width:100%;margin:0;font-weight:900;line-height:1.15}.planner-kpis .kpi-zones{font-size:calc(16px * var(--arabic-text-scale,1));flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 8px;max-width:100%;line-height:1.25;display:flex}.planner-kpis .kpi-zones span{font-variant-numeric:tabular-nums;min-width:0}.planner-kpis .kpi-zones span:first-child{color:#2f9e6b}.planner-kpis .kpi-zones span:nth-child(2){color:#b8860b}.planner-kpis .kpi-zones span:nth-child(3){color:#c4473a}.planner-alerts{border-bottom:1px solid var(--erp-line);background:#fafcfb;padding:0 24px}.erp-alert{border-radius:10px;align-items:flex-start;gap:12px;margin:14px 0;padding:14px 16px;display:flex}.erp-alert-warning{color:#4a3a08;background:#fff8e6;border:1px solid #e8d48a}.erp-alert-danger{color:#8b2e2e;background:#fff1f0;border:1px solid #f0b4ae}.erp-alert-success{color:#065f46;background:#ecfdf5;border:1px solid #86efac}.erp-alert-success .erp-alert-icon{background:#bbf7d0}.planner-inline-alert{margin:0 24px 14px}.erp-alert-icon{width:28px;height:28px;font-size:calc(14px * var(--arabic-text-scale,1));background:#ffeaa0;border-radius:8px;flex:0 0 28px;place-items:center;font-weight:900;display:grid}.erp-alert-danger .erp-alert-icon{background:#ffd4d0}.erp-alert-body{flex:1;min-width:0}.erp-alert-body strong{font-size:calc(12px * var(--arabic-text-scale,1));letter-spacing:.04em;margin-bottom:4px;font-weight:900;display:block}.erp-alert-body p{font-size:calc(12px * var(--arabic-text-scale,1));margin:0;font-weight:600;line-height:1.55}.erp-alert-meta{color:#6b5410;font-size:calc(11px * var(--arabic-text-scale,1))!important;margin-top:6px!important;font-weight:700!important}.planner-vehicles-block{border-bottom:1px solid var(--erp-line);background:#fafcfb;padding:20px 24px}.planner-vehicles-block>h3{font-size:calc(13px * var(--arabic-text-scale,1));letter-spacing:.04em;text-transform:uppercase;color:var(--erp-ink);align-items:center;gap:10px;margin:0 0 16px;font-weight:900;display:flex}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.vehicle-card{border:2px solid var(--erp-line);cursor:pointer;text-align:start;background:#fff;border-radius:14px;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.vehicle-quantity{grid-template-columns:44px minmax(80px,1fr) 44px;align-items:stretch;gap:8px;margin-top:8px;display:grid}.vehicle-quantity button{border:1px solid var(--erp-line);min-height:42px;color:var(--erp-teal);font-size:calc(20px * var(--arabic-text-scale,1));cursor:pointer;background:#f2f7f5;border-radius:10px;font-weight:900}.vehicle-quantity strong{border:1px solid var(--erp-line);min-width:0;font-size:calc(18px * var(--arabic-text-scale,1));border-radius:10px;justify-content:center;align-items:center;gap:8px;display:flex}.vehicle-quantity strong span{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);text-transform:uppercase}.vehicle-card-hero{flex-direction:column;align-items:stretch}.vehicle-card.selected{border-color:var(--erp-teal);box-shadow:0 8px 28px #143f3524}.vehicle-photo-wrap,.vehicle-photo-box{border-bottom:1px solid var(--erp-line);background:#fff;justify-content:center;align-items:center;min-height:220px;padding:20px 24px;display:flex}.vehicle-photo-box{background:linear-gradient(#f8fbf9 0%,#eef4f2 100%);border:8px solid #eef4f2;border-radius:12px;min-height:200px;margin:12px 12px 0}.vehicle-card-hero img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:auto;max-height:180px;display:block}.vehicle-capacity-line,.vehicle-calc-line{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.5;display:block}.vehicle-calc-line{color:var(--erp-teal);margin-top:2px;font-weight:800}.capacity-math p{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 6px;line-height:1.5;display:flex}.capacity-reserved{font-weight:600;font-size:calc(11px * var(--arabic-text-scale,1))!important;color:var(--erp-muted)!important}.suggest-fleet-btn{border:1px solid var(--erp-teal);background:var(--erp-teal-soft);color:var(--erp-teal);font-size:calc(11px * var(--arabic-text-scale,1));cursor:pointer;border-radius:8px;margin-top:6px;padding:7px 10px;font-weight:800;display:inline-block}.route-selection{max-height:none;overflow:auto}.route-help-compact{font-size:calc(11px * var(--arabic-text-scale,1))!important;margin:10px 0!important;line-height:1.5!important}.route-stop-list{margin-bottom:12px;max-height:180px!important}.route-stop-list li{cursor:default;align-items:flex-start;padding:8px 0}.route-stop-list li.highlighted{background:#f4f8f6;border-radius:8px;margin:0 -8px;padding:8px}.route-stop-list li>i{margin-top:2px}.route-stop-list li b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.route-stop-list li small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.route-panel-head-active>div:first-child{flex:1;min-width:0}.route-deadline{word-wrap:break-word;max-width:100%}.route-direction-arrow{background:0 0!important;border:0!important}.route-direction-arrow span{width:18px;height:18px;font-size:calc(10px * var(--arabic-text-scale,1));filter:drop-shadow(0 1px 2px #fff)drop-shadow(0 0 1px #fff);background:#ffffffeb;border:2px solid;border-radius:50%;place-items:center;line-height:1;display:grid}.bus-seat-panel{border:1px solid var(--erp-line);background:#f8fbf9;border-radius:12px;margin:12px 0;padding:12px}.bus-seat-head{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.bus-seat-head span{font-size:calc(10px * var(--arabic-text-scale,1));letter-spacing:.06em;text-transform:uppercase;color:var(--erp-ink);font-weight:900}.bus-seat-head small{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.4}.bus-seat-grid{grid-template-columns:repeat(var(--seat-cols,3), minmax(0, 1fr));background:#e8efec;border:2px dashed #c5d5cf;border-radius:10px;gap:6px;padding:8px;display:grid}.bus-seat{border:2px solid var(--erp-line);cursor:pointer;min-height:44px;font:inherit;text-align:center;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 3px;display:flex}.bus-seat em{font-style:normal;font-size:calc(11px * var(--arabic-text-scale,1));font-weight:900;line-height:1.1}.bus-seat strong{font-size:calc(8px * var(--arabic-text-scale,1));color:var(--erp-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;line-height:1.1;overflow:hidden}.bus-seat.reserved{color:var(--erp-muted);cursor:default;background:#edf1f0;border-style:dashed}.bus-seat.empty{opacity:.7;cursor:default;background:#fafcfb}.bus-seat.occupied{border-color:var(--route-color,var(--erp-teal));background:color-mix(in srgb, var(--route-color,var(--erp-teal)) 10%, #fff)}.bus-seat.active,.bus-seat.occupied:hover{box-shadow:0 0 0 2px var(--route-color,var(--erp-teal))}.bus-seat-legend{font-size:calc(9px * var(--arabic-text-scale,1));color:var(--erp-muted);flex-wrap:wrap;gap:8px 12px;margin:10px 0 0;padding:0;list-style:none;display:flex}.bus-seat-legend li{align-items:center;gap:5px;display:inline-flex}.bus-seat-legend i{border-radius:3px;flex:0 0 10px;width:10px;height:10px}.bus-seat-legend i.reserved{background:#edf1f0;border:1px dashed #b8c4c0}.bus-seat-legend i.empty{border:1px solid var(--erp-line);background:#fff}.erp-alert-body p+p{margin-top:6px}.vehicle-card-copy{border-top:1px solid var(--erp-line);flex-direction:column;gap:6px;min-width:0;padding:14px 16px 16px;display:flex}.vehicle-card-copy strong{font-size:calc(15px * var(--arabic-text-scale,1));color:var(--erp-ink);line-height:1.3}.vehicle-card-copy span{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.45}.vehicle-selected-tag{background:var(--erp-teal-soft);width:fit-content;color:var(--erp-teal);font-size:calc(10px * var(--arabic-text-scale,1));letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-top:4px;padding:4px 10px;font-style:normal;font-weight:900;display:inline-block}.planner-shift-bar{border-bottom:1px solid var(--erp-line);background:#f8faf9;flex-wrap:wrap;gap:8px;padding:14px 24px;display:flex}.planner-shift-btn{color:var(--erp-muted);font-size:calc(13px * var(--arabic-text-scale,1));cursor:pointer;background:#fff;border:1px solid #d8dfda;border-radius:10px;flex:200px;padding:10px 14px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.planner-shift-btn:hover{color:var(--erp-ink);border-color:#9fb8a8}.planner-shift-btn.active{color:#0f766e;background:#ecfdf5;border-color:#0d9488;box-shadow:inset 0 0 0 1px #0d948826}.planner-schedule-strip{border-bottom:1px solid var(--erp-line);background:#fff;padding:18px 24px 20px}.planner-schedule-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 20px;margin-bottom:14px;display:flex}.planner-schedule-head h3{font-size:calc(18px * var(--arabic-text-scale,1));margin:4px 0 0}.planner-schedule-lead{max-width:28rem;font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);flex:220px;margin:0;line-height:1.45}.planner-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.schedule-stat{border:1px solid var(--erp-line);background:#fafcfb;border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.schedule-stat-label{font-size:calc(9px * var(--arabic-text-scale,1));letter-spacing:.05em;text-transform:uppercase;color:var(--erp-muted);font-weight:800;line-height:1.35}.schedule-stat-value{font-size:calc(18px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;color:var(--erp-ink);font-weight:900;line-height:1.15}.schedule-stat small{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.45}.schedule-stat-limit{border-color:var(--erp-teal);background:var(--erp-teal-soft)}.schedule-stat-dynamic .schedule-stat-value{color:#0d6b63}.schedule-stat-value.schedule-stat-warn{color:#b45309}.schedule-stat-fleet{background:#f8fbf9}.schedule-stat-dwell{grid-column:span 3}.schedule-stat-editable{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #dbeafe}.schedule-time-editor{align-items:center;gap:6px;display:flex}.schedule-time-select{min-height:40px;font-size:calc(18px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;color:var(--erp-ink);cursor:pointer;-webkit-appearance:auto;appearance:auto;background:#fff;border:2px solid #2563eb;border-radius:10px;flex:1;padding:6px 10px;font-weight:900}.schedule-time-select:focus{outline-offset:1px;outline:2px solid #1d4ed8}.schedule-time-sep{font-size:calc(20px * var(--arabic-text-scale,1));color:#1d4ed8;font-weight:900;line-height:1}.schedule-stat-chips{flex-wrap:wrap;gap:6px;display:flex}.schedule-stat-chip{min-height:34px;font-size:calc(12px * var(--arabic-text-scale,1));color:#0f766e;cursor:pointer;background:#fff;border:2px solid #0d9488;border-radius:999px;padding:0 10px;font-weight:900}.schedule-stat-chip.selected{color:#fff;background:#0d9488;box-shadow:0 4px 12px #0d948833}.schedule-stat-chip:hover{background:#ccfbf1}.schedule-stat-chip.selected:hover{background:#0f766e}.schedule-stat-limit.schedule-stat-editable{background:#f0fdfa;border-color:#5eead4;box-shadow:inset 0 0 0 1px #99f6e4}.bus-route-save-panel{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.bus-route-save-panel .save-route-plan-btn,.bus-route-save-panel .clear-saved-plan-btn{flex:auto}.manual-preview-actions .manual-save-bus-btn,.manual-preview-actions .manual-remove-saved-btn{min-height:36px}.assign-error{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-danger);margin:8px 0 0;font-weight:700}.auto-assign-btn:disabled{opacity:.65;cursor:not-allowed}.planner-onboard-limit{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.planner-onboard-label{min-width:0}.planner-onboard-label strong{font-size:calc(13px * var(--arabic-text-scale,1));color:var(--erp-ink);display:block}.planner-onboard-label span{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);margin-top:2px;display:block}.planner-schedule-alert{margin-top:14px}.max-onboard-options{flex-wrap:wrap;gap:8px;display:flex}.max-onboard-chip{border:2px solid var(--erp-line);cursor:pointer;background:#fafcfb;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:56px;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.max-onboard-chip strong{font-size:calc(18px * var(--arabic-text-scale,1));color:var(--erp-ink);line-height:1}.max-onboard-chip span{font-size:calc(9px * var(--arabic-text-scale,1));text-transform:uppercase;color:var(--erp-muted);margin-top:2px;font-weight:800}.max-onboard-chip.selected{border-color:var(--erp-teal);background:var(--erp-teal-soft)}.planner-controls-row{border-bottom:1px solid var(--erp-line);background:#fafcfb;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 24px 20px;display:grid}.workflow-step{border:1px solid var(--erp-line);background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.workflow-step header{align-items:center;gap:10px;display:flex}.step-num{background:var(--erp-teal-soft);width:24px;height:24px;color:var(--erp-teal);font-size:calc(11px * var(--arabic-text-scale,1));border-radius:50%;flex:0 0 24px;place-items:center;font-weight:900;display:grid}.workflow-step h3{font-size:calc(12px * var(--arabic-text-scale,1));letter-spacing:.04em;text-transform:uppercase;color:var(--erp-ink);margin:0;font-weight:900}.workflow-step-action>header{align-items:flex-start}.workflow-step-action>header>div{min-width:0}.assignment-option-grid{grid-template-columns:1fr;gap:10px;display:grid}.assignment-option{background:#fff;border:1px solid #cad9d6;border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px 12px;min-width:0;padding:14px;display:grid}.assignment-option.google-live{background:#f6f9ff;border-color:#8ab4f8}.assignment-option.google-live:not(.is-simulation){background:#eef5ff;border-width:2px;box-shadow:0 8px 22px #174ea617}.assignment-option.manual{grid-template-columns:34px minmax(0,1fr) minmax(180px,240px);align-items:center}.assignment-option-icon{color:#0d766e;background:#e8f4f1;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.assignment-option-icon.google{color:#174ea6;font-family:Arial,sans-serif;font-size:calc(17px * var(--arabic-text-scale,1));background:#e8f0fe}.assignment-option>div{min-width:0}.assignment-option strong{color:var(--erp-ink);font-size:calc(13px * var(--arabic-text-scale,1));line-height:1.35}.assignment-option p{color:var(--erp-muted);font-size:calc(11px * var(--arabic-text-scale,1));margin:4px 0 0;line-height:1.5}.assignment-option>button{grid-column:1/-1;min-height:44px;margin-top:2px}.assignment-option.manual>button{grid-column:auto;margin:0}.assignment-google-heading{grid-column:2;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.assignment-source-badge{font-size:calc(9px * var(--arabic-text-scale,1));letter-spacing:.04em;border-radius:999px;flex:none;padding:4px 7px;font-weight:900}.assignment-source-badge.simulation{color:#5d6870;background:#eceff1}.assignment-source-badge.live{color:#174ea6;background:#dce9ff}.google-mode-switch{background:#fff;border:1px solid #cbd8e8;border-radius:10px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.google-mode-switch label{color:#435268;min-height:38px;font-size:calc(10px * var(--arabic-text-scale,1));cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-weight:800;display:flex}.google-mode-switch label:has(input:checked){color:#174ea6;background:#e8f0fe}.google-mode-switch input{accent-color:#174ea6}.assignment-result-source{color:var(--erp-ink);font-size:calc(11px * var(--arabic-text-scale,1));background:#f7faf9;border:1px solid #cbd8d6;border-radius:10px;margin:0;padding:11px 13px}.assignment-result-source.source-google{color:#174ea6;background:#e8f0fe;border-color:#8ab4f8}.assignment-result-source.source-simulation{background:#f3f4f6;border-color:#d0d5db}.field-label{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);font-weight:800}.fleet-count{max-width:180px}.capacity-math{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);flex-wrap:wrap;align-items:baseline;gap:6px 10px;line-height:1.5;display:flex}.capacity-math strong{font-size:calc(15px * var(--arabic-text-scale,1));color:var(--erp-teal)}.capacity-warn{width:100%;font-size:calc(11px * var(--arabic-text-scale,1));color:#9b531d;margin-top:4px;font-style:normal;font-weight:800;display:block}.capacity-ok{width:100%;font-size:calc(11px * var(--arabic-text-scale,1));color:#0f766e;margin-top:4px;font-style:normal;font-weight:800;display:block}.planner-capacity-alert{margin:0 0 14px}.traffic-toggle{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-weight:800;display:inline-flex}.traffic-toggle input{accent-color:var(--erp-teal)}.bus-tab-vehicle{font-size:calc(9px * var(--arabic-text-scale,1));letter-spacing:.08em;color:var(--erp-muted);font-weight:900;line-height:1.1;display:block}.bus-tab-name{font-weight:800}.journey-card-title{flex-direction:column;gap:2px;min-width:0;display:flex}.journey-vehicle-kind{font-size:calc(11px * var(--arabic-text-scale,1));letter-spacing:.1em;color:var(--erp-muted);font-weight:900;line-height:1;display:block}.journey-card-head .journey-card-title strong{font-size:calc(14px * var(--arabic-text-scale,1));line-height:1.1}.step-hint{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);margin:0;line-height:1.55}.auto-assign-btn{background:var(--erp-teal);color:#fff;width:100%;font-size:calc(12px * var(--arabic-text-scale,1));cursor:pointer;border:0;border-radius:10px;margin-top:auto;padding:13px 16px;font-weight:900}.auto-assign-btn:hover{filter:brightness(1.05)}.google-fleet-btn{color:#174ea6;width:100%;font-size:calc(12px * var(--arabic-text-scale,1));cursor:pointer;background:#e8f0fe;border:1px solid #8ab4f8;border-radius:10px;padding:12px 14px;font-weight:900}.google-fleet-btn:disabled{color:#7b8490;cursor:not-allowed;background:#f1f3f4;border-color:#d7dde5}.google-fleet-usage{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);gap:6px;margin-top:4px;line-height:1.4;display:grid}.google-fleet-usage>summary{cursor:pointer;color:#174ea6;padding:8px 0;font-weight:800}.google-fleet-usage[open]{background:#fafcff;border:1px solid #d7e0e8;border-radius:10px;padding:10px 12px}.google-settings-summary{color:var(--erp-muted);font-size:calc(11px * var(--arabic-text-scale,1));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.google-fleet-quota{gap:4px;margin:0;display:grid}.google-fleet-quota div{grid-template-columns:minmax(5.5rem,.85fr) minmax(0,1.15fr);align-items:start;gap:4px 8px;display:grid}.google-fleet-quota dt{color:var(--erp-muted);margin:0;font-weight:800}.google-fleet-quota dd{color:#174ea6;font-variant-numeric:tabular-nums;margin:0;font-weight:800}.google-fleet-quota-note{color:var(--erp-muted);margin:0}.google-fleet-usage b{color:#174ea6}.google-pin-layer{z-index:1200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#082a2b8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.google-pin-dialog{background:#fff;border:1px solid #c8d9d7;border-radius:18px;width:min(430px,100%);padding:28px;position:relative;box-shadow:0 24px 70px #03232440}.google-pin-dialog h3{color:var(--erp-ink);font-size:calc(22px * var(--arabic-text-scale,1));margin:8px 0}.google-pin-dialog>p{color:var(--erp-muted);font-size:calc(13px * var(--arabic-text-scale,1));margin:0 0 20px;line-height:1.7}.google-pin-dialog label{color:var(--erp-ink);font-size:calc(12px * var(--arabic-text-scale,1));gap:8px;font-weight:800;display:grid}.google-pin-dialog input{text-align:center;width:100%;font-size:calc(24px * var(--arabic-text-scale,1));letter-spacing:.65em;border:1px solid #a9c3c0;border-radius:11px;padding:13px 16px}.google-pin-dialog input:focus{border-color:#174ea6;outline:3px solid #174ea621}.google-pin-close{cursor:pointer;background:#edf4f3;border:0;border-radius:50%;width:32px;height:32px;position:absolute;inset-block-start:14px;inset-inline-end:14px}.google-pin-actions{grid-template-columns:1fr 2fr;gap:10px;margin-top:18px;display:grid}.google-pin-actions button{color:var(--erp-ink);cursor:pointer;background:#fff;border:1px solid #cbd8d6;border-radius:10px;padding:12px;font-weight:800}.google-pin-actions .confirm{color:#fff;background:#174ea6;border-color:#174ea6}.google-pin-actions button:disabled{opacity:.55;cursor:not-allowed}.google-pin-error{font-weight:800;color:#b42318!important;margin:8px 0 0!important}@media (max-width:520px){.google-pin-layer{padding:12px}.google-pin-dialog{border-radius:15px;padding:24px 18px 18px}.google-pin-actions{grid-template-columns:1fr}}.fleet-plan-save-bar{background:linear-gradient(#f0fdf4 0%,#ecfdf5 100%);border-bottom:1px solid #bbf7d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.fleet-plan-save-bar.has-error{background:#fff4f3;border-color:#efb5b0}.fleet-plan-save-bar.has-error .fleet-plan-save-copy strong,.fleet-plan-save-bar.has-error .fleet-plan-save-copy span{color:#9f302b}.fleet-plan-save-copy{flex-direction:column;gap:4px;min-width:220px;display:flex}.fleet-plan-save-copy strong{font-size:calc(13px * var(--arabic-text-scale,1));color:#065f46}.fleet-plan-save-copy span{font-size:calc(11px * var(--arabic-text-scale,1));color:#047857;line-height:1.45}.fleet-plan-save-actions{flex-wrap:wrap;gap:8px;display:flex}.save-route-plan-btn,.clear-saved-plan-btn{min-height:38px;font-size:calc(12px * var(--arabic-text-scale,1));cursor:pointer;border-radius:10px;padding:0 14px;font-weight:900}.save-route-plan-btn{color:#fff;background:#059669;border:1px solid #059669}.save-route-plan-btn:disabled,.clear-saved-plan-btn:disabled{opacity:.45;cursor:not-allowed}.clear-saved-plan-btn{color:#475569;background:#fff;border:1px solid #cbd5e1}.plan-save-error{font-size:calc(11px * var(--arabic-text-scale,1));color:#b91c1c;flex:100%;margin:0;font-weight:700}.bus-tabs-bar{border-bottom:1px solid var(--erp-line);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;display:flex}.bus-tabs-label{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);white-space:nowrap;font-weight:800}.bus-tabs{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.bus-tab{border:2px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:900;transition:border-color .15s,background .15s;display:inline-flex}.bus-tab i{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.bus-tab em{font-style:normal;font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);margin-inline-start:2px}.bus-tab.active{border-color:var(--route-color,#2563eb);background:color-mix(in srgb, var(--route-color,#2563eb) 8%, #fff);box-shadow:0 4px 14px #00000012}.bus-tab.saved{border-color:#86efac}.bus-tab-saved{color:#fff;width:16px;height:16px;font-size:calc(10px * var(--arabic-text-scale,1));background:#059669;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}.journey-summary-panel{border-bottom:1px solid var(--erp-line);background:#fff;padding:16px 24px 18px}.journey-summary-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 20px;margin-bottom:14px;display:flex}.journey-summary-panel h3{font-size:calc(15px * var(--arabic-text-scale,1));color:var(--erp-ink);margin:4px 0 0;line-height:1.35}.journey-estimate-note{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);text-align:end;max-width:360px;line-height:1.45}.journey-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));align-items:stretch;gap:12px;display:grid}.journey-card{border:2px solid var(--erp-line);cursor:pointer;background:#fafcfb;border-radius:12px;flex-direction:column;min-height:168px;padding:12px 14px 10px;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.journey-card.empty{background:#f6f8f7;min-height:100px}.journey-card.active{border-color:var(--erp-teal);background:#fff;box-shadow:0 6px 18px #143f3518}.journey-card.warn{background:#fffcf5;border-color:#e8c98a}.journey-card-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.journey-card-head i{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.journey-card-head strong{font-size:calc(13px * var(--arabic-text-scale,1));overflow-wrap:anywhere;flex:1;min-width:0}.journey-card-head em{font-style:normal;font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);white-space:nowrap;text-overflow:ellipsis;text-align:end;max-width:55%;overflow:hidden}.journey-card-summary{grid-template-columns:minmax(0,1.5fr) minmax(64px,.7fr) minmax(88px,.9fr);gap:6px;margin-bottom:9px;display:grid}.journey-card-summary>div{background:#eef5f3;border-radius:8px;min-width:0;padding:7px 8px}.journey-card-summary span{color:var(--erp-muted);font-size:calc(8px * var(--arabic-text-scale,1));letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-weight:900;display:block}.journey-card-summary b{min-width:0;color:var(--erp-ink);font-size:calc(13px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:block}.journey-zone-list{flex-wrap:wrap;gap:3px;display:flex!important}.journey-zone-list i{color:#fff;font-size:calc(8px * var(--arabic-text-scale,1));white-space:nowrap;border-radius:999px;padding:2px 5px;font-style:normal;line-height:1.35;display:inline-block}.journey-card-metrics{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:2px;display:grid}.journey-metric{background:#fff;border:1px solid #e8eeec;border-radius:8px;min-width:0;padding:6px 8px}.journey-metric span{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.25;display:block;overflow:hidden}.journey-metric b{font-size:calc(14px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;color:var(--erp-ink);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-weight:900;line-height:1.2;display:block;overflow:hidden}.manual-assign-btn{border:1px solid var(--erp-teal);width:100%;min-height:44px;color:var(--erp-teal);cursor:pointer;background:#fff;border-radius:10px;margin-top:10px;font-weight:900}.manual-assign-btn:disabled{opacity:.45;cursor:not-allowed}.manual-assignment-panel{border:1px solid var(--erp-line);background:#f8fbfa;border-radius:12px;margin:12px 0;padding:12px}.manual-live-preview{border:2px solid var(--erp-line);background:#fafcfb;border-radius:12px;margin-bottom:12px;padding:12px}.manual-preview-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.manual-preview-vehicle{font-size:calc(18px * var(--arabic-text-scale,1));letter-spacing:.08em;color:var(--erp-ink);font-weight:1000}.manual-preview-bus{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);font-weight:800}.manual-preview-seats{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.manual-preview-seats b{font-size:calc(22px * var(--arabic-text-scale,1));color:var(--erp-teal);font-variant-numeric:tabular-nums;font-weight:1000}.manual-preview-seats b span{font-size:calc(14px * var(--arabic-text-scale,1));color:var(--erp-muted)}.manual-preview-seats em{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);font-style:normal;font-weight:800}.manual-preview-time{border:1px solid var(--erp-line);background:#fff;border-radius:9px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.manual-preview-time.ok{background:#f0fdf4;border-color:#86efac}.manual-preview-time.warn{background:#fef2f2;border-color:#fca5a5}.manual-preview-time div span{font-size:calc(9px * var(--arabic-text-scale,1));text-transform:uppercase;letter-spacing:.04em;color:var(--erp-muted);font-weight:800;display:block}.manual-preview-time div b{font-size:calc(13px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;font-weight:900}.manual-preview-verdict{font-size:calc(11px * var(--arabic-text-scale,1));grid-column:1/-1;margin:4px 0 0;font-weight:800;line-height:1.45}.manual-preview-empty{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);margin:0 0 10px;line-height:1.5}.manual-preview-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.manual-clear-bus,.manual-google-btn{min-width:120px;min-height:36px;font-size:calc(11px * var(--arabic-text-scale,1));cursor:pointer;border-radius:9px;flex:1;font-weight:900}.manual-clear-bus{color:#b91c1c;background:#fff;border:1px solid #fca5a5}.manual-clear-bus:disabled{opacity:.45;cursor:not-allowed}.manual-google-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.manual-google-btn:disabled{opacity:.45;cursor:not-allowed}.manual-google-savings{font-size:calc(11px * var(--arabic-text-scale,1));color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-weight:700;line-height:1.45}.manual-zone-note{font-size:calc(9px * var(--arabic-text-scale,1));color:var(--erp-muted);font-weight:700}.manual-assignment-panel header{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.manual-assignment-panel header div{min-width:0}.manual-assignment-panel header strong,.manual-assignment-panel header span{overflow-wrap:anywhere;display:block}.manual-assignment-panel header strong{font-size:calc(12px * var(--arabic-text-scale,1))}.manual-assignment-panel header span{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);margin-top:3px;line-height:1.4}.manual-assignment-panel header em{background:var(--erp-teal-soft);height:fit-content;color:var(--erp-teal);font-size:calc(9px * var(--arabic-text-scale,1));white-space:nowrap;border-radius:999px;padding:4px 7px;font-style:normal;font-weight:900}.manual-assignment-panel>input{border:1px solid var(--erp-line);background:#fff;border-radius:9px;outline:none;width:100%;min-height:40px;padding:0 11px}.manual-zone-legend{background:#fff;border-radius:9px;flex-wrap:wrap;gap:5px 8px;margin:0 0 10px;padding:8px;display:flex}.manual-zone-legend span{color:var(--erp-muted);font-size:calc(8px * var(--arabic-text-scale,1));align-items:center;gap:4px;font-weight:800;display:inline-flex}.manual-zone-legend i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.radius-warning{background:#fff8e8;border:1px solid #e8c98a;border-radius:10px;margin:0 0 10px;padding:10px}.radius-warning strong{color:#8a5a00;font-size:calc(11px * var(--arabic-text-scale,1));display:block}.radius-warning p{color:#6b5410;font-size:calc(9px * var(--arabic-text-scale,1));overflow-wrap:anywhere;margin:4px 0 9px;line-height:1.45}.radius-warning div{gap:7px;display:flex}.radius-warning button{color:#6b5410;min-height:34px;font-size:calc(9px * var(--arabic-text-scale,1));cursor:pointer;background:#fff;border:1px solid #d9c590;border-radius:8px;flex:1;font-weight:900}.radius-warning button.override-radius{color:#fff;background:#b7791f;border-color:#b7791f}.manual-child-list{gap:6px;max-height:300px;margin-top:9px;display:grid;overflow:auto}.manual-child-list button{border:1px solid var(--erp-line);text-align:start;cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;padding:7px;display:grid}.manual-child-list button.selected{border-color:var(--erp-teal);background:var(--erp-teal-soft)}.manual-child-list button.outside-radius:not(.selected){border-style:dashed}.manual-child-list button:disabled{opacity:.45;cursor:not-allowed}.manual-child-list button i{width:28px;height:28px;color:var(--erp-teal);background:#edf3f1;border-radius:8px;place-items:center;font-style:normal;font-weight:900;display:grid}.manual-child-list button>em{color:#a16207;width:18px;height:18px;font-size:calc(10px * var(--arabic-text-scale,1));background:#fff1d6;border-radius:50%;place-items:center;font-style:normal;font-weight:1000;display:grid}.manual-child-list button span,.manual-child-list button b,.manual-child-list button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.manual-child-list button b{font-size:calc(11px * var(--arabic-text-scale,1))}.manual-child-list button small{color:var(--erp-muted);font-size:calc(9px * var(--arabic-text-scale,1));margin-top:2px}.unassigned-reasons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.unassigned-reasons li{background:#ffffffb3;border:1px solid #b453092e;border-radius:8px;justify-content:space-between;gap:8px;padding:7px 9px;display:flex}.unassigned-reasons b,.unassigned-reasons span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:calc(10px * var(--arabic-text-scale,1));overflow:hidden}.unassigned-reasons span{color:var(--erp-muted)}.max-availability-btn{color:#0f5f59;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:9px;justify-items:center;gap:3px;width:100%;margin-top:8px;padding:11px 14px;display:grid}.max-availability-btn:hover{background:#ecfdf5}.max-availability-btn:disabled{opacity:.55;cursor:not-allowed}.max-availability-btn strong{font-size:.88rem}.max-availability-btn span{color:var(--erp-muted);font-size:.74rem}.plan-save-blocked{color:#9a3412;width:100%;font-size:calc(10px * var(--arabic-text-scale,1));margin:4px 0 0;font-weight:800}.save-route-plan-btn:disabled{opacity:.5;cursor:not-allowed}.journey-metric.is-warn b{color:#b45309}.journey-card-foot{flex-shrink:0;min-height:24px;margin-top:8px}.journey-card-empty{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);margin:8px 0 0;line-height:1.4}.journey-ok-tag{color:#0d6b63;font-size:calc(10px * var(--arabic-text-scale,1));background:#e5f3f0;border-radius:6px;padding:4px 8px;font-weight:800;display:inline-block}.journey-stat-warn dd,.active-journey-strip .journey-stat-warn b{color:#b45309}.journey-warn-tag{color:#9b531d;width:100%;font-size:calc(10px * var(--arabic-text-scale,1));white-space:normal;word-break:break-word;background:#fff4df;border-radius:6px;margin-top:0;padding:5px 8px;font-weight:800;line-height:1.35;display:block}.active-journey-strip{background:#f8fbf9;border:1px solid;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:10px 12px;margin:12px 0;padding:12px 14px;display:grid}.active-journey-strip div{min-width:0}.active-journey-strip .google-route-stat{color:#174ea6;background:#e8f3ff;border-radius:8px;grid-column:1/-1;padding:8px 10px}.active-journey-strip .google-route-stat span,.active-journey-strip .google-route-stat b{color:#174ea6}.active-journey-strip .google-route-stat em{font-style:normal;font-size:calc(10px * var(--arabic-text-scale,1));color:#047857;margin-top:4px;font-weight:800;display:block}.active-journey-strip span{font-size:calc(10px * var(--arabic-text-scale,1));letter-spacing:0;text-transform:none;color:var(--erp-muted);font-weight:700;line-height:1.3;display:block}.active-journey-strip b{font-size:calc(15px * var(--arabic-text-scale,1));font-variant-numeric:tabular-nums;color:var(--erp-ink);word-break:break-word;margin-top:3px;font-weight:900;line-height:1.2;display:block}.active-journey-drive,.active-journey-stops{grid-column:1/-1}.planned-stop-list{border-top:1px solid color-mix(in srgb, var(--erp-line,#c9d4c9) 80%, transparent);margin-top:10px;padding-top:8px}.planned-stop-list.compact{margin-top:8px;padding-top:6px}.planned-stop-label{font-size:calc(11px * var(--arabic-text-scale,1));letter-spacing:.02em;color:var(--erp-muted,#5b6b5b);margin:0 0 6px;font-weight:700}.erp-shell[dir=rtl] .planned-stop-label{letter-spacing:normal}.planned-stop-meta,.planned-stop-unsaved{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted,#5b6b5b);margin:0 0 6px}.planned-stop-warn{font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-warn,#a65b12);margin:0 0 6px;font-weight:800}.planned-stop-list ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.planned-stop-list li{font-size:calc(12px * var(--arabic-text-scale,1));grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:start;gap:6px;line-height:1.35;display:grid}.planned-stop-list.compact li{font-size:calc(11px * var(--arabic-text-scale,1))}.planned-stop-list em{font-variant-numeric:tabular-nums;color:var(--erp-muted,#5b6b5b);font-style:normal;font-weight:800}.planned-stop-name{overflow-wrap:anywhere;min-width:0;color:var(--erp-ink)}.planned-stop-name small{color:var(--erp-muted,#5b6b5b);display:block}.planned-stop-times{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--erp-ink);text-align:end;gap:2px;font-weight:800;display:grid}.planning-grid{grid-template-columns:minmax(0,1fr) minmax(320px,400px);min-height:580px;display:grid}.planning-grid.map-only{grid-template-columns:minmax(0,1fr)}.map-panel{background:#dfe9df;flex-direction:column;min-width:0;display:flex}.map-toolbar{border-bottom:1px solid var(--erp-line);z-index:2;background:#fff;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 16px;padding:10px 14px;display:flex}.map-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zone-toggle{border:1px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);cursor:pointer;white-space:nowrap;background:#f8fbf9;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-weight:800;display:inline-flex}.zone-toggle input{width:15px;height:15px;accent-color:var(--erp-teal)}.zone-guide-toggle{border:1px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-teal);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:7px 12px;font-weight:800}.zone-guide-text{border-bottom:1px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);background:#f4f8f6;margin:0;padding:10px 14px;line-height:1.55}.big-student-map{flex:1;min-height:520px;position:relative;overflow:hidden}.google-map-surface{background:#fff;width:100%;height:100%;min-height:560px;position:relative}.google-map-surface[hidden],.leaflet-map-host[hidden]{display:none}.google-map-host{width:100%;height:560px}.google-map-canvas{position:relative}.google-map-options{border-bottom:1px solid var(--erp-line);background:#fff;grid-template-columns:auto auto minmax(190px,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.google-map-type-switch{border:1px solid var(--erp-line);background:#f1f6f4;border-radius:11px;gap:3px;padding:3px;display:flex}.google-map-options button,.google-map-options label{font-size:calc(13px * var(--arabic-text-scale,1))}.google-map-type-switch button{min-height:40px;color:var(--erp-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:8px 13px;display:flex}.google-map-type-switch button[aria-pressed=false]{opacity:.48;color:var(--erp-muted);box-shadow:none}.google-map-type-switch button[aria-pressed=false]:hover{opacity:.78;background:#e7efed}.google-map-type-switch button[aria-pressed=true]{color:#fff;background:#0d766e;box-shadow:0 2px 7px #0d766e33}.google-traffic-switch{color:#0b675c;cursor:pointer;background:#effaf6;border:1px solid #aed6ca;border-radius:11px;align-items:center;gap:8px;min-height:46px;padding:8px 13px;display:flex}.google-traffic-switch input{accent-color:#0d766e;width:18px;height:18px}.google-traffic-switch>span{color:#28a56f}.google-map-layer-status{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);background:#edf2f1;border-radius:999px;margin-inline-start:auto;padding:6px 9px;font-weight:800}.google-map-layer-status.ready{color:#0b6a52;background:#dcf5ea}.google-map-layer-status.error{color:#a33d32;background:#fff1ef}.google-map-load-error{z-index:3;color:#7f2f28;background:#fff8f6;border:1px solid #e7a49c;border-radius:12px;gap:8px;max-width:560px;padding:16px;display:grid;position:absolute;inset:64px 16px auto;box-shadow:0 12px 30px #4f1d171f}.google-map-load-error button{color:#8c392f;background:#fff;border:1px solid #b45a50;border-radius:9px;justify-self:start;min-height:40px;padding:7px 12px;font-weight:800}.google-map-traffic-note{border-top:1px solid var(--erp-line);color:var(--erp-muted);font-size:calc(13px * var(--arabic-text-scale,1));background:#f7faf9;margin:0;padding:10px 14px;line-height:1.5}.google-map-zoom{z-index:4;background:#fff;border:1px solid #b9c8c4;border-radius:11px;display:grid;position:absolute;inset-block-start:14px;inset-inline-start:14px;overflow:hidden;box-shadow:0 4px 14px #173c3526}.google-map-zoom button{color:#173f3a;width:46px;height:46px;font-size:calc(24px * var(--arabic-text-scale,1));cursor:pointer;background:#fff;border:0;border-bottom:1px solid #dce5e2;font-weight:800}.google-map-zoom button:last-child{border-bottom:0}.google-map-zoom button.fit{font-size:calc(20px * var(--arabic-text-scale,1))}.google-map-zoom button:hover:not(:disabled){background:#e9f6f2}.google-map-zoom button:disabled{opacity:.45;cursor:wait}.map-display-control{border-bottom:1px solid var(--erp-line);background:#f6faf8;grid-template-columns:minmax(210px,.8fr) minmax(320px,1.25fr) minmax(380px,1.6fr);gap:14px;padding:14px;display:grid}.map-display-control.google-only{grid-template-columns:minmax(260px,1fr) minmax(420px,1.4fr)}.map-display-heading{align-items:center;gap:11px;display:flex}.map-display-heading div,.route-time-control div{gap:3px;display:grid}.map-display-heading strong,.route-time-control strong{font-size:calc(14px * var(--arabic-text-scale,1));color:var(--erp-ink)}.map-display-heading small,.route-time-control small,.map-provider-cards small{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.4}.map-display-icon{color:#0d766e;width:42px;height:42px;font-size:calc(22px * var(--arabic-text-scale,1));background:#dff2ec;border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.map-provider-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-provider-cards button{text-align:start;min-height:64px;color:var(--erp-ink);cursor:pointer;background:#fff;border:1px solid #cbd8d4;border-radius:11px;grid-template-columns:auto 1fr;gap:2px 8px;padding:9px 11px;display:grid}.map-provider-cards button>span{font-size:calc(22px * var(--arabic-text-scale,1));color:#657874;grid-row:1/3;align-self:center}.map-provider-cards button.active{background:#eaf7f3;border:2px solid #0d766e;padding:8px 10px;box-shadow:0 0 0 3px #0d766e14}.map-provider-cards button.google.active>span{color:#1677d2}.route-time-control{border-inline-start:1px solid var(--erp-line);grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:10px;padding-inline-start:14px;display:grid}.map-display-control.google-only{flex-wrap:wrap;display:flex}.map-display-control.google-only .map-display-heading{flex:220px;min-width:0}.map-display-control.google-only .route-time-control{border-inline-start:0;flex:320px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding-inline-start:0}.map-display-control.google-only .refresh-google-route{white-space:normal;grid-column:1/-1}.traffic-toggle{white-space:nowrap;align-items:center;gap:7px;font-weight:800;display:flex}.traffic-toggle input{accent-color:#0d766e;width:18px;height:18px}.refresh-google-route{color:#fff;cursor:pointer;background:#0d766e;border:1px solid #0d766e;border-radius:10px;min-height:44px;padding:9px 13px;font-weight:800}.refresh-google-route:disabled{opacity:.45;cursor:not-allowed}.google-map-config-alert{background:#fff8f6;border:1px solid #efc1ba;border-radius:10px;padding:10px 12px;color:#8c392f!important}.google-student-pin{color:#fff;width:34px;height:34px;font-size:calc(11px * var(--arabic-text-scale,1));cursor:pointer;border:3px solid #fff;border-radius:50%;padding:0;font-weight:800;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0006}.google-student-pin:focus-visible{outline-offset:2px;outline:3px solid #ffb900}.google-student-pin.is-selected-stop{z-index:3;transform:translate(-50%,-50%)scale(1.2);box-shadow:0 0 0 5px #fff,0 0 0 8px #0d766e,0 5px 16px #0005}.new-child-drawer{flex-direction:column;max-height:100dvh;display:flex}.new-child-drawer>.drawer-head{flex:none;width:100%;height:auto;min-height:0}.record-dialog-layer .new-child-drawer{width:min(860px,100%)}.new-child-drawer>.record-form{gap:18px;min-height:0;padding:22px;display:grid;overflow:auto}.new-child-section{border:1px solid var(--erp-line);background:#fff;border-radius:14px;min-width:0;padding:20px}.new-child-section>.form-section-heading{background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:start;column-gap:12px;height:auto;min-height:0;margin:0 0 18px;padding:0;display:grid}.new-child-section>.form-section-heading>span{background:var(--erp-teal-soft);width:32px;height:32px;color:var(--erp-teal);border-radius:10px;grid-row:1/3;place-items:center;font-weight:900;display:grid}.new-child-section>.form-section-heading>b{grid-column:2;font-size:1rem}.new-child-section>.form-section-heading>small{color:var(--erp-muted);grid-column:2;line-height:1.4}.new-child-section .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.new-child-section .field-grid>label{gap:7px;min-width:0;font-weight:600;display:grid}.new-child-section select,.new-child-section textarea{font:inherit;border:1px solid var(--erp-line);width:100%;min-width:0;min-height:44px;color:var(--erp-ink);background:#fff;border-radius:8px;padding:10px 12px}.new-child-section textarea{resize:vertical;min-height:84px}.new-child-toggle{align-items:center;gap:10px;margin:18px 0 0;font-weight:700;display:flex}.new-child-toggle input{flex:none;width:20px;height:20px;min-height:20px}.new-child-toggle+.field-grid{margin-top:16px}.new-child-intro{color:var(--erp-muted);margin:0;line-height:1.5}.new-child-drawer .record-form>label{gap:7px;min-width:0;font-weight:600;display:grid}.new-child-drawer input{font-size:calc(16px * var(--arabic-text-scale,1));border:1px solid var(--erp-line);width:100%;min-width:0;min-height:44px;color:var(--erp-ink);background:#fff;border-radius:8px;padding:10px 12px}.new-child-drawer input:focus-visible{outline:2px solid var(--erp-teal);outline-offset:2px}.new-child-close-warning{background:#fff4df;flex:none;padding:12px 16px}.new-child-close-warning button{margin-inline-end:8px}@media (max-width:650px){.new-child-drawer>.record-form{padding:14px}.new-child-section{padding:16px}.new-child-section .field-grid{grid-template-columns:1fr}}@media (max-width:1050px){.map-display-control{grid-template-columns:1fr 1.5fr}.route-time-control{border-inline-start:0;border-top:1px solid var(--erp-line);grid-column:1/-1;padding:12px 0 0}.google-map-options{grid-template-columns:auto auto}.google-map-layer-status{border-radius:8px;grid-column:1/-1;margin:0}}@media (max-width:650px){.map-display-control,.map-display-control.google-only{grid-template-columns:1fr}.map-display-heading{align-items:flex-start}.map-provider-cards{grid-template-columns:1fr 1fr}.route-time-control{border:0;border-top:1px solid var(--erp-line);grid-column:auto;grid-template-columns:1fr;padding:14px 0 0}.traffic-toggle{white-space:normal}.refresh-google-route{grid-column:auto;width:100%}.google-map-options{grid-template-columns:1fr}.google-map-type-switch{grid-template-columns:1fr 1fr;display:grid}.google-traffic-switch{justify-content:center}.google-map-host{height:460px}.google-map-surface{min-height:500px}.google-map-layer-status{border-radius:8px;grid-column:auto;width:100%;margin:0}.google-map-load-error{inset:166px 10px auto}.google-map-traffic-note{font-size:calc(12px * var(--arabic-text-scale,1))}}.leaflet-map-host{z-index:1;width:100%;height:100%;position:absolute;inset:0}.leaflet-map-host .leaflet-container{width:100%;height:100%;font:inherit}.map-loading{z-index:5;color:#20473e;font-size:calc(13px * var(--arabic-text-scale,1));pointer-events:none;background:#e7f0e9e8;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.zagop-home-pin,.zagop-centre-pin{background:0 0;border:0}.zagop-home-pin span,.zagop-centre-pin span{width:30px;height:30px;font-size:calc(10px * var(--arabic-text-scale,1));border:2px solid #fff;border-radius:50%;place-items:center;font-weight:900;display:grid;box-shadow:0 5px 13px #15393155}.zagop-home-pin.is-active-bus span{transform:scale(1.08);box-shadow:0 0 0 3px #fff,0 0 0 5px,0 7px 18px #0003}.zagop-home-pin.is-manual-pick,.zagop-home-pin.is-manual-pick span{cursor:pointer}.map-add-bus-btn{color:#fff;width:100%;min-height:36px;font-size:calc(11px * var(--arabic-text-scale,1));cursor:pointer;border:0;border-radius:8px;margin:8px 0 6px;font-weight:900;display:block}.zagop-centre-pin span{width:44px;height:44px;font-size:calc(18px * var(--arabic-text-scale,1));color:#fff;background:#103f35;border:3px solid #ffd23b;border-radius:14px}.map-child-card{z-index:1200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff8;border:1px solid #fff;border-radius:16px;gap:14px;width:min(420px,100% - 32px);padding:16px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 20px 50px #15393140}[dir=rtl] .map-child-card{left:auto;right:16px}.map-child-card>button{inset-inline-end:10px;font-size:calc(20px * var(--arabic-text-scale,1));color:var(--erp-muted);cursor:pointer;background:0 0;border:0;position:absolute;top:8px}.map-card-media{flex-direction:column;flex:0 0 88px;gap:8px;display:flex}.map-child-photo{width:88px;height:88px;color:var(--erp-teal);background:#e7f2ed;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.map-child-photo.gender-boy{color:#2d5f8a;background:linear-gradient(160deg,#dcecf8,#c5dcf0)}.map-child-photo.gender-girl{color:#8a3d66;background:linear-gradient(160deg,#f7e8f0,#efd5e4)}.map-child-photo svg{fill:currentColor;width:48%;height:48%}.map-child-photo em{font-style:normal;font-size:calc(9px * var(--arabic-text-scale,1));font-weight:900;position:absolute;bottom:6px;left:50%;translate:-50%}.map-child-photo img{object-fit:cover;width:100%;height:100%}.map-home-photo{cursor:zoom-in;background:#dff0e9;border:0;border-radius:10px;width:88px;height:68px;padding:0;position:relative;overflow:hidden;border:2px solid #f5c42b!important}.map-home-photo img{object-fit:cover;width:100%;height:100%}.map-home-photo span{font-size:calc(8px * var(--arabic-text-scale,1));color:#20473e;background:#fffffff0;border-radius:6px;padding:3px 6px;font-weight:900;position:absolute;bottom:5px;left:6px}.map-home-photo.empty{color:var(--erp-teal);font-size:calc(22px * var(--arabic-text-scale,1));cursor:default;place-items:center;display:grid}.map-child-card>div:last-child{flex-direction:column;flex:1;gap:4px;min-width:0;padding-inline-end:24px;display:flex}.map-child-card small{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-teal);font-weight:900;line-height:1.4}.map-child-card strong{font-size:calc(15px * var(--arabic-text-scale,1));word-break:break-word;line-height:1.3}.map-child-card>div:last-child>span[dir=rtl]{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);line-height:1.4}.map-child-card p{font-size:calc(12px * var(--arabic-text-scale,1));margin:2px 0 0}.map-child-card p b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.map-zone-badge,.map-bus-badge{width:fit-content;max-width:100%;font-size:calc(10px * var(--arabic-text-scale,1));border:1px solid;border-radius:999px;padding:4px 9px;font-weight:900;line-height:1.3;display:inline-block}.map-child-card button{border:1px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));cursor:pointer;background:#fff;border-radius:8px;width:fit-content;margin-top:8px;padding:9px 12px;font-weight:900}.photo-lightbox{z-index:1300;background:#0d1f1ccc;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-lightbox img{object-fit:contain;border-radius:14px;max-width:min(1100px,96vw);max-height:82vh}.photo-lightbox p{font-size:calc(12px * var(--arabic-text-scale,1));background:#fffffff2;border-radius:999px;padding:8px 14px;font-weight:800;position:absolute;bottom:18px;left:50%;translate:-50%}.photo-lightbox-close{top:18px;width:44px;height:44px;font-size:calc(28px * var(--arabic-text-scale,1));cursor:pointer;background:#fff;border:0;border-radius:12px;position:absolute;inset-inline-end:18px}.route-selection{border-inline-start:1px solid var(--erp-line);background:#fff;flex-direction:column;min-width:0;min-height:580px;padding:20px;display:flex}.route-panel-head{border-bottom:1px solid var(--erp-line);justify-content:space-between;align-items:flex-start;gap:12px;height:auto;min-height:0;padding-bottom:14px;display:flex}.route-selection .route-panel-head-active{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.route-panel-identity{width:100%;min-width:0}.route-panel-identity h3{font-size:calc(18px * var(--arabic-text-scale,1));margin:0}.route-panel-identity small{font-size:calc(13px * var(--arabic-text-scale,1));color:var(--erp-muted);margin-top:4px;line-height:1.5;display:block}.route-panel-head-active .route-capacity-pill{font-size:calc(18px * var(--arabic-text-scale,1));justify-self:start;line-height:1.4}.planner-bus-cards.compact>header{height:auto;min-height:0;padding:0;display:block}.fleet-dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fleet-dashboard-summary span{border:1px solid var(--erp-line);font-size:calc(14px * var(--arabic-text-scale,1));color:var(--erp-muted);border-radius:12px;gap:4px;padding:14px;display:grid}.fleet-dashboard-summary b{font-size:calc(24px * var(--arabic-text-scale,1));color:var(--erp-teal)}.fleet-dashboard-controls{gap:12px;display:grid}.fleet-dashboard-controls label{font-size:calc(14px * var(--arabic-text-scale,1));gap:6px;font-weight:700;display:grid}.fleet-dashboard-controls input{border:1px solid var(--erp-line);width:100%;min-width:0;min-height:44px;font:inherit;border-radius:10px;padding:10px 12px}.fleet-dashboard-filters{flex-wrap:wrap;gap:8px;display:flex}.fleet-dashboard-filters button{border:1px solid var(--erp-line);min-height:44px;color:var(--erp-ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px}.fleet-dashboard-filters button[aria-pressed=true]{background:var(--erp-teal-soft);border-color:var(--erp-teal);color:var(--erp-teal)}.fleet-dashboard-filters b{margin-inline-start:6px}@media (max-width:480px){.fleet-dashboard-summary{grid-template-columns:1fr;gap:8px}.fleet-dashboard-summary span{grid-template-columns:55px 1fr;align-items:center}}.panel-kicker{font-size:calc(9px * var(--arabic-text-scale,1));letter-spacing:.12em;color:var(--erp-muted);font-weight:900}.route-panel-head h3{font-size:calc(16px * var(--arabic-text-scale,1));word-break:normal;overflow-wrap:anywhere;margin:6px 0 0;line-height:1.35}.route-deadline{font-size:calc(10px * var(--arabic-text-scale,1));color:#7a5f00;margin-top:6px;font-weight:800;line-height:1.45;display:block}.route-capacity-pill{background:var(--erp-teal-soft);color:var(--erp-teal);font-size:calc(20px * var(--arabic-text-scale,1));white-space:nowrap;border-radius:10px;flex:none;padding:8px 12px;font-weight:900;line-height:1}.route-capacity-pill span{font-size:calc(14px * var(--arabic-text-scale,1));opacity:.75;font-weight:800}.route-help{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-muted);margin:14px 0;line-height:1.6}.route-checklist{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--erp-ink);margin:0;padding-inline-start:20px;line-height:1.8}.route-checklist li{margin-bottom:4px}.route-selection ol{flex:1;max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.route-selection li{border-bottom:1px solid #edf1ee;align-items:center;gap:10px;padding:10px 0;display:flex}.route-selection li>i{color:#fff;width:26px;height:26px;font-size:calc(10px * var(--arabic-text-scale,1));border-radius:8px;flex:0 0 26px;place-items:center;font-style:normal;font-weight:900;display:grid}.route-selection li span{flex-direction:column;flex:1;min-width:0;display:flex}.route-selection li b{font-size:calc(11px * var(--arabic-text-scale,1));word-break:break-word;line-height:1.35}.route-selection li small{font-size:calc(10px * var(--arabic-text-scale,1));color:var(--erp-muted);margin-top:2px}.optimize-route{color:#fff;font-size:calc(12px * var(--arabic-text-scale,1));cursor:pointer;border:0;border-radius:10px;margin-top:12px;padding:13px;font-weight:900}.optimize-route:disabled{opacity:.45;cursor:not-allowed}.fleet-summary{font-size:calc(11px * var(--arabic-text-scale,1));background:#f4f8f6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:11px 13px;display:flex}.fleet-summary b{font-size:calc(16px * var(--arabic-text-scale,1));color:var(--erp-teal)}.fleet-summary em{color:#9b531d;font-style:normal;font-weight:800}.reset-fleet-btn{border:1px solid var(--erp-line);font-size:calc(11px * var(--arabic-text-scale,1));color:var(--erp-muted);cursor:pointer;background:#fff;border-radius:9px;margin-top:8px;padding:10px;font-weight:900}.draft-warning{text-align:center;margin-top:12px;line-height:1.55;display:block;font-size:calc(10px * var(--arabic-text-scale,1))!important;color:#906819!important}.count-control{border:1px solid var(--erp-line);background:#fff;border-radius:10px;grid-template-columns:40px 1fr 40px;height:44px;display:grid;overflow:hidden}.count-control button{color:var(--erp-teal);font-weight:900;font-size:calc(18px * var(--arabic-text-scale,1));cursor:pointer;background:#f4f7f5;border:0}.count-control input{text-align:center;width:100%;font-weight:900;font-size:calc(16px * var(--arabic-text-scale,1));-moz-appearance:textfield;border:0;outline:0}.count-control input::-webkit-inner-spin-button{display:none}.bus-card{overflow:hidden;background:linear-gradient(150deg,#fff 58%,#fff4bd)!important;border-color:#eed68a!important}.bus-card>img,.bus-placeholder{background:linear-gradient(135deg,#ffd83e,#efb411)!important;height:155px!important}.bus-placeholder{place-items:center;color:#493600!important;font-size:calc(28px * var(--arabic-text-scale,1))!important;font-weight:1000!important;display:grid!important}.bus-card.demo-bus{background:linear-gradient(150deg,#fff 58%,#ffe5e6)!important}@media (max-width:1100px){.planner-controls-row,.assignment-option-grid,.vehicle-grid{grid-template-columns:1fr}.vehicle-photo-wrap{min-height:180px}.planning-grid{grid-template-columns:1fr}.route-selection{border-inline-start:0;border-top:1px solid var(--erp-line);min-height:auto}.route-selection ol{max-height:240px}}@media (max-width:650px){.planner-top,.planner-alerts,.planner-schedule-strip,.planner-vehicles-block,.planner-controls-row,.bus-tabs-bar{padding-inline:16px}.planner-head h2{font-size:calc(17px * var(--arabic-text-scale,1))}.planner-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%}.planner-kpis>div{min-width:0}.planner-schedule-grid{grid-template-columns:1fr}.assignment-option.manual{grid-template-columns:34px minmax(0,1fr)}.assignment-option.manual>button{grid-column:1/-1}.google-mode-switch{grid-template-columns:1fr}.schedule-stat-dwell{grid-column:span 1}.schedule-time-editor{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;display:grid}.schedule-time-select{width:100%;min-width:0}}@media (max-width:360px){.planner-kpis,.planner-schedule-grid{grid-template-columns:1fr}.schedule-stat-dwell{grid-column:span 1}.planner-onboard-limit{flex-direction:column;align-items:stretch}.vehicle-photo-wrap{min-height:150px;padding:12px}.vehicle-card-hero img{max-height:130px}.vehicle-photo-box{min-height:145px;padding:12px}.journey-summary-panel{padding-inline:12px}.journey-cards{grid-template-columns:1fr}.journey-card{min-height:0}.big-student-map{min-height:420px}.map-child-card{width:calc(100% - 20px);padding:14px;bottom:10px;left:10px}.map-toolbar{flex-direction:column;align-items:stretch}.map-toolbar-actions{justify-content:flex-start}}.fleet-bus-picker{gap:.85rem;margin:1rem 0 1.25rem;display:grid}.fleet-bus-picker-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem 1rem;display:grid}.fleet-bus-picker-head h3{align-items:center;gap:.5rem;margin:0;display:flex}.fleet-bus-picker-head p{color:var(--erp-muted,#526466);margin:0;font-size:.9rem}.fleet-quick-actions{grid-area:1/2/3;align-items:center;gap:.5rem;display:flex}.fleet-quick-actions button{border:1px solid var(--erp-line,#dfe7e5);min-height:42px;color:var(--erp-teal,#0d7a72);cursor:pointer;background:#fff;border-radius:10px;padding:0 1rem;font-weight:800}.fleet-quick-actions .fleet-select-all{border-color:var(--erp-teal,#0d7a72);background:var(--erp-teal,#0d7a72);color:#fff}.fleet-quick-actions button:disabled{opacity:.45;cursor:not-allowed}.fleet-pick-summary{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:12px;flex-wrap:wrap;gap:.65rem 1rem;padding:.75rem .9rem;display:flex}.fleet-auto-roster{color:var(--erp-teal,#0d7a72);flex-basis:100%;font-weight:750}.planner-unassigned-summary{padding:0;display:block}.planner-unassigned-summary>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;list-style:none;display:grid}.planner-unassigned-summary>summary::-webkit-details-marker{display:none}.planner-unassigned-summary .erp-alert-body{gap:2px;display:grid}.planner-unassigned-summary .erp-alert-body>span{font-size:.82rem}.planner-expand-label{color:var(--erp-teal,#0d7a72);white-space:nowrap;font-weight:800}.planner-unassigned-body{padding:0 16px 14px 50px}.planner-unassigned-body>p{margin:0}@media (max-width:700px){.fleet-bus-picker-head{grid-template-columns:1fr}.fleet-quick-actions{grid-area:auto/1;grid-template-columns:1fr 1fr;display:grid}.planner-unassigned-summary>summary{grid-template-columns:auto minmax(0,1fr)}.planner-expand-label{grid-column:2}.planner-unassigned-body{padding-inline:16px}}.fleet-pick-columns{grid-template-columns:1fr;gap:.85rem;display:grid}@media (min-width:900px){.fleet-pick-columns{grid-template-columns:1fr 1fr}}.fleet-pick-group{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;overflow:hidden}.fleet-pick-group header{border-bottom:1px solid var(--erp-line,#dfe7e5);align-items:center;gap:.65rem;padding:.7rem .85rem;display:flex}.fleet-pick-group header strong{display:block}.fleet-pick-group header small{color:var(--erp-muted,#526466)}.fleet-pick-group header button{margin-inline-start:auto}.fleet-pick-group ul{gap:.35rem;max-height:280px;margin:0;padding:.4rem;list-style:none;display:grid;overflow:auto}.fleet-pick-group label{cursor:pointer;border-radius:10px;align-items:flex-start;gap:.65rem;padding:.55rem .65rem;display:flex}.fleet-pick-group label.selected{background:color-mix(in srgb, var(--erp-teal,#0d7a72) 12%, white)}.fleet-pick-group label b{display:block}.fleet-pick-group label small{color:var(--erp-muted,#526466)}.fleet-pick-empty,.fleet-pick-group .empty{color:var(--erp-muted,#526466);padding:.85rem}.planner-bus-cards{gap:.75rem;margin:1rem 0;display:grid}.planner-bus-cards header h3{margin:0}.planner-bus-cards header p{color:var(--erp-muted,#526466);margin:.25rem 0 0;font-size:.9rem}.planner-bus-card-row{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:700px){.planner-bus-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.planner-bus-card-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1400px){.planner-bus-card-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.planner-bus-card{border:1px solid var(--erp-line,#dfe7e5);border-top:4px solid var(--route-color,#2563eb);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.planner-bus-card.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--route-color,#2563eb) 45%, transparent)}.planner-bus-card-main{text-align:start;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;padding:0}.planner-bus-card-media{box-sizing:border-box;background:#eef4f2;justify-content:center;align-items:center;height:132px;padding:.55rem .75rem;display:flex;position:relative}.planner-bus-card-media img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.planner-bus-card-media i{inset-inline-start:10px;border:2px solid #fff;border-radius:999px;width:12px;height:12px;position:absolute;bottom:10px}.planner-bus-card-body{gap:.2rem;min-width:0;padding:.75rem .85rem;display:grid}.planner-bus-card-body strong{overflow-wrap:anywhere;word-break:break-word}.planner-bus-card-body p{overflow-wrap:anywhere;margin:0;font-size:.86rem}.planner-bus-card-body .muted{color:var(--erp-muted,#526466)}.vehicle-type-pill{background:#e5f3f0;border-radius:999px;width:fit-content;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.save-status{color:var(--erp-teal,#0d7a72);font-size:.78rem;font-style:normal;font-weight:800}.save-status.status-awaiting_assignment,.save-status.status-changed_since_save{color:var(--erp-warn,#a65b12)}.save-status.status-simulated_proposal{color:#7c3aed}.view-seats-btn{border:0;border-top:1px solid var(--erp-line,#dfe7e5);cursor:pointer;background:#f7faf9;width:100%;min-height:44px;padding:.7rem;font-weight:800}.vehicle-card.empty-catalogue{opacity:.98}.vehicle-empty-state{border:1px dashed var(--erp-line,#dfe7e5);background:#f7faf9;border-radius:10px;gap:.55rem;margin-top:.35rem;padding:.65rem .7rem;display:grid}.vehicle-empty-state p{overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.45}.vehicle-open-buses,.fleet-pick-group .empty .vehicle-open-buses,.fleet-pick-empty .vehicle-open-buses{border:1px solid var(--erp-teal,#0d7a72);width:fit-content;min-height:40px;color:var(--erp-teal,#0d7a72);cursor:pointer;background:#fff;border-radius:10px;padding:.4rem .75rem;font-weight:800}.fleet-pick-group .empty,.fleet-pick-empty{gap:.55rem;display:grid}.fleet-pick-group .empty p,.fleet-pick-empty p{margin:0}.google-mode-panel{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;gap:.55rem;margin:.75rem 0;padding:.85rem 1rem;display:grid}.google-mode-panel.simulated{background:#f5f3ff;border-color:#c4b5fd}.google-mode-panel.live{background:#fff7f7;border-color:#f0b4b4}.google-mode-panel header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.google-mode-panel .mode-badge{font-size:.75rem;font-weight:800}.google-mode-options{gap:.4rem;display:grid}.google-mode-options label{align-items:flex-start;gap:.5rem;display:flex}.google-policy-card{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;gap:.75rem;margin:.75rem 0 1rem;padding:.9rem 1rem;display:grid}.google-policy-head h3{margin:.2rem 0;font-size:1.05rem}.google-policy-head p{color:var(--erp-muted,#5b6b68);margin:0;font-size:.9rem}.google-policy-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;display:grid}.google-policy-grid label,.google-policy-stat{gap:.25rem;font-size:.85rem;display:grid}.google-policy-grid input,.google-policy-grid select{border:1px solid var(--erp-line,#dfe7e5);border-radius:10px;min-height:40px;padding:.35rem .55rem}.google-policy-stat strong{font-size:1rem}.google-policy-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.google-policy-foot small{color:var(--erp-muted,#5b6b68);display:block}.google-policy-status.dirty{color:#b45309}.google-policy-status.saving{color:#1d4ed8}.google-policy-status.saved{color:#047857}.google-policy-status.conflict,.google-policy-error{color:#b91c1c;display:block}.google-policy-readonly{color:var(--erp-muted,#5b6b68);margin:0;font-size:.85rem}.bus-seat-crew{border:1px solid var(--erp-line,#dfe7e5);border-radius:10px;gap:.35rem;margin-top:.75rem;padding:.65rem .75rem;display:grid}.bus-seat-crew p{margin:0;font-size:.88rem}.bus-seat-crew button{width:fit-content;min-height:40px}.bus-seat-manifest{gap:.35rem;max-height:180px;margin:.75rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.bus-seat-manifest button{text-align:start;border:1px solid var(--erp-line,#dfe7e5);cursor:pointer;background:#fff;border-radius:8px;width:100%;padding:.45rem .55rem}.bus-seat-manifest small{color:var(--erp-muted,#526466);display:block}.bus-seat .pickup-order{opacity:.85;font-size:.65rem;display:block}.planner-bus-cards.compact .planner-bus-card-row{grid-template-columns:1fr;gap:.65rem;display:grid}@media (min-width:700px){.planner-bus-cards.compact .planner-bus-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.planner-bus-cards.compact .planner-bus-card-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1400px){.planner-bus-cards.compact .planner-bus-card-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.planner-bus-card.compact{flex-direction:column;min-width:0;display:flex}.planner-bus-card.compact .planner-bus-card-main{flex:1}.planner-bus-card.compact .planner-bus-card-media{display:none}.planner-bus-card-top{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.planner-bus-card-top strong{overflow-wrap:anywhere;flex:auto;min-width:0}.vehicle-type-mark{color:var(--route-color,#0d7a72);flex:none;display:inline-flex}.vehicle-type-icon{width:28px;height:18px;display:block}.planner-bus-card-actions{border-top:1px solid var(--erp-line,#dfe7e5);grid-template-columns:1fr 1fr;display:grid}.planner-bus-card-actions button{cursor:pointer;min-height:44px;color:var(--erp-teal,#0d7a72);background:#f7faf9;border:0;justify-content:center;align-items:center;gap:.4rem;font-weight:800;display:inline-flex}:is(.planner-bus-card-actions button:hover,.planner-bus-card-actions button:focus-visible){background:var(--erp-teal-soft,#e5f3f0);outline-offset:-2px;outline:2px solid #71bcb4}.planner-bus-card.active .planner-bus-card-actions{box-shadow:inset 0 3px 0 var(--route-color,#0d7a72)}.seat-workspace-focus{outline:3px solid color-mix(in srgb,var(--erp-teal,#0d7a72) 35%,transparent);outline-offset:5px;border-radius:12px;scroll-margin-top:150px}.planner-bus-card-actions .open-route-btn{border-inline-end:1px solid var(--erp-line,#dfe7e5)}.planner-bus-card.compact.empty .planner-bus-card-body,.planner-bus-card.compact .planner-bus-card-main{padding:.7rem .8rem}.bus-card-group-title{color:var(--erp-teal,#0d7a72);margin:.15rem 0 0;font-size:.9rem}.planner-bus-crew-grid{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.55rem;display:grid}.planner-bus-crew-grid>span{border:1px solid var(--erp-line,#dfe7e5);background:#f8fbfa;border-radius:9px;gap:.15rem;min-width:0;padding:.5rem;display:grid}.planner-bus-crew-grid small{color:var(--erp-muted,#526466);font-size:.7rem}.planner-bus-crew-grid b{overflow-wrap:anywhere;font-size:.78rem;line-height:1.3}.unused-bus-cards{border:1px dashed var(--erp-line,#dfe7e5);background:#f8faf9;border-radius:12px;margin-top:.5rem;padding:.75rem}.unused-bus-cards summary{cursor:pointer;color:var(--erp-muted,#526466);font-weight:800}.unused-bus-cards>p{color:var(--erp-muted,#526466);margin:.4rem 0 .75rem;font-size:.85rem;line-height:1.5}.planner-section-nav{z-index:12;border-block:1px solid var(--erp-line,#dfe7e5);scrollbar-width:thin;background:#fff;gap:.5rem;padding:.65rem 1rem;display:flex;position:sticky;top:72px;overflow:auto}.planner-section-nav a{min-height:38px;color:var(--erp-ink,#183a3d);background:#f1f6f5;border-radius:999px;flex:none;align-items:center;padding:.45rem .75rem;font-size:.82rem;font-weight:800;text-decoration:none;display:flex}:is(.planner-section-nav a:hover,.planner-section-nav a:focus-visible){background:var(--erp-teal-soft,#e5f3f0);color:var(--erp-teal,#0d7a72);outline-offset:1px;outline:2px solid #8fc9c2}.planner-anchor-section{scroll-margin-top:130px}.planner-google-settings{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;margin:1rem 0;overflow:hidden}.planner-google-settings>summary{cursor:pointer;background:#f7faf9;padding:1rem 1.1rem;list-style:none}.planner-google-settings>summary::-webkit-details-marker{display:none}.planner-google-settings>summary>span{justify-content:space-between;align-items:center;gap:1rem;display:flex}.planner-google-settings>summary small{color:var(--erp-muted,#526466);font-weight:500}.planner-google-settings>.google-mode-panel,.planner-google-settings>.google-policy-card{border-width:1px 0 0;border-radius:0;margin:0}@media (max-width:760px){.planner-section-nav{grid-template-columns:1fr 1fr;padding:.55rem;display:grid;top:104px;overflow:visible}.planner-section-nav a{text-align:center;justify-content:center;min-width:0}.planner-anchor-section{scroll-margin-top:215px}.planner-bus-crew-grid{grid-template-columns:1fr}.planner-google-settings>summary>span{flex-direction:column;align-items:flex-start;gap:.2rem}}.selected-bus-workspace{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;gap:.75rem;margin:1rem 0;padding:.85rem 1rem;display:grid}.selected-bus-workspace .journey-card-metrics.selected-only{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.55rem;display:grid}.selected-bus-crew{flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;display:flex}.timeline-source-badge{color:var(--erp-muted,#526466);margin:.25rem 0 0;font-size:.85rem}.planned-stop-list{max-height:420px;overflow:auto}.planned-stop-list li{cursor:pointer;position:relative}.planned-stop-list li.active{background:color-mix(in srgb, var(--erp-teal,#0d7a72) 10%, white)}.planned-drive-leg{width:100%;color:var(--erp-muted,#526466);grid-column:1/-1;margin-bottom:.25rem;padding-inline-start:1.6rem;font-size:.78rem;display:block}.selected-route-details .planned-stop-list li{border-bottom:1px solid color-mix(in srgb, var(--erp-line,#dfe7e5) 72%, transparent);grid-template-columns:1.4rem minmax(220px,430px) 112px;justify-content:start;padding:10px 8px}.selected-route-details .planned-stop-list ol{max-width:620px}.selected-route-details .planned-stop-times{text-align:start;justify-self:start}@media (max-width:700px){.selected-route-details .planned-stop-list li{grid-template-columns:1.4rem minmax(0,1fr)}.selected-route-details .planned-stop-times{flex-wrap:wrap;grid-column:2;gap:12px;display:flex}}.selected-route-details .planned-stop-list li:last-child{border-bottom:0}.planned-stop-source{color:var(--erp-teal,#0d7a72);margin:0;font-size:.85rem;font-weight:800}.google-sync-meta{color:var(--erp-muted,#526466);margin:0;font-size:.85rem}.google-sync-meta .linkish,button.linkish{color:var(--erp-teal,#0d7a72);cursor:pointer;background:0 0;border:0;min-height:auto;padding:0;font-weight:800;text-decoration:underline}.zagop-home-pin.is-selected-stop span{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--erp-teal,#0d7a72);transform:scale(1.12)}.zagop-home-pin.is-selected-stop span:after{content:"";pointer-events:none;border:2px dashed #0b3d3a;border-radius:999px;position:absolute;inset:-4px}.zagop-home-pin span{position:relative}.planned-stop-list li.active{outline:2px solid var(--erp-teal,#0d7a72);outline-offset:1px}.planned-stop-list li.active em{box-shadow:0 0 0 2px #fff,0 0 0 4px #0b3d3a}.route-command{--planner-text-xs:calc(12px * var(--arabic-text-scale,1));--planner-text-sm:calc(13px * var(--arabic-text-scale,1));--planner-text-md:calc(15px * var(--arabic-text-scale,1));--planner-title-sm:calc(18px * var(--arabic-text-scale,1));font-size:var(--planner-text-md);line-height:1.5}.route-command .section-kicker,.route-command .step-num,.route-command .schedule-stat-label,.route-command .journey-metric span,.route-command .google-fleet-quota dt{font-size:var(--planner-text-xs);line-height:1.35}.route-command .step-hint,.route-command .muted,.route-command .planner-schedule-lead,.route-command .google-fleet-quota-note,.route-command .zone-guide-text,.route-command .planned-drive-leg,.route-command .timeline-source-badge{font-size:var(--planner-text-sm);line-height:1.55}.route-command h3,.route-command .workflow-step h3,.route-command .planner-schedule-head h3{font-size:var(--planner-title-sm);line-height:1.3}.route-command button,.route-command input,.route-command select,.route-command summary{font-size:var(--planner-text-sm)}.planner-bus-crew-grid small{font-size:var(--planner-text-xs)}.planner-bus-crew-grid b,.planner-bus-card-main>p{font-size:var(--planner-text-sm)}.planner-setup-panel,.selected-route-details{border:1px solid var(--erp-line,#dfe7e5);background:#fff;border-radius:14px;margin:14px 16px;overflow:clip;box-shadow:0 8px 24px #123d3a0f}.planner-setup-panel>summary,.selected-route-details>summary{cursor:pointer;background:#f7faf9;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:14px 18px;list-style:none;display:flex}.planner-setup-panel>summary::-webkit-details-marker{display:none}.selected-route-details>summary::-webkit-details-marker{display:none}.planner-setup-panel>summary span,.selected-route-details>summary span{gap:3px;min-width:0;display:grid}.planner-setup-panel>summary b,.selected-route-details>summary b{font-size:var(--planner-title-sm);color:var(--erp-ink)}.planner-setup-panel>summary small,.selected-route-details>summary small{color:var(--erp-muted);font-size:var(--planner-text-sm)}.planner-setup-panel>summary>strong,.selected-route-details>summary>strong{color:var(--erp-teal);background:var(--erp-teal-soft);border-radius:999px;flex:none;padding:8px 12px}.planner-setup-panel[open]>summary,.selected-route-details[open]>summary{border-bottom:1px solid var(--erp-line)}.planner-setup-body{min-width:0}.planner-setup-body>:first-child{margin-top:0}.selected-route-details .selected-bus-workspace{box-shadow:none;border:0;border-radius:0;margin:0}.planner-bus-cards.compact{border:1px solid var(--erp-line);background:#fff;border-radius:14px;margin:18px 16px;padding:16px}.planner-bus-cards.compact>header{margin-bottom:12px}.planner-bus-cards.compact>header h3{margin:0}.planning-grid{border:1px solid #cbd8d4;border-radius:16px;margin:18px 16px;overflow:clip;box-shadow:0 12px 32px #123d3a17}.map-toolbar{background:#fff}.map-toolbar-actions button,.map-toolbar-actions label{min-height:40px}@media (max-width:760px){.route-command{--planner-text-xs:calc(12px * var(--arabic-text-scale,1));--planner-text-sm:calc(14px * var(--arabic-text-scale,1));--planner-text-md:calc(15px * var(--arabic-text-scale,1));--planner-title-sm:calc(17px * var(--arabic-text-scale,1))}.planner-setup-panel,.selected-route-details,.planner-bus-cards.compact,.planning-grid{margin-inline:8px}.planner-setup-panel>summary,.selected-route-details>summary{flex-direction:column;align-items:flex-start;gap:8px}.planner-setup-panel>summary>strong,.selected-route-details>summary>strong{text-align:center;align-self:stretch}}.planned-stop-list li{position:relative}.planned-stop-hit{cursor:pointer;z-index:1;border:0;width:100%;height:100%;position:absolute;inset:0;background:0 0!important}.planned-stop-hit:focus-visible{outline-offset:2px;outline:3px solid #087d78}
