/* ═══════════════════════════════ ADMİN PANELİ ═══════════════════════════════ */

/* Tab bar */
.admin-tabs{display:flex;gap:2px;background:#f1f5f9;border-radius:10px;padding:3px;margin-bottom:16px}
.admin-tab{flex:1;padding:8px 12px;text-align:center;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s;border:none;background:none}
.admin-tab:hover{color:#1e3a5f;background:rgba(255,255,255,.5)}
.admin-tab.active{background:#fff;color:#1e3a5f;box-shadow:0 1px 3px rgba(0,0,0,.1)}

/* Pane container */
.admin-pane{display:none;flex-direction:column;gap:12px;flex:1;overflow:hidden;min-height:0}

/* Toolbar */
.adm-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 0 12px}
.adm-toolbar .adm-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;outline:none;transition:border .2s}
.adm-toolbar .adm-search:focus{border-color:#FF6B2C;box-shadow:0 0 0 3px rgba(255,107,44,.1)}
.adm-toolbar-btn{padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#374151;transition:all .15s;display:flex;align-items:center;gap:5px}
.adm-toolbar-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.adm-toolbar-btn.primary{background:linear-gradient(135deg,#FF6B2C,#FF8C42);color:#fff;border:none}
.adm-toolbar-btn.primary:hover{box-shadow:0 2px 8px rgba(255,107,44,.3);transform:translateY(-1px)}
.adm-toolbar-btn.green{background:#16a34a;color:#fff;border:none}
.adm-toolbar-btn.green:hover{background:#15803d}
.adm-count{font-size:11px;color:#6b7280;font-weight:600;margin-left:auto;white-space:nowrap}

/* Table */
.adm-table-wrap{flex:1;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.adm-table{width:100%;border-collapse:collapse;font-size:13px}
.adm-table thead{position:sticky;top:0;z-index:1}
.adm-table th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:700;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e2e8f0}
.adm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#374151}
.adm-table tr:hover{background:#fefce8}
.adm-table tr:last-child td{border-bottom:none}

/* Actions cell */
.adm-actions{display:flex;gap:4px;justify-content:center}
.adm-actions button{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;transition:background .15s}
.adm-actions button:hover{background:#f1f5f9}

/* Badge */
.adm-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px}
.adm-badge.primary{background:#FFF7ED;color:#EA580C;border:1px solid #FDBA74}
.adm-badge.muted{background:#F1F5F9;color:#64748B;border:1px solid #CBD5E1}

/* Modal */
.adm-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;animation:admFadeIn .15s}
@keyframes admFadeIn{from{opacity:0}to{opacity:1}}
.adm-modal{background:#fff;border-radius:16px;width:440px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px rgba(0,0,0,.2)}
.adm-modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:16px;font-weight:700;color:#1e3a5f;border-bottom:1px solid #e2e8f0}
.adm-modal-h button{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:4px 8px;border-radius:6px}
.adm-modal-h button:hover{background:#f1f5f9;color:#475569}
.adm-modal-b{padding:20px;display:flex;flex-direction:column;gap:12px}
.adm-modal-f{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 16px 16px}

/* Form fields */
.adm-field{display:flex;flex-direction:column;gap:4px}
.adm-field label{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px}
.adm-field input,.adm-field select{padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;outline:none;transition:border .2s;background:#fff}
.adm-field input:focus,.adm-field select:focus{border-color:#FF6B2C;box-shadow:0 0 0 3px rgba(255,107,44,.1)}
.adm-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Buttons */
.adm-btn{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s}
.adm-btn.save{background:linear-gradient(135deg,#FF6B2C,#FF8C42);color:#fff}
.adm-btn.save:hover{box-shadow:0 2px 8px rgba(255,107,44,.3)}
.adm-btn.cancel{background:#f1f5f9;color:#475569}
.adm-btn.cancel:hover{background:#e2e8f0}

/* Section divider */
.adm-section-title{font-size:14px;font-weight:700;color:#1e3a5f;padding:12px 0 4px;border-bottom:2px solid #e2e8f0;margin-bottom:8px;display:flex;align-items:center;gap:8px}

/* Wide modal (for map) */
.adm-modal.wide{width:700px}
.adm-map-container{width:100%;height:280px;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;position:relative;cursor:crosshair}
.adm-map-hint{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;padding:3px 8px;border-radius:4px;z-index:500;pointer-events:none}
.adm-coord-display{display:flex;gap:8px;align-items:center;font-family:'JetBrains Mono',monospace;font-size:12px;color:#475569;padding:4px 0}

/* Route stop list (sortable) */
.route-stop-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:4px 0}
.route-stop-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:grab;transition:all .15s}
.route-stop-item:hover{background:#fef9f3;border-color:#FDBA74}
.route-stop-item.dragging{opacity:.4;border-style:dashed}
.route-stop-num{width:24px;height:24px;background:#FF6B2C;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.route-stop-name{flex:1;font-size:13px;font-weight:600;color:#1e3a5f}
.route-stop-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}
.route-stop-remove:hover{background:#fef2f2}

/* Schedule table editor */
.schedule-grid{display:grid;gap:2px;font-size:11px;overflow:auto;max-height:400px}
.schedule-grid input{padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;text-align:center;width:100%;box-sizing:border-box}
.schedule-grid input:focus{border-color:#FF6B2C;outline:none;box-shadow:0 0 0 2px rgba(255,107,44,.15)}
.schedule-grid .sch-header{background:#f1f5f9;font-weight:700;padding:6px 4px;text-align:center;color:#475569;position:sticky;top:0}

/* Inline edit */
.adm-inline-edit{padding:4px 8px;border:1px solid transparent;border-radius:6px;font-size:13px;background:transparent;outline:none;transition:all .15s;color:#374151;width:100%;box-sizing:border-box}
.adm-inline-edit:hover{border-color:#e2e8f0;background:#f8fafc}
.adm-inline-edit:focus{border-color:#FF6B2C;background:#fff;box-shadow:0 0 0 3px rgba(255,107,44,.1)}

/* Toast notification */
.adm-toast{position:fixed;top:16px;right:16px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;z-index:11000;animation:admFadeIn .2s;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.adm-toast.ok{background:#dcfce7;color:#16a34a;border:1px solid #86efac}
.adm-toast.err{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}
