/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Roboto",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--breakpoint-lg:64rem;--text-base:1rem;--text-base--line-height:calc(1.5/1);--font-weight-normal:400;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#2563eb;--color-background:#f8fafc;--color-text:#0f172a;--color-card-bg:#fff;--animate-fadeIn:fadeIn .5s ease-in-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.w-full{width:100%}.max-w-screen-lg{max-width:var(--breakpoint-lg)}.animate-fadeIn{animation:var(--animate-fadeIn)}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-center{align-items:center}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--color-background)}.bg-card-bg{background-color:var(--color-card-bg)}.p-0{padding:calc(var(--spacing)*0)}.p-6{padding:calc(var(--spacing)*6)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-5{padding-right:calc(var(--spacing)*5)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.text-primary{color:var(--color-primary)}.text-text{color:var(--color-text)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}@media (min-width:40rem){.sm\:p-1{padding:calc(var(--spacing)*1)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-2{padding:calc(var(--spacing)*2)}}@media (min-width:64rem){.lg\:p-4{padding:calc(var(--spacing)*4)}}}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--background-color:#f8fafc;--text-color:#0f172a;--card-bg:#fff;--shadow-color:#01001b86;--input-border:#2564eb49;--border-color:#3f3f3f;--highlight-bg:#eff6ff;--error-color:#ef4444}header{text-align:center;border:1px solid var(--border-color);box-shadow:0 8px 32px var(--shadow-color);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px;padding:20px 30px;display:flex}header .logo,header p,header .language-switcher{min-width:0}header p{flex:auto;margin:0 12px}header .logo{align-items:center;gap:15px;font-size:1.5em;display:flex}header .logo h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.2em;overflow:hidden}header h1{margin:0;font-size:1.2em;font-weight:700}.language-switcher{flex-wrap:wrap;gap:10px;display:flex}.language-switcher a{white-space:nowrap;color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;padding:8px 14px;font-size:.9em;font-weight:500;text-decoration:none;transition:all .3s}.language-switcher a:hover{background-color:var(--background-color);border-color:var(--input-border)}.language-switcher a.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}main{grid-template-columns:1fr;align-items:flex-start;gap:20px;display:grid}.form-container,#ticket-form{flex-direction:column;gap:25px;display:flex}.tutorial-card{border-left:4px solid var(--primary-color);background:linear-gradient(135deg,#e3f2fd 0%,#f8f9fa 100%);margin-bottom:30px}.tutorial-content{padding:0}.tutorial-hint{color:#2c3e50;background-color:#3498db1a;border:1px solid #3498db33;border-radius:6px;padding:15px;font-size:.9rem;line-height:1.5}.tutorial-hint strong{color:var(--primary-color)}.tutorial-hint a{color:var(--primary-color);font-weight:500;text-decoration:none}.tutorial-hint a:hover{text-decoration:underline}.card{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 8px 32px var(--shadow-color);border-radius:16px;overflow:hidden}.card-header{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:20px 25px;display:flex}.card-header h2{color:var(--primary-color);margin:0;font-size:1.2em;font-weight:500}.more-options-section{border-top:1px solid var(--border-color);background-color:#3498db05}.collapsible-header{cursor:pointer;justify-content:space-between;align-items:center;padding:15px 25px;transition:background-color .2s;display:flex}.collapsible-header:hover{background-color:#3498db0d}.more-options-title{color:var(--primary-color);align-items:center;gap:12px;font-size:1em;font-weight:500;display:flex}.collapse-icon{color:var(--primary-color);transition:transform .3s}.collapsible-header.collapsed .collapse-icon{transform:rotate(-90deg)}.collapsible-content{max-height:500px;transition:max-height .3s,padding .3s;overflow:hidden}.collapsible-content.collapsed{max-height:0;padding-top:0;padding-bottom:0}.checkbox-label{cursor:pointer;color:var(--text-color);align-items:center;font-size:.95rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color);margin-right:12px}.checkbox-text{align-items:center;gap:8px;display:flex}.info-btn,.price-info-btn,.half-fare-info-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:2px;font-size:.9em;transition:background-color .2s,transform .1s,color .2s;display:inline-flex}.info-btn:hover,.price-info-btn:hover,.half-fare-info-btn:hover{background-color:#3498db1a;transform:scale(1.1)}.info-btn:focus,.price-info-btn:focus,.half-fare-info-btn:focus{outline:2px solid var(--primary-color);outline-offset:1px}.input-group{flex-direction:column;display:flex;position:relative}.input-group label{align-items:center;gap:8px;margin-bottom:8px;font-weight:500;display:flex}.input-group input{border:1px solid var(--input-border);border-radius:8px;width:100%;padding:12px;font-size:1em;transition:border-color .3s,box-shadow .3s}.input-group input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3498db33}.input-group select{border:1px solid var(--input-border);background-color:var(--card-bg);width:100%;color:var(--text-color);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-color)50%),linear-gradient(135deg,var(--text-color)50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;border-radius:8px;padding:12px;font-size:1em;transition:border-color .3s,box-shadow .3s}.input-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3498db33}.count-input-group .count-with-interval{align-items:center;gap:8px;display:flex}.count-with-interval input[type=number]{flex:auto;min-width:0}.count-with-interval{border:1px solid var(--input-border);border-radius:8px;overflow:hidden}.count-with-interval:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db14}.count-with-interval input[type=number]{border:none;border-radius:0;padding:12px}.count-with-interval input[type=number]:focus{outline:none}.count-with-interval .interval-select{appearance:none;color:var(--text-color);cursor:pointer;background-color:#0000;border:none;border-radius:0;min-width:120px;padding:12px 34px 12px 14px}.count-with-interval .interval-select:focus{outline:none}.interval-box{background:0 0;flex-direction:column;justify-content:center;align-items:stretch;padding:6px 8px;display:flex}.interval-title{color:#666;align-items:center;gap:6px;margin-bottom:4px;font-size:.75em;display:flex}.input-group select::-ms-expand{display:none}.suggestions-dropdown{background-color:var(--card-bg);border:1px solid var(--input-border);box-shadow:0 8px 16px var(--shadow-color);z-index:1000;border-top:none;border-radius:0 0 8px 8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-item{cursor:pointer;border-bottom:1px solid var(--border-color);padding:12px 15px;transition:background-color .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:var(--highlight-bg)}.toggle-widget{background-color:var(--background-color);cursor:pointer;border:1px solid var(--input-border);border-radius:25px;align-items:center;width:130px;min-width:0;height:42px;padding:4px;transition:background-color .3s;display:flex;position:relative}.toggle-widget .toggle-label{text-align:center;z-index:1;color:var(--text-color);-webkit-user-select:none;user-select:none;flex:1;font-weight:500;transition:color .3s}.toggle-pill{background-color:var(--primary-color);border-radius:20px;width:calc(50% - 3px);height:calc(100% - 6px);transition:transform .3s cubic-bezier(.68,-.55,.27,1.55);position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000026}.toggle-widget.active .toggle-pill{transform:translate(calc(100% - 2px))}.toggle-widget .toggle-label:first-of-type{color:#fff}.toggle-widget.active .toggle-label:first-of-type{color:var(--text-color)}.toggle-widget.active .toggle-label+.toggle-label{color:#fff}.month-selector{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px;display:grid}.month-btn{background-color:var(--card-bg);color:var(--text-color);border:2px solid var(--input-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:8px 4px;font-size:.9em;font-weight:500;transition:all .3s;display:flex}.month-btn:hover{border-color:var(--primary-color);background-color:var(--highlight-bg)}.month-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.month-btn.active:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 20px;font-size:1em;font-weight:700;transition:background-color .3s,transform .2s;display:flex}.btn:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-save{background-color:var(--success-color,#28a745);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:1em;font-weight:700;transition:background-color .3s,transform .2s;display:flex}.btn-save:hover{background-color:var(--success-hover,#218838);transform:translateY(-2px)}.btn-save:active{transform:translateY(0)}.btn-cancel{background-color:var(--muted-color,#6c757d);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:1em;font-weight:700;transition:background-color .3s,transform .2s;display:flex}.btn-cancel:hover{background-color:var(--muted-hover,#5a6268);transform:translateY(-2px)}.btn-cancel:active{transform:translateY(0)}.edit-mode-buttons{gap:12px;width:100%;display:flex}.edit-mode-buttons .btn-save,.edit-mode-buttons .btn-cancel{flex:1}.search-btn{gap:10px;width:100%;padding:15px;font-size:1.1em}.share-btn{gap:10px;font-size:.9em}.results-card .card-header{justify-content:space-between;align-items:center;display:flex}.add-btn{width:46px;height:46px;font-size:1.2em}.add-route-row{justify-content:center;margin-top:16px}.add-route-container{justify-content:center;width:100%;display:flex}.add-route-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:2px dashed #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:140px;padding:12px 24px;font-size:.95em;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #27ae6033}.add-route-btn:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px var(--shadow-color);border-color:var(--primary-hover);transform:translateY(-2px)}.add-route-btn:active{transform:translateY(0)}.add-route-btn i{font-size:1.1em}.results-container{position:static;top:auto}.overview-table-title{color:var(--primary-color);align-items:center;gap:10px;margin-left:25px;padding-bottom:10px;font-size:1.05rem;font-weight:700;display:flex}#loading-animation{text-align:center;padding:40px 0}#loading-animation p{margin-top:20px;font-size:1.1em;font-weight:500}.train-loader{width:150px;height:50px;margin:0 auto;position:relative}.track{background-color:#ddd;width:100%;height:4px;position:absolute;bottom:0;overflow:hidden}.track:before{content:"";background-image:repeating-linear-gradient(90deg,#bbb,#bbb 2px,#0000 2px 10px);width:200%;height:100%;animation:.4s linear infinite moveTrack;position:absolute}.train{z-index:10;background-color:#eee;border:1px solid #aaa;border-radius:18px 20px 8px 8px;width:120px;height:32px;animation:.3s ease-in-out infinite alternate trainWobble;position:absolute;bottom:4px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #0000001a}.train:before{content:"";background:linear-gradient(to left,var(--primary-color),var(--primary-hover));border-radius:6px;height:12px;position:absolute;top:8px;left:15px;right:10px}.train:after{content:"";background-color:#333;border-radius:10px;width:25px;height:12px;position:absolute;top:8px;right:8px}@keyframes moveTrack{0%{transform:translate(0)}to{transform:translate(-20px)}}@keyframes trainWobble{0%{transform:translate(-50%)rotate(2deg)}to{transform:translate(-50%)rotate(-2deg)}}#route-list{padding:0 25px 25px}#route-list-items{margin:0;padding:0;list-style:none}#route-list-items li{background-color:var(--background-color);border:1px solid var(--border-color);word-wrap:break-word;border-radius:8px;flex-direction:column;gap:12px;min-width:0;margin-top:10px;padding:15px;font-weight:500;animation:.4s fadeIn;display:flex;overflow:hidden}.route-row{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.route-row-count{border-bottom:1px solid var(--border-color);justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.route-row-months,.route-row-route,.route-row-price{justify-content:flex-start;margin-bottom:12px}.route-row-price{margin-bottom:0}.route-route-content{align-items:center;gap:12px;width:100%;display:flex}.route-field-count,.route-field-price{flex:1;min-width:0}.route-field-route{width:100%}.route-actions{flex-shrink:0;gap:8px;display:flex}.route-route{flex:1;align-items:center;gap:8px;min-width:0;display:flex}@media (min-width:769px){.route-row,.route-field{margin-bottom:8px}.route-row-count{border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:8px}.route-row-months{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;width:100%!important;margin-bottom:12px!important;display:flex!important}.route-row-months .route-field-label{flex-shrink:0!important;width:100%!important;margin-bottom:0!important}.route-months-grid{grid-template-columns:repeat(12,1fr)!important;gap:2px!important;width:auto!important;min-width:320px!important;max-width:400px!important;display:grid!important}.route-month{border-radius:4px;justify-content:center;align-items:center;width:100%;min-width:0;height:22px;font-size:.7em;display:flex;box-sizing:border-box!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:28px!important;height:28px!important;font-size:.75em!important;display:flex!important}.route-route-content{flex-wrap:nowrap;gap:8px}.route-from,.route-to{max-width:250px;font-size:.95em}.route-arrow{margin:0 4px;font-size:.9em}.route-row-price{margin-bottom:0}.route-price-content{gap:8px}#route-list-items li{margin-bottom:20px;padding:16px}.route-lookup-text{margin-top:4px;font-size:.85em}}.route-field{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.route-field-route{flex:1;min-width:0;overflow:hidden}.route-field-months{min-width:120px}.route-months-grid{grid-template-columns:repeat(6,1fr);gap:3px;max-width:160px;display:grid}.route-month{color:#999;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:24px;height:20px;font-size:.65em;font-weight:500;display:flex}.route-month.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.route-field-label{color:#666;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:.75em;font-weight:600;display:flex}.route-field-label .info-btn,.route-field-label .price-info-btn{width:28px;height:28px;color:var(--text-color);opacity:.8;padding:0;font-size:1em}.route-field-label .info-btn i,.route-field-label .price-info-btn i{font-size:18px!important;line-height:1!important}.route-field-label .info-btn:hover,.route-field-label .price-info-btn:hover{background-color:var(--primary-color);color:#fff;opacity:1;transform:scale(1.1)}.route-count{color:var(--primary-color);font-size:1.1em;font-weight:700}.route-count-original{color:#6c757d;margin-left:4px;font-size:.9em;font-weight:400}.route-route{align-items:center;gap:8px;min-width:0;font-weight:500;display:flex;overflow:hidden}.route-from,.route-to{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:200px;overflow:hidden}.route-lookup-link{color:var(--primary-color);background-color:#3498db1a;border:1px solid #3498db4d;border-radius:4px;align-items:center;margin-left:8px;padding:6px 8px;font-size:.85em;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #0000001a}.route-lookup-link:hover{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.route-actions-top,.route-actions-bottom{align-items:center;gap:8px;display:flex}.route-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.route-actions a{color:#aaa;border-radius:4px;padding:4px 6px;font-size:.9em;text-decoration:none;transition:all .2s}.route-actions a:hover{color:var(--primary-color);background-color:#3498db1a}#route-list-items .route-price,#route-list-items .route-prices{color:var(--primary-color);align-items:center;gap:4px;font-weight:700;display:flex}#route-list-items .route-price.loading,#route-list-items .route-prices.loading{color:var(--primary-color);font-style:italic}#route-list-items .route-prices.loading .route-price-second{color:var(--primary-color)!important;opacity:1!important}#route-list-items .route-prices.loading .route-price-separator,#route-list-items .route-prices.error .route-price-separator{display:none!important}#route-list-items .route-price.error,#route-list-items .route-prices.error{color:#e74c3c;font-size:.9em}#route-list-items .route-prices.error .route-price-second{cursor:pointer;transition:opacity .2s}#route-list-items .route-prices.error .route-price-second:hover{opacity:.8;text-decoration:underline}#route-list-items .route-price-separator{color:#aaa;font-weight:400}#route-list-items .route-price-first,#route-list-items .route-price-second{transition:color .2s,opacity .2s}.price-info-btn{color:#aaa;margin-left:4px}.price-info-btn:hover{color:var(--primary-color)}.info-popup,.price-info-popup{background:var(--card-bg);border:1px solid var(--border-color);z-index:1000;border-radius:8px;min-width:280px;max-width:320px;animation:.2s ease-out popupFadeIn;position:fixed;box-shadow:0 4px 12px #00000026}@keyframes popupFadeIn{0%{opacity:.1;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.info-popup-content,.price-info-content{padding:16px;position:relative}.info-popup-close,.price-info-close{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;transition:color .2s,background-color .2s;display:flex;position:absolute;top:8px;right:12px}.info-popup-close:hover,.price-info-close:hover{color:#666;background-color:#0000000d}.info-popup-content h3,.price-info-content h3{color:var(--text-color);margin:0 0 12px;padding-right:24px;font-size:1.1em}.info-popup-text p,.price-info-text p{color:var(--text-color);margin:0 0 8px;font-size:.9em;line-height:1.4}.info-popup-text p:last-child,.price-info-text p:last-child{margin-bottom:0}.info-popup-note,.price-info-note{font-style:italic;color:#666!important}.info-popup-edit,.price-info-edit{font-weight:500;color:var(--primary-color)!important}.info-popup-text a,.price-info-text a{color:var(--primary-color);font-weight:500;text-decoration:none}.info-popup-text a:hover,.price-info-text a:hover{text-decoration:underline}body:not(.highlight-first-class) #route-list-items .route-price-second{color:var(--primary-color);opacity:1}body:not(.highlight-first-class) #route-list-items .route-price-first{color:#aaa;opacity:.6}body.highlight-first-class #route-list-items .route-price-first{color:var(--primary-color);opacity:1}body.highlight-first-class #route-list-items .route-price-second{color:#aaa;opacity:.6}.price-spinner{border:2px solid #ddd;border-top-color:var(--primary-color);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}#route-list-items .fa-long-arrow-alt-right{color:#ccc;font-size:.9em}#route-list-items .btn-remove{background-color:var(--error-color);border:1px solid var(--error-color);color:#fff;cursor:pointer;border-radius:4px;padding:8px 10px;font-size:1.2em;line-height:1;transition:all .2s;box-shadow:0 1px 3px #0000001a}#route-list-items .btn-remove:hover{background-color:#c0392b;border-color:#c0392b;transform:scale(1.05)}#route-list-items .btn-edit{background-color:var(--primary-color);border:1px solid var(--primary-color);color:#fff;cursor:pointer;border-radius:4px;margin-right:5px;padding:8px 10px;font-size:1.1em;line-height:1;transition:all .2s;box-shadow:0 1px 3px #0000001a}#route-list-items .btn-edit:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:scale(1.05)}#route-list-items .route-duplicate-btn{color:#fff;cursor:pointer;background-color:#f39c12;border:1px solid #f39c12;border-radius:4px;margin-right:5px;padding:8px 10px;font-size:1.1em;line-height:1;transition:all .2s;box-shadow:0 1px 3px #0000001a}#route-list-items .route-duplicate-btn:hover{background-color:#e67e22;border-color:#e67e22;transform:scale(1.05)}.action-icon-btn{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:8px;padding:4px 6px;font-size:.9em;line-height:1;transition:all .2s}.action-icon-btn:hover{color:var(--primary-color);background-color:var(--highlight-bg);transform:scale(1.1)}.route-prices.editing{background-color:var(--card-bg);border:1px solid var(--primary-color);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-width:200px;padding:8px;display:flex;box-shadow:0 2px 8px #3498db26}.price-input{border:1px solid var(--input-border);text-align:center;background-color:var(--card-bg);border-radius:6px;width:70px;padding:6px 8px;font-size:.9em;transition:border-color .3s,box-shadow .3s}.price-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3498db33}.price-input::placeholder{color:#aaa;font-size:.8em}.price-save-btn,.price-cancel-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:6px 8px;font-size:.9em;transition:all .2s;display:flex}.price-save-btn{color:#27ae60;border:1px solid #0000}.price-save-btn:hover{color:#fff;background-color:#27ae60;transform:scale(1.1)}.price-cancel-btn{color:var(--error-color);border:1px solid #0000}.price-cancel-btn:hover{background-color:var(--error-color);color:#fff;transform:scale(1.1)}.route-prices.editing .route-price-separator{color:#aaa;margin:0 2px;font-weight:400;display:inline!important}#results-timeline-legend{background:0 0;flex-wrap:wrap;gap:12px 16px;max-width:100%;margin:0 0 12px;padding:10px 16px;display:flex}#results-timeline-legend .timeline-legend-item{color:var(--text-color);background-color:var(--background-color);cursor:default;white-space:normal;text-align:left;border:1px solid #0000000f;border-radius:10px;align-items:center;gap:8px;margin:0;padding:10px 18px;font-size:.95em;display:inline-flex;box-shadow:0 1px #00000005}#results-timeline-legend .timeline-legend-item b{margin-right:8px}.plot-block{text-align:center;margin:0 0 18px}.js-plotly-plot .legend .legendtext{white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;max-width:120px!important;font-size:14px!important;line-height:1.1!important}@media (max-width:600px){.js-plotly-plot .legend .legendtext{max-width:80px!important;font-size:12px!important;line-height:1!important}}.results-list{margin:0;padding:0;list-style:none}.results-list li{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px 25px;display:flex}.results-list li:last-child{border-bottom:none}.results-list li.travelcard-highlight{background-color:var(--highlight-bg);font-weight:700}.ticket-name{font-weight:500}.ticket-details{color:var(--primary-color);font-weight:700}.total-cost{background-color:var(--background-color);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 25px;font-size:1.2em;font-weight:500;display:flex}.total-cost strong{color:var(--primary-color);font-weight:700}.error{color:#e74c3c;text-align:center;padding:20px;font-weight:500}.input-error{border-color:var(--error-color)!important;box-shadow:0 0 0 3px #e74c3c33!important}.route-success{animation:1.5s ease-in-out successPulse;background-color:#d4edda!important;border:2px solid #28a745!important}.shake{animation:.5s ease-in-out shake}@keyframes successPulse{0%{background-color:#d4edda;transform:scale(1)}25%{background-color:#c3e6cb;transform:scale(1.02)}50%{background-color:#b3dfce;transform:scale(1.01)}75%{background-color:#c3e6cb;transform:scale(1.01)}to{background-color:#0000;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@media (max-width:992px){main{grid-template-columns:1fr}.results-container{position:static;top:auto}.route-from,.route-to{max-width:180px}}@media (max-width:768px){.container{max-width:100%}header{text-align:center;flex-direction:column;gap:16px;padding:16px 20px}.language-switcher{order:3;justify-content:center;width:100%;margin-top:8px}.card{border-radius:12px;margin-bottom:16px}.count-with-interval{flex-direction:row;align-items:center;gap:0}.count-with-interval input[type=number]{flex:1;min-width:0}.count-with-interval .interval-box{flex-shrink:0;justify-content:center;align-items:center;min-width:120px;padding:6px 8px}.count-with-interval .interval-title{margin-bottom:2px;font-size:.7em}.count-with-interval .interval-select{width:100%;min-width:auto;padding:8px 28px 8px 12px}.search-btn{margin:16px 0;padding:16px;font-size:1.1em}}@media (max-width:480px){body{background-color:var(--background-color);overflow-x:hidden;margin:0!important}.container{width:100vw!important;max-width:100%!important;margin:0!important;padding:0!important}header{box-shadow:0 6px 12px var(--shadow-color);flex-direction:column;gap:12px;padding:16px;border-left:none!important;border-right:none!important;border-radius:0!important;width:100%!important;max-width:100%!important;margin:0!important}main,.form-container{gap:8px!important;width:100%!important;margin:0!important;padding:0!important}#ticket-form{gap:8px!important}.card{box-shadow:0 6px 12px var(--shadow-color);border-left:none!important;border-right:none!important;border-radius:0!important;width:100%!important}.search-btn{border-top:none;padding:16px;font-size:1.1em;border-left:none!important;border-right:none!important;border-radius:0!important;width:100%!important;margin:8px 0!important}.results-container{width:100%!important;margin:0!important;padding:0!important}.results-container .card{width:100%!important;margin:0 0 8px!important}.results-container .card:last-child{margin-bottom:0!important}.placeholder{padding:40px 20px;margin:0!important}#route-list,#route-list-items{width:100%!important;margin:0!important;padding:0!important}#route-list-items li{background-color:var(--card-bg);border-bottom:2px solid var(--border-color);padding:20px;position:relative;border-left:none!important;border-right:none!important;border-radius:0!important;width:100%!important;margin:0!important}#route-list-items li:last-child{border-bottom:none}.route-row{flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-bottom:16px;display:flex}.route-row:last-child{margin-bottom:0}.route-row-count{border-bottom:1px solid var(--border-color);flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:12px}.route-row-months,.route-row-route,.route-row-price{margin-bottom:0}.route-actions{flex-shrink:0;gap:8px;display:flex}.action-icon-btn,.btn-edit,.btn-remove,.route-duplicate-btn{justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a;border-radius:4px!important;min-width:36px!important;height:36px!important;font-size:.9em!important}.btn-edit{background-color:var(--primary-color)!important;color:#fff!important}.btn-edit:hover{transform:scale(1.02);background-color:var(--primary-hover)!important}.btn-remove{background-color:var(--error-color)!important;color:#fff!important}.btn-remove:hover{transform:scale(1.02);background-color:#c0392b!important}.route-duplicate-btn{color:#fff!important;background-color:#f39c12!important;border:1px solid #f39c12!important}.route-duplicate-btn:hover{transform:scale(1.02);background-color:#e67e22!important;border-color:#e67e22!important}.route-prices{background-color:var(--highlight-bg);border:1px solid var(--primary-color);border-radius:8px;flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:200px;max-width:280px;padding:12px;display:flex!important}.route-prices:not(.editing){cursor:pointer;transition:all .2s}.route-prices:not(.editing):hover{transform:scale(1.01);box-shadow:0 2px 8px #3498db33}.route-price-second,.route-price-first{color:var(--primary-color)!important;font-size:.9em!important;font-weight:600!important;display:inline-block!important}.route-price-separator{color:var(--text-color)!important;opacity:.5!important;display:inline-block!important}.route-prices.editing .btn-edit-price{background-color:var(--primary-color)!important;color:#fff!important;border-radius:4px!important;width:28px!important;height:28px!important;font-size:.8em!important;box-shadow:0 1px 3px #0000001a!important}.route-prices.editing .btn-edit-price:hover{transform:scale(1.05);background-color:var(--primary-hover)!important}.route-months-grid{grid-template-columns:repeat(12,1fr);gap:1px;width:100%;max-width:100%}.route-month{border-radius:3px;width:100%;min-width:0;height:24px;padding:2px;font-size:.65em;font-weight:600}.route-from,.route-to{max-width:100px;font-size:.9em}.route-lookup-link{padding:4px 8px;font-size:.75em}.route-field{background-color:#0000;border:none;font-size:1em;line-height:1.4}.route-field-label{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:4px;font-size:.8em;font-weight:600;display:flex}.route-field-label .info-btn,.route-field-label .price-info-btn{width:32px!important;height:32px!important;color:var(--text-color)!important;box-shadow:none!important;opacity:.8!important;border-radius:50%!important;flex-shrink:0!important;margin:0!important;font-size:1.1em!important}.route-field-label .info-btn i,.route-field-label .price-info-btn i{font-size:18px!important;line-height:1!important}.route-field-label .info-btn:hover,.route-field-label .price-info-btn:hover{transform:scale(1.1);background-color:var(--primary-color)!important;color:#fff!important;opacity:1!important}.route-from,.route-to{color:var(--text-color);margin-bottom:8px;font-size:1em;font-weight:500}.route-count{color:var(--primary-color);font-size:1.1em;font-weight:600}.route-field-label{font-size:.75em}.route-count{font-size:1em}.route-from,.route-to{font-size:.95em}.price-edit-form{gap:12px}.price-edit-inputs{flex-direction:column;gap:12px}.price-input-group{min-width:auto}.language-switcher{order:3;justify-content:center;width:100%;margin-top:8px}.logo{order:1}header p{order:2;margin:0}}@media (max-width:350px){.card-header{padding:12px 16px}.search-btn{margin:12px 0;padding:14px}#route-list-items li{padding:12px 16px}.route-months-grid{max-width:180px}.month-btn{min-width:28px;min-height:28px;padding:4px;font-size:.75em}.action-icon-btn,.btn-edit,.btn-remove{min-width:36px;height:36px;font-size:.9em}.route-from,.route-to{font-size:.9em}.card-header h2{font-size:1.1em}}@media (max-width:600px){.price-edit-form{gap:10px}.price-edit-inputs{flex-direction:column;gap:10px}.price-input-group{min-width:auto}.route-prices.editing .price-save-btn,.route-prices.editing .price-cancel-btn{height:40px;font-size:.9em}.container{box-shadow:none;border-radius:0}header{border-radius:0;flex-direction:column;gap:12px;width:calc(100vw - 20px);margin-left:calc(50% - 50vw + 10px);margin-right:calc(50% - 50vw + 10px);padding:16px}main{gap:20px;padding:20px}#route-list-items li{gap:12px;padding:16px;overflow:hidden}.route-row{flex-direction:row;align-items:center;gap:12px;width:100%;margin-bottom:12px;display:flex}.route-row-count{border-bottom:1px solid var(--border-color);border-bottom:1px solid var(--border-color);justify-content:space-between;padding-bottom:8px}.route-months-grid{flex:1;grid-template-columns:repeat(12,1fr);gap:2px;max-width:300px}.route-month{height:24px;font-size:.7em}.route-row-route .route-route-content{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.route-row-route .route-route{flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0}.route-row-price{margin-bottom:0}.route-from,.route-to{max-width:130px}.route-field{width:100%;min-width:0;margin-bottom:12px;position:relative}.route-field:last-child{margin-bottom:0}.route-field .route-count{margin-bottom:4px;font-size:1.1em}.route-row-route{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}.route-route-content{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.route-route{flex-flow:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.route-route .fa-long-arrow-alt-right,.route-route .fa-arrows-alt-h{color:#999;flex-shrink:0;font-size:.8em}.route-from,.route-to{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:120px;font-weight:600;overflow:hidden}.route-lookup-link{color:var(--primary-color);background-color:#3498db1a;border:1px solid #3498db4d;border-radius:6px;flex-shrink:0;align-self:flex-start;align-items:center;padding:6px 10px;font-size:.8em;text-decoration:none;transition:all .2s;display:flex}.route-lookup-link:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-1px)}.route-row-months{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}.route-field-months{margin-bottom:0}.route-months-grid{grid-template-columns:repeat(12,1fr);gap:2px;width:100%;max-width:100%;display:grid}.route-month{border-radius:4px;justify-content:center;align-items:center;width:100%;min-width:0;height:28px;font-size:.7em;display:flex}.route-prices{align-items:center;gap:8px;width:100%;display:flex}body:not(.highlight-first-class) .route-price-second{color:var(--primary-color)!important;opacity:1!important}body:not(.highlight-first-class) .route-price-first{color:#aaa!important;opacity:.6!important}body.highlight-first-class .route-price-first{color:var(--primary-color)!important;opacity:1!important}body.highlight-first-class .route-price-second{color:#aaa!important;opacity:.6!important}.action-icon-btn,.btn-edit,.btn-remove{border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:40px;font-size:1em;transition:all .2s;display:flex}.btn-edit,.btn-remove{background-color:var(--background-color);border:1px solid var(--border-color)}.btn-edit:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-remove:hover{background-color:var(--error-color);color:#fff;border-color:var(--error-color)}.route-prices.editing{background-color:var(--card-bg);border:2px solid var(--primary-color);border-radius:8px;width:calc(100% - 32px);margin:8px 0;padding:16px;display:block}.price-input{border:1px solid var(--input-border);box-sizing:border-box;border-radius:6px;width:100%;margin-bottom:12px;padding:12px;font-size:1em}.price-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db33}.route-prices.editing .price-save-btn,.route-prices.editing .price-cancel-btn{border-radius:6px;justify-content:center;align-items:center;width:48%;height:44px;margin-top:8px;font-size:1em;font-weight:600;display:inline-flex}.route-prices.editing .price-save-btn{color:#fff;background-color:#27ae60;border:none;margin-right:4%}.route-prices.editing .price-cancel-btn{background-color:var(--error-color);color:#fff;border:none}.route-field-route{flex:1;width:100%;min-width:0;overflow:hidden}.month-selector{grid-template-columns:repeat(6,1fr);gap:6px;max-width:100%}.month-btn{min-height:32px;padding:6px 2px;font-size:.8em}}.disclaimer{text-align:center;border-top:1px solid var(--border-color);margin-top:40px;padding:20px}.disclaimer p{color:#666;max-width:800px;margin:0 auto;font-size:.85em;font-style:italic;line-height:1.4}@media (max-width:768px){.disclaimer{margin-top:20px;padding:16px}.disclaimer p{font-size:.8em;line-height:1.3}}.overview-details-table{max-width:100%;display:block;overflow-x:auto}.overview-details-table table{width:100%;min-width:600px;max-width:100%;display:table}@media (max-width:600px){.results-card,#overviewTableDiv,.overview-details-table{max-width:100vw;overflow-x:auto}.overview-details-table table{width:max-content;min-width:600px;max-width:none;display:block}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes fadeIn{0%{opacity:.1;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}