:root{color-scheme:light;--app-bg:#f8fafc;--app-panel:#fff;--app-text:#0f172a;--app-muted:#475569;--app-border:#cbd5e1;--app-primary:#1d4ed8;--app-seat:40px;--app-gap:8px}
html{font-size:16px}body{margin:0;background:var(--app-bg);color:var(--app-text);font-family:Inter,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid #2563eb;outline-offset:3px}summary{cursor:pointer;font-weight:700;padding:12px 0}p{overflow-wrap:anywhere}.app-page{max-width:1280px;margin:0 auto;padding:24px 16px 64px}.app-page h1{font-size:clamp(24px,3vw,34px);font-weight:800;margin:0}.app-page h2{font-size:18px;font-weight:750;margin:0}.app-page-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.app-page-heading p{margin:6px 0;color:var(--app-muted)}.app-card{background:var(--app-panel);border:1px solid var(--app-border);border-radius:18px;padding:20px;margin-bottom:18px;min-width:0;overflow-wrap:anywhere}.app-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-form{display:grid;gap:16px;margin-top:12px}.app-form label{display:block;font-size:14px;font-weight:650}.app-form input:not([type=checkbox]):not([type=hidden]),.app-form select,.app-form textarea{display:block;width:100%;padding:11px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-panel);color:var(--app-text);margin-top:6px;min-height:44px}.app-permissions{display:grid;gap:12px}.app-permissions label{display:flex;gap:10px;align-items:center}.app-permissions input{width:20px;height:20px;flex-shrink:0}.app-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:var(--app-primary);color:white;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}.app-button.secondary{background:var(--app-panel);border-color:var(--app-border);color:var(--app-text)}.app-button.danger{background:#b91c1c}.app-help{font-size:13px;color:var(--app-muted)}.app-notice{position:relative;background:#eff6ff;color:#1e3a8a;border:1px solid #93c5fd;border-radius:12px;padding:14px 44px 14px 16px;margin:12px 0;font-size:14px;overflow-wrap:anywhere}.app-notice.error{background:#fff1f2;color:#9f1239;border-color:#fda4af}.app-notice.warning{background:#fffbeb;color:#78350f;border-color:#fbbf24}.app-notice.success{background:#ecfdf5;color:#065f46;border-color:#6ee7b7}.app-notice-close{position:absolute;right:4px;top:4px;width:36px;height:36px;font-size:24px;background:transparent;color:inherit;border:0;cursor:pointer}#appNotifications{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;width:min(390px,calc(100vw - 24px));z-index:11000;pointer-events:none}#appNotifications>*{pointer-events:auto;box-shadow:0 8px 28px #0f172a22}.app-facts{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:8px;font-size:14px}.app-facts dt{color:var(--app-muted)}.app-facts dd{margin:0;overflow-wrap:anywhere}.app-timeline{padding-left:20px;display:grid;gap:14px;font-size:14px}.app-status{font-size:13px;font-weight:700;padding:5px 10px;border-radius:8px;background:#e2e8f0}.app-status.sold{background:#dcfce7;color:#166534}.app-status.reserved{background:#fef3c7;color:#78350f}.app-status.canceled{background:#ffe4e6;color:#9f1239}
.app-modal-overlay #busWrapper{flex-direction:column!important;align-items:center!important;width:min(100%,320px);max-width:100%;min-width:0;margin-inline:auto!important;overflow-x:auto;scrollbar-width:thin}.app-modal-overlay #busWrapper:not(.hidden){display:flex!important}.app-modal-overlay #vehicleHeader,.app-modal-overlay #standingControls{width:100%;min-width:0;align-self:stretch}.app-modal-overlay .trip-link-summary{display:block;width:100%;min-width:0;margin:8px 0 0;padding:8px 10px;border-radius:9px;background:var(--studio-tint,#eff6ff);color:var(--studio-muted,#64748b);font-size:12px;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:normal}.app-modal-overlay #seatMap{align-self:center!important;gap:12px var(--app-gap)!important;grid-template-columns:repeat(var(--app-cols,5),var(--app-seat))!important;width:max-content!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}.app-modal-overlay #seatMap>*{width:var(--app-seat)!important;height:var(--app-seat)!important}.seat-reserved{background:#fef3c7!important;color:#78350f!important;border-color:#b45309!important}.seat-sold{background:#b91c1c!important;color:#fff!important;border-color:#991b1b!important}.seat[aria-disabled=true]{cursor:not-allowed}.seat:focus-visible{outline:3px solid #0f172a!important;outline-offset:3px}.text-slate-400{color:#64748b!important}.text-blue-500{color:#1d4ed8!important}.text-amber-500{color:#92400e!important}.text-\[8px\],.text-\[9px\],.text-\[10px\],.text-\[11px\]{font-size:12px!important;letter-spacing:.025em!important}.designer-grid{max-width:100%;overflow:auto}.min-w-\[260px\]{min-width:0!important}.app-table-wrap{overflow:auto}.app-table{width:100%;border-collapse:collapse;font-size:14px}.app-table th,.app-table td{padding:12px;border-bottom:1px solid var(--app-border);text-align:left;white-space:nowrap}
html.modal-open,body.modal-open{overflow:hidden!important;overscroll-behavior:none}html.dark{color-scheme:dark;--app-bg:#0f172a;--app-panel:#1e293b;--app-text:#f1f5f9;--app-muted:#cbd5e1;--app-border:#475569;--app-primary:#2563eb}.dark body{background:var(--app-bg)!important;color:var(--app-text)}.dark .bg-white,.dark .bg-slate-50,.dark .bg-slate-100{background-color:#1e293b!important}.dark .text-slate-900,.dark .text-slate-950,.dark .text-slate-800,.dark .text-slate-700{color:#f1f5f9!important}.dark .text-slate-400,.dark .text-slate-500,.dark .text-slate-600{color:#cbd5e1!important}.dark .border-slate-100,.dark .border-slate-200,.dark .border-slate-300{border-color:#475569!important}.dark input,.dark select,.dark textarea{background:#1e293b;color:#f1f5f9}.dark .app-notice{color:#1e3a8a}.dark .app-notice.error{color:#9f1239}.dark .app-notice.warning{color:#78350f}.dark .app-notice.success{color:#065f46}
@media(max-width:600px){.app-field-grid{grid-template-columns:1fr}.app-card{padding:16px}.app-page{padding:20px 12px 48px}.app-modal-panel>.p-6,.app-modal-panel .p-6.overflow-y-auto{padding:12px!important}.app-modal-overlay #busWrapper{padding:10px!important}.app-modal-overlay #seatMap{--app-seat:38px;--app-gap:5px}.app-modal-overlay .app-modal-panel{max-width:100%}.app-actions .app-button{flex-grow:1}}
@media(max-width:340px){.app-modal-overlay{padding:6px!important}.app-modal-overlay #seatMap{--app-seat:36px;--app-gap:4px}.app-modal-overlay #busWrapper{padding:6px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{header,.no-print,.app-actions,.app-form,#appNotifications{display:none!important}.app-page{padding:0;max-width:none}.app-field-grid{display:block}.app-card{break-inside:avoid;box-shadow:none;background:white;color:black}.app-page summary{display:none}details>*{display:block}.app-notice{color:black}body{background:white!important;color:black!important}}

/* Full-screen modal baseline. Kept separate so component alignment rules can remain narrow. */
.app-modal-overlay{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;margin:0!important;z-index:10000!important;overflow:auto!important;padding:12px!important;align-items:flex-start!important}
.app-modal-panel{max-height:calc(100dvh - 24px)!important;min-height:0}
.app-modal-panel>div{min-height:0}
.app-modal-panel .overflow-y-auto{overscroll-behavior:contain}

/* Yönetici içindeki kullanıcı ve çoklu güzergâh formu. */
.account-routes{min-width:0;border:1px solid var(--border,#dfe3e8);border-radius:16px;padding:16px;margin:0}
.account-routes legend{font-weight:650;padding:0 6px}
.account-route{display:flex!important;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border,#dfe3e8);border-radius:10px;min-width:0}
.account-route input{width:18px!important;height:18px;flex:0 0 18px;margin:2px 0}
.account-route span{overflow-wrap:anywhere}.account-route small{display:block;font-weight:400;margin-top:4px}
#adminAccount{scroll-margin-top:100px}

.archive-groups,.archive-tickets{display:grid;gap:8px}.archive-group{display:grid;grid-template-columns:100px minmax(0,1fr) auto 16px;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--studio-line,#dde2e8);border-radius:12px;color:inherit;text-decoration:none;background:var(--studio-surface,#fff)}
.archive-group strong{overflow-wrap:anywhere}.archive-group>span{font-size:13px}.archive-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}
.archive-ticket{border:1px solid var(--studio-line,#dde2e8);border-radius:12px;background:var(--studio-surface,#fff);overflow:hidden}
.archive-ticket>summary{display:grid;grid-template-columns:100px minmax(0,1fr) 88px 100px 16px;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;list-style:none;font-size:14px}
.archive-ticket>summary::-webkit-details-marker{display:none}.archive-ticket-body{padding:16px;border-top:1px solid var(--studio-line,#dde2e8)}
.archive-ticket[open]>summary{background:var(--studio-tint,#fff3e8)}.archive-filters{margin-bottom:14px}.archive-filters>summary{cursor:pointer;font-weight:600}
@media(max-width:640px){.archive-group{grid-template-columns:88px minmax(0,1fr) 14px;gap:8px;padding:12px}.archive-group>span:nth-child(3){grid-column:2;grid-row:2}.archive-group>span:last-child{grid-column:3;grid-row:1 / 3}.archive-ticket>summary{grid-template-columns:85px minmax(0,1fr) 18px;gap:6px;padding:12px}.archive-ticket>summary>.app-status{grid-column:1;grid-row:2}.archive-ticket>summary>span:nth-child(4){grid-column:2;grid-row:2}.archive-ticket>summary>span:last-child{grid-column:3;grid-row:1 / 3}.archive-ticket-body{padding:12px}}
html.dark .archive-group,html.dark .archive-ticket{background:var(--studio-surface,#202938)}
.service-link-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9px;background:var(--studio-tint,#fff3e8);color:var(--studio-accent,#c45100);border:1px solid currentColor}.service-link-button svg{width:19px;height:19px}
.manual-link-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0008;padding:18px;backdrop-filter:blur(5px)}.manual-link-modal.hidden{display:none}.manual-link-modal>section{width:min(100%,540px);max-height:90dvh;overflow:auto;margin:0}
.archive-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0;padding:14px;border:1px solid #b7bec7;border-radius:12px}.archive-bulk label{display:flex;gap:8px;align-items:center}.archive-bulk select,.archive-bulk input[type=password]{padding:8px;max-width:100%;border:1px solid #b7bec7;border-radius:8px;background:transparent}.archive-select{width:18px;height:18px;accent-color:var(--studio-accent)}
.archive-ticket>summary:has(.archive-select){grid-template-columns:20px 100px minmax(0,1fr) 88px 100px 16px}.archive-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px 0}.archive-pagination a,.archive-pagination>span{padding:10px 14px;border:1px solid #b7bec7;border-radius:10px;font-size:14px;text-decoration:none;color:inherit}.archive-pagination .page-disabled{opacity:.45}.archive-pagination .page-current{background:var(--studio-tint,#fff3e8);border-color:var(--studio-accent,#c45100)}
@media(max-width:640px){.archive-ticket>summary:has(.archive-select){grid-template-columns:20px 85px minmax(0,1fr) 18px}.archive-ticket>summary:has(.archive-select)>.app-status{grid-column:2;grid-row:2}.archive-ticket>summary:has(.archive-select)>span:nth-last-child(2){grid-column:3;grid-row:2}.archive-ticket>summary:has(.archive-select)>span:last-child{grid-column:4;grid-row:1 / 3}.archive-ticket>summary:has(.archive-select)>input[type=checkbox]{grid-row:1 / 3}.archive-pagination{gap:6px}.archive-pagination a,.archive-pagination>span{padding:9px;font-size:12px}}

.service-link-button.is-linked{position:relative;background:#1d4ed8!important;color:#fff!important;border-color:#1e40af!important;box-shadow:0 0 0 2px #93c5fd}
.service-link-button.is-linked:after{content:'✓';position:absolute;top:-5px;right:-5px;width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1e40af;border:1px solid #1e40af;font-size:10px;line-height:1;font-weight:800}

/* Shared booking controls and compact planning rows. */
.ticket-segment-fields.app-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}.ticket-segment-fields>label{min-width:0}.ticket-segment-fields>.app-help{grid-column:1/-1;margin:0}.manual-fare.app-form{gap:6px;padding:12px;margin:0 0 14px;border:1px solid var(--app-border);border-radius:12px}.manual-fare.app-form input{margin-top:0}.manual-fare .app-help{margin:0}.segment-fare-fields label{min-width:0}
[id^="row_"]:has(.service-link-button){display:grid;grid-template-columns:46px minmax(0,1fr) 36px 36px;gap:4px}[id^="row_"]:has(.service-link-button)>div{min-width:0;width:auto}[id^="row_"]:has(.service-link-button)>button{width:36px;height:36px;margin:0}[id^="row_"]:has(.service-link-button) select{min-width:0;width:100%;text-overflow:ellipsis}
.archive-ticket>summary,.archive-ticket>summary:has(.archive-select){grid-template-columns:20px 100px minmax(0,1fr) 88px 100px 16px;grid-template-areas:"select time passenger status price arrow"}.archive-ticket>summary>.archive-select{grid-area:select}.archive-ticket>summary>.archive-time{grid-area:time}.archive-ticket>summary>.archive-passenger{grid-area:passenger;min-width:0;overflow-wrap:anywhere}.archive-ticket>summary>.app-status{grid-area:status}.archive-ticket>summary>.archive-price{grid-area:price;white-space:nowrap}.archive-ticket>summary>.archive-chevron{grid-area:arrow}.archive-pagination{flex-wrap:wrap}
@media(max-width:640px){.archive-ticket>summary,.archive-ticket>summary:has(.archive-select){grid-template-columns:20px 85px minmax(0,1fr) 18px;grid-template-areas:"select time passenger arrow" "select status price arrow"}.archive-ticket>summary:has(.archive-select)>.archive-select{grid-area:select}.archive-ticket>summary:has(.archive-select)>.app-status{grid-area:status}.archive-ticket>summary:has(.archive-select)>.archive-price{grid-area:price}.archive-ticket>summary:has(.archive-select)>.archive-chevron{grid-area:arrow}}
.manual-fare.hidden,.ticket-segment-fields.hidden{display:none}
.manifest-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.manifest-summary>div{padding:12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-panel)}.manifest-summary small{display:block;color:var(--app-muted)}.manifest-summary strong{display:block;margin-top:6px;font-size:18px}.manifest-summary>div:first-child{border-color:var(--app-primary)}@media(max-width:600px){.manifest-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sales-movable{position:relative}.sales-drag-handle{position:absolute;top:4px;right:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--app-muted);background:var(--app-panel);border:1px solid var(--app-border);font-size:24px;line-height:1;cursor:grab;touch-action:none;user-select:none;z-index:2}.sales-dragging{outline:2px solid var(--app-primary);outline-offset:-2px}.sales-dragging>.sales-drag-handle{cursor:grabbing}
.planning-quick-actions button{gap:8px}.planning-quick-actions svg{width:20px;height:20px;flex-shrink:0}@media(max-width:640px){.planning-quick-actions button{width:46px;padding:10px}.planning-quick-actions button span{display:none}}
.settings-tabs{display:flex;gap:6px;padding:6px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-panel);margin:0 0 20px;overflow-x:auto}.settings-tabs button{flex:1;min-height:46px;padding:10px 14px;border:0;border-radius:9px;background:transparent;color:var(--app-text);font-weight:650;cursor:pointer;white-space:nowrap}.settings-tabs button[aria-selected=true]{background:var(--studio-fill,var(--app-primary));color:var(--studio-on-fill,#fff);box-shadow:0 2px 5px #0002}#settingsTabs[hidden],#generalSettingsForm[hidden],[role=tabpanel][hidden]{display:none!important}[role=tabpanel]{scroll-margin-top:90px}
@media(max-width:600px){.settings-tabs button{font-size:13px;padding:10px}.settings-tabs{margin-bottom:14px}}
.account-security-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.account-security-card p{margin:6px 0 0}.account-security-card .app-button{flex-shrink:0}
@media(max-width:600px){.account-security-card{align-items:stretch;flex-direction:column}.account-security-card .app-button{width:100%}}
