.hp{display:flex;flex-direction:column;gap:.875rem}.hp-news{position:relative;z-index:40}.hp-news-bar{display:flex;align-items:center;gap:.75rem;min-height:46px;padding:.375rem .5rem .375rem .875rem;background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm)}.hp-news-label{display:inline-flex;align-items:center;gap:.4rem;flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-hover)}.hp-live{width:7px;height:7px;border-radius:50%;background:#ef4444;animation:hp-pulse 1.8s infinite}@keyframes hp-pulse{0%{box-shadow:0 0 #ef444480}70%{box-shadow:0 0 0 7px #ef444400}to{box-shadow:0 0 #ef444400}}.hp-news-chips{display:flex;gap:.25rem;flex:none}.hp-news-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;font:inherit;font-size:.6875rem;font-weight:600;color:var(--gray-600);background:var(--gray-100);border:0;border-radius:9999px;cursor:pointer}.hp-news-chip span{font-size:.625rem;font-weight:700;color:var(--gray-400)}.hp-news-chip:hover{background:var(--gray-200)}.hp-news-chip.is-active{color:#fff;background:var(--gray-900)}.hp-news-chip.is-active span{color:var(--gray-300)}.hp-ticker{position:relative;flex:1 1 200px;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}.hp-ticker-track{display:inline-flex;width:max-content;animation:hp-marquee linear infinite;will-change:transform}.hp-ticker:hover .hp-ticker-track,.hp-ticker:focus-within .hp-ticker-track{animation-play-state:paused}@keyframes hp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.hp-ticker-item{display:inline-flex;align-items:center;gap:.5rem;padding-right:1.5rem;font-size:.8125rem;color:var(--gray-800);text-decoration:none;white-space:nowrap}.hp-ticker-item:after{content:"";width:4px;height:4px;margin-left:1.5rem;border-radius:50%;background:var(--gray-300)}.hp-ticker-item:hover .hp-ticker-title{color:var(--color-brand-hover);text-decoration:underline}.hp-ticker-tag{padding:.1rem .45rem;border-radius:4px;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hp-ticker-title{font-weight:600}.hp-ticker-meta{font-size:.6875rem;color:var(--gray-400)}.hp-ticker-note{display:block;padding:0 .5rem;font-size:.8125rem;color:var(--gray-400)}.hp-news-actions{display:flex;align-items:center;gap:.25rem;flex:none}.hp-icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;color:var(--gray-500);background:transparent;border:0;border-radius:8px;cursor:pointer}.hp-icon-btn:hover{color:var(--gray-900);background:var(--gray-100)}.hp-news-all{display:inline-flex;align-items:center;gap:.4rem;height:30px;padding:0 .75rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-800);background:var(--gray-100);border:0;border-radius:9999px;cursor:pointer}.hp-news-all span{font-size:.6875rem;color:var(--gray-500)}.hp-news-all:hover,.hp-news-all.is-open{background:var(--gray-200)}.hp-news-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:flex;flex-direction:column;width:min(760px,100%);max-height:min(70vh,640px);overflow:hidden;background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 18px 40px -12px #0f172a47,0 4px 10px #0f172a0f}.hp-news-panel-head{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;border-bottom:1px solid var(--gray-100);font-size:.8125rem}.hp-news-list{overflow-y:auto}.hp-news-empty{padding:2rem 1rem;text-align:center;font-size:.8125rem;color:var(--gray-400)}.hp-news-row{display:flex;gap:.75rem;padding:.625rem .875rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--gray-100)}.hp-news-row:hover{background:var(--gray-50)}.hp-news-row-bar{flex:none;width:3px;border-radius:2px}.hp-news-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hp-news-row-cat{font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hp-news-row-title{font-size:.8125rem;font-weight:600;line-height:1.35;color:var(--gray-900)}.hp-news-row-meta{font-size:.6875rem;color:var(--gray-400)}.hp-news-more{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.7rem;font:inherit;font-size:.8125rem;font-weight:600;color:var(--color-brand-hover);background:var(--gray-50);border:0;cursor:pointer}.hp-news-more:hover{background:var(--gray-100)}.hp-news-more svg{transform:rotate(90deg)}.hp-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem}.hp-hello h1{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--gray-900)}.hp-hello p{margin:2px 0 0;font-size:.8125rem;color:var(--gray-500)}.hp-kpis{display:flex;flex-wrap:wrap;gap:.625rem}.hp-kpi{--k: #2563eb;--k-soft: #dbeafe;display:flex;align-items:center;gap:.625rem;padding:.5rem .9rem .5rem .55rem;background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm)}.hp-kpi--blue{--k: #2563eb;--k-soft: #dbeafe}.hp-kpi--orange{--k: var(--color-brand-hover);--k-soft: var(--color-brand-bg)}.hp-kpi--green{--k: #059669;--k-soft: #d1fae5}.hp-kpi--violet{--k: #7c3aed;--k-soft: #ede9fe}.hp-kpi-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;color:var(--k);background:var(--k-soft);border-radius:10px}.hp-kpi-body{display:flex;flex-direction:column;gap:1px;min-width:0}.hp-kpi-label{font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;color:var(--gray-500);white-space:nowrap}.hp-kpi-line{display:flex;align-items:baseline;gap:.4rem}.hp-kpi-line b{font-size:1.375rem;font-weight:700;line-height:1.15;color:var(--gray-900)}.hp-kpi-hint{font-size:.6875rem;color:var(--gray-400);white-space:nowrap}.hp-map{position:relative;display:flex;flex-direction:column;flex:1;min-height:clamp(560px,calc(100vh - 270px),1200px);background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:var(--shadow-md)}.hp-map-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);border-radius:16px 16px 0 0}.hp-map-title{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:var(--gray-700)}.hp-map-title h2{margin:0;font-size:.9375rem;font-weight:700;color:var(--gray-900)}.hp-map-stats{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .65rem;font-size:.75rem;color:var(--gray-500);background:var(--gray-100);border-radius:9999px}.hp-map-stats b{color:var(--gray-900)}.hp-map-stats i{font-style:normal;color:var(--gray-300)}.hp-map-actions{display:flex;align-items:center;gap:.5rem}.hp-reset{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .75rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-700);background:#fff;border:1px solid var(--gray-200);border-radius:9999px;cursor:pointer}.hp-reset:hover{border-color:var(--gray-300);background:var(--gray-50)}.hp-filters{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;background:var(--gray-50);border-bottom:1px solid var(--gray-100);container:hpf / inline-size}.hp-fgroup{display:flex;align-items:center;gap:.5rem;min-width:0}.hp-flabel{font-size:.5625rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);white-space:nowrap}.hp-modes{display:flex;flex-wrap:nowrap;gap:.25rem}.hp-mode{--chip-color: var(--gray-500);display:inline-flex;align-items:center;gap:.3rem;height:32px;padding:0 .6rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-500);background:#fff;border:1px solid var(--gray-200);border-radius:9999px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.hp-mode em{font-style:normal;font-size:.625rem;font-weight:700;color:var(--gray-400)}.hp-mode:hover{border-color:var(--chip-color)}.hp-mode.is-on{color:#fff;background:var(--chip-color);border-color:var(--chip-color)}.hp-mode.is-on em{color:#ffffffd9}.hp-filters .cf-trigger{min-width:160px}@container hpf (max-width: 1050px){.hp-filters[data-modes="6"] .hp-mode-name{display:none}}@container hpf (max-width: 960px){.hp-filters[data-modes="5"] .hp-mode-name{display:none}}@container hpf (max-width: 870px){.hp-filters[data-modes="4"] .hp-mode-name{display:none}}@container hpf (max-width: 780px){.hp-filters:is([data-modes="1"],[data-modes="2"],[data-modes="3"]) .hp-mode-name{display:none}}.hp-select{width:190px;height:32px;padding:0 .75rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-800);background:#fff;border:1px solid var(--gray-200);border-radius:9999px}.hp-select:hover{border-color:var(--gray-300)}.hp-shapes{position:absolute;top:12px;left:12px;z-index:800;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:calc(100% - 24px);padding:.4rem .6rem;background:#fffffff0;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hp-shapes .pk-badge,.hp-shapes .sl-kinds-all{font-size:.75rem}.hp-shapes .pk-badge{padding:.25rem .625rem .25rem .5rem}.hp-shapes .sl-kinds-all{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font:inherit;font-weight:600;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:9999px;cursor:pointer}.hp-canvas{position:relative;z-index:0;isolation:isolate;flex:1;min-height:360px;overflow:hidden;border-radius:0 0 16px 16px}.hp-canvas .interactive-map{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.hp-empty{position:absolute;top:50%;left:50%;z-index:700;transform:translate(-50%,-50%);padding:.5rem 1rem;font-size:.8125rem;color:var(--gray-500);text-align:center;background:#fffffff0;border:1px solid var(--gray-200);border-radius:10px;pointer-events:none}.hp-legend{position:absolute;left:12px;bottom:12px;z-index:800;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:calc(100% - 84px);padding:.4rem .5rem;background:#fffffff0;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hp-legend-item{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;font:inherit;font-size:.6875rem;font-weight:600;color:var(--gray-600);background:transparent;border:0;border-radius:9999px}.hp-legend-item b{color:var(--gray-900)}button.hp-legend-item{cursor:pointer}button.hp-legend-item:hover{background:var(--gray-100)}.hp-legend-item.is-off{opacity:.45}.hp-legend-item.is-off b{text-decoration:line-through}.hp--operator .hp-map{min-height:clamp(560px,calc(100vh - 210px),1200px)}.hp.is-expanded .hp-news,.hp.is-expanded .hp-top{display:none}.hp.is-expanded .hp-map{position:fixed;inset:0 0 0 var(--sidebar-width);z-index:150;min-height:0;border:0;border-radius:0;box-shadow:none}.hp.is-expanded .hp-canvas{border-radius:0}@media (max-width: 1100px){.hp-news-chips{display:none}}@media (max-width: 900px){.hp-news-label{display:none}}@media (prefers-reduced-motion: reduce){.hp-ticker-track,.hp-live{animation:none}.hp-ticker{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:900;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-line{width:20px;height:3px;border-radius:2px}.marker-pin{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0000004d}.marker-label{transform:rotate(45deg);color:#fff;font-size:8px;font-weight:700}.terminal-search-page{padding:0}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--gray-700)}.multi-select{position:relative}.multi-select-trigger{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-200);border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;transition:all .15s ease;text-align:left}.multi-select-trigger:hover{border-color:var(--gray-300)}.multi-select-trigger.has-selection{border-color:var(--primary);background:var(--primary-50)}.multi-select-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-700)}.multi-select-trigger:not(.has-selection) .multi-select-text{color:var(--gray-400)}.multi-select-trigger svg.rotate{transform:rotate(180deg)}.multi-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;max-height:280px;display:flex;flex-direction:column;overflow:hidden}.multi-select-search{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--gray-100)}.multi-select-search input{flex:1;border:none;outline:none;font-size:.875rem}.multi-select-options{flex:1;overflow-y:auto;padding:.375rem}.multi-select-empty{padding:1rem;text-align:center;color:var(--gray-400);font-size:.875rem}.multi-select-option{width:100%;display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border:none;border-radius:6px;background:transparent;cursor:pointer;text-align:left;font-size:.875rem;transition:background .1s ease}.multi-select-option:hover{background:var(--gray-50)}.multi-select-option.selected{background:var(--primary-50)}.multi-select-checkbox{width:16px;height:16px;border:1.5px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s ease}.multi-select-option.selected .multi-select-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.multi-select-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-footer{padding:.5rem .75rem;border-top:1px solid var(--gray-100)}.multi-select-clear{width:100%;padding:.375rem;border:none;border-radius:6px;background:var(--gray-100);color:var(--gray-600);font-size:.75rem;cursor:pointer;transition:background .1s ease}.multi-select-clear:hover{background:var(--gray-200)}.terminal-marker-pin{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;transition:transform .2s ease;cursor:pointer}.terminal-marker-pin.selected{transform:scale(1.3);z-index:1000!important}.map-popup-type{font-size:11px;color:#64748b;margin-top:2px}.map-control-btn{padding:.5rem;border:none;background:transparent;cursor:pointer;color:var(--gray-600);transition:all .15s ease}.map-control-btn:hover{background:var(--gray-100);color:var(--gray-900)}.map-control-btn:not(:last-child){border-bottom:1px solid var(--gray-100)}@media (max-width: 1024px){.map-container{flex-direction:column}.detail-panel{width:100%!important;max-height:300px}}.multimodal-search-page{padding:2rem;max-width:1600px;margin:0 auto;min-height:calc(100vh - 4rem)}.multimodal-search-page .page-header{margin-bottom:2rem;text-align:center}.multimodal-search-page .page-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;background:var(--color-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.multimodal-search-page .page-subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.search-layout{display:flex;flex-direction:column;gap:2rem}.search-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1rem;box-shadow:0 4px 24px #00000014,inset 0 1px #ffffff0d}.search-form{display:flex;flex-direction:column;gap:1rem}.search-locations{position:relative;padding:.75rem 1rem;background:var(--bg-card);border-radius:10px;border:1px solid var(--border-light);display:flex;align-items:center;gap:1rem}.search-locations .location-autocomplete{flex:1;min-width:0}.location-autocomplete{position:relative}.location-autocomplete-label{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:.25rem}.location-autocomplete-label .required{color:var(--danger);margin-left:.125rem}.location-autocomplete-input-wrapper{position:relative;display:flex;align-items:center}.location-autocomplete-icon{position:absolute;left:1rem;color:var(--primary);pointer-events:none;z-index:1}.location-autocomplete-input{width:100%;padding:.5rem 2.5rem;font-size:.875rem;border:2px solid transparent;border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-primary);transition:all .2s ease}.location-autocomplete-input::placeholder{color:var(--text-tertiary)}.location-autocomplete-input:hover{background:var(--bg-hover)}.location-autocomplete-input:focus{outline:none;background:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 4px var(--color-brand-ring)}.location-autocomplete-input.has-value{background:#22c55e14;border-color:#22c55e66}.location-autocomplete-input.has-value:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.location-autocomplete-spinner{position:absolute;right:1rem}.location-autocomplete-clear{position:absolute;right:.75rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;font-size:1rem;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.location-autocomplete-clear:hover{background:var(--danger);color:#fff}.location-autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;background-color:#fff;border:1px solid var(--gray-300, #d1d5db);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000040,0 4px 12px #00000026;list-style:none;padding:.5rem;z-index:var(--z-overlay);max-height:320px;overflow-y:auto;-webkit-backdrop-filter:none;backdrop-filter:none}.location-autocomplete-item{display:flex;align-items:center;gap:.875rem;padding:.75rem;cursor:pointer;border-radius:var(--radius);transition:all .15s}.location-autocomplete-item:hover,.location-autocomplete-item.highlighted{background:var(--color-brand-bg)}.location-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border-radius:var(--radius);color:var(--primary);flex-shrink:0}.location-item-content{flex:1;min-width:0}.location-item-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-item-type{display:block;font-size:.75rem;color:var(--text-tertiary);text-transform:capitalize;margin-top:2px}.location-autocomplete-loading,.location-autocomplete-no-results,.location-autocomplete-error{display:flex;align-items:center;gap:.75rem;padding:1rem;font-size:.875rem;color:var(--text-secondary);border-radius:var(--radius)}.location-autocomplete-loading{color:var(--primary);background:var(--color-brand-bg)}.location-autocomplete-no-results{color:var(--text-tertiary);background:var(--bg-tertiary)}.location-autocomplete-error{color:var(--danger);background:#ef444414}.locations-separator{display:flex;align-items:center;justify-content:center;padding:0 .5rem;flex-shrink:0}.separator-dot,.separator-dot.origin,.separator-dot.destination{display:none}.separator-line{width:40px;height:2px;background:linear-gradient(90deg,#22c55e 0%,var(--primary) 50%,#ef4444 100%);border-radius:1px;position:relative}.separator-line:before,.separator-line:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;top:50%;transform:translateY(-50%)}.separator-line:before{left:-4px;background:#22c55e}.separator-line:after{right:-4px;background:#ef4444}.separator-icon{display:none}.search-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:start}@media (max-width: 1100px){.search-filters{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.search-filters{grid-template-columns:1fr}}.search-filters-section{padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border-light)}.search-filters-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .625rem;display:flex;align-items:center;gap:.375rem}.search-filters-title:before{content:"";width:2px;height:12px;background:var(--color-brand);border-radius:2px}.search-filters-hint{font-size:.6875rem;color:var(--text-tertiary);margin:-.25rem 0 .5rem}.search-filters-sliders{display:flex;flex-direction:column;gap:.875rem}.slider-group{display:flex;flex-direction:column;gap:.375rem}.slider-group label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.slider-value{font-weight:700;font-size:.75rem;color:var(--primary);background:var(--color-brand-bg);padding:.125rem .375rem;border-radius:4px}.slider-container{position:relative;padding:.25rem 0}.slider{width:100%;height:6px;border-radius:3px;background:var(--color-brand-ring);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid var(--color-brand-soft)}.slider::-webkit-slider-runnable-track{height:6px;border-radius:3px}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-brand);cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;border:2px solid white;margin-top:-5px}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.slider::-moz-range-track{height:6px;border-radius:3px;background:var(--color-brand-ring);border:1px solid var(--color-brand-soft)}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-brand);cursor:pointer;box-shadow:var(--shadow);border:2px solid white}.slider-labels{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--text-tertiary)}.search-filters-capabilities{display:flex;flex-direction:column;gap:.25rem}.capability-checkbox{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:1px solid transparent;background:var(--bg-card)}.capability-checkbox:hover{background:var(--bg-hover);border-color:var(--border-color)}.capability-checkbox.checked{background:var(--color-brand-bg);border-color:var(--color-brand-soft)}.capability-checkbox input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.capability-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary)}.capability-icon.danger{background:#ef44441a;color:var(--danger)}.capability-icon.cold{background:#3b82f626;color:#3b82f6}.capability-label{font-size:.6875rem;font-weight:500;color:var(--text-primary)}.search-filters-advanced-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem 0;background:none;border:none;font-size:.8125rem;font-weight:500;color:var(--primary);cursor:pointer;transition:color .15s}.search-filters-advanced-toggle:hover{color:var(--primary-hover)}.search-filters-advanced{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:10px}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group-header{display:flex;justify-content:space-between;align-items:center}.filter-group-header h5{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.3px}.filter-group-actions{display:flex;gap:.75rem}.filter-group-actions button{font-size:.6875rem;font-weight:500;color:var(--primary);background:none;border:none;cursor:pointer;padding:0}.filter-group-actions button:hover{text-decoration:underline}.filter-chips{display:flex;flex-wrap:wrap;gap:.375rem}.filter-chip{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--color-brand-bg)}.filter-chip.active{background:var(--color-brand);border-color:transparent;color:#fff;box-shadow:var(--shadow)}.search-actions{display:flex;gap:.75rem;justify-content:flex-end}.search-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;background:var(--color-brand);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.search-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.search-error{padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--danger);font-size:.875rem;display:flex;align-items:flex-start;gap:.5rem}.results-panel{min-height:500px}.results-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);border:2px dashed var(--border-color)}.placeholder-icon{margin-bottom:1.5rem;color:var(--primary);opacity:.2}.results-placeholder h3{font-size:1.25rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem}.results-placeholder p{max-width:400px;margin:0;line-height:1.6;color:var(--text-tertiary)}.search-results-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;gap:1.5rem}.search-results-loading .loading-spinner{width:48px;height:48px;border-width:4px}.search-results-loading p{font-size:1rem;color:var(--text-secondary);font-weight:500}.search-results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.search-results-empty .empty-icon{color:var(--text-tertiary);opacity:.2;margin-bottom:1.5rem}.search-results-empty h3{font-size:1.25rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem}.search-results-empty p{color:var(--text-tertiary);margin:0;line-height:1.6}.search-results-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-brand-bg);border-radius:10px;margin-bottom:1rem;border:1px solid var(--color-brand-soft)}.results-count{font-size:.9375rem;color:var(--text-primary);font-weight:500}.results-count strong{color:var(--primary);font-weight:700}.results-actions-bar{display:flex;align-items:center;gap:1rem}.results-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-tertiary)}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--border-light)}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .15s}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.view-toggle-btn.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.results-map{margin-bottom:1rem}.results-map-container{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color)}.map-legend-inline{display:flex;justify-content:center;gap:1.25rem;padding:.625rem 1rem;background:var(--bg-card);border-radius:0 0 12px 12px;border:1px solid var(--border-color);border-top:none;margin-top:-1px;font-size:.75rem;font-weight:500}.map-legend-inline .legend-item{display:flex;align-items:center;gap:.25rem}.map-legend{display:flex;gap:1.5rem;padding:.625rem .75rem;background:var(--bg-tertiary);border-radius:0 0 8px 8px;border:1px solid var(--border-light);border-top:none;margin-top:-8px;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary)}.legend-item.origin svg{color:#22c55e}.legend-item.destination svg{color:#ef4444}.search-map-marker,.search-map-station{background:transparent!important;border:none!important}.search-results-list{display:flex;flex-direction:column;gap:.5rem}.search-result-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.75rem 1rem;transition:all .2s ease;position:relative;overflow:hidden}.search-result-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--color-brand);opacity:0;transition:opacity .2s}.search-result-card:hover{border-color:var(--color-brand-soft);box-shadow:0 2px 12px #0000000f}.search-result-card:hover:before{opacity:1}.result-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.result-rank{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;font-size:.875rem;font-weight:700;box-shadow:var(--shadow);flex-shrink:0}.result-transport-mode{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);flex-shrink:0}.result-main-info{flex:1;min-width:0}.result-operator{font-size:.8125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.result-operator .operator-link{transition:color .15s}.result-operator .operator-link:hover{color:var(--primary)}.result-country{font-size:.625rem;font-weight:500;color:#fff;background:var(--text-tertiary);padding:.0625rem .25rem;border-radius:2px}.result-reference{font-size:.6875rem;color:var(--text-secondary);margin-top:.0625rem}.result-deviation{text-align:center;padding:.25rem .5rem;border-radius:var(--radius-sm);min-width:56px}.deviation-value{display:block;font-size:.875rem;font-weight:700}.deviation-label{display:block;font-size:.5rem;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.deviation-excellent{background:#22c55e26;color:#16a34a}.deviation-good{background:#84cc1626;color:#65a30d}.deviation-ok{background:#eab30826;color:#ca8a04}.deviation-high{background:#ef444426;color:var(--danger)}.result-route{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:.5rem;border:1px solid var(--border-light)}.route-point{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}.route-point svg{color:var(--primary);flex-shrink:0}.route-locode{font-weight:700;color:var(--text-primary);font-size:.75rem;background:var(--bg-card);padding:.0625rem .25rem;border-radius:3px;flex-shrink:0;transition:all .15s}.route-locode:hover{background:var(--primary);color:#fff}.route-name{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-arrow{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-brand);border-radius:50%;color:#fff;font-weight:700;font-size:.625rem;flex-shrink:0}.result-distances{display:flex;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap}.distance-item{display:flex;align-items:center;gap:.125rem;padding:.125rem .375rem;border-radius:4px;background:var(--bg-tertiary);font-size:.6875rem}.distance-label{font-size:.6875rem;font-weight:500;color:var(--text-tertiary);white-space:nowrap}.distance-value{font-weight:700;color:var(--text-primary)}.distance-source{font-size:.5rem;color:var(--text-tertiary)}.distance-item.main{background:var(--color-brand-bg);border:1px solid var(--color-brand-soft)}.distance-item.main .distance-value{color:var(--primary)}.distance-item.total{background:var(--bg-secondary);border:1px solid var(--border-color)}.distance-item.direct{background:#22c55e1a;border:1px solid rgba(34,197,94,.15)}.distance-item.direct .distance-value{color:#16a34a}.result-capabilities{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.capability-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:600;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-light)}.capability-badge.danger{background:#ef44441a;border-color:#ef444433;color:var(--danger)}.capability-badge.cold{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.capability-badge.uti{background:var(--color-brand-bg);border-color:var(--color-brand-soft);color:var(--primary)}.result-frequency{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-secondary)}.frequency-item{display:flex;align-items:center;gap:.25rem}.frequency-item svg{color:var(--primary)}.result-expand-toggle{display:flex;align-items:center;gap:.375rem;padding:.25rem 0;background:none;border:none;font-size:.6875rem;font-weight:500;color:var(--primary);cursor:pointer;transition:all .15s}.result-expand-toggle:hover{color:var(--primary-hover);gap:.5rem}.result-runs{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:.5rem}.run-item{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;padding:.25rem .375rem;background:var(--bg-card);border-radius:4px}.run-departure{font-weight:600;color:var(--text-primary)}.run-arrow{color:var(--primary);font-weight:600}.run-arrival{color:var(--text-secondary)}.run-transit{font-size:.75rem;color:var(--text-tertiary);margin-left:auto;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:4px}.result-actions{display:flex;gap:.625rem;padding-top:1rem;border-top:1px solid var(--border-light)}.result-actions .btn{display:inline-flex;align-items:center;gap:.375rem;font-weight:500}.result-map-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.result-map-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.multimodal-journey{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:10px;padding:.875rem;margin-bottom:.75rem}.journey-label{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px dashed var(--border-light)}.journey-label svg{color:var(--primary)}.journey-visualization{display:flex;align-items:center;gap:0;overflow-x:auto;padding:.5rem 0}.journey-point{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0;min-width:70px}.point-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;box-shadow:0 2px 8px #00000026;transition:transform .2s}.point-marker:hover{transform:scale(1.1)}.origin-marker{background:var(--success)}.destination-marker{background:var(--color-brand)}.terminal-marker{background:var(--color-brand);width:24px;height:24px}.point-info{display:flex;flex-direction:column;align-items:center;gap:.125rem;text-align:center}.point-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary)}.point-name{font-size:.6875rem;font-weight:600;color:var(--text-primary);max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-locode{font-size:.625rem;font-weight:700;color:#fff;background:var(--primary);padding:.125rem .375rem;border-radius:4px;cursor:pointer;transition:all .15s}.point-locode:hover{background:var(--primary-hover);transform:scale(1.05)}.journey-segment{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;min-width:40px;max-width:100px}.segment-line{width:100%;height:3px;border-radius:2px;position:relative}.segment-line.pre,.segment-line.post{background:repeating-linear-gradient(90deg,#f59e0b,#f59e0b 6px,transparent 6px,transparent 10px);opacity:.8}.segment-line.post{background:repeating-linear-gradient(90deg,#10b981,#10b981 6px,transparent 6px,transparent 10px)}.segment-line.main{height:5px;background:var(--color-brand);box-shadow:var(--shadow-sm)}.segment-info{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--text-tertiary);white-space:nowrap}.segment-info.main{font-size:.625rem;font-weight:600;color:var(--primary)}.segment-info svg{flex-shrink:0}.pre-routing .segment-info svg{color:#f59e0b}.post-routing .segment-info svg{color:#10b981}.journey-distances-summary{display:flex;justify-content:center;gap:1rem;margin-top:.75rem;padding-top:.5rem;border-top:1px dashed var(--border-light)}.distance-summary-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.summary-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary)}.summary-value{font-size:.75rem;font-weight:700;color:var(--text-primary)}.distance-summary-item.total .summary-value{color:var(--text-primary)}.distance-summary-item.direct .summary-value{color:#16a34a}.map-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.map-modal-title{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--text-primary)}.map-modal-rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;font-size:.75rem;font-weight:700}.map-modal-route{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.map-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.map-modal-close:hover{background:var(--danger);color:#fff}.map-modal-journey-info{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.625rem 1rem;background:var(--color-brand-bg);border-bottom:1px solid var(--border-light)}.journey-info-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.journey-info-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary)}.journey-info-value{font-size:.75rem;font-weight:600;color:var(--text-primary)}.journey-info-value.deviation-excellent{color:#16a34a}.journey-info-value.deviation-good{color:#65a30d}.journey-info-value.deviation-ok{color:#ca8a04}.journey-info-value.deviation-high{color:var(--danger)}.journey-info-separator{color:var(--border-color);font-size:.875rem}.map-modal-content{flex:1;min-height:400px;height:50vh}.map-legend-enhanced{display:flex;gap:2rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-wrap:wrap}.legend-section{display:flex;flex-direction:column;gap:.375rem}.legend-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary)}.legend-items{display:flex;gap:.875rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--text-secondary)}.legend-marker{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-marker.origin-marker{background:var(--success)}.legend-marker.destination-marker,.legend-marker.terminal-marker{background:var(--color-brand)}.legend-line{width:24px;height:4px;border-radius:2px;flex-shrink:0}.legend-line.pre-line{background:repeating-linear-gradient(90deg,#f59e0b,#f59e0b 4px,transparent 4px,transparent 6px)}.legend-line.main-line{background:var(--color-brand);height:5px}.legend-line.post-line{background:repeating-linear-gradient(90deg,#10b981,#10b981 4px,transparent 4px,transparent 6px)}.map-marker-container{display:flex;align-items:center;gap:.375rem;position:relative}.map-marker-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;box-shadow:0 2px 8px #00000040}.map-marker-container.origin .map-marker-icon{background:var(--success)}.map-marker-container.destination .map-marker-icon{background:var(--color-brand)}.map-marker-container.terminal .map-marker-icon{background:var(--color-brand);width:24px;height:24px}.map-marker-label{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;white-space:nowrap;box-shadow:0 1px 4px #00000026}.origin-label{background:#22c55e;color:#fff}.destination-label{background:#8b5cf6;color:#fff}.terminal-label{background:var(--primary);color:#fff}.map-popup{font-size:.8125rem;line-height:1.5}.map-popup strong{display:block;margin-bottom:.25rem}.map-popup em{color:var(--text-secondary);font-style:normal}.map-modal .map-legend-inline{border-radius:0;border:none;border-top:1px solid var(--border-color)}.spinner-small{width:18px;height:18px;border:2px solid var(--color-brand-soft);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-brand-soft);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 900px){.search-locations{flex-direction:column;gap:.75rem}.search-locations .location-autocomplete{width:100%}.locations-separator{transform:rotate(90deg);padding:.25rem 0}.search-actions{justify-content:stretch}.search-actions .btn{flex:1}}@media (max-width: 768px){.multimodal-search-page{padding:1rem}.search-panel{padding:1.25rem}.search-locations{padding:1rem}.result-card-header{flex-wrap:wrap}.result-deviation{width:100%;margin-top:.5rem}.result-distances{grid-template-columns:repeat(2,1fr)}.journey-visualization{flex-direction:column;align-items:stretch;gap:.5rem}.journey-point{flex-direction:row;min-width:auto;gap:.75rem}.point-info{align-items:flex-start;text-align:left}.point-name{max-width:none}.journey-segment{flex-direction:row;max-width:none;padding-left:14px}.segment-line{width:3px;height:20px}.segment-line.pre,.segment-line.post{background:repeating-linear-gradient(180deg,#f59e0b,#f59e0b 6px,transparent 6px,transparent 10px)}.segment-line.post{background:repeating-linear-gradient(180deg,#10b981,#10b981 6px,transparent 6px,transparent 10px)}.segment-line.main{width:5px;height:20px;background:var(--color-brand)}.map-modal-overlay{padding:1rem}.map-modal{max-height:95vh}.map-modal-journey-info{flex-wrap:wrap;gap:.75rem}.map-legend-enhanced{flex-direction:column;gap:1rem}.legend-items{flex-direction:column;gap:.5rem}}.agent-chat-root{display:flex;flex-direction:column;height:100%;min-height:0;gap:.75rem}.agent-chat-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.agent-chat-toolbar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;flex-wrap:wrap}.agent-chat-badge{font-size:.72rem;color:var(--gray-500);padding:.2rem .55rem;background:var(--gray-100);border-radius:999px}.agent-theme-badge{background:#e0f2fe;color:#075985;font-weight:600}.agent-theme-picker{width:100%;display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;text-align:left}.agent-theme-picker-title{font-weight:600;color:var(--gray-800);text-align:center}.agent-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.agent-theme-option{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .8rem;border:1px solid var(--gray-200);border-radius:10px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:var(--gray-700)}.agent-theme-option:hover:not(:disabled){border-color:var(--color-brand, #e89a13)}.agent-theme-option.is-selected{border-color:var(--color-brand, #e89a13);box-shadow:0 0 0 2px #e89a1340;color:var(--gray-900)}.agent-theme-option:disabled{cursor:not-allowed;opacity:.55}.agent-theme-option-label{font-weight:600;font-size:.9rem}.agent-theme-option-summary{font-size:.75rem;color:var(--gray-500)}.agent-theme-note{font-size:.75rem;color:var(--gray-500);text-align:center;margin:0}@media (max-width: 520px){.agent-theme-options{grid-template-columns:1fr}}.agent-chat-scroll{flex:1;min-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:.875rem;padding:1rem;background:var(--gray-50);border-radius:10px}.agent-chat-empty{margin:auto;max-width:560px;text-align:center;color:var(--gray-500);display:flex;flex-direction:column;align-items:center;gap:.5rem}.agent-chat-empty-title{font-weight:600;color:var(--gray-800)}.agent-chat-examples{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;width:100%}.agent-msg{max-width:min(46rem,92%);font-size:.9rem;line-height:1.55;word-break:break-word}.agent-msg-user{align-self:flex-end;background:var(--color-brand, #e89a13);color:#fff;padding:.6rem .9rem;border-radius:14px 14px 4px;white-space:pre-wrap}.agent-msg-bot{align-self:flex-start;width:100%;background:#fff;border:1px solid var(--gray-200);border-radius:14px 14px 14px 4px;padding:.75rem 1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem}.agent-msg-error{align-self:flex-start;display:flex;gap:.5rem;align-items:flex-start;background:var(--error-bg, #fef2f2);color:var(--error, #b91c1c);border:1px solid #fecaca;padding:.6rem .9rem;border-radius:10px}.agent-msg-note{font-size:.78rem;color:var(--gray-500);font-style:italic}.agent-caret{display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--gray-400);animation:agent-caret-blink 1s steps(2,start) infinite}@keyframes agent-caret-blink{to{visibility:hidden}}.agent-steps{font-size:.78rem;color:var(--gray-600)}.agent-steps summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.4rem;color:var(--gray-500)}.agent-steps summary::-webkit-details-marker{display:none}.agent-steps summary:before{content:"▸";font-size:.7rem}.agent-steps[open] summary:before{content:"▾"}.agent-steps ul{list-style:none;margin:.4rem 0 0;padding:0 0 0 .25rem;display:flex;flex-direction:column;gap:.25rem}.agent-step{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.agent-step-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-300);flex-shrink:0;align-self:center}.agent-step-running .agent-step-dot{background:var(--color-brand, #e89a13);animation:agent-step-pulse 1s ease-in-out infinite}.agent-step-done .agent-step-dot{background:#16a34a}.agent-step-error .agent-step-dot{background:#dc2626}@keyframes agent-step-pulse{50%{opacity:.3}}.agent-step-summary{color:var(--gray-500)}.agent-step-ms{margin-left:auto;color:var(--gray-400);font-variant-numeric:tabular-nums}.agent-md>:first-child{margin-top:0}.agent-md>:last-child{margin-bottom:0}.agent-md p{margin:.5em 0}.agent-md ul,.agent-md ol{margin:.5em 0;padding-left:1.3rem}.agent-md li{margin:.15em 0}.agent-md h1,.agent-md h2,.agent-md h3,.agent-md h4{font-size:.95rem;margin:.9em 0 .35em}.agent-md a{color:var(--color-brand-dark, #b97508);text-decoration:underline;text-underline-offset:2px}.agent-md code{background:var(--gray-100);padding:.1em .35em;border-radius:4px;font-size:.85em}.agent-md pre{background:var(--gray-100);padding:.6rem .75rem;border-radius:8px;overflow-x:auto}.agent-md pre code{background:none;padding:0}.agent-md blockquote{margin:.5em 0;padding-left:.75rem;border-left:3px solid var(--gray-300);color:var(--gray-600)}.agent-md-table{overflow-x:auto;margin:.6em 0}.agent-md table{border-collapse:collapse;font-size:.82rem;min-width:60%}.agent-md th,.agent-md td{border:1px solid var(--gray-200);padding:.3rem .55rem;text-align:left}.agent-md th{background:var(--gray-50);font-weight:600}.agent-md-source{font-style:italic;color:var(--gray-600)}.agent-op-card{border:1px solid var(--gray-200);border-radius:10px;padding:.75rem .9rem;background:var(--gray-50);display:flex;flex-direction:column;gap:.6rem}.agent-op-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.agent-op-card-name{font-weight:600;font-size:.95rem}.agent-op-card-sub,.agent-op-card-muted{font-size:.78rem;color:var(--gray-500)}.agent-op-card-link{font-size:.78rem;white-space:nowrap;color:var(--color-brand-dark, #b97508)}.agent-op-card-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.agent-op-card-kpis>div{display:flex;flex-direction:column}.agent-op-card-kpis strong{font-size:1.15rem;line-height:1.2}.agent-op-card-kpis span{font-size:.72rem;color:var(--gray-500)}.agent-op-card-tags{display:flex;flex-wrap:wrap;gap:.35rem}.agent-op-card-corridors{list-style:none;margin:0;padding:0;font-size:.82rem;display:flex;flex-direction:column;gap:.2rem}.agent-op-card-corridors li{display:flex;justify-content:space-between;gap:.75rem}.agent-sources,.agent-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.agent-sources-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.agent-chip{display:inline-flex;align-items:center;max-width:100%;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-size:.78rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.agent-chip:hover{border-color:var(--gray-400)}.agent-chip-example,.agent-chip-suggest{cursor:pointer;white-space:normal;text-align:left}.agent-chip-example{padding:.5rem .9rem;border-radius:10px;font-size:.85rem}.agent-chip-example:hover:not(:disabled),.agent-chip-suggest:hover{border-color:var(--color-brand, #e89a13);color:var(--gray-900)}.agent-actions{display:flex;align-items:center;gap:.25rem;color:var(--gray-500)}.agent-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.agent-icon-btn:hover{background:var(--gray-100);color:var(--gray-800)}.agent-icon-btn.is-active{color:#16a34a;background:#f0fdf4}.agent-icon-btn.is-negative{color:#dc2626;background:#fef2f2}.agent-tech{margin-left:.5rem;font-size:.72rem;color:var(--gray-400)}.agent-feedback-box{display:flex;gap:.4rem;align-items:center}.agent-feedback-box .form-input{flex:1}.agent-chat-composer{display:flex;gap:.5rem;align-items:flex-end}.agent-chat-composer textarea.form-input{flex:1;resize:none;min-height:0;line-height:1.4}.agent-chat-composer .btn{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.agent-map-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--color-brand, #e89a13);background:#fff;color:var(--color-brand-dark, #b97508);font-size:.82rem;font-weight:600;cursor:pointer}.agent-map-cta:hover{background:var(--color-brand, #e89a13);color:#fff}.agent-terminal-pin{width:14px;height:14px;border-radius:3px;background:#1f2937;border:2px solid #fff;box-shadow:0 1px 4px #0006}.agent-chat-footnote{display:flex;justify-content:flex-end;margin-bottom:-.35rem}.agent-privacy{position:relative}.agent-privacy-toggle{display:inline-flex;align-items:center;gap:.3rem;border:none;background:transparent;color:var(--gray-500);font-size:.72rem;cursor:pointer;padding:.1rem .3rem}.agent-privacy-toggle:hover{color:var(--gray-800)}.agent-privacy-panel{position:absolute;right:0;bottom:1.6rem;width:min(30rem,88vw);max-height:60vh;overflow-y:auto;z-index:20;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:.75rem .9rem;box-shadow:0 8px 28px #00000024;font-size:.78rem;line-height:1.5;color:var(--gray-700)}.agent-privacy-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.agent-privacy-panel p{margin:0}.agent-privacy-panel small{display:block;margin-top:.5rem;color:var(--gray-400)}.agent-privacy-panel a{display:inline-block;margin-top:.4rem;color:var(--color-brand-dark, #b97508)}.agent-history{position:relative}.agent-history-panel{position:absolute;left:0;top:calc(100% + .35rem);width:min(24rem,90vw);max-height:60vh;overflow-y:auto;z-index:25;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:.6rem .7rem .7rem;box-shadow:0 8px 28px #00000024;font-size:.82rem;color:var(--gray-700)}.agent-history-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.agent-history-clear{border:none;background:transparent;color:#dc2626;font-size:.75rem;cursor:pointer;padding:.1rem .25rem}.agent-history-clear:hover{text-decoration:underline}.agent-history-empty{margin:.5rem 0;color:var(--gray-500)}.agent-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.agent-history-list li{display:flex;align-items:center;gap:.25rem;border-radius:8px}.agent-history-list li.is-current{background:var(--gray-100)}.agent-history-item{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;text-align:left;border:none;background:transparent;padding:.4rem .5rem;border-radius:8px;cursor:pointer;color:inherit}.agent-history-item:hover:not(:disabled){background:var(--gray-50)}.agent-history-item:disabled{opacity:.55;cursor:not-allowed}.agent-history-title{font-weight:600;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-history-meta{font-size:.72rem;color:var(--gray-500)}.agent-history-foot{margin:.6rem 0 0;font-size:.72rem;color:var(--gray-400)}.service-lines-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-subtitle{color:var(--gray-500);margin-top:.5rem}.service-line-form{max-width:900px}.form-section{margin-bottom:2rem;padding:1.5rem;background:var(--gray-50);border-radius:var(--radius)}.form-section h3{margin:0 0 1rem;font-size:1rem;color:var(--gray-800)}.form-grid{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;color:var(--gray-700);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.form-group small{color:var(--gray-500);font-size:.75rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.checkbox-label:hover{background:var(--gray-50);border-color:var(--gray-300)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.875rem;color:var(--gray-700)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.service-lines-list{display:flex;flex-direction:column;gap:1rem}.line-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:all .2s}.line-card:hover{box-shadow:var(--shadow-md)}.line-card.expanded{box-shadow:var(--shadow-lg)}.line-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;cursor:pointer;transition:background .2s}.line-header:hover{background:var(--gray-50)}.line-header-left{display:flex;align-items:center;gap:1rem;flex:1}.expand-btn{background:none;border:none;padding:.25rem;cursor:pointer;display:flex;align-items:center;color:var(--gray-500);transition:transform .2s}.expand-btn svg.rotated{transform:rotate(90deg)}.line-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--gray-100);border-radius:var(--radius);color:#3b82f6}.line-info{display:flex;flex-direction:column;gap:.25rem}.line-route{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem}.line-route .locode{color:var(--gray-800)}.line-route .arrow{color:var(--gray-400)}.line-ref{font-size:.75rem;color:var(--gray-500)}.line-header-right{display:flex;align-items:center;gap:1rem}.line-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge-mode{background:#dbeafe;color:#1e40af}.badge-runs{background:#f0fdf4;color:#166534}.badge-feature{background:#fef3c7;font-size:1rem}.line-actions{display:flex;gap:.5rem}.btn-icon{background:none;border:none;padding:.5rem;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;color:var(--gray-500);transition:all .2s}.btn-icon:hover{background:var(--gray-100);color:var(--gray-800)}.btn-icon.btn-danger:hover{background:#fef2f2;color:#dc2626}.line-details{padding:1.5rem;background:var(--gray-50);border-top:1px solid var(--gray-200)}.line-section{margin-bottom:1.5rem}.line-section:last-child{margin-bottom:0}.line-section h4{margin:0 0 1rem;font-size:.875rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.characteristics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.char-item{display:flex;flex-direction:column;gap:.25rem}.char-label{font-size:.75rem;color:var(--gray-500)}.char-value{font-size:.875rem;font-weight:500;color:var(--gray-800)}.features-list{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{padding:.375rem .75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-700)}.runs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.run-item{padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.run-item .run-day{font-size:.75rem;color:var(--gray-500);margin-bottom:.5rem;font-weight:500}.run-item .run-times{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.run-item .time{font-size:.875rem;font-weight:600}.run-item .arrow{color:var(--gray-400)}.run-item .run-transit{font-size:.75rem;color:var(--gray-500)}.line-notes{font-size:.875rem;color:var(--gray-600);margin:0;line-height:1.6}.modal-content.large{max-width:1000px;width:90vw;max-height:90vh;overflow-y:auto}.service-line-form .form-section{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.75rem;margin-bottom:1.5rem;transition:all .2s ease}.service-line-form .form-section:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #0000000a}.service-line-form .form-section h3{display:flex;align-items:center;gap:.625rem;font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-200)}.service-line-form .form-section h3:before{content:"";display:block;width:4px;height:20px;background:var(--info);border-radius:2px}.service-line-form .form-group input,.service-line-form .form-group select,.service-line-form .form-group textarea{padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:10px;font-size:.9375rem;transition:all .2s ease;background:#fff}.service-line-form .form-group input:focus,.service-line-form .form-group select:focus,.service-line-form .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.service-line-form .form-group label{font-weight:600;color:#374151;font-size:.875rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem}.service-line-form .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.service-line-form .checkbox-label{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.service-line-form .checkbox-label:hover{background:var(--gray-50);border-color:var(--gray-300)}.service-line-form .checkbox-label:has(input:checked){background:#eff6ff;border-color:#3b82f6}.service-line-form .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.service-line-form .checkbox-label span{font-size:.9375rem;font-weight:500;color:#374151}.service-line-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.service-line-form .form-actions .btn{padding:.75rem 1.5rem;font-weight:600;border-radius:10px}.form-actions-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;margin:-1rem -1.5rem 1.5rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);border-radius:12px 12px 0 0;position:sticky;top:0;z-index:10}.form-actions-left{display:flex;align-items:center;gap:.75rem}.form-status{font-size:.9375rem;font-weight:700;color:var(--gray-700);padding:.375rem .875rem;border-radius:var(--radius-full);display:inline-flex;align-items:center}.form-status--editing{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.form-status--new{background:#dcfce7;color:#15803d;border:1px solid #86efac}.form-actions-header:has(.form-status--editing){background:#fffbeb;border-bottom-color:#fcd34d}.form-actions-right{display:flex;gap:.75rem}.form-actions-header .btn-lg{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:10px;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.form-actions-header .btn-primary{background:var(--secondary);border:none;color:#fff;box-shadow:0 4px 12px #10b98140}.form-actions-header .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98159}.form-actions-header .btn-secondary{background:#fff;border:2px solid var(--gray-300);color:var(--gray-700)}.form-actions-header .btn-secondary:hover{background:var(--gray-100);border-color:var(--gray-400)}@media (max-width: 768px){.service-lines-page{padding:1rem}.form-actions-header{flex-direction:column;gap:1rem;padding:1rem}.form-actions-right{width:100%;justify-content:stretch}.form-actions-header .btn-lg{flex:1;justify-content:center}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row,.form-grid-2,.checkbox-grid{grid-template-columns:1fr}.line-header-left,.line-badges{flex-wrap:wrap}.runs-grid,.runs-list{grid-template-columns:1fr}}.plan-group-row{cursor:pointer;background:var(--gray-50)}.plan-group-row:hover{background:var(--gray-100)}.plan-group-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:var(--primary);color:#fff}.plan-child-row td{background:var(--gray-50)}.plan-child-row td:first-child{border-left:3px solid var(--primary)}.plan-child-row td:nth-child(3){padding-left:2rem}.plan-badge{text-transform:none;letter-spacing:0;white-space:nowrap}.sl-table-wrap{overflow-x:auto}.sl-table{width:100%;border-collapse:collapse;font-size:.8125rem;color:var(--gray-800, #1f2937)}.sl-table thead th{position:sticky;top:0;z-index:1;padding:.5rem .625rem;text-align:left;white-space:nowrap;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.sl-table td{padding:.375rem .625rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.sl-row:hover td{background:var(--gray-50)}.sl-row--selected td{background:var(--primary-light)!important}.sl-row--inactive td{opacity:.6}.sl-row--group td{background:var(--gray-50);cursor:pointer;border-bottom:1px solid var(--gray-200)}.sl-row--group td:first-child{box-shadow:inset 4px 0 0 var(--pk, var(--primary))}.sl-row--group:hover td{background:var(--gray-100)}.sl-row--child td{background:#fff}.sl-row--child td:first-child{box-shadow:inset 4px 0 0 var(--pk-soft, var(--gray-200))}.sl-row--child .sl-route{padding-left:.25rem}.sl-col-check{width:30px}.sl-col-chevron{width:28px;padding-left:0!important;padding-right:0!important}.sl-col-type{width:132px}.sl-col-track{width:108px}.sl-col-mode{width:76px}.sl-col-vessel{width:112px}.sl-col-uti{width:172px}.sl-col-days{width:176px}.sl-col-transit{width:66px;white-space:nowrap}.sl-col-opts{width:96px}.sl-col-actions{width:100px;white-space:nowrap;text-align:right}.sl-muted{color:var(--gray-400)}.sl-child-dir{padding-left:.5rem}.sl-route{display:flex;flex-direction:column;gap:1px;min-width:0}.sl-route-main{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.8125rem}.sl-route-main b{font-weight:600}.sl-route-arrow{color:var(--gray-400);margin:0 .125rem}.sl-cc{font-size:.625rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:0 .25rem;border-radius:3px}.sl-route-sub{font-size:.6875rem;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.sl-track,.sl-track-btn{display:inline-flex;align-items:center}.sl-track-btn{padding:2px 4px;margin:-2px -4px;font:inherit;background:none;border:0;border-radius:6px;cursor:pointer}.sl-track-btn:hover{background:var(--gray-100)}.sl-track-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.sl-mode{display:inline-block;padding:.0625rem .4rem;margin-right:.2rem;border-radius:4px;font-size:.6875rem;font-weight:600;color:#b45309;background:#fef3c7}.sl-chips{display:inline-flex;gap:.25rem;flex-wrap:nowrap}.sl-chip{padding:0 .375rem;border-radius:4px;font-size:.6875rem;font-weight:600;color:var(--gray-700);background:var(--gray-100);line-height:1.5;white-space:nowrap}.sl-chip--more{color:var(--gray-500);background:transparent;border:1px solid var(--gray-200)}.sl-chip--warn{color:#92400e;background:#fef3c7}.sl-chip--cold{color:#075985;background:#e0f2fe}.sl-chip--muted{color:var(--gray-500);background:var(--gray-100);font-weight:500}.sl-departures{display:inline-flex;align-items:center;gap:.5rem}.sl-nostrip{min-width:94px}.sl-departures-count{font-size:.75rem;font-weight:600;color:var(--gray-600);white-space:nowrap}.sl-week{display:inline-flex;gap:2px}.sl-week-day{width:16px;height:16px;line-height:16px;text-align:center;font-size:.5625rem;font-weight:700;border-radius:3px;color:var(--gray-400);background:var(--gray-100)}.sl-week-day.is-on{color:#fff;background:var(--primary)}.sl-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:5px;color:var(--gray-500);cursor:pointer}.sl-icon-btn:hover{background:var(--gray-100);color:var(--gray-800)}.sl-icon-btn--danger:hover{background:#fee2e2;color:var(--danger, #dc2626)}.sl-expanded td{background:var(--gray-50)!important;padding:.5rem 1rem .625rem 3rem}.sl-runs{display:flex;flex-wrap:wrap;gap:.375rem}.sl-run{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:.75rem}.sl-run-transit{margin-left:.375rem;color:var(--gray-500);font-size:.6875rem}.sl-runs-empty{font-size:.75rem;color:var(--gray-500);font-style:italic}.sl-vessel{display:inline-flex;flex-direction:column;gap:.125rem;align-items:flex-start}.sl-vessel .sl-chips{flex-wrap:wrap}.sl-vessel-cap{font-size:.6875rem;color:var(--gray-500);white-space:nowrap}.sl-maritime{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;align-items:baseline;margin:0 0 .5rem;font-size:.75rem}.sl-maritime-item{display:inline-flex;gap:.375rem;align-items:baseline;margin:0}.sl-maritime-item dt{color:var(--gray-500);font-weight:500}.sl-maritime-item dt:after{content:" :"}.sl-maritime-item dd{margin:0;color:var(--gray-800);font-weight:600}.sl-dated{margin:0 0 .625rem;font-size:.75rem}.sl-dated.sl-muted{color:var(--gray-500);font-style:italic}.sl-dated-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-bottom:.375rem;color:var(--gray-800)}.sl-dated-head .sl-muted{color:var(--gray-500)}.sl-dated-table{width:100%;max-width:46rem;border-collapse:collapse;background:#fff;border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.sl-dated-table th{padding:.3125rem .625rem;text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.sl-dated-table td{padding:.3125rem .625rem;vertical-align:top;color:var(--gray-800);border-bottom:1px solid var(--gray-100)}.sl-dated-table tbody tr:last-child td{border-bottom:0}.sl-dated-sub{display:block;font-size:.6875rem;color:var(--gray-500);font-weight:400}.sl-dated-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-top:.375rem;color:var(--gray-500)}.sl-link-btn{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--primary);cursor:pointer}.sl-link-btn:hover{text-decoration:underline}.sl-link-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.sl-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1rem;background:#fffbeb;border-top:1px solid #fde68a;border-bottom:1px solid #fde68a;font-size:.8125rem;color:#92400e}.plan-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.plan-type-card{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;padding:.625rem .75rem .75rem;text-align:left;font-family:inherit;cursor:pointer;color:var(--gray-800);border:1px solid var(--gray-200);border-radius:10px;background:#fff;transition:border-color .12s,background .12s,box-shadow .12s}.plan-type-card:hover{border-color:var(--pk)}.plan-type-card.is-active{border-color:var(--pk);background:var(--pk-soft);box-shadow:0 0 0 1px var(--pk)}.plan-type-card:focus-visible{outline:2px solid var(--pk);outline-offset:2px}.plan-type-name{font-weight:700;font-size:.875rem}.plan-type-hint{font-size:.6875rem;line-height:1.35;color:var(--gray-500)}.plan-preview{border:1px solid var(--gray-200);border-left:4px solid var(--pk);border-radius:10px;background:#fff;overflow:hidden}.plan-preview-empty{padding:1.5rem;text-align:center;font-size:.8125rem;color:var(--gray-400)}.plan-stops-note{font-weight:400;text-transform:none;letter-spacing:0;color:var(--gray-400)}.plan-stops{display:flex;flex-direction:column;gap:.375rem}.plan-stop{display:flex;align-items:center;gap:.5rem}.plan-stop-index{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gray-100);color:var(--gray-600);font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center}.plan-stop-select{flex:1;min-width:0}.plan-stop-actions{display:flex;gap:2px;flex:none}.plan-stop--return{color:var(--gray-500);font-size:.8125rem}.plan-services{display:flex;flex-direction:column;border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.plan-service{display:flex;align-items:center;justify-content:space-between;padding:.375rem .75rem;font-size:.8125rem;border-bottom:1px solid var(--gray-100)}.plan-service:last-child{border-bottom:none}.sl-end{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.sl-filters{display:flex;flex-direction:column;gap:.625rem;padding:.75rem 1rem;border-top:1px solid var(--hairline, var(--gray-200));background:var(--gray-50)}.sl-filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sl-filter-search{position:relative;flex:1 1 260px;min-width:220px;max-width:380px}.sl-filter-search .form-input{padding-left:2.125rem}.sl-filter-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.sl-filter-select{width:auto;min-width:140px;max-width:220px}.sl-filter-label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400);margin-right:.125rem}.sl-filters-row--secondary{gap:.5rem .75rem}.sl-day-toggle{display:inline-flex;gap:.25rem;margin-right:.5rem}.sl-day-toggle button{width:1.75rem;height:1.75rem;padding:0;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-500);background:#fff;border:1px solid var(--gray-200);border-radius:6px;cursor:pointer}.sl-day-toggle button:hover{border-color:var(--gray-300);color:var(--gray-900)}.sl-day-toggle button.is-on{background:var(--gray-900);border-color:var(--gray-900);color:#fff}.sl-option-toggle{display:inline-flex;flex-wrap:wrap;gap:.375rem}.sl-option-toggle button{height:1.75rem;padding:0 .625rem;font:inherit;font-size:.75rem;font-weight:500;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:9999px;cursor:pointer}.sl-option-toggle button:hover{border-color:var(--gray-300);color:var(--gray-900)}.sl-option-toggle button.is-on{background:var(--gray-900);border-color:var(--gray-900);color:#fff}.sl-filter-summary{display:inline-flex;align-items:center;gap:.75rem;margin-left:auto;font-size:.8125rem;color:var(--gray-500)}.sl-sort{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.sl-sort:hover,.sl-sort.is-on{color:var(--gray-900)}.sl-sort-arrow{font-size:.625rem;opacity:.5}.sl-sort.is-on .sl-sort-arrow{opacity:1}.sl-table thead .sl-filter-row th{top:30px;padding:.25rem .375rem;text-transform:none;letter-spacing:0;font-weight:400;background:#fff}.sl-cf{width:100%;min-width:0;padding:.2rem .375rem;font:inherit;font-size:.75rem;border:1px solid var(--gray-200);border-radius:6px;background:#fff;color:var(--gray-700)}.sl-banner--plan{background:#f0fdfa;border-color:#99f6e4;color:#115e59}.cf{--cf: var(--color-brand);--cf-soft: var(--color-brand-bg);--cf-ring: var(--color-brand-ring);position:relative;display:inline-flex}.cf-trigger{display:inline-flex;align-items:center;gap:.5rem;min-width:176px;height:42px;padding:0 .625rem 0 .75rem;font:inherit;text-align:left;color:var(--gray-800);background:#fff;cursor:pointer;border:1px solid var(--gray-200);border-radius:10px;transition:border-color .12s,box-shadow .12s,background .12s}.cf-trigger:hover{border-color:var(--gray-300)}.cf.has-value .cf-trigger{border-color:var(--cf);background:var(--cf-soft)}.cf.is-open .cf-trigger,.cf-trigger:focus-visible{border-color:var(--cf);box-shadow:0 0 0 3px var(--cf-ring);outline:none}.cf-ico{display:inline-flex;color:var(--gray-400)}.cf.has-value .cf-ico,.cf.is-open .cf-ico{color:var(--cf)}.cf-trigger-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}.cf-trigger-label{font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400)}.cf.has-value .cf-trigger-label{color:var(--color-brand-hover)}.cf-trigger-value{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;color:var(--gray-700)}.cf.has-value .cf-trigger-value{color:var(--gray-900)}.cf-chevron{flex:none;color:var(--gray-400);transition:transform .15s}.cf.is-open .cf-chevron{transform:rotate(180deg)}.cf-stack{display:inline-flex;align-items:center;padding-left:6px}.cf-more{margin-left:4px;font-size:.6875rem;font-weight:700;color:var(--gray-600)}.cf-flag{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.cf-flag--md{width:24px;font-size:1.125rem}.cf-flag--sm{width:22px;height:22px;margin-left:-6px;font-size:.8125rem;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #0f172a1a}.cf-clear{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:18px;height:18px;padding:0;color:#fff;background:var(--gray-600);border:2px solid #fff;border-radius:50%;cursor:pointer}.cf-clear:hover{background:var(--gray-900)}.cf-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:340px;overflow:hidden;background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 18px 40px -12px #0f172a47,0 4px 10px #0f172a0f;animation:cf-pop .12s ease-out}.cf-popover--right{left:auto;right:0}@keyframes cf-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cf-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.75rem .875rem .25rem}.cf-title{font-size:.8125rem;font-weight:700;color:var(--gray-900)}.cf-sub{font-size:.6875rem;color:var(--gray-400)}.cf-search{display:flex;align-items:center;gap:.5rem;margin:.375rem .75rem .25rem;padding:0 .625rem;height:34px;color:var(--gray-400);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px}.cf-search:focus-within{border-color:var(--cf);background:#fff;box-shadow:0 0 0 3px var(--cf-ring)}.cf-search input{flex:1;min-width:0;height:100%;padding:0;font:inherit;font-size:.8125rem;color:var(--gray-900);background:transparent;border:0;outline:none}.cf-list{max-height:292px;overflow-y:auto;padding:.25rem .375rem}.cf-empty{padding:1.25rem .5rem;text-align:center;font-size:.8125rem;color:var(--gray-400)}.cf-item{position:relative;display:flex;align-items:center;gap:.625rem;width:100%;padding:.4375rem .625rem;font:inherit;font-size:.8125rem;text-align:left;color:var(--gray-800);background:transparent;border:0;border-radius:8px;cursor:pointer;overflow:hidden}.cf-item>:not(.cf-bar){position:relative;z-index:1}.cf-bar{position:absolute;z-index:0;left:0;top:3px;bottom:3px;background:#f5f6f8;border-radius:6px;transition:width .2s}.cf-item.is-picked .cf-bar{background:var(--cf-soft)}.cf-item.is-active{box-shadow:inset 0 0 0 1.5px var(--cf-ring);background:#0f172a06}.cf-item.is-empty{opacity:.55}.cf-check{display:grid;place-items:center;flex:none;width:16px;height:16px;color:#fff;background:#fff;border:1.5px solid var(--gray-300);border-radius:5px}.cf-item.is-picked .cf-check{background:var(--cf);border-color:var(--cf)}.cf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cf-item.is-picked .cf-name{font-weight:700;color:var(--gray-900)}.cf-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem;color:var(--gray-400)}.cf-count{min-width:1.5rem;text-align:right;font-size:.75rem;font-weight:700;color:var(--gray-600);font-variant-numeric:tabular-nums}.cf-foot{display:flex;align-items:center;gap:.875rem;padding:.625rem .875rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.cf-link{padding:0;font:inherit;font-size:.75rem;font-weight:600;color:var(--color-brand-hover);background:none;border:0;cursor:pointer}.cf-link:hover:not(:disabled){text-decoration:underline}.cf-link:disabled{color:var(--gray-300);cursor:default}.cf-done{margin-left:auto;height:28px;padding:0 .875rem;font:inherit;font-size:.75rem;font-weight:600;color:#fff;background:var(--gray-900);border:0;border-radius:9999px;cursor:pointer}.cf-done:hover{background:var(--gray-700)}.sl-filters-row--route{gap:.5rem .75rem}.sl-route-filter{display:inline-flex;align-items:center;gap:.375rem}.sl-swap{display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--gray-500);background:#fff;border:1px solid var(--gray-200);border-radius:50%;cursor:pointer;transition:color .12s,border-color .12s,transform .2s}.sl-swap:hover:not(:disabled){color:var(--color-brand-hover);border-color:var(--color-brand);transform:rotate(180deg)}.sl-swap:disabled{opacity:.4;cursor:default}.sl-kinds{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.sl-kinds .pk-badge{padding:.25rem .625rem .25rem .5rem;font-size:.75rem}.sl-kinds-all{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:9999px;cursor:pointer}.sl-kinds-all span{font-size:.625rem;font-weight:700;color:var(--gray-500)}.sl-kinds-all:hover{border-color:var(--gray-300)}.sl-kinds-all.is-active{color:#fff;background:var(--gray-900);border-color:var(--gray-900)}.sl-kinds-all.is-active span{color:var(--gray-300)}.sl-plan-row>td{padding:.625rem 1rem .75rem 2.25rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.sl-expanded-plan{margin-bottom:.5rem}.sl-expanded-plan:last-child{margin-bottom:0}.sl-plan-focus{padding:.75rem 1rem;background:var(--gray-50);border-top:1px solid var(--gray-200)}.sl-row--plan td:first-child{box-shadow:inset 4px 0 0 var(--pk)}.sl-filters-row--route .sl-filter-select{width:176px;min-width:0;height:40px}.sl-filters-row--route .sl-filter-select--sm{width:132px}.cf-trigger{height:40px}.sl-expanded-offers{margin-top:.625rem;padding-top:.5rem;border-top:1px dashed var(--gray-200);font-size:.8125rem}.sl-candidates{color:#92400e}.pk--one_way{--pk: var(--plan-one_way);--pk-soft: var(--plan-one_way-soft);--pk-ink: var(--plan-one_way-ink)}.pk--point_to_point{--pk: var(--plan-point_to_point);--pk-soft: var(--plan-point_to_point-soft);--pk-ink: var(--plan-point_to_point-ink)}.pk--loop{--pk: var(--plan-loop);--pk-soft: var(--plan-loop-soft);--pk-ink: var(--plan-loop-ink)}.pk--metro{--pk: var(--plan-metro);--pk-soft: var(--plan-metro-soft);--pk-ink: var(--plan-metro-ink)}.pk--metro_loop{--pk: var(--plan-metro_loop);--pk-soft: var(--plan-metro_loop-soft);--pk-ink: var(--plan-metro_loop-ink)}.pk--none{--pk: var(--plan-none);--pk-soft: var(--plan-none-soft);--pk-ink: var(--plan-none-ink)}.plan-glyph{display:block;flex:none;color:var(--pk);overflow:visible}.plan-kind-icon{display:block;flex:none}.pk-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.125rem .5rem .125rem .375rem;border:1px solid transparent;border-radius:9999px;font:inherit;font-size:.6875rem;font-weight:600;line-height:1.5;color:var(--pk-ink);background:var(--pk-soft);white-space:nowrap}.pk-badge .plan-kind-icon{color:var(--pk)}.pk-badge--button{cursor:pointer;transition:border-color .12s,box-shadow .12s}.pk-badge--button:hover{border-color:var(--pk)}.pk-badge--button:focus-visible{outline:2px solid var(--pk);outline-offset:2px}.pk-badge.is-active{color:#fff;background:var(--pk)}.pk-badge.is-active .plan-kind-icon{color:#fff}.pk-badge-count{min-width:1.25rem;padding:0 .3rem;border-radius:9999px;text-align:center;font-size:.625rem;font-weight:700;color:var(--pk-ink);background:#ffffffbf}.pk-badge.is-active .pk-badge-count{color:var(--pk-ink);background:#fff}.pk--none.pk-badge{color:var(--gray-500);background:transparent;border:1px dashed var(--gray-300);font-weight:500}.pk--none.pk-badge .plan-kind-icon{color:var(--gray-400)}.pk--none.pk-badge.is-active{color:#fff;background:var(--gray-500);border-style:solid;border-color:var(--gray-500)}.pd{color:var(--gray-800)}.pd-scroll{overflow-x:auto;overflow-y:hidden}.pd-row{display:flex;align-items:flex-start;width:max-content;min-width:100%;padding:1.25rem 3.75rem 5.25rem}.pd-stop{position:relative;flex:none;width:26px;height:26px}.pd-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid var(--pk);box-sizing:border-box;box-shadow:0 0 0 3px #fff}.pd-stop--end .pd-dot{width:26px;height:26px;border-width:6px;box-shadow:0 0 0 3px #fff,0 0 0 7px var(--pk-soft)}.pd-stop--origin .pd-dot{background:var(--pk)}.pd-stop--origin .pd-dot:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.pd-stop.is-dim{opacity:.4}.pd-seg{position:relative;flex:1 1 0;min-width:calc(var(--pd-label-w, 132px) - 22px);height:26px;display:flex;align-items:center}.pd-rail{width:100%;display:flex;flex-direction:column;gap:4px}.pd-rail-line{position:relative;display:flex;align-items:center;justify-content:center;height:12px;border-radius:6px;background:var(--pk)}.pd-seg--double .pd-rail-line{height:8px;border-radius:4px}.pd-seg.is-dim .pd-rail-line{opacity:.25}.pd-chev{color:#fff;width:10px;height:10px}.pd-seg--double .pd-chev{width:7px;height:7px}.pd-chev--bwd{transform:scaleX(-1)}.pd-label{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;min-width:0}.pd-stop>.pd-label{position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%);width:var(--pd-label-w, 132px)}.pd-tag{display:inline-block;margin-bottom:3px;padding:0 .4rem;border-radius:9999px;font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--pk);line-height:1.55}.pd-city{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:700;line-height:1.25;color:var(--gray-900)}.pd-meta{display:inline-flex;align-items:center;gap:.3rem;font-size:.6875rem;color:var(--gray-500)}.pd-cc{padding:0 .25rem;border-radius:3px;font-size:.625rem;font-weight:700;color:var(--gray-600);background:var(--gray-100)}.pd-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.pd-term{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:500;color:var(--pk-ink)}.pd-circuit{position:relative;margin:.5rem auto;flex:none}.pd-circuit>svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.pd-bed{fill:none;stroke:var(--pk-soft);stroke-width:26;stroke-linejoin:round}.pd-circuit-rail{fill:none;stroke:var(--pk);stroke-width:10;stroke-linejoin:round}.pd-circuit-chev{fill:#fff}.pd-circuit-stop{fill:#fff;stroke:var(--pk);stroke-width:5}.pd-circuit-origin{fill:var(--pk);stroke:#fff;stroke-width:3}.pd-circuit-origin-core{fill:#fff}.pd-center{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;pointer-events:none}.pd-center b{font-size:.9375rem;color:var(--pk-ink)}.pd-center span{font-size:.6875rem;color:var(--gray-500)}.pd-circuit-label{position:absolute}.pd-circuit-label--left .pd-label{align-items:flex-end;text-align:right}.pd-circuit-label--right .pd-label{align-items:flex-start;text-align:left}.pd-circuit-label .pd-label{gap:1px}.pd-circuit-rail.is-dim{opacity:.22}.pd-circuit-leg{fill:none;stroke:var(--pk);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}.pd-circuit-chev.is-dim{opacity:.22}.pd-circuit-stop.is-dim,.pd-circuit-origin.is-dim,.pd-circuit-origin-core.is-dim{opacity:.3}.pd-circuit-stop--end{fill:var(--pk);stroke:#fff;stroke-width:3}.pd-circuit-label.is-dim{opacity:.38}.pd-center .pd-center-od{margin-top:.25rem;padding:.0625rem .5rem;border-radius:9999px;font-weight:700;color:var(--pk-ink);background:var(--pk-soft)}.plan-glyph--path{overflow:visible}.pk-badge--inherited{border:1px dashed var(--pk);background:transparent}.rot{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .875rem .75rem;border-top:1px solid var(--gray-100);font-size:.75rem;color:var(--gray-700)}.rot-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .5rem}.rot-chip{display:inline-flex;align-items:center;padding:.0625rem .5rem;border:1px solid var(--gray-200);border-radius:9999px;font-size:.6875rem;font-weight:600;background:#fff;color:var(--gray-700)}.rot-chip--ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.rot-chip--candidate{color:#92400e;background:#fffbeb;border:1px dashed #f59e0b}.rot-note{color:var(--gray-600);line-height:1.4}.rot-detail{display:flex;flex-direction:column;gap:.75rem;padding-top:.25rem}.rot-detail h4{margin:0 0 .25rem;font-size:.75rem;font-weight:700;color:var(--gray-900)}.rot-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.125rem}.rot-candidates{margin:.125rem 0}.rot-candidates>summary{cursor:pointer}.rot-pairs{margin:.25rem 0 .25rem 1rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .5rem}.rot-pairs li{padding:.0625rem .4rem;border-radius:4px;background:var(--gray-50, #f9fafb);border:1px solid var(--gray-100);white-space:nowrap}.rot-voyages{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.rot-voyage{border:1px solid var(--gray-100);border-radius:8px;padding:.375rem .625rem;background:#fff}.rot-voyage-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-bottom:.25rem}.rot-fit{padding:0 .4rem;border-radius:9999px;font-size:.6875rem;font-weight:600;background:var(--gray-100)}.rot-fit--conforming{color:#166534;background:#dcfce7}.rot-fit--variant{color:#1e40af;background:#dbeafe}.rot-fit--deviating{color:#92400e;background:#fef3c7}.rot-calls{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .375rem}.rot-call{display:inline-flex;flex-direction:column;padding:.125rem .4rem;border-radius:6px;border:1px solid var(--gray-200);background:var(--gray-50, #f9fafb);line-height:1.3}.rot-call span{color:var(--gray-500);font-size:.6875rem}.rot-call em{font-style:normal;font-size:.625rem;color:#92400e}.rot-call.is-occasional{border-style:dashed;opacity:.8}.rot-call.is-flagged{border-color:#f59e0b}.rot-sources a{word-break:break-all}.plan-panel{border:1px solid var(--gray-200);border-left:4px solid var(--pk);border-radius:10px;background:#fff;overflow:hidden}.plan-panel-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.5rem .875rem;background:linear-gradient(90deg,var(--pk-soft),#fff 70%);border-bottom:1px solid var(--gray-100)}.plan-panel-title{font-size:.875rem;font-weight:700;color:var(--gray-900)}.plan-panel-meta{font-size:.75rem;color:var(--gray-500)}.plan-panel-actions{display:inline-flex;gap:.375rem;margin-left:auto}.plan-glyph--leg{opacity:.55}.plan-map-legend{position:absolute;left:10px;bottom:26px;z-index:800;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 20px);padding:6px 8px;background:#ffffffeb;border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.plan-map-arrow{background:none;border:0}.events-page{padding:1.5rem;max-width:1400px}.events-page h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.events-page .page-subtitle{color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem}.events-stats-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.events-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.25rem;flex:1;min-width:140px}.events-stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text)}.events-stat-card .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.events-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.events-filter-group{display:flex;gap:.5rem;flex-wrap:wrap}.events-filter-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.events-filter-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.events-filter-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.events-filter-btn .filter-count{font-size:.6875rem;background:#fff3;padding:.1rem .4rem;border-radius:var(--radius-full)}.events-filter-btn.active .filter-count{background:#ffffff4d}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.event-card:hover{border-color:var(--color-brand);box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.event-card.featured{border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand-ring)}.event-card-image{width:100%;height:180px;overflow:hidden;background:var(--bg-subtle, #f3f4f6);position:relative}.event-card-image img{width:100%;height:100%;object-fit:cover}.event-card-image .event-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-brand-bg)}.event-image-placeholder svg{width:48px;height:48px;color:var(--color-brand);opacity:.4}.event-type-badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.event-type-badge.salon{background:#dbeafe;color:#1d4ed8}.event-type-badge.conference{background:#f3e8ff;color:#7c3aed}.event-type-badge.webinaire{background:#d1fae5;color:#059669}.event-type-badge.appel_projet{background:#fef3c7;color:#d97706}.event-featured-badge{position:absolute;top:.75rem;right:.75rem;padding:.2rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;background:var(--color-brand);color:#fff}.event-card-body{padding:1rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.event-card-title{font-size:.9375rem;font-weight:600;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-title a{color:inherit;text-decoration:none}.event-card-title a:hover{color:var(--color-brand)}.event-card-description{font-size:.8125rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card-meta{display:flex;flex-direction:column;gap:.375rem;margin-top:auto;padding-top:.5rem}.event-meta-row{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.event-meta-row svg{width:14px;height:14px;flex-shrink:0;opacity:.6}.event-meta-row .event-date-value{font-weight:500}.event-deadline{color:var(--danger);font-weight:600}.event-card-tags{display:flex;gap:.375rem;flex-wrap:wrap;padding:0 1.25rem 1rem}.event-tag{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;background:var(--bg-subtle, var(--gray-100));color:var(--text-muted)}.event-tag.tag-rail{background:#dbeafe;color:#1e40af}.event-tag.tag-maritime{background:#cffafe;color:#0e7490}.event-tag.tag-fluvial{background:#d1fae5;color:#047857}.event-tag.tag-road{background:#fed7aa;color:#c2410c}.event-tag.tag-intermodal{background:#e9d5ff;color:#7c3aed}.event-tag.tag-logistics{background:#f3e8ff;color:#6d28d9}.event-tag.tag-green{background:#dcfce7;color:#15803d}.event-tag.tag-digital{background:#e0e7ff;color:#4338ca}.event-tag.tag-policy{background:#fef3c7;color:#b45309}.event-tag.tag-infrastructure{background:var(--gray-200);color:var(--gray-600)}.event-card-footer{padding:.625rem 1.25rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.event-source{display:flex;align-items:center;gap:.25rem}.event-card-link{color:var(--color-brand);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:.25rem}.event-card-link:hover{text-decoration:underline}.events-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.events-empty svg{width:64px;height:64px;opacity:.3;margin-bottom:1rem}.events-empty h3{font-size:1.125rem;color:var(--text);margin-bottom:.5rem}.events-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.25rem;gap:1rem}.events-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-top:.25rem}.event-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.15rem;border-radius:4px;transition:all .15s;display:flex;align-items:center}.event-delete-btn:hover{color:var(--danger);background:#ef44441a}.events-scrape-panel{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.events-scrape-section{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.events-scrape-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.events-scrape-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}.events-scrape-header h3{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.events-scrape-subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.events-scrape-result{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.8125rem}.events-scrape-result.success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.events-scrape-result.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.events-scrape-result.warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.events-scrape-result-close{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:.15rem}.events-scrape-result-close:hover{opacity:1}.events-sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.events-source-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg, white)}.events-source-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.events-source-name{font-weight:600;font-size:.875rem}.events-source-info .event-type-badge{position:static;font-size:.6875rem}.events-source-meta{display:flex;gap:.375rem;flex-wrap:wrap;align-items:center}.events-source-country{font-size:.6875rem;font-weight:600;background:var(--bg-subtle, var(--gray-100));padding:.1rem .4rem;border-radius:4px}.events-source-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);color:var(--text);font-size:.8125rem;cursor:pointer;transition:all .15s}.events-source-btn:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.events-source-btn:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.events-source-btn .btn-spinner{border-color:#00000026;border-top-color:var(--color-brand)}.events-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1rem}.events-modal{background:var(--surface, white);border-radius:.75rem;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.events-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.events-modal-header h3{font-size:1.125rem;font-weight:600}.events-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;border-radius:4px}.events-modal-close:hover{color:var(--text);background:var(--bg-subtle, var(--gray-100))}.events-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.events-modal-error{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fef2f2;color:#dc2626;border-radius:.5rem;font-size:.8125rem}.events-form-row{display:flex;flex-direction:column;gap:.375rem}.events-form-row label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.events-form-row input,.events-form-row select,.events-form-row textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;background:var(--bg, white);color:var(--text)}.events-form-row input:focus,.events-form-row select:focus,.events-form-row textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.events-form-row textarea{resize:vertical}.events-form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.events-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}@media (max-width: 768px){.events-page{padding:1rem}.events-page-header{flex-direction:column}.events-grid{grid-template-columns:1fr}.events-stats-bar{flex-direction:column}.events-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.events-sources-grid,.events-form-row-grid{grid-template-columns:1fr}.events-scrape-header{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-brand: #E89A13;--color-brand-hover: #D88700;--color-brand-bg: #FFF3E0;--color-brand-soft: #FDE7C2;--color-brand-text: #FFFFFF;--color-brand-ring: rgba(232, 154, 19, .16);--accent: var(--color-brand);--accent-dark: var(--color-brand-hover);--primary: var(--color-brand);--primary-dark: var(--color-brand-hover);--primary-light: #F0AD31;--primary-bg: var(--color-brand-bg);--secondary: #10b981;--danger: #ef4444;--danger-dark: #dc2626;--warning: #f59e0b;--success: #22c55e;--info: #3b82f6;--mode-rail: #2563eb;--mode-road: #f59e0b;--mode-waterway: #0d9488;--mode-air: #8b5cf6;--mode-multimodal: #ec4899;--mode-shortsea: #0891b2;--mode-deepsea: #1e3a8a;--plan-one_way: #2563eb;--plan-one_way-soft: #dbeafe;--plan-one_way-ink: #1d4ed8;--plan-point_to_point: #0d9488;--plan-point_to_point-soft: #ccfbf1;--plan-point_to_point-ink: #0f766e;--plan-loop: #7c3aed;--plan-loop-soft: #ede9fe;--plan-loop-ink: #6d28d9;--plan-metro: #16a34a;--plan-metro-soft: #dcfce7;--plan-metro-ink: #15803d;--plan-metro_loop: #e11d48;--plan-metro_loop-soft: #ffe4e6;--plan-metro_loop-ink: #be123c;--plan-none: #9ca3af;--plan-none-soft: #f3f4f6;--plan-none-ink: #6b7280;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--sidebar-width: 260px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--app-logo-bg: var(--color-brand-bg);--bg: var(--gray-50);--bg-card: #ffffff;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--bg-hover: var(--gray-100);--bg-subtle: var(--gray-50);--text: var(--gray-900);--text-primary: var(--gray-900);--text-secondary: var(--gray-500);--text-tertiary: var(--gray-400);--text-muted: var(--gray-500);--surface: #ffffff;--border: var(--gray-200);--border-color: var(--gray-200);--border-light: var(--gray-100);--brand: var(--color-brand);--brand-light: var(--primary-light);--primary-hover: var(--primary-dark);--error: var(--danger);--error-bg: #fee2e2;--red-50: #fef2f2;--red-100: #fee2e2;--z-sticky: 100;--z-overlay: 1000;--z-modal: 1010;--z-toast: 1100;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, monospace;--radius-full: 9999px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,sans-serif;background-color:var(--gray-50);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased}.app-container{display:flex;min-height:100vh}.main-content{margin-left:var(--sidebar-width);flex:1;padding:1.75rem 2rem;min-height:100vh;max-width:calc(100vw - var(--sidebar-width))}.sidebar{width:var(--sidebar-width);background:#fff;border-right:1px solid var(--gray-200);position:fixed;height:100vh;display:flex;flex-direction:column;z-index:var(--z-sticky)}.sidebar-toggle{display:none;position:fixed;top:.875rem;left:.875rem;z-index:210;width:40px;height:40px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-700);cursor:pointer;box-shadow:var(--shadow)}.sidebar-backdrop{display:none}@media (max-width: 900px){.sidebar-toggle{display:flex}.sidebar{transform:translate(-100%);transition:transform .25s ease;z-index:205;box-shadow:var(--shadow-xl)}.sidebar.mobile-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:200}.main-content{margin-left:0;max-width:100vw;padding:4rem 1rem 1rem}}.sidebar button.logo,.sidebar .nav-subitem,.sidebar .nav-section-header,.sidebar .admin-link{background:none;border:none;font:inherit;color:inherit;width:100%;text-align:left;cursor:pointer}.user-menu-admin-badge{margin-left:.5rem;font-size:.6875rem}.logo{padding:1.25rem 1.25rem 1rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--gray-100);transition:opacity .15s ease}.logo:hover{opacity:.85}.logo-icon{width:40px;height:40px;background:var(--color-brand);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;box-shadow:0 3px 10px #e89a134d}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);letter-spacing:-.02em}.logo-subtitle{font-size:.6875rem;color:var(--gray-400);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.nav-menu{flex:1;overflow-y:auto;padding:1rem 0}.nav-section{margin-bottom:.5rem}.nav-section-header{padding:.625rem 1.25rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease}.nav-section-header:hover{background:var(--gray-50)}.nav-section-title{display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.nav-section-arrow{font-size:.75rem;color:var(--gray-400);transition:transform .3s ease}.nav-section.open .nav-section-arrow{transform:rotate(90deg)}.nav-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-section.open .nav-submenu{max-height:500px}.nav-separator{height:1px;background:var(--gray-100);margin:.5rem 1.25rem}.nav-item{padding:.75rem 1.5rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s ease;color:var(--gray-700);font-weight:500;font-size:.9375rem;border-left:3px solid transparent;margin:.125rem 0}.nav-item:hover{background:var(--gray-50);color:var(--color-brand);border-left-color:var(--color-brand)}.nav-item.active{background:var(--color-brand-bg);color:var(--color-brand-hover);border-left-color:var(--color-brand);font-weight:600}.nav-item-icon{font-size:1.125rem;width:24px;text-align:center}.nav-subitem{padding:.5rem 1.25rem .5rem 3rem;display:flex;align-items:center;gap:.625rem;cursor:pointer;transition:all .2s ease;color:var(--gray-600);font-size:.8125rem;position:relative}.nav-subitem:before{content:"";position:absolute;left:1.75rem;width:5px;height:5px;border-radius:50%;background:var(--gray-300);transition:all .2s ease}.nav-subitem:hover{background:var(--gray-50);color:var(--color-brand)}.nav-subitem:hover:before{background:var(--color-brand);transform:scale(1.3)}.nav-subitem.active{background:var(--color-brand-bg);color:var(--color-brand-hover);font-weight:600}.nav-subitem.active:before{background:var(--color-brand);width:8px;height:8px}.user-section{padding:1rem 1.5rem;border-top:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s ease}.user-section:hover{background:var(--gray-50)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-info{flex:1}.user-name{font-weight:600;font-size:.875rem;color:var(--gray-900)}.user-role{font-size:.75rem;color:var(--gray-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-brand);color:var(--color-brand-text);box-shadow:0 2px 8px #e89a134d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e89a1366}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#fff;color:var(--gray-700);border:1px solid var(--gray-200)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-bg)}.btn-danger:hover:not(:disabled){background:var(--danger-dark);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}.btn-md{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-full{width:100%}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.btn-icon svg{width:18px;height:18px}.btn-spinner{width:18px;height:18px}.btn-spinner svg{width:100%;height:100%}.btn-loading .btn-text{opacity:.7}.btn-icon-slot{display:inline-flex;align-items:center}.btn-icon-slot svg{width:16px;height:16px}.btn-action{background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;font-size:.875rem;transition:background .2s ease}.btn-action:hover{background:#ffffff4d}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1rem;font-weight:600;color:var(--gray-900)}.card-body{padding:1.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:.5rem}.kpi-card{background:#fff;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:all .3s ease;border:1px solid transparent}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.kpi-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}.kpi-icon.blue{background:var(--primary-bg)}.kpi-icon.green{background:#d1fae5}.kpi-icon.orange{background:#fef3c7}.kpi-icon.purple{background:#ede9fe}.kpi-title{font-size:.8125rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem}.kpi-value{font-size:2rem;font-weight:700;color:var(--gray-900);line-height:1.2}.kpi-change{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;margin-top:.5rem}.kpi-change.positive{color:var(--success)}.kpi-change.negative{color:var(--danger)}.table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.table-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--gray-50)}.data-table th{padding:.875rem 1rem;text-align:left;font-weight:600;font-size:.8125rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid var(--gray-200)}.data-table td{padding:1rem;border-bottom:1px solid var(--gray-100);font-size:.9375rem;color:var(--gray-700)}.data-table tbody tr{transition:background .2s ease}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.5rem}.form-label.required:after{content:" *";color:var(--danger)}.form-input{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;transition:all .2s ease;color:var(--gray-900)}.form-input::placeholder{color:var(--gray-400)}.form-input:hover{border-color:var(--gray-400)}.form-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.form-input:disabled{background:var(--gray-100);cursor:not-allowed}textarea.form-input{resize:vertical;min-height:100px}select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.form-hint{font-size:.8125rem;color:var(--gray-500);margin-top:.375rem}.form-hint.error{color:var(--danger)}.form-info{padding:.875rem 1rem;background:var(--gray-50);border-radius:var(--radius);font-size:.875rem;color:var(--gray-600);border-left:3px solid var(--gray-300)}.form-section{margin-bottom:2rem}.form-section-title{font-size:1rem;font-weight:600;color:var(--gray-800);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-100);display:flex;align-items:center;gap:.5rem}.toggle-group{display:flex;gap:.75rem}.toggle-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:var(--gray-100);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-weight:500;color:var(--gray-600)}.toggle-option:hover{background:var(--gray-200)}.toggle-option.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.toggle-option input[type=radio]{display:none}.day-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.8125rem;color:var(--gray-600)}.day-btn:hover{background:var(--gray-200)}.day-btn.active{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.uti-btn{padding:.75rem;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;text-align:left}.uti-btn:hover{border-color:var(--primary-light);background:var(--primary-bg)}.uti-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.uti-code{font-weight:600;font-size:.875rem;margin-bottom:.125rem}.uti-label{font-size:.6875rem;opacity:.8}.options-list{display:flex;flex-direction:column;gap:.5rem}.option-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.option-item:hover{background:var(--gray-100)}.option-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1.5rem;animation:modalFadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-content{position:relative;background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:calc(100vh - 3rem);display:flex;flex-direction:column;box-shadow:0 0 0 1px #00000008,0 4px 6px -1px #0000001a,0 20px 40px -8px #0003,0 40px 80px -20px #00000026;animation:modalSlideUp .35s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{max-width:480px}.modal-large{max-width:720px}.modal-close-guard{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;border-radius:inherit;z-index:10}.modal-close-guard-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.25rem 1.5rem;max-width:380px;text-align:center;color:var(--warning)}.modal-close-guard-card p{color:var(--gray-700);font-size:.875rem;margin:.5rem 0 1rem}.modal-close-guard-actions{display:flex;gap:.5rem;justify-content:center}.auth-forgot-info{margin-bottom:1.5rem;text-align:left}.confirm-dialog-message{color:var(--gray-700);font-size:.9375rem;line-height:1.6;white-space:pre-line}.confirm-dialog-danger .modal-header-icon{background:var(--red-50);color:var(--danger)}.modal-xl{max-width:1100px}.modal-header{padding:1.5rem 1.75rem;background:var(--gray-50);border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative}.modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-brand)}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0;display:flex;align-items:center;gap:.75rem;letter-spacing:-.02em}.modal-header h2 svg{color:var(--primary)}.modal-header-icon{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px #e89a1340}.modal-header-content{display:flex;align-items:center;gap:1rem}.modal-header-text h2{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0;letter-spacing:-.02em}.modal-header-text p{font-size:.875rem;color:var(--gray-500);margin:.25rem 0 0}.modal-close,.close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;color:var(--gray-500);font-size:1.5rem;font-weight:300;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}.modal-close:hover,.close-button:hover{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300);transform:scale(1.05)}.modal-body{padding:1.75rem;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}.modal-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--gray-100);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-shrink:0;background:var(--gray-50)}.modal-tabs{display:flex;background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:0 .5rem}.modal-tab{position:relative;padding:.875rem 1.25rem;border:none;background:transparent;color:var(--gray-500);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.modal-tab:hover{color:var(--gray-700);background:#ffffff80}.modal-tab.active{color:var(--color-brand-hover);background:#fff;border-radius:8px 8px 0 0}.modal-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-brand)}.modal-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}.modal-section-title{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.modal-card{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;transition:all .2s ease}.modal-card:hover{border-color:var(--gray-200);box-shadow:0 2px 8px #0000000a}.modal-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.modal-card-icon{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.125rem}.modal-card-icon.primary{background:var(--primary-bg);color:var(--primary)}.modal-card-icon.success{background:#dcfce7;color:var(--success)}.modal-card-icon.warning{background:#fef3c7;color:var(--warning)}.modal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.modal-info-item{background:#fff;border:1px solid var(--gray-100);border-radius:10px;padding:1rem;transition:all .2s ease}.modal-info-item:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.modal-info-label{font-size:.75rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem}.modal-info-value{font-size:1rem;font-weight:600;color:var(--gray-900)}.modal-info-value.highlight{font-size:1.25rem;color:var(--primary)}.modal-route{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-xl)}.modal-route-point{flex:1;text-align:center;padding:1rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:0 2px 8px #0000000a}.modal-route-point.departure{border-left:4px solid var(--primary)}.modal-route-point.arrival{border-left:4px solid var(--success)}.modal-route-label{font-size:.6875rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-route-code{font-size:1.5rem;font-weight:700;color:var(--gray-900);letter-spacing:-.02em}.modal-route-name{font-size:.875rem;color:var(--gray-600);margin-top:.25rem}.modal-route-arrow{display:flex;flex-direction:column;align-items:center;color:var(--gray-400);padding:0 .5rem}.modal-route-arrow svg{width:32px;height:32px}.modal-route-duration{font-size:.75rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:.25rem .75rem;border-radius:20px;margin-top:.5rem}.modal-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.modal-option-card{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-lg);transition:all .2s ease}.modal-option-card.active{background:#dcfce7;border-color:var(--success)}.modal-option-icon{font-size:1.5rem;opacity:.5;transition:opacity .2s ease}.modal-option-card.active .modal-option-icon{opacity:1}.modal-option-content{flex:1}.modal-option-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.modal-option-card.active .modal-option-label{color:var(--gray-900)}.modal-option-description{font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.modal-option-status{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--gray-200);color:var(--gray-500)}.modal-option-card.active .modal-option-status{background:var(--success);color:#fff;box-shadow:0 2px 8px #22c55e59}.modal-steps{display:flex;justify-content:center;gap:2rem;padding:1rem 0;margin-bottom:1rem}.modal-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.modal-step-circle{width:40px;height:40px;border-radius:50%;background:var(--gray-100);border:2px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--gray-400);transition:all .3s ease}.modal-step.active .modal-step-circle{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #e89a134d}.modal-step.completed .modal-step-circle{background:var(--success);border-color:var(--success);color:#fff}.modal-step-label{font-size:.75rem;font-weight:500;color:var(--gray-500)}.modal-step.active .modal-step-label{color:var(--primary);font-weight:600}.modal-step.completed .modal-step-label{color:var(--success)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.modal-loading-icon{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--primary-bg);border:1px solid var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;animation:modalLoadingPulse 2s infinite}@keyframes modalLoadingPulse{0%,to{box-shadow:0 0 #e89a1366;transform:scale(1)}50%{box-shadow:0 0 0 15px #e89a1300;transform:scale(1.02)}}.modal-loading-icon svg{color:var(--primary);animation:modalLoadingSpin 2s linear infinite}@keyframes modalLoadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-loading-title{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.modal-loading-text{font-size:.875rem;color:var(--gray-500);max-width:280px}.modal-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;text-align:center}.modal-success-icon{width:72px;height:72px;border-radius:50%;background:#dcfce7;border:2px solid var(--success);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.5rem;animation:modalSuccessPop .5s cubic-bezier(.16,1,.3,1)}@keyframes modalSuccessPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.modal-success-title{font-size:1.375rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.modal-success-text{font-size:.9375rem;color:var(--gray-600)}.operator-map-controls{position:absolute;top:1rem;left:1rem;z-index:var(--z-overlay);display:flex;flex-direction:column;gap:.5rem}.operator-map-filters{position:absolute;top:1rem;right:1rem;z-index:var(--z-overlay);display:flex;gap:.5rem}.map-filter-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.8125rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.map-filter-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.map-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.operator-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fff;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000001f}.operator-map-loading span{font-size:.875rem;color:var(--gray-600)}.operator-map-detail-panel{width:320px;background:var(--gray-50);border-left:1px solid var(--gray-200);overflow-y:auto}.map-detail-content{padding:1.25rem}.map-detail-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;position:relative}.map-detail-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.map-detail-title{font-size:.6875rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.map-detail-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.map-detail-close{position:absolute;top:0;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;color:var(--gray-500);transition:all .2s ease}.map-detail-close:hover{background:var(--gray-100);color:var(--gray-700)}.map-detail-route{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:1rem}.map-detail-point{flex:1;text-align:center}.map-detail-point .point-label{font-size:.625rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.map-detail-point .point-code{font-size:1.125rem;font-weight:700;color:var(--gray-900);letter-spacing:-.02em}.map-detail-point.departure .point-code{color:var(--primary)}.map-detail-point.arrival .point-code{color:var(--success)}.map-detail-point .point-name{font-size:.75rem;color:var(--gray-600);margin-top:.125rem}.map-detail-arrow{color:var(--gray-300);flex-shrink:0}.map-detail-info-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.map-detail-info-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:10px}.map-detail-info-item svg{color:var(--gray-400);flex-shrink:0}.map-detail-info-item .info-label{font-size:.6875rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}.map-detail-info-item .info-value{font-size:.9375rem;font-weight:600;color:var(--gray-900)}.map-detail-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.map-option-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-700)}.map-option-badge.dg{background:#fef3c7;color:#92400e}.map-option-badge.reefer{background:#dbeafe;color:#1e40af}.map-option-badge.oog{background:#fce7f3;color:#9d174d}.map-option-badge.d2d{background:#dcfce7;color:#166534}.map-detail-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#dcfce7;border:1px solid var(--success);border-radius:10px;font-size:.8125rem;font-weight:500;color:var(--success)}.map-detail-terminal-info{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.map-detail-terminal-info h4{font-size:1rem;font-weight:700;color:var(--gray-900);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-100)}.terminal-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.terminal-info-row:not(:last-child){border-bottom:1px solid var(--gray-50)}.terminal-info-label{font-size:.75rem;font-weight:500;color:var(--gray-500)}.terminal-info-value{font-size:.875rem;font-weight:500;color:var(--gray-700);text-align:right}.terminal-info-value.code{font-family:var(--font-mono);font-weight:600;color:var(--primary)}.progress-box{padding:1rem;background:var(--gray-100);border-radius:var(--radius);font-family:var(--font-mono);font-size:.8125rem;color:var(--gray-700);margin-top:1rem}.detail-sidebar{position:fixed;top:0;right:0;width:420px;height:100vh;background:#fff;box-shadow:-8px 0 30px #0000001f;z-index:var(--z-overlay);display:flex;flex-direction:column;animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.detail-sidebar-header{padding:1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.detail-sidebar-body{flex:1;overflow-y:auto;padding:1.5rem}.detail-sidebar-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--gray-100);display:flex;gap:.75rem}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-secondary{background:var(--gray-100);color:var(--gray-700)}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.view-toggle{display:inline-flex;background:var(--gray-100);border-radius:var(--radius);padding:.25rem;gap:.25rem}.view-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{color:var(--gray-900)}.view-toggle-btn.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.autocomplete-container{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:250px;overflow-y:auto;z-index:100}.autocomplete-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;font-size:.875rem;border-bottom:1px solid var(--gray-100)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--gray-50)}.autocomplete-item.selected{background:var(--primary-bg)}.autocomplete-item strong{color:var(--primary)}.empty-state{text-align:center;padding:3rem 2rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.empty-state-text{font-size:.9375rem;color:var(--gray-500)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--color-brand);border-radius:50%;animation:spin .8s linear infinite}.leaflet-popup-content-wrapper{background:#fff!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;padding:0!important}.leaflet-popup-content{margin:1rem!important;font-size:.875rem!important}.leaflet-popup-tip{background:#fff!important}@media (max-width: 1024px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:1.5rem}.detail-sidebar{width:100%}}@media (max-width: 640px){.toggle-group{flex-direction:column}.modal-content{margin:.5rem;max-height:calc(100vh - 1rem)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.day-selector{justify-content:center}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.form-hint{font-size:.75rem;color:var(--gray-500);margin-top:.25rem}.form-hint.success{color:var(--success)}.form-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:#991b1b;font-size:.875rem}.form-info{padding:1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.875rem;color:var(--gray-700)}.progress-box{padding:.75rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);color:#1e40af;font-size:.875rem;margin-top:1rem}.upload-zone{border:3px dashed var(--gray-300);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;background:var(--gray-50);cursor:pointer;transition:all .3s ease}.upload-zone:hover{border-color:var(--primary);background:var(--primary-bg);transform:translateY(-2px)}.upload-zone.drag-over{border-color:var(--primary);background:var(--color-brand-bg);border-style:solid;box-shadow:0 8px 24px #e89a1333}.upload-zone.success{border-color:var(--success);background:#f0fdf4}.card,.kpi-card,.btn,.nav-item,.nav-subitem,.toggle-option,.day-btn,.uti-btn{transition:all .2s ease}.btn:focus-visible,.form-input:focus-visible,.toggle-option:focus-within,.day-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;background:var(--gray-900);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-toast);animation:slideInUp .3s ease}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-500)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:600}.font-semibold{font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.divider{height:1px;background:var(--gray-200);margin:1.5rem 0}.selection-bar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--gray-900);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-xl);display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-xl);z-index:100;animation:slideInUp .3s ease}.selection-bar-count{font-weight:600}.selection-bar-actions{display:flex;gap:.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:1.5rem}.page-header-left{display:flex;align-items:center;gap:1rem}.page-header-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);background:#fff;border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;transition:all .2s ease}.page-header-back:hover{background:var(--gray-50);color:var(--gray-900);border-color:var(--gray-300)}.page-header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-brand);color:#fff;font-size:1.5rem;box-shadow:0 4px 12px #e89a134d}.page-header-text{display:flex;flex-direction:column;gap:.25rem}.page-header-title-row{display:flex;align-items:center;gap:.75rem}.page-header-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);letter-spacing:-.02em;margin:0}.page-header-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0}.page-header-actions{display:flex;align-items:center;gap:.75rem}.kpi-card-new{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--gray-100);transition:all .2s ease;position:relative;overflow:hidden}.kpi-card-new:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--kpi-bg, transparent);opacity:0;transition:opacity .2s ease}.kpi-card-new:hover:before{opacity:.5}.kpi-card-new.clickable{cursor:pointer}.kpi-card-new.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;position:relative;z-index:1}.kpi-card-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-md)}.kpi-card-icon svg{width:22px;height:22px}.kpi-card-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-full)}.kpi-card-trend.up{background:#d1fae5;color:#065f46}.kpi-card-trend.down{background:#fee2e2;color:#991b1b}.kpi-card-trend svg{width:14px;height:14px}.kpi-card-trend.down svg{transform:rotate(180deg)}.kpi-card-content{position:relative;z-index:1}.kpi-card-title{font-size:.8125rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.kpi-card-value{font-size:2rem;font-weight:700;color:var(--gray-900);line-height:1.2;letter-spacing:-.02em}.kpi-card-subtitle{font-size:.8125rem;color:var(--gray-500);margin-top:.5rem}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:var(--z-toast);max-width:400px}.toast-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);animation:toastEnter .3s ease}.toast-item.exiting{animation:toastExit .2s ease forwards}@keyframes toastEnter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:20px;height:20px}.toast-info .toast-icon{color:var(--primary)}.toast-title{font-weight:600;font-size:.875rem;color:var(--gray-900);margin-bottom:.125rem}.toast-message{font-size:.875rem;color:var(--gray-600);line-height:1.5}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.view-toggle{display:flex;background:var(--gray-100);border-radius:var(--radius);padding:4px}.view-toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--gray-600);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{color:var(--gray-800)}.view-toggle-btn.active{background:#fff;color:var(--primary);font-weight:600;box-shadow:var(--shadow)}.view-toggle-btn svg{flex-shrink:0}.selection-bar{padding:.75rem 1rem;background:var(--color-brand);color:#fff;border-radius:var(--radius);display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.selection-bar-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#fff3;border:none;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s ease}.selection-bar-btn:hover{background:#ffffff4d}.selection-bar-btn.danger:hover{background:var(--danger)}.modal-header-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-brand);display:flex;align-items:center;justify-content:center;color:#fff}.modal-close{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all .2s ease}.modal-close:hover{background:var(--gray-200);color:var(--gray-700)}.step-centered{text-align:center;padding:3rem 2rem}.step-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.step-icon.success{background:var(--success);color:#fff}.step-icon.danger{background:var(--danger);color:#fff}.step-icon.warning{background:var(--warning);color:#fff}.step-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--gray-900)}.step-title.danger{color:var(--danger)}.loading-spinner.large{width:48px;height:48px;margin:0 auto}.progress-steps{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.progress-step{display:flex;align-items:center;gap:.5rem;color:var(--gray-400);font-size:.875rem}.progress-step.active{color:var(--primary);font-weight:500}.progress-step.done{color:var(--success)}.progress-step .step-count{font-size:.75rem;margin-left:.25rem;color:var(--gray-500)}.progress-details{margin-top:1rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:var(--radius);font-size:.8125rem;color:var(--gray-600);text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.progress-details .detail-label{color:var(--gray-500);font-weight:500;margin-right:.5rem}.progress-details .detail-value{color:var(--gray-700)}.progress-details .detail-more{color:var(--primary);margin-left:.25rem}.info-box{background:var(--gray-50);padding:1rem;border-radius:var(--radius);font-size:.875rem}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.alert-error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--gray-50)}.upload-zone:hover{border-color:var(--primary);background:var(--primary-bg)}.upload-zone.drag-over{border-color:var(--primary);background:var(--primary-bg);transform:scale(1.01)}.upload-zone.has-file{border-style:solid;border-color:var(--success);background:#f0fdf4;cursor:default}.upload-icon{width:80px;height:80px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--primary);box-shadow:var(--shadow-md)}.upload-text{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.upload-text strong{font-size:1rem;color:var(--gray-900)}.upload-text span{font-size:.875rem;color:var(--gray-500)}.upload-hint{font-size:.75rem;color:var(--gray-400)}.upload-file-info{display:flex;align-items:center;gap:1rem}.upload-file-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--success)}.upload-file-name{font-weight:600;color:var(--gray-900)}.upload-file-size{font-size:.875rem;color:var(--gray-500)}.preview-stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius)}.preview-stat{display:flex;flex-direction:column}.preview-stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.preview-stat-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.preview-table-wrapper{max-height:400px;overflow:auto;border:1px solid var(--gray-200);border-radius:var(--radius)}.data-table.compact{font-size:.8125rem}.data-table.compact th,.data-table.compact td{padding:.5rem .75rem}.row-warning{background:#fef3c7!important}.row-disabled{opacity:.5}.cell-station{font-weight:500;margin-bottom:.25rem}.cell-times{font-size:.8125rem}.cell-times .label{color:var(--gray-500)}.cell-days{font-size:.8125rem}.cell-uti .badge,.cell-options .badge{margin-right:.25rem;margin-bottom:.25rem}.locode-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;border-radius:4px;font-size:.75rem;font-family:var(--font-mono);cursor:pointer;transition:all .2s ease}.locode-btn.valid{background:var(--primary-bg);color:var(--primary)}.locode-btn.invalid{background:#fef2f2;color:var(--danger)}.locode-btn:hover{filter:brightness(.95)}.locode-editor{position:relative}.locode-input{width:120px;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--primary);border-radius:4px;outline:none}.locode-dropdown{position:absolute;top:100%;left:0;z-index:var(--z-overlay);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;min-width:250px}.locode-loading{padding:.5rem;color:var(--gray-500);font-size:.75rem}.locode-option{padding:.5rem;cursor:pointer;border-bottom:1px solid var(--gray-100);font-size:.8125rem;display:flex;align-items:center;gap:.5rem}.locode-option code{color:var(--primary);font-weight:600}.locode-option small{color:var(--gray-400)}.locode-no-results{padding:.75rem;color:var(--gray-500);font-size:.75rem;text-align:center;font-style:italic}.complete-stats{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.complete-stat{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-full);font-weight:500}.complete-stat.success{background:#dcfce7;color:#166534}.complete-stat.warning{background:#fef3c7;color:#92400e}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-50);padding:2rem}.auth-card{width:100%;max-width:420px;background:#fff;border-radius:var(--radius-xl);padding:2.5rem;box-shadow:0 10px 40px #0000001a}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.auth-logo-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--color-brand);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #e89a134d}.auth-logo-text{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.auth-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);text-align:center;margin-bottom:.5rem}.auth-subtitle{font-size:.9375rem;color:var(--gray-500);text-align:center;margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group{flex:1}.auth-form .form-row{display:flex;gap:1rem}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.input-with-icon .form-input{padding-left:42px}.btn-full{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:1rem}.auth-switch{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200);font-size:.875rem;color:var(--gray-500)}.auth-switch-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;margin-left:.5rem;transition:color .2s ease}.auth-switch-link:hover{color:var(--primary-dark);text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;gap:1rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--gray-200, #e5e7eb)}.auth-divider span{font-size:.8125rem;color:var(--gray-400, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.sso-login-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:500}.admin-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:0 .75rem;color:var(--gray-500);font-size:.8125rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.admin-link:hover{color:var(--gray-700);background:var(--gray-100)}.admin-link.active{color:var(--primary);background:var(--primary-light)}.user-menu{padding:1rem;border-top:1px solid var(--gray-200);margin-top:auto}.user-menu-avatar{width:40px;height:40px;border-radius:10px;background:var(--color-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}.user-menu-name{font-weight:600;color:var(--gray-900);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{font-size:.75rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:var(--gray-100);border:none;border-radius:var(--radius);color:var(--gray-600);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.user-menu-logout:hover{background:var(--gray-200);color:var(--danger)}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead th{background:var(--gray-50);padding:.875rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);text-align:left;border-bottom:1px solid var(--gray-200)}.data-table tbody tr{transition:background .15s ease}.data-table tbody td{padding:1rem;font-size:.9375rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.table-cell-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--primary-bg);color:var(--primary);flex-shrink:0}.table-cell-icon svg{width:20px;height:20px}.table-cell-text{display:flex;flex-direction:column;gap:.125rem}.table-cell-subtitle{font-size:.75rem;color:var(--gray-500)}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-400)}.empty-state-icon svg{width:36px;height:36px}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.empty-state-text{font-size:.9375rem;color:var(--gray-500);max-width:400px;margin:0 auto 1.5rem;line-height:1.6}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-100);overflow:hidden}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;background:var(--gray-50)}.card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--gray-900)}.card-title svg{width:20px;height:20px;color:var(--gray-500)}.nav-item.disabled,.nav-subitem.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nav-subitem.add-new{color:var(--primary);font-weight:500}.nav-subitem.add-new:before{display:none}.nav-subitem.add-new:hover{background:var(--primary-bg)}.nav-subitem.add-new svg{width:14px;height:14px}.nav-submenu-separator{height:1px;background:var(--border-color);margin:.5rem 1rem;opacity:.5}.nav-section-arrow svg{transition:transform .3s ease}.nav-section.open .nav-section-arrow svg{transform:rotate(90deg)}.logo-icon svg{width:24px;height:24px}.form-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-link{background:none;border:none;color:var(--primary);font-size:.8125rem;cursor:pointer;padding:0;transition:color .2s}.form-link:hover{color:var(--primary-dark);text-decoration:underline}.input-with-icon.input-error{border-color:var(--danger)}.input-with-icon.input-error:focus-within{box-shadow:0 0 0 3px #ef44441a}.input-valid-icon{color:var(--success);flex-shrink:0}.input-toggle-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.input-toggle-btn:hover{color:var(--gray-600)}.form-error{display:block;color:var(--danger);font-size:.75rem;margin-top:.375rem}.password-strength{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.password-strength-fill{height:100%;border-radius:2px;transition:width .3s,background .3s}.auth-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-100);text-align:center}.auth-footer p{font-size:.75rem;color:var(--gray-400)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat-card{background:#fff;border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border:1px solid var(--gray-200);transition:transform .2s,box-shadow .2s}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.admin-stat-card svg{color:var(--primary)}.admin-stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.admin-stat-label{font-size:.8125rem;color:var(--gray-500)}.action-buttons{display:flex;gap:.375rem}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:var(--accent-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#16a34a}.row-inactive{opacity:.6;background:var(--gray-50)}.table-cell-icon.icon-admin{background:var(--color-brand);color:#fff}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#dcfce7;color:#166534}.badge-error{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.user-admin-badge{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;background:var(--color-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.user-admin-badge svg{color:#fff}.user-menu-avatar{position:relative}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:1.5rem}.dashboard-main{display:flex;flex-direction:column;gap:1.5rem}.dashboard-sidebar{display:flex;flex-direction:column;gap:1rem}.card-footer{padding:.75rem 1rem;border-top:1px solid var(--gray-100);text-align:center}.mode-bar-label{display:flex;align-items:center;gap:.5rem;min-width:120px}.mode-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius);color:var(--gray-600)}.mode-name{font-weight:500;text-transform:capitalize;color:var(--gray-700)}.mode-count{margin-left:auto;font-weight:600;color:var(--gray-900);min-width:30px;text-align:right}.mode-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.mode-bar-fill[data-mode=rail]{background:var(--info)}.mode-bar-fill[data-mode=maritime]{background:var(--secondary)}.mode-percent{font-size:.8125rem;color:var(--gray-500);min-width:40px;text-align:right}.top-list{display:flex;flex-direction:column;gap:.75rem}.top-list-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--gray-50);border-radius:var(--radius)}.top-rank{font-weight:700;color:var(--primary);font-size:.875rem;min-width:28px}.top-name{flex:1;font-weight:500;color:var(--gray-700);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item{display:flex;gap:.75rem;padding:.5rem;background:var(--gray-50);border-radius:var(--radius)}.activity-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);color:var(--primary);border-radius:var(--radius);flex-shrink:0}.activity-title{font-size:.8125rem;font-weight:500;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-meta{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--gray-400);margin-top:.25rem}.quick-stats{display:flex;flex-direction:column}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0;border-bottom:1px solid var(--gray-100)}.stat-label{font-size:.8125rem;color:var(--gray-600)}.stat-value{font-weight:600;color:var(--gray-900)}.guide-step{display:flex;align-items:center;gap:.75rem}.guide-step-num{width:26px;height:26px;border-radius:50%;background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.guide-step.done .guide-step-num{background:var(--success)}.guide-step-text{font-size:.875rem;color:var(--gray-700)}.guide-step.done .guide-step-text{text-decoration:line-through;color:var(--gray-400)}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.sidebar-search{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100)}.global-search{position:relative}.global-search-input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);transition:all .2s}.global-search-input-wrapper:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px var(--color-brand-ring)}.global-search-icon{color:var(--gray-400);flex-shrink:0}.global-search-input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--gray-900);outline:none}.global-search-input::placeholder{color:var(--gray-400)}.global-search-spinner{width:16px;height:16px;border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.global-search-clear{background:none;border:none;padding:.25rem;color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.global-search-clear:hover{background:var(--gray-200);color:var(--gray-600)}.global-search-results{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;z-index:var(--z-overlay)}.global-search-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s}.global-search-item:hover,.global-search-item.selected{background:var(--gray-50)}.global-search-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);color:var(--primary);border-radius:var(--radius);flex-shrink:0}.global-search-item-content{flex:1;min-width:0}.global-search-item-label{font-size:.875rem;font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-item-sublabel{font-size:.75rem;color:var(--gray-500)}.global-search-item-type{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;border-radius:var(--radius-sm);flex-shrink:0}.global-search-item-type.type-operator{background:#dbeafe;color:#1e40af}.global-search-item-type.type-service{background:#dcfce7;color:#166534}.global-search-item-type.type-locode{background:#fef3c7;color:#92400e}.global-search-empty{padding:1.5rem;text-align:center;color:var(--gray-500);font-size:.875rem}.export-dropdown{position:relative;display:inline-block}.export-dropdown-menu{position:absolute;top:calc(100% + .25rem);right:0;min-width:160px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.export-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;border:none;background:none;text-align:left;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:background .15s}.export-dropdown-item:hover{background:var(--gray-50)}.export-dropdown-item svg{color:var(--gray-400)}.import-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.import-detail-item{display:flex;flex-direction:column;gap:.25rem}.import-detail-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.import-detail-value{font-size:.9375rem;font-weight:500;color:var(--gray-900)}.import-errors{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.import-errors h4{font-size:.875rem;font-weight:600;color:var(--danger);margin-bottom:.75rem}.import-errors ul{list-style:none;margin:0;padding:0}.import-errors li{padding:.5rem .75rem;background:#fef2f2;border-left:3px solid var(--danger);margin-bottom:.5rem;font-size:.8125rem;color:#991b1b;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.row-selected{background:var(--primary-bg)!important}.toast-container{position:fixed;top:1rem;right:1rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.75rem;max-width:380px}.toast-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slideIn .3s ease;border-left:4px solid}.toast-item.exiting{animation:slideOut .2s ease forwards}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--info)}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.875rem;color:var(--gray-900);margin-bottom:.25rem}.toast-message{font-size:.875rem;color:var(--gray-600)}.toast-close{background:none;border:none;padding:.25rem;color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s;flex-shrink:0}.toast-close:hover{background:var(--gray-100);color:var(--gray-600)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.interactive-map-container{position:relative;background:var(--gray-100);border-radius:var(--radius-lg);overflow:hidden}.map-controls{position:absolute;top:1rem;right:1rem;z-index:var(--z-overlay)}.map-control-group{display:flex;flex-direction:column;gap:.25rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.map-control-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#fff;color:var(--gray-600);cursor:pointer;transition:all .2s}.map-control-btn:hover{background:var(--gray-50);color:var(--primary)}.map-legend{position:absolute;bottom:1rem;left:1rem;display:flex;gap:.5rem;z-index:var(--z-overlay)}.map-legend-item{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff;border:2px solid var(--mode-color);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s;opacity:.5}.map-legend-item.active{background:var(--mode-color);color:#fff;opacity:1}.map-legend-item svg{color:inherit}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 2rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-overlay)}.map-loading span{font-size:.875rem;color:var(--gray-600)}.map-info-panel{position:absolute;top:1rem;left:1rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:200px;z-index:var(--z-overlay);overflow:hidden}.map-info-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--gray-50);border-bottom:1px solid var(--gray-100)}.map-info-mode{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;border-radius:var(--radius-sm);color:#fff}.map-info-close{background:none;border:none;font-size:1.25rem;color:var(--gray-400);cursor:pointer;line-height:1}.map-info-close:hover{color:var(--gray-600)}.map-info-route{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;color:var(--gray-900)}.map-info-arrow{color:var(--gray-400)}.map-info-ref,.map-info-time{padding:0 1rem .5rem;font-size:.8125rem;color:var(--gray-500)}.zoom-controls{display:flex;gap:.25rem}.select-menu-wrapper{position:relative;display:inline-flex}.select-checkbox-btn{display:flex;align-items:center;gap:2px;padding:.25rem .375rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.select-checkbox-btn:hover{border-color:var(--primary);background:var(--gray-50)}.select-checkbox-btn .checkbox-icon{width:14px;height:14px;border:2px solid var(--gray-400);border-radius:3px;position:relative}.select-checkbox-btn.checked .checkbox-icon{background:var(--primary);border-color:var(--primary)}.select-checkbox-btn.checked .checkbox-icon:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.select-checkbox-btn.indeterminate .checkbox-icon{background:var(--primary);border-color:var(--primary)}.select-checkbox-btn.indeterminate .checkbox-icon:after{content:"";position:absolute;left:2px;top:4px;width:6px;height:2px;background:#fff}.select-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;z-index:100;overflow:hidden}.select-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;border:none;background:none;text-align:left;font-size:.8125rem;color:var(--gray-700);cursor:pointer;transition:background .15s}.select-menu button:hover:not(:disabled){background:var(--gray-50)}.select-menu button:disabled{opacity:.5;cursor:not-allowed}.select-menu button svg{color:var(--gray-400)}.page-header-stats{display:flex;gap:.5rem;margin-top:.5rem}.stat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600)}.stat-badge.success{background:#dcfce7;color:#166534}.stat-badge.info{background:#dbeafe;color:#1e40af}.filters-bar{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:var(--radius);margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.filter-group{flex:1;max-width:300px}.search-input-wrapper{position:relative}.search-input-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400)}.search-input-wrapper .search-input{padding-left:2.5rem}.filter-select{min-width:180px}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .75rem;border-radius:var(--radius);background:#fff;border:1px solid var(--gray-200);font-size:.875rem;color:var(--gray-700);white-space:nowrap;transition:all .15s ease}.filter-checkbox:hover{border-color:var(--primary);background:var(--primary-light)}.filter-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.filter-checkbox input[type=checkbox]:checked+span{color:var(--primary);font-weight:500}.table-container{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.terminal-name{display:flex;flex-direction:column;gap:.125rem}.terminal-name strong{color:var(--gray-900)}.terminal-name small{font-size:.75rem}.locode-cell{display:flex;align-items:center;gap:.5rem}.locode-code{font-family:var(--font-mono);font-size:.8125rem;padding:.125rem .375rem;background:var(--gray-100);border-radius:4px;color:var(--primary)}.locode-name{color:var(--gray-600);font-size:.875rem}.operator-cell{display:flex;align-items:center;gap:.375rem;color:var(--gray-700)}.operator-cell svg{color:var(--gray-400)}.badge-type-rail{background:#fef3c7;color:#92400e}.badge-type-container{background:#dbeafe;color:#1e40af}.badge-type-port{background:#e0e7ff;color:#3730a3}.badge-type-warehouse{background:#f3e8ff;color:#6b21a8}.badge-type-logistics{background:#fce7f3;color:#9d174d}.badge-type-road{background:#fee2e2;color:#991b1b}.badge-type-air{background:#cffafe;color:#0e7490}.badge-type-other{background:var(--gray-100);color:var(--gray-600)}.action-buttons{display:flex;gap:.25rem}.btn-icon{padding:.375rem;min-width:unset}.btn-ghost{background:transparent;color:var(--gray-500)}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-700)}.btn-ghost.btn-danger:hover{background:#fee2e2;color:var(--danger)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;margin-top:1rem}.pagination-info{font-size:.875rem;color:var(--gray-600)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.text-muted{color:var(--gray-400)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.function-tags{display:flex;flex-wrap:wrap;gap:.25rem}.function-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;white-space:nowrap}.function-tag-gray{background:var(--gray-100);color:var(--gray-600)}.function-tag-blue{background:#dbeafe;color:#1e40af}.function-tag-orange{background:#fed7aa;color:#9a3412}.function-tag-red{background:#fecaca;color:#991b1b}.function-tag-cyan{background:#cffafe;color:#0e7490}.function-tag-purple{background:#e9d5ff;color:#7e22ce}.function-tag-teal{background:#ccfbf1;color:#0f766e}.function-tag-yellow{background:#fef08a;color:#854d0e}.function-tag-green{background:#bbf7d0;color:#166534}.multiselect{position:relative;width:100%}.multiselect.disabled{opacity:.5;pointer-events:none}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;min-height:42px}.multiselect.open .multiselect-trigger,.multiselect-trigger:hover{border-color:var(--primary)}.multiselect-value{flex:1;font-size:.875rem;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-value.placeholder{color:var(--gray-400)}.multiselect-actions{display:flex;align-items:center;gap:.25rem}.multiselect-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:var(--gray-100);border:none;border-radius:50%;color:var(--gray-500);cursor:pointer;transition:all .2s ease}.multiselect-clear:hover{background:var(--gray-200);color:var(--gray-700)}.multiselect-arrow{color:var(--gray-400);transition:transform .2s ease}.multiselect.open .multiselect-arrow{transform:rotate(180deg)}.multiselect-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-overlay);max-height:320px;display:flex;flex-direction:column}.multiselect-search{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--gray-100)}.multiselect-search svg{color:var(--gray-400);flex-shrink:0}.multiselect-search input{flex:1;border:none;outline:none;font-size:.875rem;padding:0;background:transparent}.multiselect-options{flex:1;overflow-y:auto;padding:.25rem 0}.multiselect-option{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background .15s ease}.multiselect-option:hover{background:var(--gray-50)}.multiselect-option.selected{background:var(--primary-light)}.multiselect-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--gray-300);border-radius:4px;flex-shrink:0;transition:all .15s ease}.multiselect-option.selected .multiselect-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.multiselect-label{font-size:.875rem;color:var(--gray-700)}.multiselect-empty{padding:1rem;text-align:center;color:var(--gray-400);font-size:.875rem}.multiselect-footer{padding:.5rem .75rem;border-top:1px solid var(--gray-100)}.multiselect-footer button{background:none;border:none;color:var(--primary);font-size:.8125rem;cursor:pointer;padding:0}.multiselect-footer button:hover{text-decoration:underline}.filters-panel{padding:1rem;background:var(--gray-50);border-radius:var(--radius-sm);margin-top:.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.badge-white{background:#fff;color:var(--primary)}.import-list{display:flex;flex-direction:column;gap:.5rem}.import-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);transition:all .2s ease;cursor:pointer}.import-item:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.import-item.expanded{border-color:var(--primary);box-shadow:0 0 0 2px var(--color-brand-ring)}.import-item-header{display:flex;align-items:center;gap:1rem;padding:1rem}.import-item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border-radius:var(--radius-sm)}.import-item-info{flex:1;min-width:0}.import-item-filename{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--gray-900)}.import-item-size{font-size:.75rem;color:var(--gray-400);font-weight:400}.import-item-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.import-item-date{font-size:.8125rem;color:var(--gray-500)}.import-item-stats{display:flex;gap:.5rem}.import-item-actions{display:flex;align-items:center;gap:.25rem;color:var(--gray-400)}.import-item-details{padding:1rem;border-top:1px solid var(--gray-100);margin-top:0}.import-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.import-detail-grid>div{display:flex;flex-direction:column;gap:.25rem}.import-detail-grid .label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em}.import-detail-grid .value{font-weight:500;color:var(--gray-900)}.import-errors{margin-top:1rem;padding:.75rem;background:var(--red-50);border-radius:var(--radius-sm);border:1px solid var(--red-100)}.import-errors strong{color:var(--danger);font-size:.875rem}.import-errors ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.8125rem;color:var(--gray-700)}.import-errors li{margin-bottom:.25rem}.import-errors li.more{color:var(--gray-500);font-style:italic}.service-form-enhanced{max-width:100%}.form-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--gray-200);padding-bottom:.5rem}.form-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:none;border:none;color:var(--gray-500);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;transition:all .2s}.form-tab:hover{color:var(--gray-700);background:var(--gray-50)}.form-tab.active{color:#fff;background:var(--primary);font-weight:600}.form-tab-content{padding:1rem 0}.route-section{display:flex;align-items:flex-start;gap:1rem;margin:1.5rem 0;padding:1.5rem;background:var(--gray-50);border-radius:var(--radius-lg)}.route-endpoint{flex:1}.endpoint-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500}.endpoint-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;color:#fff}.endpoint-icon.departure{background:var(--success)}.endpoint-icon.arrival{background:var(--primary)}.route-arrow{padding-top:2.5rem;flex-shrink:0}.transport-modes{display:flex;gap:.5rem;flex-wrap:wrap}.mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius);cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:var(--primary)}.mode-btn.active{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}.mode-icon{font-size:1.25rem}.uti-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.uti-btn{padding:.5rem;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s}.uti-btn:hover{border-color:var(--primary)}.uti-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.feature-card{display:flex;flex-direction:column;align-items:center;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s;text-align:center;background:#fff}.feature-card input[type=checkbox]{display:none}.feature-card:hover{border-color:var(--primary)}.feature-card.active{border-color:var(--primary);background:var(--primary-light)}.feature-icon{font-size:1.5rem;margin-bottom:.5rem}.feature-label{font-weight:500;font-size:.875rem}.feature-hint{font-size:.75rem;color:var(--gray-500);margin-top:.25rem}.locode-select{position:relative}.locode-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9375rem}.locode-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.locode-loading{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--gray-500)}.locode-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:100}.locode-option{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--gray-100)}.locode-option:hover{background:var(--gray-50)}.locode-option:last-child{border-bottom:none}.locode-option-main{display:flex;align-items:center;gap:.5rem}.locode-option-funcs{margin-top:.5rem;display:flex;gap:.25rem;flex-wrap:wrap}.locode-code{font-family:var(--font-mono);font-weight:600;color:var(--primary);font-size:.875rem}.locode-name{font-weight:500}.locode-country{color:var(--gray-500);font-size:.875rem}.locode-selected{padding:.75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius)}.locode-selected-main{display:flex;align-items:center;gap:.5rem}.locode-clear{margin-left:auto;background:none;border:none;font-size:1.25rem;color:var(--gray-400);cursor:pointer;padding:0 .25rem}.locode-clear:hover{color:var(--danger)}.locode-functions{margin-top:.5rem;display:flex;gap:.25rem;flex-wrap:wrap}.function-tag{padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;color:#fff;font-weight:500}.function-tag.small{padding:.125rem .375rem;font-size:.625rem}.schedule-editor{padding:1rem;background:var(--gray-50);border-radius:var(--radius-lg)}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schedule-header h4{margin:0;font-size:1rem}.quick-add{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-500)}.btn-quick{padding:.25rem .5rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.75rem;cursor:pointer}.btn-quick:hover{border-color:var(--primary);color:var(--primary)}.schedule-empty{text-align:center;padding:2rem;color:var(--gray-500)}.runs-list{display:flex;flex-direction:column;gap:.75rem}.run-editor{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200)}.run-number{width:24px;height:24px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.run-departure,.run-arrival{flex:1}.run-departure label,.run-arrival label,.run-transit label{display:block;font-size:.6875rem;color:var(--gray-500);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.run-datetime{display:flex;gap:.5rem}.day-select{flex:1;padding:.375rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem}.time-input{width:90px;padding:.375rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem}.run-arrow{color:var(--gray-400);font-size:1.25rem}.run-transit{display:flex;align-items:flex-end;gap:.25rem}.transit-input{width:50px;padding:.375rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem;text-align:center}.transit-suffix{color:var(--gray-500);font-size:.875rem;padding-bottom:.375rem}.run-remove{background:none;border:none;color:var(--gray-400);font-size:1.25rem;cursor:pointer;padding:.25rem}.run-remove:hover{color:var(--danger)}.btn-add-run{padding:.75rem;background:#fff;border:1px dashed var(--gray-300);border-radius:var(--radius);color:var(--gray-500);cursor:pointer;transition:all .2s}.btn-add-run:hover{border-color:var(--primary);color:var(--primary)}.week-preview{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.week-preview h5{margin:0 0 .75rem;font-size:.8125rem;color:var(--gray-500)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.week-day{padding:.5rem;background:#fff;border-radius:var(--radius);text-align:center;min-height:60px}.week-day.has-runs{background:#fff7ed;border:1px solid #fdba74}.day-label{display:block;font-size:.75rem;font-weight:600;color:var(--gray-700);margin-bottom:.25rem}.week-day.has-runs .day-label{color:#9a3412}.day-run{display:block;font-size:.6875rem;color:#c2410c;font-weight:600}.locode-map-container{position:relative;width:100%;height:650px;background:var(--gray-50);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,inset 0 0 0 1px #ffffff80}.locode-map-canvas{width:100%;height:100%}.locode-map-controls{position:absolute;top:1rem;left:1rem;z-index:var(--z-overlay);display:flex;flex-direction:column;gap:.5rem}.locode-map-control-group{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.locode-map-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;color:var(--gray-600);cursor:pointer;transition:all .2s}.locode-map-btn:hover{background:var(--gray-100);color:var(--gray-800)}.locode-map-btn.active{background:var(--color-brand);color:var(--color-brand-text)}.locode-map-btn:not(:last-child){border-bottom:1px solid var(--gray-200)}.locode-map-style-menu{position:absolute;top:0;left:54px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;min-width:140px}.locode-map-style-menu button{width:100%;padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;background:#fff;border:none;font-size:.875rem;color:var(--gray-600);cursor:pointer;transition:all .2s;text-align:left}.locode-map-style-menu button:hover{background:var(--gray-100)}.locode-map-style-menu button.active{background:var(--color-brand-bg);color:var(--color-brand);font-weight:600}.locode-map-style-menu button:not(:last-child){border-bottom:1px solid var(--gray-200)}.locode-map-legend{position:absolute;bottom:1rem;left:1rem;background:#fff;border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-md);z-index:var(--z-overlay);min-width:160px}.locode-map-legend-title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.locode-map-legend-items{display:flex;flex-direction:column;gap:.5rem}.locode-map-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-600)}.locode-map-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.locode-map-counter{position:absolute;bottom:1rem;right:1rem;background:var(--color-brand);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:0 4px 12px var(--color-brand-ring);z-index:var(--z-overlay);text-align:center}.locode-map-counter-value{font-size:1.5rem;font-weight:700;color:#fff;line-height:1}.locode-map-counter-label{font-size:.75rem;color:#fffc;margin-top:.25rem}.locode-map-hover-info{position:absolute;top:1rem;right:1rem;background:#fff;border-radius:var(--radius-lg);padding:.75rem 1rem;box-shadow:var(--shadow-md);z-index:var(--z-overlay);display:flex;align-items:center;gap:.75rem;max-width:280px}.locode-map-hover-flag{font-size:1.5rem;line-height:1}.locode-map-hover-details{flex:1;min-width:0}.locode-map-hover-code{font-family:var(--font-mono);font-size:.8125rem;font-weight:700;color:#3b82f6;background:#eff6ff;padding:.125rem .375rem;border-radius:4px;display:inline-block}.locode-map-hover-name{font-size:.875rem;color:var(--gray-800);font-weight:500;margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.locode-sidebar{position:fixed;top:0;right:0;width:420px;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001f;z-index:var(--z-toast);display:flex;flex-direction:column;overflow:hidden}.locode-sidebar-header{background:var(--gray-800);padding:1.5rem;color:#fff}.locode-sidebar-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.locode-sidebar-flag{font-size:3rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.locode-sidebar-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s}.locode-sidebar-close:hover{background:#fff3;transform:rotate(90deg)}.locode-sidebar-title{margin-top:.5rem}.locode-sidebar-code{display:inline-block;font-family:var(--font-mono);font-size:.875rem;font-weight:700;background:#3b82f64d;color:#93c5fd;padding:.25rem .75rem;border-radius:var(--radius-sm);margin-bottom:.5rem}.locode-sidebar-name{font-size:1.5rem;font-weight:700;margin:.5rem 0;line-height:1.2}.locode-sidebar-country{font-size:.9375rem;color:#fffc}.locode-sidebar-subdivision{color:#fff9}.locode-sidebar-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.locode-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.locode-action-btn.primary{background:var(--color-brand);color:var(--color-brand-text);box-shadow:0 2px 8px var(--color-brand-ring)}.locode-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e89a1366}.locode-action-btn.danger{background:var(--danger);color:#fff;box-shadow:0 2px 8px #ef44444d}.locode-action-btn.danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.locode-action-btn.success{background:var(--secondary);color:#fff;box-shadow:0 2px 8px #10b9814d}.locode-action-btn.success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.locode-action-btn.secondary{background:var(--gray-200);color:var(--gray-600)}.locode-action-btn.secondary:hover{background:var(--gray-300)}.locode-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.locode-sidebar-body{flex:1;overflow-y:auto;padding:1.5rem}.locode-section{margin-bottom:1.5rem}.locode-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-200)}.locode-section-header svg{color:var(--color-brand)}.locode-section-header h3{flex:1;margin:0;font-size:1rem;font-weight:700;color:var(--gray-800)}.locode-section-badge{background:var(--color-brand);color:var(--color-brand-text);font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:20px;min-width:24px;text-align:center}.locode-section-action{background:var(--color-brand);color:var(--color-brand-text);border:none;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.locode-section-action:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f666}.locode-info-grid{display:flex;flex-direction:column;gap:1rem}.locode-info-item{display:flex;flex-direction:column;gap:.375rem}.locode-info-item label{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.locode-info-value{font-size:.9375rem;color:var(--gray-800)}.locode-info-value.strong{font-weight:600}.locode-empty{color:var(--gray-400);font-style:italic}.locode-input{width:100%;padding:.625rem .875rem;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.9375rem;transition:all .2s}.locode-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.locode-country-badge{display:inline-flex;align-items:center;gap:.5rem;background:#eff6ff;color:#1d4ed8;padding:.5rem .875rem;border-radius:var(--radius);font-weight:600}.locode-country-flag{font-size:1.25rem;line-height:1}.locode-coords-edit{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.locode-coord-input label{display:block;font-size:.75rem;font-weight:600;color:var(--gray-500);margin-bottom:.375rem}.locode-coords-display{display:flex;justify-content:center}.locode-coords-card{display:flex;align-items:center;gap:1rem;background:#f0fdf4;border:2px solid #86efac;padding:1rem 1.5rem;border-radius:var(--radius-lg)}.locode-coords-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--secondary);border-radius:50%;color:#fff}.locode-coords-values{display:flex;flex-direction:column;gap:.25rem}.locode-coord{display:flex;align-items:center;gap:.5rem}.locode-coord-label{font-size:.75rem;font-weight:600;color:#059669;width:24px}.locode-coord-value{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:#166534}.locode-no-coords{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background:var(--gray-50);border-radius:var(--radius-lg);color:var(--gray-400)}.locode-empty-terminals{text-align:center;padding:2rem;background:var(--gray-50);border-radius:var(--radius-lg)}.locode-empty-terminals svg{color:var(--gray-300);margin-bottom:.5rem}.locode-empty-terminals p{color:var(--gray-500);margin:0 0 1rem}.locode-add-terminal-btn{background:var(--color-brand);color:var(--color-brand-text);border:none;padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.locode-add-terminal-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.locode-terminals-list{display:flex;flex-direction:column;gap:.75rem}.locode-terminal-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:1rem;transition:all .2s}.locode-terminal-card:hover{border-color:var(--color-brand);box-shadow:0 4px 12px var(--color-brand-ring)}.locode-terminal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.locode-terminal-info{flex:1;min-width:0}.locode-terminal-name{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin-bottom:.5rem}.locode-terminal-badges{display:flex;flex-wrap:wrap;gap:.375rem}.locode-terminal-type{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.locode-terminal-inactive{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);background:#fef2f2;color:#dc2626}.locode-terminal-actions{display:flex;gap:.25rem}.locode-terminal-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-sm);color:var(--gray-500);cursor:pointer;transition:all .2s}.locode-terminal-btn:hover{background:var(--gray-200);color:var(--gray-800)}.locode-terminal-btn.danger:hover{background:#fef2f2;color:#dc2626}.locode-terminal-operator,.locode-terminal-address,.locode-terminal-coords{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-100);font-size:.8125rem;color:var(--gray-500)}.locode-terminal-operator svg,.locode-terminal-address svg,.locode-terminal-coords svg{color:var(--gray-400);flex-shrink:0}.locode-terminal-coords{font-family:var(--font-mono);font-size:.75rem}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.info-tooltip-wrapper:hover .info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.info-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:var(--gray-800);color:#fff;padding:.875rem 1rem;border-radius:var(--radius);font-size:.8125rem;font-weight:400;line-height:1.5;width:360px;max-width:90vw;text-align:left;box-shadow:var(--shadow-lg);z-index:var(--z-overlay);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.info-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--gray-800)}.page-info-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--primary-bg);border:1px solid rgba(232,154,19,.2);border-radius:var(--radius);margin-bottom:1.5rem}.page-info-banner svg{flex-shrink:0;color:var(--primary);margin-top:2px}.page-info-banner p{font-size:.875rem;color:var(--gray-700);line-height:1.6;margin:0}.page-info-banner strong{color:var(--gray-900)}.company-info-enhanced{display:flex;align-items:center;gap:.75rem}.company-logo{width:36px;height:36px;border-radius:var(--radius);object-fit:contain;background:var(--gray-50);flex-shrink:0}.company-logo-placeholder{width:36px;height:36px;border-radius:var(--radius);background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-400);flex-shrink:0}.company-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.company-name-row{display:flex;align-items:center;gap:.5rem}.country-flag{font-size:1.1rem;line-height:1}.social-links{display:flex;align-items:center;justify-content:center;gap:.375rem}.social-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--gray-100);color:var(--gray-600);transition:all .2s ease;text-decoration:none}.social-link:hover{background:var(--gray-200);color:var(--gray-800)}.social-link.linkedin:hover{background:#0077b5;color:#fff}.social-link.facebook:hover{background:#1877f2;color:#fff}.template-link{font-size:.75rem;color:var(--gray-500);text-decoration:underline;text-decoration-style:dotted;cursor:pointer;border:none;background:none;padding:0;margin-left:.5rem}.template-link:hover{color:var(--color-brand)}.badge-brand{background:var(--color-brand-bg);color:var(--color-brand-hover)}.badge-mode-rail{background:#eff6ff;color:var(--mode-rail)}.badge-mode-road{background:#fff7ed;color:var(--mode-road)}.badge-mode-waterway,.badge-mode-shortsea{background:#f0fdfa;color:var(--mode-waterway)}.badge-mode-air{background:#f5f3ff;color:var(--mode-air)}.badge-mode-deepsea{background:#e0e7ff;color:var(--mode-deepsea)}.badge-mode-multimodal{background:#fdf2f8;color:var(--mode-multimodal)}.admin-link{padding:.625rem 1.25rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--gray-500);font-size:.8125rem;font-weight:500;transition:all .2s ease;border-top:1px solid var(--gray-100);margin-top:auto}.admin-link:hover{background:var(--gray-50);color:var(--gray-700)}.admin-link.active{background:var(--color-brand-bg);color:var(--color-brand-hover)}.user-menu{padding:1rem 1.25rem;border-top:1px solid var(--gray-100)}.user-menu-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-menu-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8125rem;position:relative;flex-shrink:0}.user-admin-badge{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;background:var(--warning);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.user-menu-details{flex:1;min-width:0}.user-menu-name{font-size:.8125rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center}.user-menu-email{font-size:.75rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-logout{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-500);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.user-menu-logout:hover{background:var(--gray-100);color:var(--danger);border-color:var(--gray-300)}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;margin-top:1.5rem}.dashboard-main,.dashboard-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr}}.card-footer{padding:.75rem 1.5rem;border-top:1px solid var(--gray-100);display:flex;align-items:center;justify-content:center}.card-title{font-size:1rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:.5rem}.mode-chart{display:flex;flex-direction:column;gap:1rem}.mode-bar-container{display:flex;align-items:center;gap:.75rem}.mode-bar-label{display:flex;align-items:center;gap:.5rem;min-width:120px;font-size:.875rem;color:var(--gray-700)}.mode-icon{display:flex;align-items:center;color:var(--gray-400)}.mode-name{font-weight:500;text-transform:capitalize}.mode-count{font-weight:600;color:var(--gray-900);margin-left:auto}.mode-bar{flex:1;height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.mode-bar-fill{height:100%;border-radius:4px;background:var(--color-brand);transition:width .5s ease}.mode-bar-fill[data-mode=rail]{background:var(--mode-rail)}.mode-bar-fill[data-mode=road]{background:var(--mode-road)}.mode-bar-fill[data-mode=waterway],.mode-bar-fill[data-mode=shortsea],.mode-bar-fill[data-mode=maritime]{background:var(--mode-waterway)}.mode-bar-fill[data-mode=air]{background:var(--mode-air)}.mode-bar-fill[data-mode=deepsea]{background:var(--mode-deepsea)}.mode-bar-fill[data-mode=multimodal]{background:var(--mode-multimodal)}.mode-percent{font-size:.8125rem;font-weight:600;color:var(--gray-500);min-width:36px;text-align:right}.top-list{display:flex;flex-direction:column;gap:.5rem}.top-list-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--gray-50)}.top-list-item:last-child{border-bottom:none}.top-rank{font-size:.75rem;font-weight:600;color:var(--gray-400);min-width:24px}.top-name{flex:1;font-size:.875rem;font-weight:500;color:var(--gray-700)}.activity-feed{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}.activity-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-500);flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-title{font-size:.8125rem;font-weight:500;color:var(--gray-700)}.activity-meta{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--gray-400);margin-top:.125rem}.quick-stats{display:flex;flex-direction:column;gap:.5rem}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--gray-50)}.stat-row:last-child{border-bottom:none}.stat-label{font-size:.8125rem;color:var(--gray-500)}.stat-value{font-size:.875rem;font-weight:600;color:var(--gray-900)}.guide-steps{display:flex;flex-direction:column;gap:.75rem}.guide-step{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.guide-step-num{width:24px;height:24px;border-radius:50%;background:var(--color-brand-bg);color:var(--color-brand);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.guide-step.done .guide-step-num{background:var(--success);color:#fff}.guide-step-text{font-size:.8125rem;color:var(--gray-600)}.guide-step.done .guide-step-text{color:var(--gray-400);text-decoration:line-through}.table-cell-main{display:flex;align-items:center;gap:.75rem}.table-cell-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-500);flex-shrink:0}.table-cell-text{min-width:0}.table-cell-title{font-weight:600;color:var(--gray-900)}.table-cell-subtitle{font-size:.75rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-strength{display:flex;align-items:center;gap:.5rem;margin-top:.375rem}.password-strength-bar{flex:1;height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden}.password-strength-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.agent-chat{display:flex;flex-direction:column;gap:.75rem}.agent-bubble{max-width:80%;padding:.75rem 1rem;border-radius:var(--radius-lg);font-size:.875rem;line-height:1.5;position:relative}.agent-bubble-user{align-self:flex-end;background:var(--color-brand, #E89A13);color:#fff;border-bottom-right-radius:4px}.agent-bubble-assistant{align-self:flex-start;background:#fff;border:1px solid var(--gray-200);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.agent-bubble-error{align-self:flex-start;background:var(--error-bg, #FEF2F2);color:var(--error, #B91C1C);border:1px solid #FECACA;display:flex;gap:.5rem;align-items:flex-start}.agent-bubble-text{word-break:break-word}.agent-meta{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--gray-200);display:flex;flex-wrap:wrap;gap:.375rem;align-items:center;font-size:.75rem;color:var(--gray-500)}.agent-meta-sep{color:var(--gray-300)}.agent-tool-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--gray-100);color:var(--gray-700);padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;white-space:nowrap}.agent-typing{display:inline-flex;gap:4px;padding:.25rem 0}.agent-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gray-400);animation:agent-typing-bounce 1.2s infinite ease-in-out}.agent-typing span:nth-child(2){animation-delay:.15s}.agent-typing span:nth-child(3){animation-delay:.3s}@keyframes agent-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.vec-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .4rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:600;white-space:nowrap;line-height:1.4}.vec-badge-success{background:#dcfce7;color:#166534}.vec-badge-error{background:#fee2e2;color:#991b1b}.vec-badge-muted{background:var(--gray-100);color:var(--gray-500)}.spin{animation:vec-spin .8s linear infinite}@keyframes vec-spin{to{transform:rotate(360deg)}}.knowledge-panel{border:1px solid var(--gray-200);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;background:#fff}.knowledge-panel-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem;margin-bottom:.75rem}.knowledge-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:.75rem}.knowledge-stat{background:var(--gray-50);border-radius:var(--radius-sm);padding:.5rem .75rem}.knowledge-stat-label{font-size:.6875rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.knowledge-stat-value{font-size:1.125rem;font-weight:600;color:var(--gray-900)}.knowledge-stat-sub{font-size:.6875rem;color:var(--gray-500);margin-top:.125rem}.agent-playground{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.agent-playground.has-artefact{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}@media (max-width: 1100px){.agent-playground.has-artefact{grid-template-columns:1fr}}.agent-playground-chat{min-width:0}.agent-artefact-panel{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:1rem;min-width:0;display:flex;flex-direction:column;gap:.75rem}.agent-artefact-panel-empty{background:var(--gray-50)}.agent-artefact-header{display:flex;align-items:center;justify-content:space-between;font-size:.9375rem}.agent-locode-pin{width:36px;height:36px;background:var(--info);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000040;border:2px solid white}.agent-locode-pin span{transform:rotate(45deg);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.02em}.agent-query-pin{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 2px 6px #0000004d}.agent-query-pin span{color:#fff;font-weight:700;font-size:.75rem}.agent-service-list{display:flex;flex-direction:column;gap:.25rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.agent-service-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center;background:var(--gray-50);border:1px solid transparent;border-radius:var(--radius-sm);padding:.4rem .6rem;text-align:left;cursor:pointer;font-size:.8125rem;color:var(--gray-800);transition:all .15s}.agent-service-row:hover{background:#fff;border-color:var(--gray-200)}.agent-service-row.is-active{background:#fff;border-color:var(--color-brand, #E89A13);box-shadow:0 0 0 2px #e89a1326}.agent-mode-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.agent-service-route{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.agent-service-operator{font-size:.75rem;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.agent-service-meta{font-size:.6875rem;color:var(--gray-500);display:flex;gap:.4rem;white-space:nowrap}.agent-detail-block{background:var(--gray-50);border-radius:var(--radius-sm);padding:.5rem .75rem}.agent-detail-label{font-size:.6875rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.agent-detail-value{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin-top:.125rem}.agent-detail-sub{font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.agent-meta-pill{display:inline-flex;align-items:center;gap:.25rem;background:var(--gray-100);color:var(--gray-700);padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500}.agent-meta-pill-accent{background:#fef3c7;color:#92400e}.agent-run-chip{background:var(--gray-100);color:var(--gray-700);padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.6875rem;font-family:var(--font-mono)}.agent-contacts{display:flex;flex-direction:column;gap:.25rem}.agent-contact-row{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .6rem;background:var(--gray-50);border-radius:var(--radius-sm);font-size:.875rem;color:var(--gray-800);text-decoration:none}.agent-contact-row:hover{background:var(--gray-100)}.agent-contact-row span{flex:1;word-break:break-all}.agent-artefact-panel{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 3px #0f172a0a,0 1px 2px #0f172a08}.agent-artefact-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.agent-artefact-title{display:inline-flex;align-items:center;gap:.4rem;color:var(--gray-700);font-weight:600;font-size:.875rem}.agent-route-chip{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-full);padding:.35rem .85rem;font-size:.875rem;color:var(--gray-800);font-weight:500;box-shadow:0 1px 2px #0f172a0a}.agent-route-endpoint{display:inline-flex;align-items:center;gap:.35rem}.agent-route-dot{width:8px;height:8px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px currentColor}.agent-route-dot-dep{background:#10b981;color:#10b981}.agent-route-dot-arr{background:#ef4444;color:#ef4444}.btn-icon-soft{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);border:1px solid transparent;background:#fff;color:var(--gray-500);cursor:pointer;transition:all .15s}.btn-icon-soft:hover{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200)}.agent-artefact-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.5rem;padding:.6rem 1rem .75rem;background:var(--gray-100);border-bottom:1px solid var(--gray-100)}.agent-stat{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:.35rem .6rem;background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200)}.agent-stat-value{font-size:.9375rem;font-weight:700;color:var(--gray-900);line-height:1.15}.agent-stat-label{font-size:.6875rem;color:var(--gray-500);letter-spacing:.01em}.agent-artefact-panel .agent-map{border-radius:0;border-bottom:1px solid var(--gray-100)}.agent-mode-legend{display:flex;flex-wrap:wrap;gap:.3rem;padding:.6rem 1rem;background:#fff;border-bottom:1px solid var(--gray-100)}.agent-mode-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;background:var(--gray-50);border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;color:var(--gray-700)}.agent-mode-chip-dot{width:7px;height:7px;border-radius:50%}.agent-artefact-empty{padding:2rem 1rem;text-align:center;color:var(--gray-500)}.agent-artefact-empty p{margin:.5rem 0 .25rem;font-weight:500;color:var(--gray-700)}.agent-artefact-empty small{font-size:.8125rem;color:var(--gray-500)}.agent-artefact-panel .agent-service-list{display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem 1rem;max-height:360px;overflow-y:auto;background:#fafbfc}.agent-artefact-panel .agent-service-list::-webkit-scrollbar{width:8px}.agent-artefact-panel .agent-service-list::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:4px}.agent-service-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:.55rem .75rem;text-align:left;cursor:pointer;font-size:.875rem;color:var(--gray-800);transition:all .18s;position:relative}.agent-service-card:hover{border-color:var(--gray-300);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.agent-service-card.is-active{border-color:var(--color-brand, #E89A13);background:#fffbf3;box-shadow:0 0 0 3px #e89a1326}.agent-service-mode{font-size:.6875rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.01em}.agent-service-body{min-width:0;display:flex;flex-direction:column;gap:.15rem}.agent-service-route{display:flex;align-items:center;gap:.3rem;font-size:.875rem;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-service-route strong{font-weight:700;letter-spacing:.01em}.agent-service-cities{font-size:.8125rem;font-weight:400;color:var(--gray-500);margin-left:.4rem;display:inline-flex;align-items:center;gap:.2rem;overflow:hidden;text-overflow:ellipsis}.agent-service-operator{font-size:.75rem;color:var(--gray-600);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-service-pills{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;max-width:200px}.agent-pill{display:inline-flex;align-items:center;gap:.2rem;font-size:.6875rem;font-weight:600;padding:.15rem .45rem;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-700);white-space:nowrap}.agent-pill-dev{background:#eef2ff;color:#4338ca}.agent-pill-warn{background:#fef3c7;color:#92400e}.agent-pill-cool{background:#dbeafe;color:#1e40af}.agent-locode-pin{width:32px;height:32px;background:var(--color-brand);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #1e3a8a59;border:2.5px solid white}.agent-locode-pin span{transform:rotate(45deg);color:#fff;font-size:.6875rem;font-weight:800;letter-spacing:.04em}.agent-query-pin{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 3px 10px #0f172a40;position:relative}.agent-query-pin:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid currentColor;opacity:.25;animation:agent-pulse 2s ease-out infinite}@keyframes agent-pulse{0%{transform:scale(.8);opacity:.4}to{transform:scale(1.4);opacity:0}}.op-dashboard,.op-section{padding:0}.op-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.op-kpi-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:box-shadow .2s,transform .2s}.op-kpi-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.op-kpi-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.op-kpi-content{flex:1}.op-kpi-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);line-height:1.2}.op-kpi-label{font-size:.875rem;color:var(--gray-500);margin-top:.15rem}.op-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media (max-width: 1024px){.op-dashboard-grid{grid-template-columns:1fr}}.op-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem}.op-card h3{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:1rem}.op-map-card{min-height:400px}.op-map-placeholder{background:var(--gray-50);border-radius:var(--radius);height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-400);gap:1rem}.op-map-placeholder p{color:var(--gray-500);font-size:.875rem}.op-news-card{max-height:450px;overflow-y:auto}.op-news-list{display:flex;flex-direction:column;gap:.5rem}.op-news-item{display:block;padding:.75rem;border-radius:var(--radius);text-decoration:none;color:inherit;border:1px solid var(--gray-100);transition:background .15s,border-color .15s}.op-news-item:hover{background:var(--gray-50);border-color:var(--gray-200)}.op-news-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.op-news-modes{display:flex;gap:.25rem}.op-mode-badge{font-size:.6875rem;padding:.1rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase}.op-mode-rail{background:#e8f5e9;color:#2e7d32}.op-mode-fluvial{background:#e0f7fa;color:#00838f}.op-mode-maritime{background:#e3f2fd;color:#1565c0}.op-mode-route{background:#fff3e0;color:#e65100}.op-news-date{font-size:.75rem;color:var(--gray-400)}.op-news-title{font-size:.875rem;font-weight:500;color:var(--gray-800);line-height:1.4}.op-news-source{font-size:.75rem;color:var(--gray-400);margin-top:.2rem}.op-empty{text-align:center;color:var(--gray-400);padding:2rem}.op-empty-state{text-align:center;color:var(--gray-400);padding:3rem;font-size:.9375rem}.op-request-card{max-width:700px}.op-form-group{margin-bottom:1.25rem}.op-form-group label{display:block;font-weight:600;font-size:.875rem;color:var(--gray-700);margin-bottom:.35rem}.op-select{width:100%;padding:.65rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9375rem;background:#fff;color:var(--gray-800);transition:border-color .2s}.op-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e89a1326}.op-textarea{width:100%;padding:.65rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;resize:vertical;color:var(--gray-800)}.op-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e89a1326}.op-input{padding:.65rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9375rem;flex:1;color:var(--gray-800)}.op-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e89a1326}.op-requests-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.op-request-item{padding:.75rem 1rem;border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;align-items:center;gap:1rem}.op-request-pending{border-left:3px solid var(--warning)}.op-request-approved{border-left:3px solid var(--success)}.op-request-rejected{border-left:3px solid var(--danger)}.op-request-company{font-weight:600;flex:1}.op-request-reason{font-size:.875rem;color:var(--gray-500)}.op-profile-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-100)}.op-profile-logo{width:64px;height:64px;border-radius:var(--radius-lg);object-fit:cover;border:1px solid var(--gray-200)}.op-profile-header h2{font-size:1.5rem;margin:0;color:var(--gray-900)}.op-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.op-profile-field{padding:.5rem 0}.op-profile-field label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.25rem}.op-profile-field div,.op-profile-field p{color:var(--gray-800);font-size:.9375rem}.op-profile-field a{color:var(--brand);text-decoration:none}.op-profile-field a:hover{text-decoration:underline}.op-tags{display:flex;flex-wrap:wrap;gap:.35rem}.op-tag{display:inline-block;padding:.2rem .6rem;background:var(--brand-light);color:var(--brand);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;text-transform:capitalize}.op-table{width:100%;border-collapse:collapse}.op-table th{text-align:left;font-size:.8125rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;padding:.75rem 1rem;border-bottom:2px solid var(--gray-100)}.op-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-50);font-size:.875rem;color:var(--gray-700)}.op-table tbody tr:hover{background:var(--gray-50)}.op-locode{font-family:var(--font-mono);font-weight:600;color:var(--brand);background:var(--brand-light);padding:.15rem .5rem;border-radius:4px;font-size:.875rem}.op-invite-form{display:flex;gap:.75rem;align-items:center}.page-header h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0}.page-subtitle{font-size:.9375rem;color:var(--gray-500);margin-top:.25rem}.alert-success{background:#e8f5e9;color:#2e7d32;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid #c8e6c9;font-size:.875rem}.company-attachments{background:#fff;border-radius:var(--radius);padding:1.5rem}.web-content{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding:.875rem 1rem;border:1px solid var(--gray-100);border-radius:var(--radius);background:var(--gray-50);color:var(--gray-700)}.web-content--ready{border-color:#0ea5e933;background:#0ea5e90d}.web-content--ready svg{color:#0284c7}.web-content-summary{font-size:.8125rem;color:var(--gray-600)}.web-content-alert{font-size:.75rem;padding:.125rem .5rem;border-radius:4px;background:#ef444415;color:#dc2626}.custom-marker{background:transparent;border:none}.marker-pin{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d}.marker-label{transform:rotate(45deg);color:#fff;font-size:9px;font-weight:700}.map-popup{text-align:center;min-width:120px}.map-popup strong{font-size:14px;display:block;margin-bottom:4px}.map-popup-code{font-family:monospace;font-size:12px;color:#666}.map-popup-country{font-size:11px;color:#999}.animated-line{animation:dash 20s linear infinite}@keyframes dash{to{stroke-dashoffset:-1000}}.custom-locode-marker,.custom-terminal-marker{background:transparent!important;border:none!important}.locode-marker-pin{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:3px solid white}.locode-marker-label{transform:rotate(45deg);color:#fff;font-size:9px;font-weight:700;letter-spacing:-.5px}.map-popup-country,.map-popup-type,.map-popup-address{font-size:11px;color:#64748b;margin-top:2px}.service-line{cursor:pointer;transition:all .2s ease}.operator-attachments{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.attachments-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.importable-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:#10b98115;color:#10b981}.filter-select{padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;cursor:pointer}.attachments-list{display:flex;flex-direction:column;gap:.75rem}.attachment-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-100);transition:all .15s}.attachment-card:hover{border-color:var(--gray-200);box-shadow:var(--shadow-sm)}.attachment-icon{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary-light);border-radius:8px;color:var(--primary);flex-shrink:0}.file-type{position:absolute;bottom:-4px;right:-4px;font-size:.625rem;font-weight:700;padding:.125rem .25rem;background:var(--primary);color:#fff;border-radius:3px}.attachment-info{flex:1;min-width:0}.attachment-name{font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.attachment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500)}.category-badge{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500}.importable-tag{padding:.125rem .375rem;background:#10b98115;color:#10b981;border-radius:4px;font-size:.625rem;font-weight:600}.attachment-description{font-size:.8125rem;color:var(--gray-600);margin-top:.375rem}.attachment-actions{display:flex;gap:.25rem;flex-shrink:0}.attachment-edit{flex:1;display:flex;flex-direction:column;gap:.75rem}.edit-row{display:flex;flex-direction:column;gap:.25rem}.edit-row label{font-size:.75rem;font-weight:500;color:var(--gray-600)}.edit-row select,.edit-row input{padding:.5rem;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.875rem}.edit-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.upload-file-preview{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius);margin-bottom:1.5rem}.upload-file-preview .file-name{font-weight:500;color:var(--gray-900)}.upload-file-preview .file-size{font-size:.75rem;color:var(--gray-500)}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:var(--gray-700)}.form-group select,.form-group input{width:100%;padding:.625rem .75rem;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.875rem}.btn-danger:hover{color:#ef4444!important}.loading-spinner-sm{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.owned-terminals{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.owned-terminals-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-left h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--gray-800)}.header-stats{display:flex;gap:.75rem}.stat-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.stat-badge.owned{background:#10b98115;color:#10b981}.stat-badge.service{background:#3b82f615;color:#3b82f6}.header-actions{display:flex;align-items:center;gap:.75rem}.filter-group{display:flex;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.filter-btn{padding:.375rem .75rem;font-size:.8125rem;border:none;background:#fff;cursor:pointer;transition:all .15s;color:var(--gray-600)}.filter-btn:hover{background:var(--gray-50)}.filter-btn.active{background:var(--primary);color:#fff}.filter-btn:not(:last-child){border-right:1px solid var(--gray-200)}.view-toggle{display:flex;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.toggle-btn{padding:.375rem .625rem;border:none;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--gray-500)}.toggle-btn:hover{background:var(--gray-50);color:var(--gray-700)}.toggle-btn.active{background:var(--primary);color:#fff}.toggle-btn:first-child{border-right:1px solid var(--gray-200)}.empty-state-compact{text-align:center;padding:3rem 2rem;color:var(--gray-600)}.terminals-table-container{overflow-x:auto}.terminals-table{width:100%;border-collapse:collapse}.terminals-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.terminals-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);font-size:.875rem}.terminals-table tbody tr{cursor:pointer;transition:background .15s}.terminals-table tbody tr:hover{background:var(--gray-50)}.terminal-name-cell{display:flex;flex-direction:column;gap:.125rem}.terminal-name-cell strong{color:var(--gray-900)}.terminal-address{font-size:.75rem;color:var(--gray-500)}.locode-cell{display:flex;flex-direction:column;gap:.125rem}.locode-cell code{font-family:SF Mono,Monaco,monospace;font-size:.75rem;padding:.125rem .375rem;background:#3b82f610;border:1px solid #3b82f630;border-radius:4px;color:var(--primary);width:fit-content}.locode-name{font-size:.75rem;color:var(--gray-500)}.usage-badges{display:flex;flex-wrap:wrap;gap:.25rem}.usage-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.service-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .375rem;font-size:.75rem;font-weight:600;background:var(--gray-100);color:var(--gray-700);border-radius:12px}.terminals-map-container{position:relative;height:500px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200)}.map-element{width:100%;height:100%}.map-controls{position:absolute;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.25rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.25rem}.map-control-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#fff;cursor:pointer;color:var(--gray-600);border-radius:4px;transition:all .15s}.map-control-btn:hover{background:var(--gray-100);color:var(--gray-800)}.map-info{position:absolute;bottom:1rem;left:1rem;z-index:1000;background:#fff;padding:.375rem .75rem;border-radius:var(--radius);font-size:.75rem;color:var(--gray-600);box-shadow:var(--shadow-sm)}.terminal-detail-panel{position:absolute;top:1rem;left:1rem;z-index:1000;width:280px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.panel-header h4{margin:0;font-size:.9375rem;color:var(--gray-900)}.panel-body{padding:1rem}.panel-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.panel-row:last-child{margin-bottom:0}.panel-row .label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.panel-row code{font-family:SF Mono,Monaco,monospace;font-size:.8125rem;padding:.25rem .5rem;background:#3b82f610;border:1px solid #3b82f630;border-radius:4px;color:var(--primary);width:fit-content}.panel-actions{padding:.75rem 1rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.terminal-marker-pin{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white}.badge-type-rail{background:#2563eb20;color:#2563eb}.badge-type-port{background:#0891b220;color:#0891b2}.badge-type-inland_port{background:#06b6d420;color:#06b6d4}.badge-type-logistics{background:#f59e0b20;color:#f59e0b}.badge-type-multimodal{background:#10b98120;color:#10b981}.badge-type-container{background:#8b5cf620;color:#8b5cf6}.badge-type-warehouse{background:#f9731620;color:#f97316}.badge-type-road{background:#eab30820;color:#eab308}.badge-type-air{background:#a855f720;color:#a855f7}.custom-terminal-marker{background:transparent!important;border:none!important}.terminal-marker-pin{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;transition:transform .2s ease}.terminal-marker-pin.selected{transform:scale(1.2);z-index:1000!important}.terminal-marker-pin:hover{transform:scale(1.1)}.map-popup{text-align:center;min-width:140px;padding:.25rem}.map-popup-title{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.map-popup-code{font-family:monospace;font-size:12px;color:#3b82f6;font-weight:600}.map-popup-type,.map-popup-address{font-size:11px;color:#64748b;margin-top:2px}.terminal-map-list{border-top:1px solid var(--border-color);background:var(--bg-secondary);max-height:150px;overflow:hidden;display:flex;flex-direction:column}.terminal-map-list-header{padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.terminal-map-list-items{display:flex;overflow-x:auto;gap:.5rem;padding:.5rem 1rem}.terminal-map-list-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;transition:all .2s ease;min-width:fit-content}.terminal-map-list-item:hover,.terminal-map-list-item.active{border-color:var(--primary);background:var(--primary-light)}.terminal-map-list-marker{width:10px;height:10px;border-radius:50%;flex-shrink:0}.terminal-map-list-info{display:flex;flex-direction:column;gap:.125rem}.terminal-map-list-name{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.terminal-map-list-locode{font-size:.6875rem;font-family:monospace;color:var(--text-muted)}.text-warning{color:var(--warning)}.sp-kpis{display:flex;flex-wrap:wrap;gap:12px 28px;margin:12px 0 4px}.sp-kpi{min-width:120px}.sp-kpi-value{font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--gray-900)}.sp-kpi-label{font-size:.75rem;color:var(--gray-500)}.sp-kpi-hint{margin-top:2px;font-size:.75rem;color:var(--gray-500)}.sp-badge{display:inline-block;padding:1px 8px;font-size:.75rem;border-radius:4px;background:var(--gray-100);color:var(--gray-700)}.sp-badge--warn{margin-left:8px;background:#f59e0b22;color:#b45309}.sp-badge--pdf{background:#ef444415;color:#b91c1c}.sp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sp-chips{display:flex;gap:6px}.sp-nowrap{white-space:nowrap}.sp-url{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-text{margin:0;max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.8125rem;line-height:1.5}.sp-domain{display:inline-block;padding:1px 8px;font-size:.6875rem;font-weight:600;line-height:1.6;border-radius:999px;vertical-align:middle;white-space:nowrap}.sp-domain--intermodal{color:#1d4ed8;background:#dbeafe}.sp-domain--maritime{color:#0369a1;background:#e0f2fe}:root{--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--color-brand: #d98a0b;--color-brand-hover: #b87205;--color-brand-bg: #fdf6ea;--color-brand-soft: #f8e6c6;--color-brand-ring: rgba(217, 138, 11, .18);--primary-light: #e59d24;--ink: var(--gray-900);--hairline: #e8edf3;--shadow-sm: 0 1px 1px rgba(15, 23, 42, .04);--shadow: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .07);--shadow-lg: 0 12px 24px -6px rgba(15, 23, 42, .08);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"cv11","ss01","tnum";background-color:var(--gray-50);color:var(--gray-800);line-height:1.5;letter-spacing:-.003em}.page-header{margin-bottom:1.5rem}.page-header-title{font-size:1.5rem;font-weight:650;letter-spacing:-.02em;color:var(--ink)}.page-header-subtitle{font-size:.875rem;color:var(--gray-500)}.page-header-icon{box-shadow:none}.sidebar{border-right:1px solid var(--hairline)}.logo{border-bottom:1px solid var(--hairline)}.logo-icon{box-shadow:none;border-radius:10px}.logo-title{font-size:1rem;font-weight:650}.logo-subtitle{font-size:.625rem;letter-spacing:.08em;color:var(--gray-400)}.logo-icon--image{background:transparent;padding:0;overflow:hidden}.logo-img{display:block;width:100%;height:100%;object-fit:contain}.sidebar .logo--square .logo-icon{width:44px;height:44px}.sidebar .logo--tall .logo-icon{width:40px;height:56px}.sidebar .logo--wide{flex-direction:column;align-items:flex-start;gap:.5rem}.sidebar .logo--wide .logo-icon{width:auto;height:auto;max-width:100%}.sidebar .logo--wide .logo-img{width:auto;height:44px;max-width:100%;object-position:left center}.sidebar .logo--wide .logo-text{flex-direction:row;align-items:baseline;gap:.5rem;max-width:100%}.sidebar .logo--wide .logo-title{font-size:.75rem;flex-shrink:0}.sidebar .logo--wide .logo-subtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item{padding:.5rem .75rem;margin:.0625rem .75rem;border-left:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--gray-600)}.nav-item:hover{background:var(--gray-100);color:var(--gray-900);border-left-color:transparent}.nav-item.active{background:var(--color-brand-bg);color:var(--color-brand-hover);font-weight:600}.nav-section-header{padding:.5rem 1.5rem}.nav-section-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--gray-400)}.nav-subitem{font-size:.8125rem;color:var(--gray-500);padding-left:3rem}.nav-subitem:hover{background:var(--gray-100);color:var(--gray-900)}.nav-subitem:hover:before{background:var(--gray-400);transform:none}.nav-subitem.active{background:transparent;color:var(--color-brand-hover)}.nav-subitem.active:before{width:5px;height:5px}.nav-separator{background:var(--hairline)}.user-section{border-top:1px solid var(--hairline)}.btn{font-weight:500;border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--color-brand);box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);transform:none;box-shadow:none}.btn-secondary{background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.btn-danger:hover:not(:disabled){transform:none;box-shadow:none}.btn-ghost{color:var(--gray-500)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{padding:.375rem}.btn-ghost.btn-danger:hover{background:#fef2f2;color:#b91c1c}.form-input{border-color:var(--gray-200);background:#fff}.form-input:hover{border-color:var(--gray-300)}.badge{font-weight:500;font-size:.75rem;padding:.125rem .5rem;gap:.25rem;letter-spacing:0}.badge-success{background:#ecfdf3;color:#067647}.badge-warning{background:#fffaeb;color:#b54708}.badge-error,.badge-danger{background:#fef3f2;color:#b42318}.badge-info{background:var(--gray-100);color:var(--gray-700)}.badge-secondary{background:var(--gray-100);color:var(--gray-500)}.table-container{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:none}.data-table thead th{background:#fff;padding:.75rem 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;color:var(--gray-400);border-bottom:1px solid var(--hairline)}.data-table tbody td{padding:.875rem 1rem;font-size:.875rem;color:var(--gray-600);border-bottom:1px solid var(--hairline)}.data-table tbody tr:hover{background:var(--gray-50)}.filters-bar{background:transparent;box-shadow:none;padding:0}.filters-bar .form-input{height:2.25rem;padding-top:0;padding-bottom:0;font-size:.875rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.filter-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .75rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.filter-chip:hover{border-color:var(--gray-300);color:var(--gray-900)}.filter-chip[aria-pressed=true]{background:var(--gray-900);border-color:var(--gray-900);color:#fff}.filter-chip-count{font-size:.75rem;font-weight:500;color:var(--gray-400)}.filter-chip[aria-pressed=true] .filter-chip-count{color:#ffffffa6}.filter-toggle{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font:inherit;font-size:.8125rem;color:var(--gray-500);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.filter-toggle:hover{background:var(--gray-100);color:var(--gray-800)}.filter-toggle[aria-pressed=true]{background:var(--color-brand-bg);border-color:var(--color-brand-soft);color:var(--color-brand-hover)}.filter-toggle-count{color:var(--gray-400)}.filter-toggle[aria-pressed=true] .filter-toggle-count{color:inherit;opacity:.8}.company-logo,.company-logo-placeholder{width:32px;height:32px;border-radius:8px;border:1px solid var(--hairline);background:#fff}.company-logo-placeholder{background:var(--gray-50)}.company-name-row strong{font-weight:600;font-size:.9375rem;color:var(--ink);letter-spacing:-.01em}.country-code{font-size:.6875rem;font-weight:600;letter-spacing:.05em;color:var(--gray-400)}.function-tags{gap:.375rem}.function-tag-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem .125rem .375rem;font-size:.75rem;font-weight:500;color:var(--gray-700);background:var(--gray-50);border:1px solid var(--hairline);border-radius:var(--radius-full);white-space:nowrap}.function-tag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.social-link{width:26px;height:26px;background:transparent;color:var(--gray-400)}.social-link:hover{background:var(--gray-100);color:var(--gray-800)}.social-link.linkedin:hover{background:#eaf2f8;color:#0a66c2}.social-link.facebook:hover{background:#eaf1fe;color:#1877f2}.count-cell{font-variant-numeric:tabular-nums;color:var(--gray-700);font-weight:500}.count-cell.is-zero{color:var(--gray-300)}.status-dot{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--gray-600)}.status-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#12b76a}.status-dot.is-off:before{background:var(--gray-300)}.status-dot.is-off{color:var(--gray-400)}.action-buttons{align-items:center;gap:.375rem}.btn-offer{background:var(--color-brand-bg);color:var(--color-brand-hover);border:1px solid var(--color-brand-soft);box-shadow:none}.btn-offer:hover:not(:disabled){background:var(--color-brand-soft);color:#8a5504}.template-link{font-size:.6875rem;color:var(--gray-400)}.template-link:hover{color:var(--gray-700)}.platform-admin-banner{background:var(--gray-900);color:#cbd5e1;border-bottom:1px solid #1e293b;font-size:.8125rem;font-weight:400;padding:.4375rem 1rem}.platform-admin-banner strong{color:#fff;font-weight:500}.platform-admin-banner .platform-admin-label{background:transparent;border:1px solid rgba(255,255,255,.22);color:#e2e8f0;padding:.0625rem .5rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--control-h: 2.25rem}.main-content{padding:1.5rem 2rem 3rem}.platform-admin-banner{border-radius:var(--radius);margin-bottom:1.5rem}.page-header{align-items:center;gap:1rem 1.5rem;flex-wrap:wrap}.page-header-actions,.page-header>div:last-child:not(.page-header-left){align-items:center}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.header-action-with-hint{position:relative;display:inline-flex}.header-action-hint{position:absolute;top:calc(100% + .25rem);right:0;white-space:nowrap;background:none;border:none;padding:0;font:inherit;font-size:.6875rem;color:var(--gray-400);text-decoration:none;cursor:pointer}.header-action-hint:hover{color:var(--gray-700);text-decoration:underline}.btn{min-height:var(--control-h);padding:0 .875rem}.btn-sm{min-height:2rem;padding:0 .75rem}.btn-lg{min-height:2.75rem;padding:0 1.25rem}.btn-icon{min-width:var(--control-h);padding:0}.btn-icon.btn-sm{min-width:2rem}.form-input{min-height:var(--control-h);padding:.4375rem .75rem;font-size:.875rem;border-color:var(--gray-200)}textarea.form-input{padding:.5rem .75rem}.form-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.form-label{font-size:.8125rem;font-weight:500;color:var(--gray-700);margin-bottom:.375rem}.form-group{margin-bottom:1rem}.form-hint{font-size:.75rem;color:var(--gray-400)}.filters-bar{gap:.75rem;margin-bottom:1rem}.filter-chips{margin-bottom:.75rem}.card,.kpi-card,.kpi-card-new,.modal-card{background:#fff;border:1px solid var(--hairline);box-shadow:none;border-radius:var(--radius-lg)}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--hairline)}.card-title{font-size:.9375rem;font-weight:600;color:var(--ink)}.card-body{padding:1.25rem}.kpi-card:hover,.kpi-card-new.clickable:hover{transform:none;box-shadow:var(--shadow-md);border-color:var(--gray-200)}.kpi-card-new{padding:1.25rem}.kpi-card-new:hover:before{opacity:0}.kpi-card-header{margin-bottom:.75rem}.kpi-card-icon{width:36px;height:36px;border-radius:10px;box-shadow:none;background:var(--gray-100)!important;color:var(--gray-600)}.kpi-card-icon svg{width:18px;height:18px}.kpi-card-title,.kpi-title{font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--gray-500)}.kpi-card-value,.kpi-value{font-weight:650;letter-spacing:-.02em;color:var(--ink)}.kpi-card-trend.up{background:#ecfdf3;color:#067647}.kpi-card-trend.down{background:#fef3f2;color:#b42318}.kpi-icon{box-shadow:none;background:var(--gray-100)!important}.modal-overlay{background:#0f172a73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal-content{border-radius:14px;border:1px solid var(--hairline);box-shadow:0 24px 48px -12px #0f172a38}.modal-header{padding:1.125rem 1.5rem;background:#fff;border-bottom:1px solid var(--hairline)}.modal-header:before{display:none}.modal-header h2{font-size:1.0625rem;font-weight:650;letter-spacing:-.01em}.modal-header h2 svg{color:var(--gray-500)}.modal-header-icon{width:36px;height:36px;border-radius:10px;background:var(--color-brand-bg);color:var(--color-brand-hover);box-shadow:none}.modal-body{padding:1.25rem 1.5rem}.modal-footer{padding:.875rem 1.5rem;background:var(--gray-50);border-top:1px solid var(--hairline);gap:.5rem}.modal-tabs{background:#fff;border-bottom:1px solid var(--hairline);padding:0 1rem;gap:.25rem}.modal-tab{padding:.75rem .875rem;font-size:.8125rem}.modal-tab:hover{background:transparent;color:var(--gray-900)}.modal-tab.active{background:transparent;border-radius:0;color:var(--ink);font-weight:600}.modal-card-icon.primary{background:var(--color-brand-bg);color:var(--color-brand-hover)}.modal-card-icon.success{background:#ecfdf3;color:#067647}.modal-card-icon.warning{background:#fffaeb;color:#b54708}.modal-step.active .modal-step-circle,.locode-action-btn.primary:hover,.locode-action-btn.danger,.locode-action-btn.danger:hover,.locode-action-btn.success,.locode-section-action:hover,.locode-add-terminal-btn:hover,.form-actions-header .btn-primary:hover,.upload-zone.drag-over,.auth-logo-icon,.agent-locode-pin{box-shadow:none}.auth-card{border:1px solid var(--hairline);box-shadow:var(--shadow-md)}.page-tabs,.tabs,.company-tabs{border-bottom:1px solid var(--hairline)}.alert{border-radius:var(--radius);font-size:.8125rem}.alert-error{background:#fef3f2;color:#b42318;border-color:#fee4e2}.pagination{gap:.75rem;padding:1rem 0}*{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}h1,h2,h3,h4{letter-spacing:-.015em}h2{font-weight:650}h3,h4,strong,b{font-weight:600}.page-header-icon{width:40px;height:40px;border-radius:10px;background:var(--color-brand-bg);color:var(--color-brand-hover);font-size:1.25rem}.page-header-left{gap:.875rem}.page-header-back{width:var(--control-h);height:var(--control-h);border-color:var(--gray-200)}[role=tab].btn{font-weight:500;color:var(--gray-500)}[role=tab].btn-primary{background:#fff;color:var(--ink);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);font-weight:600}[role=tab].btn-primary:hover:not(:disabled){background:#fff}[role=tablist]{gap:.25rem}.filter-chip.active{background:var(--gray-900);border-color:var(--gray-900);color:#fff;box-shadow:none}.page-info-banner,.info-box{background:#fff;border:1px solid var(--hairline);border-left:3px solid var(--color-brand);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1.25rem}.page-info-banner p{font-size:.8125rem;color:var(--gray-600);line-height:1.55}.page-info-banner svg{color:var(--gray-400)}.empty-state{padding:3rem 1.5rem}.empty-state-icon{width:56px;height:56px;margin-bottom:1rem;background:var(--gray-100)}.empty-state-icon svg{width:26px;height:26px}.empty-state-title{font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.25rem}.empty-state-text{font-size:.875rem;margin-bottom:1.25rem}.admin-link{margin:.0625rem .75rem;padding:.5rem .75rem;width:auto;border-top:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--gray-600)}.sidebar button.admin-link{width:calc(100% - 1.5rem)}.admin-link:hover{background:var(--gray-100);color:var(--gray-900)}.admin-link.active{background:var(--color-brand-bg);color:var(--color-brand-hover);font-weight:600}.filters-bar .filter-group{flex:0 1 320px}.filters-bar .filter-select,.filters-bar select.form-input{min-width:180px}.filter-checkbox{min-height:var(--control-h);padding:0 .75rem;border-radius:var(--radius)}.filter-checkbox:hover{background:var(--gray-50);border-color:var(--gray-300)}.company-name-row{white-space:nowrap}.action-buttons{flex-wrap:nowrap;justify-content:flex-start}.action-buttons .btn-icon{min-width:1.75rem;width:1.75rem;min-height:1.75rem}.table-container{overflow-x:auto}.data-table.companies-table td,.data-table.companies-table th{padding-left:.75rem;padding-right:.75rem}.map-filters .filter-chip{background:#fff;border-color:var(--gray-200);color:var(--gray-400)}.map-filters .filter-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gray-300)}.map-filters .filter-chip.active{background:#fff;border-color:var(--gray-300);color:var(--ink)}.map-filters .filter-chip.active:before{background:var(--chip-color, var(--gray-500))}.multimodal-search-page{padding:0;max-width:none}.multimodal-search-page .page-header{text-align:left;margin-bottom:1.5rem}.multimodal-search-page .page-header h1{font-size:1.5rem;font-weight:650;background:none;-webkit-text-fill-color:currentColor;color:var(--ink);margin-bottom:.25rem}.multimodal-search-page .page-subtitle{font-size:.875rem}.companies-table th,.companies-table td{padding-left:.375rem;padding-right:.375rem}.companies-table .social-links{gap:.125rem}.companies-table th:first-child,.companies-table td:first-child{padding-left:1rem}.companies-table .action-buttons{gap:.25rem}.companies-table .btn-sm{padding:0 .625rem;font-size:.75rem}.act-as-picker{padding:.75rem 1rem;border-top:1px solid var(--hairline)}.act-as-picker-label{display:block;margin-bottom:.375rem;font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400)}.act-as-picker-row{display:flex;gap:.375rem}.act-as-picker-row select{flex:1;min-width:0;padding:.3125rem .5rem;border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;font-size:.8125rem}.acting-as-banner{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.4375rem 1rem;background:var(--gray-900);color:#cbd5e1;border-top:1px solid #1e293b;font-size:.8125rem}.acting-as-banner strong{color:#fff;font-weight:500}.acting-as-banner .acting-as-label{border:1px solid rgba(255,255,255,.22);color:#e2e8f0;padding:.0625rem .5rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.acting-as-banner .acting-as-exit{background:#fff;border:1px solid #fff;color:var(--gray-900);font-weight:600;padding:.125rem .75rem;border-radius:var(--radius-full);font-size:.75rem;cursor:pointer}.acting-as-banner .acting-as-exit:hover{background:#e2e8f0}.acting-as-back{display:flex;align-items:center;justify-content:center;gap:.375rem;width:calc(100% - 1.5rem);margin:.5rem .75rem .25rem;padding:.4375rem .75rem;font:inherit;font-size:.8125rem;font-weight:600;color:#fff;background:var(--gray-900);border:0;border-radius:var(--radius);cursor:pointer}.acting-as-back:hover{background:var(--gray-700)}body.acting-as .sidebar{height:calc(100vh - 2.25rem)}body.acting-as .main-content{padding-bottom:4rem}.modal-subtitle-route{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.modal-subtitle-code{padding:0 .4rem;font-family:var(--font-mono);font-size:.75rem;font-weight:600;line-height:1.5;color:var(--gray-700);background:var(--gray-100);border-radius:4px}.modal-subtitle-arrow{color:var(--gray-400)}.modal-subtitle-ref{font-size:.8125rem;color:var(--gray-500)}.form-actions-header,.form-actions-header:has(.form-status--editing){padding:.75rem 1.5rem;margin:-1rem -1.5rem 1.25rem;background:#fff;border-bottom:1px solid var(--hairline);border-radius:0}.modal-body:has(>.service-form-enhanced){padding-top:0}.modal-body>.service-form-enhanced>.form-actions-header{margin-top:0}.form-status,.form-status--editing,.form-status--new{gap:.5rem;padding:0;font-size:.8125rem;font-weight:500;color:var(--gray-600);background:transparent;border:none;border-radius:0}.form-status-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-300);flex:none}.form-status--editing .form-status-dot{background:var(--color-brand)}.form-status--new .form-status-dot{background:#12b76a}.form-actions-right{gap:.5rem}.form-actions-header .btn-lg{min-height:var(--control-h);padding:0 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);box-shadow:none}.form-actions-header .btn-primary{background:var(--color-brand);color:#fff;border:none;box-shadow:none}.form-actions-header .btn-primary:hover:not(:disabled){background:var(--color-brand-hover);transform:none;box-shadow:none}.form-actions-header .btn-secondary{background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.form-actions-header .btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.form-tabs{gap:.25rem;margin-bottom:1.25rem;padding-bottom:0;border-bottom:1px solid var(--hairline)}.form-tab{position:relative;padding:.625rem .75rem;margin-bottom:-1px;font:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-500);border-radius:0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.form-tab svg{color:var(--gray-400)}.form-tab:hover{background:transparent;color:var(--gray-900)}.form-tab.active{background:transparent;color:var(--ink);font-weight:600;border-bottom-color:var(--color-brand)}.form-tab.active svg{color:var(--color-brand-hover)}.form-tab-content{padding:.25rem 0 0}.service-form-enhanced .form-group{gap:.375rem;margin-bottom:1.25rem}.service-form-enhanced .form-group>label{font-size:.8125rem;font-weight:500;color:var(--gray-700)}.service-form-enhanced .form-hint{font-size:.75rem;color:var(--gray-400)}.service-form-enhanced .form-row{gap:1rem 1.25rem}.service-form-enhanced .error-message{padding:.625rem .875rem;font-size:.8125rem;color:#b42318;background:#fef3f2;border:1px solid #fee4e2;border-radius:var(--radius)}.route-section{gap:1.25rem;margin:0 0 1.25rem;padding:1.25rem;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg)}.endpoint-header{gap:.5rem;margin-bottom:.625rem;font-size:.8125rem;font-weight:600;color:var(--ink)}.endpoint-icon,.endpoint-icon.departure,.endpoint-icon.arrival{width:22px;height:22px;font-size:.6875rem;color:#fff;background:var(--gray-900)}.route-arrow{padding-top:2.25rem;color:var(--gray-300)}.endpoint-terminal{margin-top:.75rem}.endpoint-sub-label{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:500;color:var(--gray-500)}.terminal-select{display:flex;flex-direction:column;gap:.25rem}.terminal-select-input{width:100%}.terminal-select-count{font-size:.75rem;color:var(--gray-400)}.terminal-select-empty{display:inline-flex;align-items:center;gap:.375rem;min-height:var(--control-h);font-size:.8125rem;color:var(--gray-400)}.locode-input{width:100%}.locode-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.locode-dropdown{border-color:var(--hairline);box-shadow:var(--shadow-lg)}.locode-option{padding:.625rem .75rem;border-bottom-color:var(--hairline)}.locode-code{color:var(--ink);font-size:.8125rem}.locode-name{font-size:.875rem;color:var(--gray-800)}.locode-country{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--gray-400)}.locode-selected{padding:.625rem .75rem;background:#fff;border-color:var(--gray-200)}.locode-clear{font-size:1.125rem;line-height:1}.locode-clear:hover{color:var(--gray-900)}.locode-functions,.locode-option-funcs{gap:.375rem;margin-top:.5rem}.function-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.0625rem .5rem .0625rem .4rem;font-size:.6875rem;font-weight:500;color:var(--gray-600);background:var(--gray-50);border:1px solid var(--hairline)}.function-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tag-color, var(--gray-400));flex:none}.function-tag.small{padding:0 .4rem 0 .35rem;font-size:.625rem}.mode-btn,.uti-btn,.btn-quick{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2rem;padding:0 .75rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.mode-btn svg,.uti-btn svg{color:var(--gray-400)}.mode-btn:hover,.uti-btn:hover,.btn-quick:hover{color:var(--gray-900);background:#fff;border-color:var(--gray-300);transform:none;box-shadow:none}.mode-btn.active,.uti-btn.active{color:var(--color-brand-hover);background:var(--color-brand-bg);border-color:var(--color-brand-soft);font-weight:600}.mode-btn.active svg,.uti-btn.active svg{color:var(--color-brand-hover)}.transport-modes{gap:.375rem}.uti-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.375rem}.features-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.feature-card{flex-direction:row;align-items:center;gap:.75rem;padding:.625rem .75rem;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);transition:background .15s ease,border-color .15s ease}.feature-card:hover{border-color:var(--gray-300)}.feature-card.active{background:var(--color-brand-bg);border-color:var(--color-brand-soft)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;flex:none;color:var(--gray-500);background:var(--gray-100);border-radius:8px}.feature-card.active .feature-icon{color:var(--color-brand-hover);background:#fff}.feature-text{display:flex;flex-direction:column;min-width:0}.feature-label{font-size:.8125rem;font-weight:500;color:var(--gray-800);line-height:1.3}.feature-card.active .feature-label{color:var(--color-brand-hover);font-weight:600}.feature-hint{margin-top:.0625rem;font-size:.6875rem;color:var(--gray-400)}.modal-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--hairline)}.modal-section-title{font-size:.9375rem;font-weight:600;color:var(--ink)}.modal-section-title svg{color:var(--gray-400)}.schedule-editor{padding:1rem 1.25rem;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg)}.schedule-header{margin-bottom:.875rem;flex-wrap:wrap;gap:.5rem}.schedule-header h4{font-size:.875rem;font-weight:600;color:var(--ink)}.quick-add{font-size:.75rem;color:var(--gray-400);gap:.375rem}.btn-quick{min-height:1.75rem;padding:0 .625rem;font-size:.75rem}.week-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--hairline)}.week-preview--top{margin:0 0 1rem;padding:0 0 1rem;border-top:none;border-bottom:1px solid var(--hairline)}.week-preview h5{font-size:.75rem;font-weight:500;color:var(--gray-500)}.week-grid{gap:.375rem}.week-day{min-height:52px;padding:.375rem;background:var(--gray-50);border:1px solid var(--hairline);border-radius:var(--radius)}.week-day.has-runs{background:var(--color-brand-bg);border-color:var(--color-brand-soft)}.day-label{font-size:.6875rem;color:var(--gray-500)}.week-day.has-runs .day-label{color:var(--color-brand-hover)}.day-run{font-size:.6875rem;font-weight:500;color:var(--gray-700);font-variant-numeric:tabular-nums}.schedule-editor .runs-list{gap:.5rem}.run-editor{gap:.75rem;padding:.625rem .75rem;border-color:var(--gray-200)}.run-number{width:22px;height:22px;font-size:.6875rem;color:var(--gray-600);background:var(--gray-100)}.run-departure label,.run-arrival label,.run-transit label{font-size:.625rem;color:var(--gray-400)}.transit-input{width:62px}.time-input{width:104px}.day-select,.time-input,.transit-input{min-height:2rem;padding:.25rem .5rem;font:inherit;font-size:.8125rem;border-color:var(--gray-200);background:#fff}.day-select:focus,.time-input:focus,.transit-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.run-editor .run-arrow{color:var(--gray-300);font-size:1rem}.run-remove{font-size:1.125rem;line-height:1}.run-remove:hover{color:var(--gray-900)}.schedule-empty{padding:1.25rem;font-size:.875rem}.schedule-empty p{margin-bottom:.75rem}.btn-add-run{padding:.625rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-500);border-color:var(--gray-200)}.btn-add-run:hover{color:var(--gray-900);border-color:var(--gray-400);background:var(--gray-50)}.sc-page{--sc-ok-bg: #dcfce7;--sc-ok-ink: #166534;--sc-ok-line: #86efac;--sc-stale-bg: #fef3c7;--sc-stale-ink: #92400e;--sc-stale-line: #fcd34d;--sc-failing-bg: #fee2e2;--sc-failing-ink: #b91c1c;--sc-failing-line: #fca5a5;--sc-never-bg: #e2e8f0;--sc-never-ink: #334155;--sc-never-line: #94a3b8;--sc-validate-bg: #ffedd5;--sc-validate-ink: #9a3412;--sc-validate-line: #fdba74;--sc-paused-bg: #f1f5f9;--sc-paused-ink: #475569;--sc-paused-line: #cbd5e1;--sc-claimed-bg: #e0e7ff;--sc-claimed-ink: #3730a3;--sc-claimed-line: #a5b4fc;--sc-held-bg: #fef9c3;--sc-held-ink: #854d0e;--sc-held-line: #facc15;--sc-nodata-bg: #cffafe;--sc-nodata-ink: #155e75;--sc-nodata-line: #67e8f9;--sc-row-h: 40px;min-width:0;display:flex;flex-direction:column;gap:12px}.sc-page :is(button,input,select,a,summary):focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.sc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sc-muted{color:var(--gray-500)}.sc-bad{color:var(--danger-dark)}.sc-warn{color:#b45309}.sc-nowrap{white-space:nowrap}.sc-spacer{flex:1}.sc-num{text-align:right;font-variant-numeric:tabular-nums}.sc-pagehead h1{font-size:1.375rem;font-weight:650;line-height:1.25;margin:0 0 2px;color:var(--ink, var(--gray-900))}.sc-pagehead p{font-size:.8125rem;max-width:880px}.sc-alert{margin:0;align-items:center;padding:8px 12px;font-size:.8125rem}.sc-alert svg{flex-shrink:0}.sc-inline-error{padding:8px 12px;font-size:.8125rem}.sc-textbtn{padding:0;font:inherit;font-size:.8125rem;color:var(--gray-700);background:none;border:none;text-decoration:underline;text-underline-offset:2px;cursor:pointer;border-radius:3px}.sc-textbtn:hover{color:var(--gray-900)}.sc-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;color:var(--gray-600);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.sc-iconbtn:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-200)}.sc-iconbtn:disabled{opacity:.4;cursor:not-allowed}.sc-iconbtn.is-active{background:var(--gray-100);color:var(--gray-900)}.sc-select{height:28px;padding:0 24px 0 8px;font:inherit;font-size:.8125rem;color:var(--gray-800);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer}.sc-select:disabled{opacity:.6;cursor:not-allowed}.sc-check{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--gray-700);cursor:pointer}.sc-check input{width:15px;height:15px;accent-color:var(--color-brand)}.sc-switch{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.sc-switch input{position:absolute;left:0;top:0;z-index:1;width:34px;height:20px;margin:0;opacity:0;cursor:pointer}.sc-switch-track{position:relative;flex-shrink:0;width:34px;height:20px;background:var(--gray-300);border-radius:999px;transition:background .15s ease;pointer-events:none}.sc-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0f172a4d;transition:transform .15s ease}.sc-switch input:checked+.sc-switch-track{background:var(--sc-ok-ink)}.sc-switch input:checked+.sc-switch-track .sc-switch-thumb{transform:translate(14px)}.sc-switch input:focus-visible+.sc-switch-track{outline:2px solid var(--color-brand);outline-offset:2px}.sc-switch input:disabled+.sc-switch-track{opacity:.55}.sc-switch-label{font-size:.8125rem;font-weight:600;color:var(--gray-800)}.sc-spinner{display:inline-block;flex-shrink:0;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sc-spin .8s linear infinite;vertical-align:-2px}@keyframes sc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sc-spinner{animation-duration:2.4s}.sc-skeleton span{animation:none}}.sc-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.sc-banner-health{display:flex;flex-direction:column;padding:10px 12px;min-width:0}.sc-tiles-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;font-size:.8125rem;color:var(--gray-700)}.sc-tiles-head strong{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}.sc-tiles{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(40px,1fr);gap:6px}.sc-tile{display:flex;align-items:center;gap:8px;min-width:0;min-height:40px;padding:0 10px;text-align:left;font:inherit;color:var(--gray-800);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:background .12s ease,border-color .12s ease}.sc-tile:hover{background:var(--gray-50);border-color:var(--gray-300)}.sc-tile-count{display:inline-flex;align-items:center;gap:5px;min-width:44px;font-size:1.0625rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.sc-tile-label{overflow:hidden;font-size:.75rem;line-height:1.2;color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap}.sc-tile.is-empty{opacity:.55}.sc-tile.is-active{border-color:var(--gray-700);background:var(--gray-100);box-shadow:inset 0 0 0 1px var(--gray-700)}.sc-tile.is-active .sc-tile-label{color:var(--gray-900);font-weight:600}.sc-tile--ok .sc-tile-count{color:var(--sc-ok-ink)}.sc-tile--failing .sc-tile-count{color:var(--sc-failing-ink)}.sc-tile--stale .sc-tile-count{color:var(--sc-stale-ink)}.sc-tile--to_validate .sc-tile-count{color:var(--sc-validate-ink)}.sc-tile--never .sc-tile-count{color:var(--sc-never-ink)}.sc-tile--paused .sc-tile-count{color:var(--sc-paused-ink)}.sc-tile--claimed .sc-tile-count{color:var(--sc-claimed-ink)}.sc-tile--no_data .sc-tile-count{color:var(--sc-nodata-ink)}.sc-tile--held .sc-tile-count{color:var(--sc-held-ink)}.sc-tile--failing:not(.is-empty){border-color:var(--sc-failing-line);background:#fff7f7}.sc-tile--to_validate:not(.is-empty){border-color:var(--sc-validate-line)}.sc-tile--failing.is-active,.sc-tile--to_validate.is-active{background:var(--gray-100);border-color:var(--gray-700)}.sc-banner-auto{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:var(--gray-50);border-left:1px solid var(--gray-200);min-width:0}.sc-auto-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sc-auto-state{font-size:.75rem;font-weight:600;padding:1px 8px;border-radius:999px}.sc-auto-state.is-on{color:var(--sc-ok-ink);background:var(--sc-ok-bg)}.sc-auto-state.is-off{color:var(--sc-failing-ink);background:var(--sc-failing-bg)}.sc-auto-line{margin:0;font-size:.8125rem;color:var(--gray-700);min-height:1.2em}.sc-auto-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto}.sc-auto-actions .btn{padding:.375rem .75rem}.sc-refresh{margin-left:auto;color:var(--gray-600)}.sc-refresh.is-busy svg{animation:sc-spin .8s linear infinite}.sc-refresh-text{font-size:.75rem}.sc-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:8px 12px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.sc-search{display:flex;align-items:center;gap:6px;flex:1 1 240px;max-width:340px;height:30px;padding:0 10px;color:var(--gray-500);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius)}.sc-search:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.sc-search input{flex:1;min-width:0;font:inherit;font-size:.8125rem;color:var(--gray-900);background:transparent;border:none;outline:none}.sc-search--wide{max-width:none;margin-bottom:8px}.sc-page .sc-search input:focus-visible{outline:none}.sc-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.sc-group-label{margin-right:2px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}.sc-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;font:inherit;font-size:.75rem;color:var(--gray-700);background:#fff;border:1px solid var(--gray-300);border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.sc-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.sc-chip-count{font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--gray-500)}.sc-chip.is-empty{color:var(--gray-400);border-style:dashed}.sc-chip.is-active{color:var(--gray-900);font-weight:600;background:var(--color-brand-bg);border-color:var(--color-brand)}.sc-chip.is-active:before{content:"✓";font-size:.6875rem;font-weight:700;color:var(--color-brand-hover)}.sc-chip.is-active .sc-chip-count{color:var(--gray-700)}.sc-filters-end{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:.75rem}.sc-reset{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font:inherit;font-size:.75rem;color:var(--gray-700);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:999px;cursor:pointer}.sc-reset:hover{background:var(--gray-200)}.sc-card{padding:0;overflow:visible}.sc-card>:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.sc-command{position:sticky;top:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:8px 12px;background:#fff;border-bottom:1px solid var(--gray-200);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sc-command-scope{display:inline-flex;align-items:center;gap:8px}.sc-command-caption{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}.sc-seg{display:inline-flex;border:1px solid var(--gray-300);border-radius:var(--radius);overflow:hidden}.sc-seg-btn{height:30px;padding:0 12px;font:inherit;font-size:.8125rem;color:var(--gray-700);background:#fff;border:none;cursor:pointer;border-right:1px solid var(--gray-200)}.sc-seg-btn:last-child{border-right:none}.sc-seg-btn:hover:not(:disabled):not(.is-active){background:var(--gray-50)}.sc-seg-btn:disabled{color:var(--gray-400);cursor:not-allowed;background:var(--gray-50)}.sc-seg-btn.is-active{background:var(--gray-800);color:#fff;font-weight:600}.sc-seg-btn:focus-visible{position:relative;z-index:1}.sc-seg-count{margin-left:2px;font-variant-numeric:tabular-nums;opacity:.8}.sc-command-select{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.8125rem}.sc-command-run{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-left:auto}.sc-command-note{font-size:.75rem}.sc-run-btn{padding:.45rem 1rem}.sc-job{padding:8px 12px 10px;border-bottom:1px solid var(--gray-200);background:#eff6ff}.sc-job.is-done{background:#f0fdf4}.sc-job.has-failure{background:#fef2f2}.sc-job-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.8125rem;color:var(--gray-800)}.sc-job-head>svg{flex-shrink:0}.sc-job.is-done .sc-job-head>svg:first-child{color:var(--sc-ok-ink)}.sc-job.has-failure .sc-job-head>svg:first-child{color:var(--sc-failing-ink)}.sc-job.is-active .sc-job-head>.sc-spinner{color:#1d4ed8}.sc-job-spacer{flex:1}.sc-progress{height:5px;margin-top:6px;overflow:hidden;background:#0f172a1a;border-radius:999px}.sc-progress span{display:block;height:100%;background:var(--color-brand);border-radius:999px;transition:width .3s ease}.sc-job.is-done .sc-progress span{background:var(--sc-ok-ink)}.sc-job.has-failure .sc-progress span{background:var(--sc-failing-ink)}.sc-job-summary{margin:6px 0 0;font-size:.8125rem;color:var(--gray-700)}.sc-job-failures{margin:4px 0 0;padding-left:18px;font-size:.75rem;color:var(--gray-700)}.sc-scroll{position:relative;overflow:auto;max-height:max(320px,calc(100vh - 150px));overscroll-behavior:contain;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.sc-scroll.has-detail{max-height:none;overscroll-behavior:auto}.sc-scroll.has-detail .sc-detail{min-height:calc(100vh - 110px)}.sc-table{width:100%;min-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:.8125rem}.sc-table thead th{position:sticky;top:0;z-index:4;height:34px;padding:0 6px;text-align:left;white-space:nowrap;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gray-600);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.sc-table thead th.sc-num{text-align:right}.sc-table tbody td{height:var(--sc-row-h);padding:3px 6px;vertical-align:middle;white-space:nowrap;color:var(--gray-700);background:#fff;border-bottom:1px solid var(--gray-100)}.sc-row>td{transition:background .1s ease}.sc-row:hover>td{background:var(--gray-50)}.sc-row.is-selected>td{background:var(--color-brand-bg)}.sc-row.is-open>td{background:var(--gray-100);border-bottom-color:var(--gray-200)}.sc-row--failing>td:first-child{box-shadow:inset 3px 0 0 var(--sc-failing-ink)}.sc-row--to_validate>td:first-child{box-shadow:inset 3px 0 0 var(--sc-validate-ink)}.sc-row--stale>td:first-child{box-shadow:inset 3px 0 0 var(--sc-stale-line)}.sc-table tbody .sc-failure-row>td{height:auto;padding:0;white-space:normal;background:#fff7f7;border-bottom:1px solid var(--sc-failing-line);box-shadow:inset 3px 0 0 var(--sc-failing-ink)}.sc-failure{position:sticky;left:0;box-sizing:border-box;display:flex;align-items:flex-start;gap:4px 8px;width:var(--sc-view-w, 100%);max-width:100%;padding:6px 12px 7px 16px;font-size:.75rem;line-height:1.4;color:var(--sc-failing-ink)}.sc-failure>svg{flex:0 0 auto;margin-top:2px}.sc-failure-label{flex:0 0 auto;font-weight:700}.sc-failure-msg{flex:1 1 0;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.6875rem;color:var(--gray-900)}.sc-failure-meta{flex:0 0 auto;color:var(--gray-600)}.sc-failure .sc-textbtn{flex:0 0 auto;margin-left:auto}.sc-table .sc-col-check{position:sticky;left:0;z-index:3;width:40px;min-width:40px;max-width:40px;padding:0 0 0 12px}.sc-table thead .sc-col-check{z-index:5}.sc-table .sc-col-name{position:sticky;left:40px;z-index:3;width:190px;min-width:190px;cursor:pointer;box-shadow:1px 0 0 var(--gray-200)}.sc-table thead .sc-col-name{z-index:5}.sc-table .sc-col-actions{position:sticky;right:0;z-index:3;box-shadow:-1px 0 0 var(--gray-200)}.sc-table thead .sc-col-actions{z-index:5}.sc-table .sc-detail-row .sc-col-actions{position:static}.sc-col-check input{width:15px;height:15px;vertical-align:middle;accent-color:var(--color-brand);cursor:pointer}.sc-name-main{display:block;max-width:176px;overflow:hidden;font-weight:600;font-size:.8125rem;line-height:1.25;color:var(--gray-900);text-overflow:ellipsis;white-space:nowrap}.sc-name-sub{display:block;max-width:176px;overflow:hidden;font-size:.6875rem;line-height:1.25;color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap}.sc-country{color:var(--gray-500)}.sc-table .sc-col-actions{width:94px}.sc-table .sc-col-lines{width:1%}.sc-table thead .sc-col-last,.sc-table thead .sc-col-next{white-space:normal;line-height:1.15}.sc-table thead .sc-col-last .sc-sort,.sc-table thead .sc-col-next .sc-sort{text-align:left}.sc-table .sc-col-last{width:84px}.sc-table .sc-col-next{width:112px}.sc-sort{display:inline-flex;align-items:center;gap:2px;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:3px}.sc-sort:hover,.sc-sort.is-active{color:var(--gray-900)}.sc-sort-arrow{display:inline-flex;opacity:.35;transition:transform .12s ease}.sc-sort.is-active .sc-sort-arrow{opacity:1}.sc-sort-arrow.is-asc{transform:rotate(180deg)}.sc-pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:999px}.sc-pill svg{flex-shrink:0}.sc-health--ok{color:var(--sc-ok-ink);background:var(--sc-ok-bg);border-color:var(--sc-ok-line)}.sc-health--stale{color:var(--sc-stale-ink);background:var(--sc-stale-bg);border-color:var(--sc-stale-line)}.sc-health--failing{color:var(--sc-failing-ink);background:var(--sc-failing-bg);border-color:var(--sc-failing-line)}.sc-health--never{color:var(--sc-never-ink);background:var(--sc-never-bg);border-color:var(--sc-never-line)}.sc-health--to_validate{color:var(--sc-validate-ink);background:var(--sc-validate-bg);border-color:var(--sc-validate-line)}.sc-health--paused{color:var(--sc-paused-ink);background:var(--sc-paused-bg);border-color:var(--sc-paused-line);border-style:dashed}.sc-health--held{color:var(--sc-held-ink);background:var(--sc-held-bg);border-color:var(--sc-held-line);border-style:dashed}.sc-health--claimed{color:var(--sc-claimed-ink);background:var(--sc-claimed-bg);border-color:var(--sc-claimed-line)}.sc-health--no_data{color:var(--sc-nodata-ink);background:var(--sc-nodata-bg);border-color:var(--sc-nodata-line)}.sc-link--auto{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.sc-link--validated{color:var(--sc-ok-ink);background:var(--sc-ok-bg);border-color:var(--sc-ok-line)}.sc-link--to_validate{color:var(--sc-validate-ink);background:var(--sc-validate-bg);border-color:var(--sc-validate-line)}.sc-link--none{color:var(--gray-600);background:#fff;border:1px dashed var(--gray-400)}.sc-link-cell{display:inline-flex;align-items:center;gap:6px}.sc-linkbtn{padding:1px 4px;font:inherit;font-size:.75rem;color:var(--gray-600);background:none;border:none;border-radius:4px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sc-linkbtn:hover{color:var(--gray-900)}.sc-linkbtn.is-urgent{padding:2px 9px;font-weight:700;color:#7a4a00;text-decoration:none;background:var(--color-brand-soft);border:1px solid #e3b866}.sc-linkbtn.is-urgent:hover{background:#f3d79a}.sc-section{display:inline-block;padding:1px 8px;font-size:.6875rem;font-weight:600;line-height:1.6;white-space:nowrap;border-radius:999px}.sc-section--intermodal{color:#1d4ed8;background:#dbeafe}.sc-section--maritime{color:#0369a1;background:#e0f2fe}.sc-sections{display:inline-flex;flex-wrap:wrap;gap:2px 4px}.sc-modes{display:inline-flex;flex-wrap:nowrap;gap:2px 6px}.sc-mode{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;color:var(--gray-700);white-space:nowrap}.sc-mode-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-400)}.sc-mode--rail .sc-mode-dot{background:var(--mode-rail)}.sc-mode--road .sc-mode-dot{background:var(--mode-road)}.sc-mode--waterway .sc-mode-dot{background:var(--mode-waterway)}.sc-mode--air .sc-mode-dot{background:var(--mode-air)}.sc-mode--multimodal .sc-mode-dot{background:var(--mode-multimodal)}.sc-mode--shortsea .sc-mode-dot{background:var(--mode-shortsea)}.sc-mode--deepsea .sc-mode-dot{background:var(--mode-deepsea)}.sc-next--muted{color:var(--gray-500)}.sc-agree{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--gray-700);cursor:pointer}.sc-agree input{width:14px;height:14px;margin:0;accent-color:var(--color-brand)}.sc-agree input:disabled{cursor:progress}.sc-agree--compact{display:flex;margin-top:2px;font-size:.6875rem;line-height:1.2}.sc-agree.is-granted{color:var(--gray-900);font-weight:600}.sc-agree-box{margin:0 0 10px;padding:8px 10px;border:1px solid var(--gray-300);border-left:3px solid var(--gray-400);border-radius:6px;background:var(--gray-50)}.sc-agree-box.is-granted{border-left-color:var(--color-brand)}.sc-next--warn{color:var(--sc-stale-ink);font-weight:600}.sc-run{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;color:var(--gray-700)}.sc-run-detail{font-weight:500;color:var(--gray-600)}.sc-run--pending{color:var(--gray-600)}.sc-run--scraping,.sc-run--saving{color:#1d4ed8}.sc-run--done{color:var(--sc-ok-ink)}.sc-run--skipped{color:var(--sc-stale-ink)}.sc-run--failed{color:var(--sc-failing-ink)}.sc-actions{display:inline-flex;align-items:center;gap:1px}.sc-table tbody .sc-detail-row>td{padding:0;height:auto;white-space:normal;background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.sc-detail{position:sticky;left:0;box-sizing:border-box;width:var(--sc-view-w, 100%);max-width:100%;padding:14px 16px 6px}.sc-detail-body{min-width:0}.sc-detail-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.sc-detail-title h3{margin:0;font-size:1rem;line-height:1.3;color:var(--gray-900)}.sc-detail-error{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;padding:8px 12px;font-size:.8125rem;color:var(--sc-failing-ink);background:var(--sc-failing-bg);border:1px solid var(--sc-failing-line);border-radius:var(--radius-md, 6px)}.sc-detail-error>svg{flex:0 0 auto;margin-top:2px}.sc-detail-error>div{min-width:0;flex:1 1 auto}.sc-detail-error-meta{font-weight:500;color:var(--gray-700)}.sc-detail-error pre{margin:4px 0 0;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.75rem;line-height:1.45;color:var(--gray-900)}.sc-detail-desc{margin:6px 0 0;max-width:960px;font-size:.8125rem;color:var(--gray-700)}.sc-detail-facts{display:flex;flex-wrap:wrap;gap:4px 22px;margin:8px 0 12px;font-size:.8125rem}.sc-detail-facts>div{display:flex;gap:6px;min-width:0}.sc-detail-facts dt{color:var(--gray-500);white-space:nowrap}.sc-detail-facts dt:after{content:" :"}.sc-detail-facts dd{margin:0;color:var(--gray-800)}.sc-detail-facts .is-bad dd{color:var(--sc-failing-ink);word-break:break-word}.sc-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:1px solid var(--gray-200)}.sc-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;margin-bottom:-1px;font:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-600);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.sc-tab:hover{color:var(--gray-900)}.sc-tab.is-active{color:var(--gray-900);font-weight:650;border-bottom-color:var(--color-brand)}.sc-tab-count{padding:0 6px;font-size:.6875rem;color:var(--gray-700);background:var(--gray-200);border-radius:999px}.sc-detail .card{box-shadow:none;border:1px solid var(--gray-200);border-radius:var(--radius)}.sc-detail .card h2{font-size:1rem;margin:0 0 4px}.sc-panel{padding:14px 16px;margin-bottom:12px}.sc-panel-title{margin:0 0 8px;font-size:.9375rem}.sc-panel-subtitle{margin:14px 0 6px;font-size:.8125rem}.sc-panel-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.sc-panel-row .btn{padding:.4rem .8rem}.sc-panel-sep{margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-200)}.sc-panel-sep p{margin:4px 0 8px;font-size:.8125rem}.sc-numinput{width:80px}.sc-history{max-height:280px;overflow:auto}.sc-preview{max-height:min(70vh,640px);overflow:auto}.sc-preview .data-table thead{position:sticky;top:0;z-index:2}.sc-preview .data-table thead th{background:var(--gray-50)}.sc-lines-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.sc-lines-head .sc-panel-title{margin:0;display:inline-flex;align-items:center;gap:8px}.sc-lines-count{padding:0 8px;font-size:.75rem;font-weight:700;line-height:1.6;color:var(--gray-800);background:var(--gray-200);border-radius:999px;font-variant-numeric:tabular-nums}.sc-lines-sub{margin:4px 0 10px;font-size:.8125rem;max-width:960px}.sc-lines-empty{margin:4px 0 0;padding:14px 16px;font-size:.8125rem;color:var(--gray-700);background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius)}.sc-lines-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:.75rem}.sc-lines .sl-table-wrap{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff}.sc-lines .sl-plan-focus{margin-bottom:8px}.sc-preview-filter{font-weight:400}.sc-preview-filter input{width:100%;min-width:80px;box-sizing:border-box}.sc-preview-row{cursor:pointer}.sc-detail .data-table th{padding:.5rem .75rem}.sc-detail .data-table td{padding:.45rem .75rem;font-size:.8125rem}.sc-skeleton{display:flex;flex-direction:column;gap:6px;padding:12px}.sc-skeleton span{display:block;height:34px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:sc-shimmer 1.4s ease-in-out infinite}@keyframes sc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sc-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;text-align:center;font-size:.875rem;color:var(--gray-700)}.sc-empty svg{color:var(--sc-failing-ink)}.sc-link-modal{display:flex;flex-direction:column;gap:14px}.sc-link-modal h3{margin:0 0 6px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-600)}.sc-modal-sub{display:inline-flex;align-items:center;gap:8px}.sc-rule{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 12px;font-size:.8125rem;color:var(--gray-800);background:var(--color-brand-bg);border:1px solid var(--color-brand-soft);border-radius:var(--radius)}.sc-rule svg{flex-shrink:0;margin-top:2px;color:var(--color-brand-hover)}.sc-facts{display:flex;flex-direction:column;gap:6px;margin:0;font-size:.875rem}.sc-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px}.sc-facts dt{color:var(--gray-500)}.sc-facts dd{margin:0;color:var(--gray-900)}.sc-note{margin:4px 0 0;font-size:.8125rem;color:var(--gray-600)}.sc-note--warn{display:flex;align-items:flex-start;gap:5px;color:var(--sc-stale-ink)}.sc-note--warn svg{flex-shrink:0;margin-top:2px}.sc-fn-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:2px}.sc-fn{padding:0 8px;font-size:.6875rem;font-weight:600;line-height:1.6;border-radius:999px;white-space:nowrap}.sc-picklist{display:flex;flex-direction:column;gap:6px}.sc-pick{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;text-align:left;font:inherit;font-size:.875rem;color:var(--gray-900);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer}.sc-pick:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.sc-pick:disabled{opacity:.55;cursor:not-allowed}.sc-pick.is-picked{background:var(--color-brand-bg);border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.sc-pick-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;margin-top:2px;color:#fff;background:#fff;border:2px solid var(--gray-400);border-radius:50%}.sc-pick.is-picked .sc-pick-mark{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.sc-pick-body{display:flex;flex-direction:column;gap:1px;min-width:0}.sc-pick-body .sc-muted{font-size:.8125rem}.sc-pause{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid var(--gray-200)}.sc-pause p{margin:0;font-size:.8125rem}.sc-footer-left{margin-right:auto}.sc-reset-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto;font-size:.8125rem;color:var(--gray-800)}.sc-auto-summary{margin:0;font-size:.875rem}.sc-autotable td:nth-child(4){white-space:nowrap}.sc-new{margin-left:4px;padding:0 6px;font-size:.6875rem;font-weight:700;color:var(--sc-ok-ink);background:var(--sc-ok-bg);border-radius:999px}.sc-report{max-height:58vh;overflow:auto}.sc-report .data-table th{padding:.5rem .75rem;white-space:nowrap}.sc-report .data-table td{padding:.45rem .75rem;font-size:.8125rem;vertical-align:top}@media (max-width: 1100px){.sc-banner{grid-template-columns:minmax(0,1fr)}.sc-banner-auto{border-left:none;border-top:1px solid var(--gray-200)}}@media (max-width: 900px){.sc-pagehead{padding-left:52px;min-height:44px}}@media (max-width: 720px){.sc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-command-run{margin-left:0;width:100%}.sc-command-run .sc-run-btn{flex:1 1 100%;justify-content:center}.sc-filters-end{margin-left:0;width:100%}.sc-search{max-width:none}.sc-facts>div{grid-template-columns:1fr;gap:0}}.rf-page{min-width:0}.rf-nav{margin-bottom:1.25rem;border-bottom:1px solid var(--hairline)}.rf-nav-top{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.5rem}.rf-nav-home{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--gray-600);text-decoration:none}.rf-nav-home:hover{color:var(--gray-900)}.rf-nav-groups{display:flex;flex-wrap:wrap;gap:.25rem}.rf-nav-group{padding:.3rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:500;color:var(--gray-600);text-decoration:none;border:1px solid transparent}.rf-nav-group:hover{background:var(--gray-100);color:var(--gray-900)}.rf-nav-group.active{background:var(--color-brand-bg);color:var(--gray-900);border-color:var(--color-brand-soft);font-weight:600}.rf-nav-items{display:flex;flex-wrap:wrap;gap:.25rem}.rf-nav-item{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;margin-bottom:-1px;font-size:.875rem;color:var(--gray-600);text-decoration:none;border-bottom:2px solid transparent}.rf-nav-item:hover{color:var(--gray-900)}.rf-nav-item.active{color:var(--gray-900);font-weight:600;border-bottom-color:var(--color-brand)}.rf-nav :is(a):focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.rf-group{margin-bottom:1.75rem}.rf-group-title{margin:0;font-size:1rem}.rf-group-hint{margin:.15rem 0 .75rem;font-size:.8125rem;color:var(--gray-500)}.rf-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.rf-card{display:flex;align-items:flex-start;gap:.75rem;height:100%;padding:.875rem 1rem;background:var(--bg-card);border:1px solid var(--hairline);border-radius:var(--radius);color:inherit;text-decoration:none}.rf-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm)}.rf-card:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.rf-card-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-brand-bg);color:var(--color-brand-hover)}.rf-card-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.rf-card-label{font-weight:600;color:var(--gray-900)}.rf-card-summary{font-size:.8125rem;color:var(--gray-600);line-height:1.4}
