/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--roadbook-primary:#FF6B35;--roadbook-primary-dark:#E5552A;--roadbook-accent:#00D4AA;--roadbook-surface:#1A1F2E;--roadbook-surface-elevated:#252B3D;--roadbook-surface-glass:rgba(26,31,46,0.9);--roadbook-text:#FFFFFF;--roadbook-text-muted:#9CA3B4;--roadbook-border:rgba(255,255,255,0.1);--roadbook-neon-blue:#4FC3F7;--roadbook-neon-green:#00E676;--roadbook-neon-orange:#FF9100;--font-display:'Outfit','Inter',system-ui,sans-serif;--font-body:'DM Sans','Inter',system-ui,sans-serif;}.roadbook-container{position:fixed;inset:0;z-index:1000;background:var(--roadbook-surface);color:var(--roadbook-text);font-family:var(--font-body);overflow:hidden;}body:has(.roadbook-container) header.site-header,body:has(.roadbook-container) footer.site-footer,body:has(.roadbook-container) .site-header,body:has(.roadbook-container) .site-footer,body:has(.roadbook-container)>header,body:has(.roadbook-container)>footer{display:none !important;}body:has(.roadbook-container){overflow:hidden !important;}.roadbook-main{position:absolute;inset:0;}.roadbook-map-container{position:absolute;inset:0;z-index:1;}#roadbook-map{position:absolute;top:0;left:0;width:100%;height:100%;}.roadbook-timeline{position:absolute;top:1rem;left:1rem;bottom:260px;width:300px;max-height:calc(100vh - 280px);background:var(--roadbook-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--roadbook-border);border-radius:16px;overflow-y:auto;overflow-x:hidden;padding:1rem 0;z-index:50;scrollbar-width:thin;scrollbar-color:var(--roadbook-border) transparent;}.roadbook-timeline::-webkit-scrollbar{width:6px;}.roadbook-timeline::-webkit-scrollbar-track{background:transparent;}.roadbook-timeline::-webkit-scrollbar-thumb{background:var(--roadbook-border);border-radius:3px;}.roadbook-timeline__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;padding:1.5rem;text-align:center;color:var(--roadbook-text-muted);}.roadbook-timeline__empty-icon{width:48px;height:48px;margin-bottom:0.75rem;opacity:0.3;}.day-card{position:relative;margin:0 0.75rem 0.75rem;padding:0;background:var(--roadbook-surface-elevated);border-radius:10px;border:1px solid var(--roadbook-border);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);cursor:pointer;overflow:hidden;}.day-card:hover{border-color:var(--roadbook-primary);box-shadow:0 0 16px rgba(255,107,53,0.2);transform:translateX(2px);}.day-card--active{border-color:var(--roadbook-primary);box-shadow:0 0 20px rgba(255,107,53,0.3);}.day-card__header{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;border-bottom:1px solid var(--roadbook-border);}.day-card__number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,var(--roadbook-primary),var(--roadbook-primary-dark));border-radius:50%;font-family:var(--font-display);font-size:0.6875rem;font-weight:700;color:white;flex-shrink:0;}.day-card__day-label{font-family:var(--font-display);font-size:0.625rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--roadbook-text-muted);}.day-card__content{display:flex;gap:0.5rem;padding:0.5rem 0.75rem;}.day-card__thumbnail{width:64px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--roadbook-surface);}.day-card__info{flex:1;min-width:0;}.day-card__title{font-family:var(--font-display);font-size:0.8125rem;font-weight:600;color:var(--roadbook-text);margin:0 0 0.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.day-card__badges{display:flex;flex-wrap:wrap;gap:0.25rem;margin-bottom:0.25rem;}.day-card__badge{display:inline-flex;align-items:center;padding:0.0625rem 0.375rem;background:rgba(255,255,255,0.1);border-radius:100px;font-size:0.5625rem;font-weight:500;text-transform:uppercase;letter-spacing:0.02em;}.day-card__badge--season{background:rgba(0,212,170,0.2);color:var(--roadbook-accent);}.day-card__badge--drive{background:rgba(79,195,247,0.2);color:var(--roadbook-neon-blue);}.day-card__meta{font-size:0.625rem;color:var(--roadbook-text-muted);}.day-card__route-info{padding:0.375rem 0.75rem;font-size:0.625rem;color:var(--roadbook-text-muted);background:rgba(0,0,0,0.2);}.day-card__remove{position:absolute;top:0.375rem;right:0.375rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);border:none;border-radius:50%;color:var(--roadbook-text-muted);cursor:pointer;opacity:0;transition:all 0.2s;}.day-card:hover .day-card__remove{opacity:1;}.day-card__remove:hover{background:#E53935;color:white;}.day-connector{display:flex;align-items:center;justify-content:center;height:28px;margin:0 0.75rem;position:relative;}.day-connector__line{position:absolute;left:20px;width:2px;height:100%;background:linear-gradient(to bottom,var(--roadbook-primary),var(--roadbook-border));}.day-connector__badge{display:flex;align-items:center;gap:0.25rem;padding:0.125rem 0.5rem;background:var(--roadbook-surface-elevated);border:1px solid var(--roadbook-border);border-radius:100px;font-size:0.5625rem;color:var(--roadbook-text-muted);z-index:1;}.roadbook-summary{position:absolute;top:1rem;right:1rem;width:220px;background:var(--roadbook-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--roadbook-border);border-radius:12px;padding:1rem;z-index:50;}.roadbook-summary__title{font-family:var(--font-display);font-size:0.75rem;font-weight:600;margin:0 0 0.75rem;padding-bottom:0.5rem;border-bottom:1px solid var(--roadbook-border);}.roadbook-summary__stats{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem;}.stat-row{display:flex;justify-content:space-between;align-items:baseline;}.stat-row__label{font-size:0.75rem;color:var(--roadbook-text-muted);}.stat-row__value{font-family:var(--font-display);font-size:0.875rem;font-weight:600;color:var(--roadbook-text);}.stat-row__value--highlight{color:var(--roadbook-primary);}.roadbook-summary__cta{margin-top:0.5rem;}.btn-finalize{display:flex;align-items:center;justify-content:center;gap:0.375rem;width:100%;padding:0.625rem 1rem;background:linear-gradient(135deg,var(--roadbook-primary),var(--roadbook-primary-dark));border:none;border-radius:8px;font-family:var(--font-display);font-size:0.75rem;font-weight:600;color:white;cursor:pointer;transition:all 0.3s;}.btn-finalize:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,53,0.4);}.btn-finalize:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}.roadbook-offer-sheet{width:min(90vw,52rem) !important;margin-inline:auto;border-top-left-radius:1.25rem !important;border-top-right-radius:1.25rem !important;overflow:hidden;background:linear-gradient(180deg,rgba(37,43,61,0.98) 0%,rgba(26,31,46,0.98) 100%) !important;border:1px solid var(--roadbook-border);border-bottom:none;}.roadbook-offer-sheet .h-1\.5.w-10{background:rgba(255,255,255,0.25) !important;}.roadbook-offer-sheet [data-slot='control']::before{background:rgba(255,255,255,0.04) !important;box-shadow:none !important;}.roadbook-offer-sheet h2,.roadbook-offer-sheet h3,.roadbook-offer-sheet label{color:var(--roadbook-text) !important;}.roadbook-offer-sheet p,.roadbook-offer-sheet span{color:var(--roadbook-text-muted);}.roadbook-offer-sheet hr,.roadbook-offer-sheet .border-zinc-200,.roadbook-offer-sheet .border-zinc-700{border-color:var(--roadbook-border) !important;}.roadbook-offer-sheet input,.roadbook-offer-sheet textarea,.roadbook-offer-sheet select{background:rgba(255,255,255,0.04) !important;border-color:var(--roadbook-border) !important;color:var(--roadbook-text) !important;}.roadbook-offer-sheet .wire-date-picker button[data-slot='trigger']{background:rgba(255,255,255,0.04) !important;border-color:var(--roadbook-border) !important;color:var(--roadbook-text) !important;}.roadbook-offer-sheet .wire-date-picker button[data-slot='trigger'] span{color:var(--roadbook-text-muted) !important;}.roadbook-offer-sheet .wire-date-picker button[data-slot='trigger'] [x-text='displayValue'],.roadbook-offer-sheet .wire-date-picker button[data-slot='trigger'] .truncate{color:var(--roadbook-text) !important;}.roadbook-offer-sheet input[type='checkbox']{background:rgba(255,255,255,0.04) !important;border-color:var(--roadbook-border) !important;}.roadbook-offer-sheet input::placeholder,.roadbook-offer-sheet textarea::placeholder{color:var(--roadbook-text-muted) !important;}.roadbook-offer-sheet [data-slot='error'],.roadbook-offer-sheet .text-red-600{color:#f87171 !important;}.roadbook-offer-sheet .roadbook-offer-submit{padding:0.75rem 1rem;font-size:0.875rem;}@media (max-width:640px){.roadbook-offer-sheet{width:calc(100vw - 0.75rem) !important;border-top-left-radius:1rem !important;border-top-right-radius:1rem !important;}}.roadbook-palette{position:absolute;bottom:0;left:0;right:0;background:var(--roadbook-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--roadbook-border);padding:0.5rem 1.25rem;z-index:60;max-height:240px;}.roadbook-palette__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:0.875rem;padding-bottom:0.5rem;border-bottom:1px solid var(--roadbook-border);}.roadbook-palette__info{flex-shrink:0;}.roadbook-palette__title{font-family:var(--font-display);font-size:0.9375rem;font-weight:600;margin:0;display:flex;align-items:center;gap:0.5rem;flex-wrap:nowrap;}.roadbook-palette__toggle{display:inline-flex;align-items:center;gap:0.25rem;padding:0.25rem 0.5rem;background:transparent;border:1px solid var(--roadbook-border);border-radius:4px;font-size:0.6875rem;font-weight:500;color:var(--roadbook-text);cursor:pointer;transition:all 0.2s;}.roadbook-palette__toggle:hover{border-color:var(--roadbook-primary);color:var(--roadbook-primary);}.roadbook-palette__subtitle{font-size:0.75rem;color:var(--roadbook-text-muted);font-weight:400;white-space:nowrap;}.roadbook-palette__filters-inline{display:flex;align-items:center;gap:0.625rem;flex-wrap:nowrap;}.roadbook-palette__filters-inline .filter-label{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--roadbook-text-muted);white-space:nowrap;}.roadbook-palette__filters-inline .filter-input{width:140px;}.roadbook-palette__filters-inline .filter-select{min-width:110px;}.filter-clear-btn{display:inline-flex;align-items:center;gap:0.25rem;padding:0.075rem 0.625rem;background:transparent;border:1px solid var(--roadbook-primary);border-radius:4px;font-size:0.6875rem;font-weight:500;color:var(--roadbook-primary);cursor:pointer;transition:all 0.2s;white-space:nowrap;}.filter-clear-btn:hover{background:var(--roadbook-primary);color:white;}.auth-hint{font-size:0.6875rem;color:var(--roadbook-text-muted);white-space:nowrap;margin-left:0.5rem;}.auth-hint a{color:var(--roadbook-primary);text-decoration:none;}.auth-hint a:hover{text-decoration:underline;}.roadbook-palette__filters{display:flex;flex-wrap:nowrap;gap:0.5rem;align-items:center;margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid var(--roadbook-border);}.filter-group{display:flex;flex-direction:column;gap:0.125rem;}.filter-group__label{font-size:0.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--roadbook-text-muted);}.filter-input,.filter-select{padding:0.375rem 0.625rem;background:var(--roadbook-surface);border:1px solid var(--roadbook-border);border-radius:4px;font-size:0.75rem;color:var(--roadbook-text);min-width:100px;height:30px;}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--roadbook-primary);}.filter-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3B4' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.5rem center;padding-right:1.5rem;}.journey-brick{flex-shrink:0;width:160px;background:var(--roadbook-surface);border:1px solid var(--roadbook-border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.journey-brick:hover{border-color:var(--roadbook-accent);transform:translateY(-2px);box-shadow:0 0 12px rgba(0,212,170,0.3),0 0 24px rgba(0,212,170,0.2),0 8px 24px rgba(0,0,0,0.3);}.journey-brick--added{opacity:0.5;pointer-events:none;}.journey-brick__image{width:100%;height:72px;object-fit:cover;background:var(--roadbook-surface-elevated);}.journey-brick__content{padding:0.5rem;}.journey-brick__title{font-family:var(--font-display);font-size:0.6875rem;font-weight:600;margin:0 0 0.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.journey-brick__meta{font-size:0.5625rem;color:var(--roadbook-text-muted);display:flex;align-items:center;gap:0.25rem;margin-bottom:0.25rem;}.journey-brick__badges{display:flex;flex-wrap:wrap;gap:0.125rem;}@keyframes slide-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}.day-card{animation:slide-up 0.3s ease-out forwards;}.day-card:nth-child(1){animation-delay:0s;}.day-card:nth-child(2){animation-delay:0.05s;}.day-card:nth-child(3){animation-delay:0.1s;}.day-card:nth-child(4){animation-delay:0.15s;}.day-card:nth-child(5){animation-delay:0.2s;}.mapboxgl-ctrl-group{display:none !important;}.mapboxgl-ctrl-attrib{background:rgba(26,31,46,0.7) !important;backdrop-filter:blur(8px);font-size:10px !important;}.mapboxgl-ctrl-attrib a{color:var(--roadbook-text-muted) !important;}.roadbook-marker{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;color:white;cursor:pointer;border:2px solid rgba(255,255,255,0.9);background:linear-gradient(135deg,#FF9100,#FF6B35);box-shadow:0 0 8px rgba(255,107,53,0.6),0 0 16px rgba(255,145,0,0.4),0 2px 8px rgba(0,0,0,0.5);animation:marker-pulse 2s ease-in-out infinite;transition:transform 0.2s ease;}.roadbook-marker:hover{transform:scale(1.15);}@keyframes marker-pulse{0%,100%{box-shadow:0 0 8px rgba(255,107,53,0.6),0 0 16px rgba(255,145,0,0.4),0 2px 8px rgba(0,0,0,0.5);}50%{box-shadow:0 0 12px rgba(255,107,53,0.8),0 0 24px rgba(255,145,0,0.6),0 0 36px rgba(255,171,64,0.3),0 2px 8px rgba(0,0,0,0.5);}}.roadbook-place-marker{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.95);border:1px solid rgba(255,145,0,0.8);box-shadow:0 0 4px rgba(255,107,53,0.5),0 1px 3px rgba(0,0,0,0.4);cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;}.roadbook-place-marker:hover{transform:scale(1.3);box-shadow:0 0 8px rgba(255,107,53,0.8),0 0 16px rgba(255,145,0,0.5),0 2px 6px rgba(0,0,0,0.5);}@media (max-width:768px){.roadbook-timeline{width:260px;left:0.5rem;top:0.5rem;bottom:220px;max-height:calc(100vh - 240px);}.roadbook-summary{width:180px;right:0.5rem;top:0.5rem;padding:0.75rem;}.roadbook-palette{max-height:200px;padding:0.75rem;}.roadbook-palette__header{flex-direction:column;align-items:flex-start;gap:0.5rem;}.roadbook-palette__filters-inline{flex-wrap:wrap;gap:0.375rem;}.journey-brick{width:140px;}.journey-brick__image{height:56px;}}
