:root{font-family:system-ui,sans-serif;line-height:1.5;color-scheme:light;--bg: #f3f4f6;--text: #111827;--text-muted: #6b7280;--card-bg: #fff;--card-border: #e5e7eb;--surface: #f9fafb;--surface-hover: #eff6ff;--border: #e5e7eb;--border-hover: #93c5fd;--input-bg: #fff;--input-border: #d1d5db;--primary: #1d4ed8;--primary-bg: #dbeafe;--btn-primary-bg: #1d4ed8;--btn-primary-text: #fff;--btn-secondary-bg: #4b5563;--link: #1d4ed8;--error: #b91c1c;--success: #047857;--status-default-bg: #e5e7eb;--status-default-text: #374151;--status-paid-bg: #d1fae5;--status-paid-text: #065f46;--status-bill-bg: #dbeafe;--status-bill-text: #1e40af;--status-cancel-bg: #fee2e2;--status-cancel-text: #991b1b;--pre-bg: #f9fafb;--shadow: 0 1px 2px rgba(0, 0, 0, .05)}:root[data-theme=dark]{color-scheme:dark;--bg: #0c0e14;--text: #e8eaed;--text-muted: #9aa0a6;--card-bg: #161922;--card-border: #2a3142;--surface: #1a1f2b;--surface-hover: #222a3a;--border: #2a3142;--border-hover: #3b82f6;--input-bg: #11151d;--input-border: #3a4254;--primary: #60a5fa;--primary-bg: #1a2f52;--btn-primary-bg: #2563eb;--btn-primary-text: #f8fafc;--btn-secondary-bg: #4b5563;--link: #60a5fa;--error: #f87171;--success: #34d399;--status-default-bg: #2a3142;--status-default-text: #d1d5db;--status-paid-bg: #14352a;--status-paid-text: #6ee7b7;--status-bill-bg: #1a2f52;--status-bill-text: #93c5fd;--status-cancel-bg: #3f1f24;--status-cancel-text: #fca5a5;--pre-bg: #11151d;--shadow: 0 1px 3px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}.header{display:flex;flex-direction:column;gap:.25rem}.header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header h1{margin:0;min-width:0}.header .subtitle{margin:0}.badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-bg);border-radius:999px}.page{max-width:40rem;margin:4rem auto;padding:0 1rem}.subtitle{color:var(--text-muted)}.card{margin-top:2rem;padding:1.25rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:.75rem;box-shadow:var(--shadow)}.error{color:var(--error)}.success{color:var(--success)}.nav{display:flex;gap:1rem;margin-top:1rem}.nav a{color:var(--link);text-decoration:none}.nav a:hover{text-decoration:underline}.form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.form input{padding:.5rem .75rem;border:1px solid var(--input-border);border-radius:.5rem;font:inherit;color:var(--text);background:var(--input-bg)}.form input:focus{outline:2px solid var(--primary);outline-offset:1px}.form button,.button-link{display:inline-block;padding:.6rem 1rem;border:none;border-radius:.5rem;background:var(--btn-primary-bg);color:var(--btn-primary-text);font:inherit;cursor:pointer;text-decoration:none}.form button:disabled{opacity:.6;cursor:not-allowed}.button-link.secondary{background:var(--btn-secondary-bg)}.actions{display:flex;gap:.75rem;align-items:center;margin-top:1rem}.form-footer{margin-top:1rem;color:var(--text-muted)}.header-actions{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-shrink:0}.link-button,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.85rem;line-height:1.2;white-space:nowrap}.link-button:hover,.theme-toggle:hover{background:var(--surface-hover)}.header-actions .badge{min-height:2rem;display:inline-flex;align-items:center;box-sizing:border-box}code{font-size:.85em}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header h2{margin:0}.back-link{color:var(--link);text-decoration:none;font-size:.9rem}.bookings-filter{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem}.bookings-filter select{min-width:6rem;padding:.45rem .65rem;border:1px solid var(--input-border);border-radius:.5rem;font:inherit;color:var(--text);background:var(--input-bg)}.bookings-filter select:focus{outline:2px solid var(--primary);outline-offset:1px}.empty{color:var(--text-muted)}.tunnel-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem}.tunnel-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;text-decoration:none;color:inherit;background:var(--surface)}.tunnel-card:hover{border-color:var(--border-hover);background:var(--surface-hover)}.table-wrap{overflow-x:auto;margin-top:1rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.65rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.table-col-icon{width:2.5rem;padding-left:.25rem;padding-right:.25rem;text-align:center}.table-icon{display:inline-flex;color:var(--text-muted)}.table-icon svg{width:1rem;height:1rem}.status{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--status-default-bg);color:var(--status-default-text)}.status-paid,.status-done{background:var(--status-paid-bg);color:var(--status-paid-text)}.status-bill,.status-new{background:var(--status-bill-bg);color:var(--status-bill-text)}.status-cancel,.status-unpaid{background:var(--status-cancel-bg);color:var(--status-cancel-text)}.video-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;color:var(--link);text-decoration:none;font-size:1rem;line-height:1}.video-page-link:hover{text-decoration:none;opacity:.8}.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:1rem;margin-top:1rem;align-items:start}.player-main{min-width:0}.camera-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.picker-btn,.flight-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:.5rem;cursor:pointer;font:inherit}.picker-btn{padding:.4rem .75rem;font-size:.85rem}.picker-btn.active,.flight-btn.active{border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}.video-player{width:100%;max-height:70vh;background:#000;border-radius:.5rem}.flight-picker{border:1px solid var(--border);border-radius:.75rem;background:var(--surface);padding:.75rem}.flight-picker-title{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.flight-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:70vh;overflow-y:auto}.flight-btn{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;text-align:left}.flight-btn-label{font-size:.75rem;color:var(--text-muted);min-width:1rem}.flight-btn-time{font-variant-numeric:tabular-nums;font-size:.9rem}@media(max-width:768px){.player-layout{grid-template-columns:1fr}.flight-picker-list{flex-direction:row;flex-wrap:wrap;max-height:none}.flight-btn{width:auto}}.video-link{display:inline-block;margin-right:.35rem;color:var(--link);text-decoration:none;font-size:.85rem}.video-groups{display:flex;flex-direction:column;gap:.35rem}.video-group{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.video-group-label{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:4.5rem}.video-group-cameras{display:inline-flex;flex-wrap:wrap;gap:.15rem}pre{margin:0;padding:1rem;background:var(--pre-bg);border-radius:.5rem;overflow:auto}.page:has(.page-wide-card){max-width:56rem}.schedule-date-label{margin:0 0 1rem;color:var(--text-muted);text-transform:capitalize}.schedule-filters{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1rem}.schedule-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.schedule-filters input,.schedule-filters select{min-width:10rem;padding:.45rem .65rem;border:1px solid var(--input-border);border-radius:.5rem;font:inherit;color:var(--text);background:var(--input-bg)}.schedule-filters input:focus,.schedule-filters select:focus{outline:2px solid var(--primary);outline-offset:1px}.schedule-summary{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.schedule-table-wrap{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;font-size:.9rem}.schedule-table th,.schedule-table td{padding:.55rem .65rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.schedule-table th{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.schedule-time{font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-row--busy{background:var(--surface)}.schedule-bookings{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.section-title{margin:1.5rem 0 .75rem;font-size:1rem}.balance-block{margin-bottom:1rem}.balance-card{padding:.85rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface)}.balance-card+.balance-card{margin-top:.75rem}.balance-card h3{margin:0 0 .5rem;font-size:.95rem}.balance-amount{margin:0}.balance-deposits{margin:.5rem 0 0;padding-left:1.1rem;color:var(--text-muted);font-size:.9rem}
