.modal{background:0 0;border:none;width:100%;max-width:none;height:100%;max-height:none;padding:0;overflow:visible}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0d1273}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(560px,100vw - 2rem);max-height:min(86vh,860px);box-shadow:var(--shadow-3);animation:modal-in .2s var(--ease);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal[data-size=sm] .modal-panel{width:min(420px,100vw - 2rem)}.modal[data-size=lg] .modal-panel{width:min(900px,100vw - 2rem)}.modal-head{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-3);border-bottom:1px solid var(--line);display:flex}.modal-head h2{font-size:var(--t-md);flex:1;font-weight:650}.modal-body{padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.modal-foot{justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);display:flex}.modal-foot .spacer{flex:1}.btn-destructive{background:var(--danger);border-color:var(--danger);color:#fff}.btn-destructive:hover:not(:disabled){background:#a93333;border-color:#a93333}.confirm-body{font-size:var(--t-sm);color:var(--ink-2);line-height:var(--lh-base)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=700px){.modal-panel{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:90vh;animation:sheet-in .24s var(--ease);top:auto;bottom:0;left:0;transform:none}.modal-foot{padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-radius:0}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}}.toast-host{left:50%;bottom:calc(var(--s-5) + env(safe-area-inset-bottom));z-index:400;gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(440px,100vw - 2rem);display:flex;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--s-2);border-radius:var(--r-md);background:var(--ink);color:var(--paper);font-size:var(--t-sm);box-shadow:var(--shadow-3);pointer-events:auto;animation:toast-in .22s var(--ease);padding:.6rem .65rem .6rem .85rem;display:flex}.toast>span{flex:1}.toast[data-kind=error]{background:var(--danger);color:#fff}.toast[data-kind=success]{background:var(--ok);color:#fff}.toast-close{border-radius:var(--r-sm);color:inherit;opacity:.7;padding:3px;display:inline-flex}.toast-close:hover{opacity:1;background:#ffffff26}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.map-host{z-index:1;background:var(--sunken);position:absolute;inset:0}.leaflet-container{font-family:var(--font-body);background:var(--sunken)}.leaflet-control-attribution{background:color-mix(in srgb, var(--surface) 85%, transparent)!important;color:var(--muted)!important;font-size:10px!important}.leaflet-control-attribution a{color:var(--muted)!important}.leaflet-bar a{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}.leaflet-bar a:hover{background:var(--surface-2)!important}:root[data-theme=dark] .leaflet-tile-pane,html.dark .leaflet-tile-pane{filter:brightness(.82)contrast(1.06)saturate(.85)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .leaflet-tile-pane{filter:brightness(.82)contrast(1.06)saturate(.85)}}.pin{border-radius:var(--r-full) var(--r-full) 3px var(--r-full);background:var(--surface);border:1.5px solid var(--line-strong);width:26px;height:26px;color:var(--ink-2);box-shadow:var(--shadow-2);transition:transform var(--dur-fast) var(--ease);place-items:center;display:grid;transform:rotate(45deg)}.pin>svg{transform:rotate(-45deg)}.pin:hover{transform:rotate(45deg)scale(1.12)}.pin-shortlisted{border-color:var(--warn);color:var(--warn)}.pin-booked{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.leaflet-popup-content-wrapper{border-radius:var(--r-md)!important;background:var(--surface)!important;color:var(--ink)!important;box-shadow:var(--shadow-3)!important}.leaflet-popup-tip{background:var(--surface)!important}.leaflet-popup-content{font-size:var(--t-sm)!important;line-height:var(--lh-snug)!important;margin:.7rem .85rem!important}.pin-popup{flex-direction:column;gap:.3rem;max-width:230px;display:flex}.pin-popup strong{font-size:var(--t-sm);font-weight:650}.pin-popup p{color:var(--ink-2);font-size:var(--t-xs);margin:0!important}.pin-price{font-variant-numeric:tabular-nums;font-weight:650}.pin-popup em{color:var(--faint);font-size:10px;font-style:normal}.map-search{top:var(--s-3);left:var(--s-3);z-index:10;width:min(340px, calc(100% - 2 * var(--s-3)));position:absolute}.map-search form{align-items:center;gap:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);color:var(--muted);padding:0 .5rem 0 .65rem;display:flex}.map-search-input{font-size:var(--t-sm);color:var(--ink);background:0 0;border:none;flex:1;padding:.55rem 0}.map-search-input:focus{outline:none}.map-results{margin-top:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-height:46vh;overflow:hidden auto}.map-result{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}.map-result:last-child{border-bottom:none}.map-result-name{text-align:left;font-size:var(--t-sm);line-height:var(--lh-snug);color:var(--ink);margin-bottom:var(--s-2);display:block}.map-result-name:hover{color:var(--p-j-ink)}.map-result-actions{gap:var(--s-2);display:flex}.map-layers{top:var(--s-3);right:var(--s-3);z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);flex-direction:column;gap:1px;padding:3px;display:flex;position:absolute}.layer-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--faint);place-items:center;display:grid}.layer-btn:hover{background:var(--sunken)}.layer-btn[aria-pressed=true]{color:var(--ink);background:var(--sunken)}.map-hint{left:var(--s-3);bottom:var(--s-3);z-index:10;color:var(--muted);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:var(--r-sm);padding:.2rem .45rem;font-size:10px;position:absolute}@media (width<=860px){.map-hint{display:none}.map-search{width:calc(100% - 2 * var(--s-3))}}.consensus{align-items:center;gap:var(--s-2);display:flex}.consensus-bar{border-radius:var(--r-full);background:var(--sunken);min-width:42px;height:5px;transition:gap var(--dur) var(--ease);flex:1;gap:2px;display:flex;overflow:hidden}.consensus-seg{border-radius:var(--r-full);background:var(--line-strong);transition:background var(--dur) var(--ease), opacity var(--dur) var(--ease);flex:1}.consensus-seg[data-vote=yes]{background:var(--seg)}.consensus-seg[data-vote=no]{background:repeating-linear-gradient(-45deg, var(--line-strong) 0 3px, transparent 3px 6px)}.consensus-seg[data-vote=none]{background:var(--line);opacity:.7}.consensus[data-state=consensus] .consensus-bar{background:0 0;gap:0}.consensus[data-state=consensus] .consensus-seg{background:0 0}.consensus[data-state=consensus] .consensus-bar{background:var(--consensus);box-shadow:0 0 0 1px color-mix(in srgb, var(--p-j) 25%, transparent)}.consensus-label{font-size:var(--t-xs);letter-spacing:.02em;background:var(--consensus);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:650}.consensus-label-split{-webkit-text-fill-color:var(--muted);color:var(--muted);background:0 0;font-weight:550}.consensus-actions{gap:1px;display:flex}.vote-btn{border-radius:var(--r-sm);width:26px;height:24px;color:var(--faint);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.vote-btn:hover{background:var(--sunken);color:var(--ink-2)}.vote-btn[data-active=true]{color:var(--ink);background:var(--sunken)}.vote-btn:first-child[data-active=true]{color:var(--ok)}.vote-btn:last-child[data-active=true]{color:var(--danger)}.comments{gap:var(--s-2);padding-top:var(--s-2);border-top:1px dashed var(--line);flex-direction:column;display:flex}.comment{gap:var(--s-2);align-items:flex-start;display:flex}.comment-body{flex:1;min-width:0}.comment-body p{font-size:var(--t-sm);line-height:var(--lh-snug)}.comment-meta{color:var(--faint);font-size:10px}.comment-form{gap:var(--s-2);display:flex}.comment-form .input{font-size:var(--t-xs);padding:.35rem .55rem}.settings-h{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}.settings-toggle{gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.settings-toggle:last-child{border-bottom:none}.settings-toggle input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.settings-toggle-label{font-weight:550;font-size:var(--t-sm);flex-direction:column;flex:1;gap:.2rem;display:flex}.settings-form{flex-wrap:wrap}.jobs-list{gap:var(--s-1);flex-direction:column;display:flex}.jobs-list-row{gap:var(--s-2);padding:var(--s-1) 0;border-bottom:1px solid var(--line);font-size:var(--t-xs);flex-wrap:wrap}.jobs-list-row:last-child{border-bottom:none}.jobs-list-name{font-weight:600;font-size:var(--t-sm);min-width:9rem}.jobs-list-status{background:var(--line);color:var(--muted);border-radius:999px;padding:.1rem .5rem}.jobs-list-status--bad{background:var(--danger-bg);color:var(--danger)}.chat{gap:var(--s-2)}.bubble{border-radius:var(--r-md);background:var(--sunken);max-width:85%;font-size:var(--t-sm);align-self:flex-start;padding:.45rem .6rem}.bubble-mine{background:color-mix(in srgb, var(--p-j) 14%, var(--surface));align-self:flex-end}.bubble-author{font-size:10px;font-weight:700}.bubble p{line-height:var(--lh-snug);white-space:pre-wrap;overflow-wrap:anywhere}.bubble-time{color:var(--faint);font-size:10px}.bubble-edited{font-style:italic}.bubble{position:relative}.bubble-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:2px;display:flex;position:absolute;top:2px;right:4px}.bubble:hover .bubble-actions,.bubble:focus-within .bubble-actions{opacity:1}.bubble-actions .btn-icon{color:var(--muted);padding:2px}.bubble-actions .btn-icon:hover{color:var(--ink)}.bubble-edit{gap:var(--s-1);flex-direction:column;display:flex}.bubble-edit .input{font-size:var(--t-sm)}.bubble-edit-actions{gap:var(--s-1);justify-content:flex-end;display:flex}.chat-room{flex-direction:column;flex:1;min-height:0;display:flex}.chat-layout{gap:var(--s-3);grid-template-columns:190px 1fr;height:min(60vh,520px);min-height:0;display:grid}.chat-rooms{border-right:1px solid var(--line);padding-right:var(--s-2);flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.chat-room-btn{gap:0 var(--s-2);text-align:left;padding:.4rem var(--s-2);border-radius:var(--r-sm);cursor:pointer;color:inherit;background:0 0;border:none;grid-template-columns:1fr auto;display:grid}.chat-room-btn:hover{background:var(--sunken)}.chat-room-btn[aria-selected=true]{background:var(--sunken);font-weight:650}.chat-room-label{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-room-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:10px;overflow:hidden}.chat-dot,.chat-badge{background:var(--p-n);color:#fff;text-align:center;border-radius:9px;grid-row:1/span 2;align-self:center;min-width:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:18px}.chat-trigger{position:relative}.chat-trigger .chat-badge{pointer-events:none;position:absolute;top:-2px;right:-4px}@media (width<=720px){.chat-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:70vh}.chat-rooms{border-right:none;border-bottom:1px solid var(--line);padding:0 0 var(--s-2);flex-direction:row;overflow-x:auto}.chat-room-btn{align-items:center;gap:var(--s-1);flex:none;display:flex}.chat-room-hint{display:none}}.plan-card{align-items:stretch;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.plan-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.plan-card-active{border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.plan-card-main{text-align:left;flex:1;min-width:0}.plan-card-head{align-items:center;gap:var(--s-2);display:flex}.plan-card-head h3{font-size:var(--t-md);font-weight:650}.plan-card-meta{font-size:var(--t-xs);color:var(--ink-2);margin-top:2px}.plan-card-budget{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--muted);align-items:center;gap:.35rem;display:flex}.plan-card-budget strong{color:var(--ink);font-weight:650}.plan-card-side{justify-content:space-between;gap:var(--s-2);flex-direction:column;flex-shrink:0;width:118px;display:flex}.plan-detail-head{align-items:center;gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--line);display:flex}.plan-detail-title{font-family:var(--font-display);font-variation-settings:"wdth" 106;font-size:var(--t-md);font-weight:750}.budget-strip{gap:var(--s-3);padding:var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.budget-strip>div{flex-direction:column;gap:1px;display:flex}.budget-strip strong{font-size:var(--t-md);letter-spacing:-.02em;font-weight:700}.day{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.day-head{align-items:center;gap:var(--s-2);padding:.4rem var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--line);display:flex}.day-date{flex:1;align-items:baseline;gap:.4rem;display:flex}.day-weekday{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.day-num{font-size:var(--t-sm);font-weight:650}.day-budget{font-size:var(--t-xs);color:var(--ink-2);font-weight:650}.day-tz{font-size:var(--t-xs);color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:.3rem;padding:.1rem .3rem;display:inline-flex}.day-tz:hover{background:var(--surface);color:var(--ink-2)}.day-tz-picker{padding:.3rem var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--line)}.day-tz-picker select{width:100%;font-size:var(--t-xs)}.day-body{padding:var(--s-2) var(--s-3) var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.day-slot{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.slot-chip{border-radius:var(--r-full);background:var(--sunken);font-size:var(--t-xs);align-items:center;gap:.35rem;max-width:100%;padding:.22rem .3rem .22rem .5rem;display:inline-flex}.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.slot-price{font-variant-numeric:tabular-nums;font-weight:650}.slot-x{border-radius:var(--r-full);color:var(--faint);padding:2px;display:inline-flex}.slot-x:hover{color:var(--danger);background:var(--danger-bg)}.slot-add{border:1px dashed var(--line-strong);border-radius:var(--r-full);font-size:var(--t-xs);color:var(--muted);transition:all var(--dur-fast) var(--ease);align-items:center;gap:.3rem;padding:.22rem .5rem;display:inline-flex}.slot-add:hover{color:var(--ink);border-color:var(--muted);background:var(--surface-2)}.slot-add-wide{border-radius:var(--r-sm);justify-content:center;width:100%}.day-items{flex-direction:column;gap:1px;list-style:none;display:flex}.day-item{align-items:center;gap:var(--s-2);border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--ink-2);cursor:pointer;padding:.3rem .4rem;display:flex}.day-item:hover{background:var(--sunken)}.day-item-time{font-variant-numeric:tabular-nums;width:38px;color:var(--muted);flex-shrink:0;font-weight:650}.day-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.day-item-price{font-variant-numeric:tabular-nums;font-weight:650}.day-item-expense{opacity:0;flex-shrink:0;transition:opacity .1s}.day-item:hover .day-item-expense,.day-item-expense:focus-visible{opacity:1}.day-notes{border:none;border-top:1px dashed var(--line);width:100%;padding:var(--s-2) 0 0;font-size:var(--t-xs);color:var(--ink-2);resize:vertical;line-height:var(--lh-snug);background:0 0}.day-notes:focus{border-top-color:var(--p-j);outline:none}.day-notes::placeholder{color:var(--faint)}.picker{z-index:300;padding:var(--s-4);background:#0a0d1259;place-items:center;display:grid;position:fixed;inset:0}.picker-panel{gap:var(--s-2);width:min(420px,100%);max-height:60vh;padding:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.picker-list{flex-direction:column;gap:1px;display:flex}.picker-row{justify-content:space-between;gap:var(--s-2);border-radius:var(--r-sm);font-size:var(--t-sm);text-align:left;padding:.45rem .55rem;display:flex}.picker-row:hover{background:var(--sunken)}.compare{overflow-x:auto}.compare table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .65rem}.compare thead th{border-bottom:2px solid var(--line-strong);font-weight:650}.compare tbody th{color:var(--muted);white-space:nowrap;font-weight:550}.compare-best{color:var(--ok);font-weight:750}.itin-head{padding-bottom:var(--s-2);border-bottom:1px solid var(--line)}.itin-head-top{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.itin-head-actions{gap:var(--s-1);flex-shrink:0;display:flex}.itin-title{font-family:var(--font-display);font-variation-settings:"wdth" 108;font-size:var(--t-lg);letter-spacing:-.025em;font-weight:750}.itin-budget{font-size:var(--t-sm);color:var(--ink-2);margin-top:var(--s-2);align-items:center;gap:.35rem;display:flex}.itin-day{padding:var(--s-3) 0;border-bottom:1px solid var(--line);break-inside:avoid}.itin-day-head{margin-bottom:var(--s-2);justify-content:space-between;display:flex}.itin-day-date{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.itin-row{gap:var(--s-2);font-size:var(--t-sm);grid-template-columns:42px 18px 1fr;align-items:start;padding:.3rem 0;display:grid}.itin-time{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:650;font-size:var(--t-xs);padding-top:1px}.itin-row strong{font-weight:600}.itin-bell{vertical-align:baseline;margin-left:var(--s-1);color:var(--muted);display:inline-flex}.itin-notes{margin-top:var(--s-2);padding-left:calc(42px + 18px + 2 * var(--s-2));font-size:var(--t-xs);color:var(--muted);white-space:pre-wrap}.feed-row{gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--line);display:flex}.feed-body{flex:1;min-width:0}.feed-body p{font-size:var(--t-sm);line-height:var(--lh-snug)}.feed-body em{color:var(--ink-2);font-style:normal}.feed-time{color:var(--faint);font-size:10px}.item-icon{color:var(--muted);padding-top:1px;display:inline-flex}.boot{height:100dvh;color:var(--muted);font-size:var(--t-sm);place-items:center;display:grid}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--topbar-h) 1fr;height:100dvh;display:grid;overflow:hidden}.offline-banner{grid-row:1}.topbar{grid-row:2}.main{grid-row:3}.offline-banner{padding:var(--s-1) var(--s-4);background:var(--warn-bg,var(--sunken));color:var(--warn);font-size:var(--t-xs);text-align:center;font-weight:600}.topbar{align-items:center;gap:var(--s-3);padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--line);z-index:30;min-width:0;display:flex}.topbar>*{flex-shrink:0}.brand{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;align-items:baseline;font-size:1.0625rem;display:inline-flex}.brand-nijo{font-variation-settings:"wdth" 100;color:var(--muted);font-weight:400}.brand-urlaub{font-variation-settings:"wdth" 112;color:var(--ink);font-weight:800}.topbar-sep{background:var(--line);width:1px;height:22px}.vac-switch{appearance:none;border-radius:var(--r-md);background:var(--sunken) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236e7684' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;font-size:var(--t-sm);text-overflow:ellipsis;border:1px solid #0000;flex-shrink:1;min-width:0;max-width:220px;padding:.35rem 1.75rem .35rem .6rem;font-weight:600}.vac-switch:hover{border-color:var(--line-strong)}.user-badge{align-items:center;gap:var(--s-2);display:inline-flex}.user-badge-gear{color:var(--muted);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.user-badge:hover .user-badge-gear,.user-badge:focus-visible .user-badge-gear{opacity:1}.avatar{border-radius:var(--r-full);color:#fff;width:26px;height:26px;font-size:var(--t-xs);flex-shrink:0;place-items:center;font-weight:700;display:grid}.avatar-sm{width:20px;height:20px;font-size:10px}.user-name{font-size:var(--t-sm);font-weight:550}.conn-dot{border-radius:var(--r-full);background:var(--ok);flex-shrink:0;width:7px;height:7px}.conn-dot[data-off=true]{background:var(--warn)}.main{min-width:0;min-height:0;transition:grid-template-columns var(--dur) var(--ease);grid-template-columns:1fr 0;display:grid;position:relative}.main[data-sidebar=open]{grid-template-columns:1fr var(--sidebar-w)}.map-area{min-width:0;position:relative}.sidebar{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar-tabs{padding:var(--s-2) var(--s-3) 0;border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:0;gap:2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000 100%)}.sidebar-tabs::-webkit-scrollbar{display:none}.tab{border-radius:var(--r-sm) var(--r-sm) 0 0;font-size:var(--t-sm);color:var(--muted);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.35rem;margin-bottom:-1px;padding:.5rem .65rem;font-weight:550;display:inline-flex}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tab-count{border-radius:var(--r-full);background:var(--sunken);min-width:15px;color:var(--muted);padding:0 4px;font-size:10px;font-weight:700}.watches{flex-direction:column;flex:1;min-height:0;display:flex}.watches-sub{padding:var(--s-3) var(--s-3) 0;flex-shrink:0}.panel{flex-direction:column;flex:1;min-height:0;display:flex}.panel-body{min-height:0;padding:var(--s-3);gap:var(--s-2);flex-direction:column;flex:1;display:flex}.panel-body>*{flex-shrink:0}.panel-foot{padding:var(--s-3);border-top:1px solid var(--line);background:var(--surface-2)}.panel-loading{padding:var(--s-3);color:var(--muted);flex:1}.home{z-index:20;background:var(--paper);padding:var(--s-7) var(--s-5);position:absolute;inset:0;overflow-y:auto}.home-inner{max-width:940px;margin:0 auto}.home-masthead{margin-bottom:var(--s-6)}.home-masthead h1{font-family:var(--font-display);font-variation-settings:"wdth" 112;font-size:clamp(2rem, 6vw, var(--t-2xl));letter-spacing:-.035em;text-transform:uppercase;font-weight:800}.home-masthead p{color:var(--muted);font-size:var(--t-sm);margin-top:var(--s-1)}.vac-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(258px,1fr));display:grid}.vac-card{text-align:left;padding:var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);position:relative;overflow:hidden}.vac-card:hover{box-shadow:var(--shadow-2);border-color:var(--line-strong);transform:translateY(-2px)}.vac-card:before{content:"";background:var(--consensus);opacity:.85;height:3px;position:absolute;inset:0 0 auto}.vac-card h3{font-family:var(--font-display);font-variation-settings:"wdth" 108;font-size:var(--t-lg);letter-spacing:-.02em;margin-bottom:var(--s-2);font-weight:750}.vac-meta{font-size:var(--t-sm);color:var(--muted);flex-direction:column;gap:.3rem;display:flex}.vac-meta>span{align-items:center;gap:.4rem;display:inline-flex}.vac-card-new{min-height:138px;color:var(--muted);font-weight:550;font-size:var(--t-sm);box-shadow:none;border-style:dashed;place-items:center;display:grid}.vac-card-new:before{display:none}.vac-card-new:hover{color:var(--ink);border-color:var(--muted)}.vac-archive{margin-top:var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}.vac-archive-year{border-top:1px solid var(--line);padding-top:var(--s-3)}.vac-archive-year summary{align-items:center;gap:var(--s-2);cursor:pointer;font-weight:600;font-size:var(--t-sm);color:var(--ink-2);list-style:none;display:inline-flex}.vac-archive-year summary::-webkit-details-marker{display:none}.vac-archive-year .vac-grid{margin-top:var(--s-3);opacity:.85}.item-card{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:var(--s-2);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;display:flex;position:relative}.item-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.item-card:before{content:"";border-radius:var(--r-full);background:var(--author,transparent);width:2px;position:absolute;top:10px;bottom:10px;left:0}.item-head{align-items:flex-start;gap:var(--s-2);display:flex}.item-title{font-size:var(--t-sm);font-weight:600;line-height:var(--lh-snug);flex:1}.item-sub{font-size:var(--t-xs);color:var(--muted)}.item-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:1px;display:flex}.item-card:hover .item-actions,.item-card:focus-within .item-actions{opacity:1}@media (hover:none){.item-actions{opacity:1}}.item-tags{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.price{font-size:var(--t-sm);letter-spacing:-.01em;font-weight:650}.price-basis{font-size:var(--t-xs);color:var(--muted);font-weight:500}.status-dot{border-radius:var(--r-full);background:var(--line-strong);flex-shrink:0;width:6px;height:6px}.status-shortlisted{background:var(--warn)}.status-booked{background:var(--ok)}.filters{flex-wrap:wrap;gap:.3rem;display:flex}.filter-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);font-size:var(--t-xs);color:var(--muted);transition:all var(--dur-fast) var(--ease);padding:.25rem .55rem;font-weight:550}.filter-chip:hover{border-color:var(--line-strong);color:var(--ink-2)}.filter-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.empty{align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);text-align:center;color:var(--muted);flex-direction:column;display:flex}.empty-title{font-size:var(--t-sm);color:var(--ink-2);font-weight:600}.empty p{font-size:var(--t-sm);max-width:30ch;line-height:var(--lh-snug)}.mobile-nav{display:none}@media (width<=860px){.main[data-sidebar=open]{grid-template-columns:1fr}.sidebar{z-index:40;transition:transform var(--dur) var(--ease);border-left:none;position:absolute;inset:0 0 56px;transform:translateY(100%)}.sidebar[data-mobile-open=true]{transform:none}.mobile-nav{z-index:50;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:absolute;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:600;display:flex}.mobile-nav button[aria-selected=true]{color:var(--ink)}.topbar{padding:0 var(--s-3);gap:var(--s-2)}.user-name,.topbar-sep,.conn-dot{display:none}.brand{font-size:.95rem}.vac-switch{max-width:150px}.home{padding:var(--s-5) var(--s-4)}}@media print{.topbar,.map-area,.sidebar-tabs,.mobile-nav,.offline-banner,.no-print{display:none!important}.main,.main[data-sidebar=open]{height:auto;display:block}.sidebar{width:auto;height:auto;display:block;position:static;transform:none}.panel,.panel-body{height:auto;padding:0;display:block;overflow:visible}}
