.modal{background:0 0;border:none;width:100%;max-width:none;height:100%;max-height:none;padding:0;overflow:visible}.modal::backdrop{background:var(--scrim)}.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-family:var(--font-display);font-size:var(--t-lg);font-weight:var(--w-medium);letter-spacing:var(--track-tight);flex:1}.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:var(--on-accent)}.btn-destructive:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.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:var(--z-toast);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);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);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);display:flex}.toast>span{flex:1}.toast[data-kind=error],.toast[data-kind=success]{border-left:3px solid var(--danger)}.toast[data-kind=success]{border-left-color:var(--ok)}.toast-close{border-radius:var(--r-sm);color:inherit;opacity:.7;padding:3px;display:inline-flex}.toast-close:hover{opacity:1;background:color-mix(in srgb, var(--paper) 15%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.map-host{z-index:var(--z-map);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:var(--t-2xs)!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}.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:var(--w-strong)}.pin-popup p{color:var(--ink-2);font-size:var(--t-xs);margin:0!important}.pin-price{font-weight:var(--w-strong);font-variant-numeric:tabular-nums}.pin-popup em{font-size:var(--t-2xs);color:var(--faint);font-style:normal}.map-search{top:var(--s-3);left:var(--s-3);z-index:var(--z-map-ui);width:min(340px, calc(100% - 2 * var(--s-3)));position:absolute}.map-search form{align-items:center;gap:var(--s-2);padding:0 var(--s-2) 0 var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);color:var(--muted);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(--accent)}.map-result-actions{gap:var(--s-2);display:flex}.map-layers{top:var(--s-3);right:var(--s-3);z-index:var(--z-map-ui);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:var(--z-map-ui);font-size:var(--t-2xs);color:var(--muted);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:var(--r-sm);padding:.2rem .45rem;position:absolute}@media (width<=860px){.map-hint{display:none}.map-search{width:calc(100% - 3 * var(--s-3) - 36px)}}.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)}.consensus-label{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ok)}.consensus-label-split{-webkit-text-fill-color:var(--muted);color:var(--muted);font-weight:var(--w-medium);background:0 0}.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{font-size:var(--t-2xs);color:var(--faint)}.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);font-weight:var(--w-strong);text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.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:var(--w-medium);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:var(--w-strong);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:var(--accent-bg);align-self:flex-end}.bubble-author{font-size:var(--t-2xs);font-weight:var(--w-strong)}.bubble p{line-height:var(--lh-snug);white-space:pre-wrap;overflow-wrap:anywhere}.bubble-time{font-size:var(--t-2xs);color:var(--faint)}.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:var(--w-strong)}.chat-room-label{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-room-hint{font-size:var(--t-2xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.chat-dot,.chat-badge{border-radius:var(--r-full);background:var(--accent);min-width:18px;color:var(--on-accent);font-size:var(--t-2xs);font-weight:var(--w-strong);text-align:center;grid-row:1/span 2;align-self:center;padding:0 5px;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) var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--line);transition:background var(--dur-fast) var(--ease);display:flex;position:relative}.plan-card:hover{background:var(--surface)}.plan-card-active:before{content:"";left:0;top:var(--s-3);bottom:var(--s-3);background:var(--ok);width:2px;position:absolute}.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-family:var(--font-display);font-size:var(--t-lg);font-weight:var(--w-medium);letter-spacing:var(--track-tight)}.plan-card-meta{font-size:var(--t-xs);color:var(--ink-2);margin-top:2px}.plan-card-budget{align-items:center;gap:var(--s-1);margin-top:var(--s-2);font-size:var(--t-sm);color:var(--muted);display:flex}.plan-card-budget strong{color:var(--ink);font-weight:var(--w-strong)}.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-size:var(--t-lg);font-weight:var(--w-medium);letter-spacing:var(--track-tight)}.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);font-weight:var(--w-strong);letter-spacing:-.02em}.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);font-weight:var(--w-strong);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.day-num{font-size:var(--t-sm);font-weight:var(--w-strong)}.day-budget{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--ink-2)}.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{gap:var(--s-1);flex-wrap:wrap;align-items:center;display:flex}.slot-chip{align-items:center;gap:var(--s-1);padding:2px var(--s-1) 2px var(--s-2);border-radius:var(--r-sm);background:var(--sunken);font-size:var(--t-xs);max-width:100%;display:inline-flex}.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.slot-price{font-weight:var(--w-strong);font-variant-numeric:tabular-nums}.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{align-items:center;gap:var(--s-1);padding:2px var(--s-2);border:1px dashed var(--line-strong);border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--muted);transition:all var(--dur-fast) var(--ease);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-weight:var(--w-strong);font-variant-numeric:tabular-nums;width:38px;color:var(--muted);flex-shrink:0}.day-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.day-item-price{font-weight:var(--w-strong);font-variant-numeric:tabular-nums}.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(--accent);outline:none}.day-notes::placeholder{color:var(--faint)}.picker{z-index:var(--z-modal);background:var(--scrim);padding:var(--s-4);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{font-weight:var(--w-strong);border-bottom:2px solid var(--line-strong)}.compare tbody th{color:var(--muted);font-weight:var(--w-medium);white-space:nowrap}.compare-best{font-weight:var(--w-strong);color:var(--ok)}.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-size:var(--t-lg);font-weight:var(--w-strong);letter-spacing:-.025em}.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);font-weight:var(--w-strong);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.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;font-weight:var(--w-strong);color:var(--muted);font-size:var(--t-xs);padding-top:1px}.itin-row strong{font-weight:var(--w-strong)}.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{font-size:var(--t-2xs);color:var(--faint)}.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}.members{gap:var(--s-3);flex-direction:column;display:flex}.member-list{flex-direction:column;gap:1px;display:flex}.member-row{align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--line);display:flex}.member-row:last-child{border-bottom:none}.member-name{align-items:baseline;gap:var(--s-2);min-width:0;font-size:var(--t-sm);font-weight:var(--w-strong);text-overflow:ellipsis;white-space:nowrap;flex:1;display:flex;overflow:hidden}.member-tag{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--muted);background:var(--sunken);padding:1px var(--s-2);border-radius:var(--r-full)}.member-add{gap:var(--s-2);display:flex}.member-add select{flex:1;min-width:0}.member-invite{gap:var(--s-2);flex-direction:column;display:flex}.member-invite .btn{align-self:flex-start;gap:var(--s-2)}.invite-list{gap:var(--s-2);flex-direction:column;display:flex}.invite-row{align-items:center;gap:var(--s-1);display:flex}.invite-url{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-xs);color:var(--muted);flex:1}.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);font-weight:var(--w-strong);text-align:center}.topbar{align-items:center;gap:var(--s-3);padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--line);z-index:var(--z-sheet);min-width:0;display:flex}.topbar>*{flex-shrink:0}.brand{white-space:nowrap;align-items:baseline;gap:1px;display:inline-flex}.brand-nijo{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--muted)}.brand-urlaub{font-family:var(--font-display);font-style:italic;font-size:var(--t-lg);font-weight:var(--w-medium);letter-spacing:var(--track-tight);color:var(--ink)}.topbar-sep{background:var(--line);width:1px;height:22px}.vac-switch{appearance:none;padding:var(--s-1) var(--s-6) var(--s-1) var(--s-2);border-radius:var(--r-md);background:transparent 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='%23998f82' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right var(--s-2) center;font-family:var(--font-display);font-size:var(--t-md);font-weight:var(--w-medium);text-overflow:ellipsis;border:1px solid #0000;flex-shrink:1;min-width:0;max-width:220px}.vac-switch:hover{border-color:var(--line);background-color:var(--surface-2)}.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);width:26px;height:26px;color:var(--on-person);font-size:var(--t-2xs);font-weight:var(--w-strong);flex-shrink:0;place-items:center;display:grid}.avatar-sm{width:20px;height:20px;font-size:var(--t-2xs)}.user-name{font-size:var(--t-sm);font-weight:var(--w-medium)}.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(--paper);border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar-tabs{gap:var(--s-1);padding:var(--s-2) var(--s-3) 0;background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:0;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{align-items:center;gap:var(--s-1);padding:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-medium);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;margin-bottom:-1px;display:inline-flex}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab-count{font-size:var(--t-2xs);font-weight:var(--w-medium);color:var(--faint)}.tab[aria-selected=true] .tab-count{color:var(--accent)}.watches{flex-direction:column;flex:1;min-height:0;display:flex}.filters.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);gap:var(--s-2);display:flex}.panel-foot>.btn-primary{flex:1}.panel-loading{padding:var(--s-3);color:var(--muted);flex:1}.home{z-index:var(--z-overlay);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);padding-bottom:var(--s-4);border-bottom:1px solid var(--ink)}.home-masthead h1{font-size:clamp(2.25rem, 7vw, var(--t-2xl));font-weight:var(--w-regular)}.home-masthead p{color:var(--muted);font-size:var(--t-sm);margin-top:var(--s-2)}.vac-grid{column-gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.vac-card{text-align:left;padding:var(--s-4) 0 var(--s-5);border-top:1px solid var(--line-strong);transition:border-color var(--dur-fast) var(--ease)}.vac-card:hover{border-top-color:var(--accent)}.vac-card:hover h3{color:var(--accent)}.vac-card h3{font-family:var(--font-display);font-size:var(--t-xl);font-weight:var(--w-regular);letter-spacing:var(--track-tight);line-height:var(--lh-tight);margin-bottom:var(--s-3);transition:color var(--dur-fast) var(--ease)}.vac-meta{gap:var(--s-1);font-size:var(--t-sm);color:var(--muted);flex-direction:column;display:flex}.vac-meta>span{align-items:center;gap:var(--s-2);display:inline-flex}.vac-card-new{align-items:flex-start;gap:var(--s-2);color:var(--muted);font-family:var(--font-display);font-style:italic;font-size:var(--t-lg);display:flex}.vac-card-new:hover{color:var(--accent)}.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:var(--w-strong);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)}.vac-archive-year .vac-card h3{font-size:var(--t-lg);color:var(--ink-2)}.item-card{padding:var(--s-3) var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--line);gap:var(--s-2);transition:background var(--dur-fast) var(--ease);flex-direction:column;display:flex;position:relative}.item-card:hover{background:var(--surface)}.item-card:before{content:"";left:0;top:var(--s-3);bottom:var(--s-3);background:var(--author,transparent);width:2px;position:absolute}.item-head{align-items:flex-start;gap:var(--s-2);display:flex}.item-title{font-size:var(--t-base);font-weight:var(--w-medium);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{gap:var(--s-1) var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.price{font-size:var(--t-sm);font-weight:var(--w-strong)}.price-basis{font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--muted)}.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{gap:var(--s-1) var(--s-3);padding:var(--s-1) 0;flex-wrap:wrap;display:flex}.filter-chip{padding:var(--s-1) 0;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--muted);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-bottom:1.5px solid #0000}.filter-chip:hover{color:var(--ink-2)}.filter-chip[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.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-family:var(--font-display);font-style:italic;font-size:var(--t-lg);color:var(--ink-2)}.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:var(--z-sheet);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:var(--z-nav);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{font-size:var(--t-2xs);font-weight:var(--w-medium);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.mobile-nav button[aria-selected=true]{color:var(--accent)}.topbar{padding:0 var(--s-2) 0 var(--s-3);gap:var(--s-1)}.topbar .btn-icon{padding:var(--s-1)}.app:has(.main[data-sidebar=open]) .brand{display:none}.vac-switch{font-size:var(--t-base)}.user-name,.topbar-sep,.conn-dot,.brand-nijo{display:none}.vac-switch{max-width:170px}.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}}:is(.panel-body:has(>.item-card),.panel-body:has(>.plan-card)){gap:0}
