:root{color-scheme:light;--charcoal:#232323;--charcoal-2:#363636;--sky:#a6a6a6;--sky-dark:#6e6e6e;--paper:#fff;--canvas:#ececec;--ink:#252525;--muted:#787878;--line:#dedede;--soft:#f5f5f5;--danger:#636363;--shadow:0 18px 55px rgba(25,33,38,.16);font-family:"Noto Sans KR",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-size:16px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:100%;min-height:100svh;background:var(--paper)}
.topbar{height:72px;padding:0 28px;display:flex;align-items:center;gap:18px;background:var(--charcoal);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:700;font-size:1.3rem;letter-spacing:-.04em}.brand-mark{font-size:1.5rem;color:#b7b7b7}.header-divider{height:23px;width:1px;background:rgba(255,255,255,.24)}.header-context{margin:0;color:rgba(255,255,255,.66);font-size:.82rem}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.button{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:10px 16px;font-weight:600}.button-quiet{border-color:rgba(255,255,255,.28);background:transparent;color:#fff}.button-primary{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.button-danger{background:#fff;color:var(--danger);border-color:#c5c5c5}.profile-button{border:1px solid rgba(255,255,255,.26);border-radius:10px;background:#fff;color:var(--charcoal);display:flex;align-items:center;gap:8px;padding:7px 12px;font-weight:600}.profile-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.google-g{font-family:Arial,sans-serif;font-weight:700;color:#7f7f7f}
.member-stack{display:flex;padding-right:5px}.member{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:50%;font-size:.7rem;font-weight:700;border:2px solid var(--paper);margin-right:-6px;background:#e9e9e9;color:#535353;overflow:hidden}.member img{width:100%;height:100%;object-fit:cover}.member:nth-child(3n+2){background:#e2e2e2;color:#5e5e5e}.member:nth-child(3n){background:#e0e0e0;color:#5a5a5a}
.planner-layout{display:grid;grid-template-columns:minmax(390px,430px) 1fr;min-height:calc(100svh - 72px)}.itinerary-panel{background:var(--paper);padding:32px 29px 28px;box-shadow:12px 0 40px rgba(32,36,40,.07);position:relative;z-index:2;overflow-y:auto;max-height:calc(100svh - 72px)}.eyebrow{margin:0 0 7px;color:var(--sky-dark);font-size:.7rem;font-weight:700;letter-spacing:.17em}.trip-heading{display:flex;justify-content:space-between;align-items:flex-start}.trip-heading h1{margin:0;font-family:"Newsreader","Noto Sans KR",serif;font-size:2.2rem;font-weight:500;line-height:1.12;letter-spacing:-.04em}.trip-meta{color:var(--muted);font-size:.82rem;margin:9px 0 0}.day-tabs{display:flex;gap:7px;margin:27px 0 23px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex:1 0 92px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;padding:9px 4px}.day-tab span{font-size:.64rem;display:block;letter-spacing:.08em}.day-tab strong{font-size:.92rem;color:var(--ink);font-weight:600}.day-tab.active{background:var(--charcoal);border-color:var(--charcoal);color:var(--sky)}.day-tab.active strong{color:#fff}.agenda-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.agenda-heading p{margin:0;font-size:1rem;font-weight:700}.agenda-heading span{font-size:.73rem;color:var(--muted)}.agenda-list{display:grid;gap:8px}.agenda-empty{border:1px dashed var(--line);border-radius:12px;padding:30px 18px;text-align:center;color:var(--muted);font-size:.82rem}.agenda-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:13px 12px;transition:.2s ease;position:relative}.agenda-item:hover,.agenda-item.is-selected{border-color:var(--sky);background:var(--soft);transform:translateX(2px)}.agenda-item.is-current:after{content:"NOW";position:absolute;right:10px;top:-8px;background:#8e8e8e;color:#fff;border-radius:4px;padding:2px 7px;font-size:.57rem;letter-spacing:.08em}.agenda-time{font-weight:700;font-size:.74rem;color:var(--muted);padding-top:2px}.agenda-copy strong{display:block;font-size:.88rem}.agenda-copy p{margin:4px 0 8px;color:var(--muted);font-size:.74rem;line-height:1.45}.agenda-tag{font-size:.65rem;background:rgba(255,255,255,.85);padding:3px 7px;border-radius:5px;color:#6e6e6e}.agenda-cost{font-size:.7rem;color:var(--muted);align-self:end}.add-schedule-button{width:100%;border:1px dashed #b6b6b6;background:transparent;color:var(--sky-dark);border-radius:11px;padding:12px;margin-top:11px;font-weight:600}.settlement-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;margin-top:21px;padding:15px;text-align:left;background:#f3f5f7;color:var(--ink);border:1px solid var(--line);border-radius:11px}.receipt-icon{font-family:serif;font-size:1.8rem;color:#8d8d8d}.settlement-copy strong,.settlement-total strong{display:block;font-size:.86rem}.settlement-copy small,.settlement-total small{display:block;font-size:.66rem;color:var(--muted);margin-top:2px}.settlement-total{text-align:right}
.map-panel{position:relative;height:calc(100svh - 72px);min-width:0;overflow:hidden;background:#e7e7e7}.google-map{position:absolute;inset:0}.map-toolbar{position:absolute;top:22px;left:24px;right:24px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.map-badge,.route-controls{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(32,36,40,.12)}.map-badge{padding:10px 13px;color:#626262;font-size:.72rem;font-weight:700;letter-spacing:.07em}.route-controls{display:flex;align-items:center;padding:5px;pointer-events:auto}.route-controls button{border:0;background:transparent;color:var(--ink);padding:7px 10px}.route-controls button:disabled{opacity:.25;cursor:default}.route-controls span{min-width:46px;text-align:center;font-size:.7rem;color:var(--ink)}.route-marker{width:42px;height:42px;border-radius:50% 50% 50% 10px;transform:rotate(-45deg);display:grid;place-items:center;background:#fff;border:3px solid #fff;box-shadow:0 4px 14px rgba(23,33,39,.25);font-size:1.05rem;transition:.2s}.route-marker span{transform:rotate(45deg)}.route-marker.selected{background:var(--charcoal);border-color:var(--charcoal);box-shadow:0 0 0 8px rgba(85,183,239,.2),0 5px 18px rgba(32,36,40,.3)}.travel-avatars{position:absolute;z-index:6;display:flex;left:50%;top:50%;transform:translate(-50%,28px);transition:left .9s cubic-bezier(.35,.7,.2,1),top .9s cubic-bezier(.35,.7,.2,1);pointer-events:none}.travel-avatars .member{width:27px;height:27px;font-size:.57rem}.place-card{position:absolute;z-index:5;left:24px;bottom:24px;width:min(610px,calc(100% - 48px));background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.75);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.place-card-body{padding:17px}.place-card-topline{display:flex;justify-content:space-between;gap:12px}.place-category{color:var(--sky-dark);font-size:.67rem;font-weight:700;letter-spacing:.06em}.place-rating{font-size:.7rem;color:#747474}.place-card h2{font-family:"Newsreader","Noto Sans KR",serif;font-size:1.45rem;margin:4px 0 2px}.place-card p{font-size:.74rem;color:var(--muted);margin:0 0 11px}.place-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.place-actions button,.place-actions a{border:0;background:var(--soft);color:var(--sky-dark);border-radius:6px;padding:6px 9px;font-size:.66rem;text-decoration:none}.recommendations{display:flex;gap:9px;border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.recommendations a{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink);font-size:.67rem;flex:1;min-width:0}.recommendations small{display:block;color:var(--muted);font-size:.59rem}.rec-icon{width:27px;height:27px;flex:0 0 auto;border-radius:7px;background:#f0f0f0;color:var(--sky-dark);display:grid;place-items:center}
.app-dialog{width:min(640px,calc(100% - 28px));max-height:calc(100svh - 28px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:24px;box-shadow:0 28px 80px rgba(10,30,22,.25)}.app-dialog::backdrop{background:rgba(15,21,25,.58);backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.dialog-heading h2{font-family:"Newsreader","Noto Sans KR",serif;font-size:1.8rem;font-weight:500;margin:0}.dialog-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:1.3rem}.dialog-description{color:var(--muted);font-size:.84rem;line-height:1.65;margin:-6px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.ratio-fields label{display:grid;gap:6px;font-size:.76rem;font-weight:600}.form-grid label>span{color:#6f6f6f}.full-field{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#f8fafb;color:var(--ink);padding:10px 11px;font-size:.88rem}textarea{resize:vertical}.field-hint{font-size:.68rem;color:var(--muted);font-weight:400;line-height:1.45}.field-hint.is-success{color:#6a6a6a}.field-hint.is-warning{color:#717171}.field-hint.is-loading{color:var(--sky-dark)}.icon-picker{border:0;padding:0;margin:0}.icon-picker legend{font-size:.76rem;font-weight:600;margin-bottom:7px}.icon-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin-top:8px}.icon-option{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:#f7f9fa;font-size:1.08rem;display:grid;place-items:center;padding:0}.icon-option:hover,.icon-option[aria-pressed=true]{border-color:var(--sky);background:#f0f0f0;box-shadow:0 0 0 2px rgba(75,169,232,.14)}.icon-empty{grid-column:1/-1;color:var(--muted);font-size:.72rem;padding:10px}.category-details{font-size:.74rem;align-self:end}.category-details summary{cursor:pointer;color:var(--sky-dark);padding:10px 0}.category-manager{display:grid;grid-template-columns:1fr auto;gap:6px}.category-manager button{border:0;border-radius:8px;background:var(--charcoal);color:#fff;padding:0 11px}.category-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.category-chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 8px;font-size:.63rem}.category-chip span{color:var(--danger);margin-left:4px}.cost-details{margin-top:14px;border:1px solid var(--line);border-radius:11px;background:#f7f9fa;overflow:hidden}.cost-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;cursor:pointer;font-size:.78rem;font-weight:700}.cost-details summary::-webkit-details-marker{display:none}.cost-details summary:after{content:"＋";color:#8d8d8d;font-size:1rem}.cost-details[open] summary:after{content:"−"}.cost-details summary small{margin-left:auto;color:var(--muted);font-size:.66rem;font-weight:400}.cost-details-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px;border-top:1px solid var(--line)}.cost-details-body label,.cost-details .ratio-fields label{display:grid;gap:6px;font-size:.76rem;font-weight:600}.ratio-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 13px 13px}.ratio-fields[hidden]{display:none!important}.form-error{min-height:20px;color:var(--danger);font-size:.73rem;margin:8px 0 0}.dialog-submit-row{display:flex;justify-content:flex-end;gap:8px}.small-dialog{width:min(500px,calc(100% - 28px))}.dialog-submit{width:100%;margin-top:8px}.member-permissions{display:grid;gap:7px}.member-permissions>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;background:#f5f8fa;border-radius:10px}.member-permissions strong,.member-permissions small{display:block}.member-permissions strong{font-size:.82rem}.member-permissions small{color:var(--muted);font-size:.66rem}.member-permissions select{width:auto;padding:6px;font-size:.68rem}.copy-status{min-height:20px;color:var(--sky-dark);font-size:.73rem;text-align:center;margin:8px 0 0}
.paper-receipt{background:#f6f8fa;border:1px dashed #a5a5a5;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.receipt-head{text-align:center;margin-bottom:18px}.receipt-head strong{display:block;font-size:1.12rem;letter-spacing:.15em}.receipt-head span{font-size:.69rem;color:var(--muted)}.receipt-line{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:.75rem}.receipt-total-line{font-size:.96rem;border-top:1px dashed #949494;margin-top:8px;padding-top:14px}.receipt-members{margin-top:15px;padding-top:8px;border-top:1px dashed #949494}.receipt-barcode{width:72%;height:32px;margin:20px auto 7px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px);opacity:.65}.receipt-note{text-align:center;font-size:.63rem;color:var(--muted)}
.place-loading{text-align:center;color:var(--muted);font-size:.78rem;padding:34px 0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.photo-grid button{border:0;background:transparent;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.photo-grid button:hover img{transform:scale(1.04)}.photo-attribution{font-size:.62rem;color:var(--muted);margin:7px 0 0}.review-summary{display:flex;align-items:center;gap:12px;margin:16px 0}.review-summary>strong{font-size:2rem}.review-summary span{color:#9a9a9a}.review-summary small{display:block;color:var(--muted);font-size:.68rem}.review-list{display:grid;gap:8px}.review-card{margin:0;background:var(--soft);padding:13px;border-radius:10px;color:#5d5d5d;font-size:.8rem;line-height:1.55}.review-card footer{margin-top:7px;color:var(--muted);font-size:.65rem}.image-dialog{width:min(920px,calc(100% - 24px));max-height:calc(100svh - 24px);border:0;border-radius:16px;padding:0;background:#151515;box-shadow:0 28px 90px rgba(0,0,0,.4);overflow:hidden}.image-dialog::backdrop{background:rgba(10,14,16,.82);backdrop-filter:blur(6px)}.image-dialog>img{display:block;width:100%;max-height:calc(100svh - 70px);object-fit:contain}.image-dialog>p{color:#dcdcdc;font-size:.68rem;margin:10px 16px 14px}.image-close{position:absolute;z-index:2;right:13px;top:13px;background:rgba(255,255,255,.92)}.google-signin{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-weight:600}.policy-links{display:flex;justify-content:center;gap:7px;margin:16px 0 0;font-size:.68rem;color:var(--muted)}.policy-links a{color:var(--muted)}.toast{position:fixed;z-index:50;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--charcoal);color:#fff;border-radius:9px;padding:10px 15px;font-size:.76rem;opacity:0;pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-only{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:850px){body{background:var(--paper)}.topbar{height:60px;padding:0 16px}.brand{font-size:1rem}.brand-mark{font-size:1.05rem}.header-divider,.header-context,.desktop-only{display:none!important}.mobile-only{display:initial!important}.planner-layout{display:block;min-height:calc(100svh - 60px)}.itinerary-panel{padding:25px 18px 32px;box-shadow:none;max-height:none;overflow:visible}.trip-heading h1{font-size:2rem}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--charcoal)}.day-tabs{margin:24px 0 15px}.mobile-live-card{display:flex!important;align-items:center;justify-content:space-between;border:1px solid #e1e1e1;background:var(--soft);border-radius:10px;padding:10px 12px;margin-bottom:19px;color:var(--sky-dark);font-size:.71rem}.mobile-live-card button{border:0;background:transparent;color:var(--sky-dark);font-weight:600}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8e8e8e;margin-right:5px}.agenda-item{grid-template-columns:49px 1fr auto;padding:14px 11px}.agenda-item:hover,.agenda-item.is-selected{transform:none}.map-panel{display:none}.app-dialog{padding:19px 16px}.form-grid{gap:11px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.icon-grid{grid-template-columns:repeat(7,1fr)}.cost-details-body{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid button{min-height:130px}}
@media(max-width:420px){.member-stack .member:nth-child(n+3){display:none}.itinerary-panel{padding-inline:15px}.agenda-item{grid-template-columns:45px 1fr}.agenda-cost{grid-column:2;text-align:right}.settlement-card{grid-template-columns:auto 1fr}.settlement-total{grid-column:2}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.ratio-fields{grid-template-columns:1fr}.trip-heading h1{font-size:1.8rem}.icon-grid{grid-template-columns:repeat(6,1fr)}.photo-grid button{min-height:110px}.cost-details summary small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Refined navigation, place previews and schedule controls */
.brand{font-size:1.18rem}.brand sup{border:1px solid rgba(107,198,255,.55);border-radius:999px;color:#c8c8c8;font-size:.52rem;letter-spacing:.08em;padding:2px 6px;text-transform:uppercase}.header-actions{min-width:0}.autosave-status{margin:0;color:rgba(255,255,255,.65);font-size:.68rem;white-space:nowrap}.profile-button{max-width:260px;font-size:.72rem}.profile-button #profileLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:10px 0 7px;min-height:58px}.place-thumb{aspect-ratio:1;border:0;border-radius:8px;overflow:hidden;padding:0;background:#ececec}.place-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s}.place-thumb:hover img{transform:scale(1.05)}.photo-skeleton{aspect-ratio:1;border-radius:8px;background:linear-gradient(100deg,#ececec 20%,#f7f9fa 45%,#ececec 70%);background-size:220% 100%;animation:photo-loading 1.3s infinite}.place-preview-empty{grid-column:1/-1;display:grid;place-items:center;min-height:58px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:.66rem}.place-review-snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.64rem!important;margin-bottom:9px!important}@keyframes photo-loading{to{background-position:-220% 0}}
.form-grid label,.ratio-fields label,.time-field{font-size:.76rem}.field-block input,.time-pickers select{height:44px}input,select,textarea{font-size:.8rem;font-weight:500}.time-field{display:grid;gap:6px;border:0;margin:0;padding:0;font-size:.76rem;font-weight:600}.time-field legend{margin-bottom:6px;padding:0}.time-pickers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.end-time-toggle{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:var(--sky-dark);padding:0;font-size:.7rem;font-weight:600}.end-time-field{padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.end-time-field[hidden]{display:none}.icon-tools{display:grid;grid-template-columns:1.5fr 1fr;gap:8px}.icon-tools label{display:grid;gap:5px}.icon-tools label>span{color:var(--ink);font-size:.68rem}.icon-result-count{display:block;margin-top:7px;color:var(--muted);font-size:.64rem}.icon-grid{grid-template-columns:repeat(10,1fr);max-height:156px;overflow:auto;padding:1px}.field-hint.is-loading{color:var(--sky-dark)}input[data-loading=true]{color:var(--sky-dark);background:#f5f5f5}
@media(max-width:850px){.topbar{gap:9px}.brand{font-size:.92rem;white-space:nowrap}.brand-mark{display:none}.autosave-status{display:none}.header-actions{gap:7px}.profile-button{max-width:150px;padding:7px 9px}.profile-button #profileLabel{display:block;font-size:.64rem}.place-preview{grid-template-columns:repeat(5,minmax(44px,1fr))}.icon-grid{grid-template-columns:repeat(8,1fr)}.icon-tools{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.member-stack{display:none}.profile-button{max-width:132px}.icon-tools{grid-template-columns:1fr}.icon-grid{grid-template-columns:repeat(6,1fr)}.time-pickers{grid-template-columns:.9fr 1fr 1fr}}

/* Multi-trip workspace */
.agenda-mobile-action{display:none}
.trip-switcher{margin:-8px 0 22px}.trip-switcher>label{display:block;margin-bottom:6px;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em}.trip-switcher>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.trip-switcher select{height:39px;background:#f5f8fa;font-size:.75rem;font-weight:700}.trip-switcher button{border:1px solid #d9d9d9;border-radius:9px;background:var(--soft);color:var(--sky-dark);padding:0 11px;font-size:.7rem;font-weight:700;white-space:nowrap}.place-actions .place-delete-button{background:#f5f5f5;color:var(--danger);border:1px solid #d3d3d3}.trip-dialog{width:min(820px,calc(100% - 28px))}.trip-manager-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:18px}.trip-manager-layout section,.trip-manager-layout form{min-width:0}.trip-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.trip-list-heading h3{margin:0;font-size:.78rem}.trip-list-heading button{border:0;background:transparent;color:var(--sky-dark);font-size:.7rem;font-weight:700}.trip-list{display:grid;gap:7px;max-height:310px;overflow:auto}.trip-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:11px}.trip-list-item:hover,.trip-list-item.is-active{border-color:#bcbcbc;background:var(--soft)}.trip-list-item span{min-width:0}.trip-list-item strong,.trip-list-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-list-item strong{font-size:.78rem}.trip-list-item small{margin-top:4px;color:var(--muted);font-size:.6rem}.trip-list-item em{flex:0 0 auto;border-radius:999px;background:#f0f0f0;color:var(--sky-dark);padding:4px 7px;font-size:.58rem;font-style:normal}.trip-list-empty{display:grid;place-items:center;min-height:140px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);text-align:center;font-size:.72rem;line-height:1.7}.trip-manager-layout form{border:1px solid var(--line);border-radius:13px;background:#f8fafb;padding:15px}.trip-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}.trip-form-heading strong{font-size:.83rem}.trip-form-heading small{color:var(--muted);font-size:.62rem}.trip-manager-layout form>label,.trip-date-fields label{display:grid;gap:6px;margin-top:10px;font-size:.72rem;font-weight:600}.trip-manager-layout form label>span{color:#6f6f6f}.trip-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trip-manager-layout input:disabled{color:#767676;background:#eef1f3}.trip-manager-layout .dialog-submit-row{margin-top:4px}
@media(max-width:850px){.trip-switcher{margin-top:-4px}.trip-dialog{width:min(680px,calc(100% - 24px))}.trip-manager-layout{grid-template-columns:1fr}.trip-list{max-height:210px}.trip-manager-layout form input{font-size:16px}.agenda-mobile-action{display:inline;margin-left:7px;color:var(--sky-dark);font-size:.61rem;font-weight:600}}
@media(max-width:420px){.trip-switcher>div{grid-template-columns:1fr}.trip-switcher button{height:37px}.trip-date-fields{grid-template-columns:1fr}}

/* Compact itinerary and fixed dialogs */
textarea{resize:none}.itinerary-panel{padding:20px 22px 18px}.trip-switcher{margin:0 0 11px}.trip-switcher>label{display:none}.trip-switcher>div{grid-template-columns:minmax(0,1fr) auto}.trip-switcher select,.trip-switcher button{height:38px}.day-tabs{margin:9px 0 8px;gap:6px}.day-tab{padding:6px 3px;min-height:48px}.agenda-heading{justify-content:flex-end;margin:0 0 6px;min-height:16px}.agenda-list{gap:5px}.agenda-item{grid-template-columns:44px 1fr auto;gap:7px;padding:8px 9px;border-radius:9px;min-height:58px}.agenda-time{font-size:.7rem}.agenda-copy strong{font-size:.79rem}.agenda-copy p{margin:2px 0 4px;font-size:.66rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.agenda-tag{font-size:.58rem;padding:2px 5px}.agenda-cost{font-size:.62rem}.add-schedule-button{margin-top:7px;padding:9px}.settlement-row{display:flex;justify-content:flex-end;margin-top:9px}.settlement-button{display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:#f0f3f5;color:var(--muted);padding:7px 10px;font-size:.65rem}.settlement-button strong{color:var(--ink);font-size:.68rem}.trip-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0;overflow:hidden}.trip-list-main{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border:0;background:transparent;color:var(--ink);padding:10px;text-align:left}.trip-list-main span{min-width:0}.trip-share-button{align-self:stretch;border:0;border-left:1px solid var(--line);background:#f8f8f8;color:var(--sky-dark);padding:0 9px;font-size:.62rem;font-weight:700;white-space:nowrap}.trip-list-item:hover,.trip-list-item.is-active{border-color:#bcbcbc;background:var(--soft)}
#scheduleDialog{width:min(720px,calc(100% - 18px));height:min(820px,calc(100svh - 18px));max-height:none;overflow:hidden;padding:17px;resize:none}#scheduleDialog form{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}#scheduleDialog .dialog-heading{flex:0 0 auto;margin-bottom:9px;padding-right:42px}#scheduleDialog .dialog-heading h2{font-size:1.45rem}#scheduleDialog .dialog-close{position:absolute;z-index:3;right:0;top:0}#scheduleDialog .form-grid{flex:1 1 auto;min-height:0;align-content:start;gap:8px}#scheduleDialog input,#scheduleDialog select{height:38px;padding:7px 9px}#scheduleDialog textarea{min-height:52px;max-height:52px;padding:7px 9px}#scheduleDialog .field-block input,#scheduleDialog .time-pickers select{height:38px}#scheduleDialog .end-time-field{padding:7px}#scheduleDialog .icon-grid{max-height:105px}#scheduleDialog .cost-details{flex:0 0 auto;margin-top:7px}#scheduleDialog .cost-details summary{padding:8px 10px}#scheduleDialog .form-error{flex:0 0 auto;min-height:15px;margin:3px 0}#scheduleDialog .dialog-submit-row{flex:0 0 auto}.trip-dialog{width:min(820px,calc(100% - 18px));height:min(620px,calc(100svh - 18px));max-height:none;overflow:hidden;resize:none;position:relative}.trip-dialog[open]{display:flex;flex-direction:column}.trip-dialog>.dialog-heading{flex:0 0 auto;margin-bottom:10px;padding-right:42px}.trip-dialog>.dialog-description{flex:0 0 auto;margin:0 0 10px}.trip-dialog>.dialog-heading .dialog-close{position:absolute;z-index:3;right:14px;top:14px}.trip-dialog .trip-manager-layout{flex:1 1 auto;min-height:0}.trip-dialog .trip-manager-layout>section,.trip-dialog #tripForm{min-height:0;overflow:hidden}.trip-dialog .trip-list{max-height:calc(100% - 30px)}
@media(max-width:850px){.planner-layout{display:block}.itinerary-panel{padding:12px 12px 10px;max-height:none;overflow:visible}.trip-switcher{margin:0 0 8px}.trip-switcher>div{grid-template-columns:minmax(0,1fr) auto}.trip-switcher select,.trip-switcher button{height:36px}.trip-switcher button{padding:0 9px}.day-tabs{margin:7px 0 5px}.day-tab{flex-basis:72px;min-height:43px;padding:4px 2px}.day-tab span{font-size:.55rem}.day-tab strong{font-size:.78rem}.agenda-heading{margin-bottom:4px}.agenda-list{gap:4px}.agenda-item{grid-template-columns:38px 1fr auto;gap:5px;min-height:48px;padding:6px 7px}.agenda-copy strong{font-size:.74rem}.agenda-copy p{margin:1px 0 3px;font-size:.6rem;max-width:54vw}.agenda-tag{font-size:.53rem}.agenda-cost{font-size:.57rem}.agenda-mobile-action{font-size:.55rem}.add-schedule-button{padding:8px;margin-top:6px}.settlement-row{margin-top:7px}.map-panel{display:block;position:relative;height:56svh;min-height:360px}.map-toolbar{top:10px;left:10px;right:10px}.map-badge{padding:8px 10px}.place-card{display:none}.trip-dialog{height:calc(100svh - 12px);padding:12px}.trip-dialog>.dialog-heading{margin-bottom:5px}.trip-dialog>.dialog-heading h2{font-size:1.35rem}.trip-dialog>.dialog-description{margin-bottom:7px;font-size:.7rem;line-height:1.35}.trip-dialog .trip-manager-layout{grid-template-columns:1fr;grid-template-rows:118px minmax(0,1fr);gap:8px}.trip-dialog .trip-list{max-height:88px}.trip-dialog .trip-list-item small{font-size:.54rem}.trip-dialog #tripForm{padding:10px}.trip-dialog .trip-form-heading{margin-bottom:5px}.trip-dialog #tripForm>label,.trip-dialog .trip-date-fields label{margin-top:5px;gap:3px}.trip-dialog .trip-date-fields{grid-template-columns:1fr;gap:3px}.trip-dialog .trip-date-fields>*{min-width:0}.trip-dialog input{height:38px;min-width:0;padding:6px 8px}.trip-dialog .form-error{min-height:14px;margin:3px 0}.trip-dialog .dialog-submit-row .button{padding:8px 12px}#scheduleDialog{height:calc(100svh - 10px);padding:10px}#scheduleDialog .dialog-heading{margin-bottom:5px}#scheduleDialog .dialog-heading h2{font-size:1.2rem}#scheduleDialog .eyebrow{margin-bottom:2px;font-size:.58rem}#scheduleDialog .dialog-close{width:32px;height:32px}#scheduleDialog .form-grid{grid-template-columns:1fr 1fr;gap:5px}#scheduleDialog .full-field{grid-column:1/-1}#scheduleDialog .form-grid label,#scheduleDialog .time-field{gap:3px;font-size:.66rem}#scheduleDialog input,#scheduleDialog select,#scheduleDialog .field-block input,#scheduleDialog .time-pickers select{height:34px;padding:5px 7px;font-size:13px}#scheduleDialog .time-pickers{gap:3px}#scheduleDialog .end-time-toggle{font-size:.62rem}#scheduleDialog .field-hint{font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#scheduleDialog .icon-tools{grid-template-columns:1.3fr .9fr;gap:4px}#scheduleDialog .icon-grid{grid-template-columns:repeat(9,1fr);max-height:72px;gap:3px;margin-top:4px}#scheduleDialog .icon-option{border-radius:6px;font-size:.9rem}#scheduleDialog .icon-result-count{margin-top:3px}#scheduleDialog textarea{min-height:43px;max-height:43px;font-size:13px}#scheduleDialog .category-details summary{padding:7px 0}#scheduleDialog .cost-details{margin-top:4px}#scheduleDialog .cost-details summary{padding:7px 8px}#scheduleDialog .form-error{min-height:12px;font-size:.62rem}#scheduleDialog .button{padding:7px 11px}}
@media(max-width:420px){.trip-switcher>div{grid-template-columns:minmax(0,1fr) auto}.trip-switcher button{height:36px}.trip-date-fields{grid-template-columns:1fr}.settlement-card{display:none}#scheduleDialog .form-grid{grid-template-columns:1fr 1fr}#scheduleDialog .full-field{grid-column:1/-1}#scheduleDialog .memo-field{grid-column:1/2}#scheduleDialog .icon-grid{grid-template-columns:repeat(8,1fr)}}

/* Selectable compact schedules and scroll-safe editor */
.agenda-item{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:0;min-height:0;padding:0;overflow:hidden}.agenda-select{display:grid;grid-template-columns:42px minmax(0,1fr);gap:6px;align-items:center;width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:6px 7px;text-align:left}.agenda-copy{min-width:0}.agenda-copy strong{display:flex;align-items:center;gap:6px;min-width:0;font-size:.77rem}.agenda-copy strong>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-copy strong small{flex:0 0 auto;color:var(--sky-dark);font-size:.55rem;font-weight:600}.agenda-copy p{margin:1px 0 0;max-width:none}.agenda-edit-button{align-self:stretch;border:0;border-left:1px solid var(--line);background:#f6f9fb;color:var(--sky-dark);font-size:.9rem}.agenda-edit-button:hover{background:#f2f2f2}.agenda-tag,.agenda-cost,.agenda-mobile-action{display:none!important}
#scheduleDialog form{display:block;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-gutter:stable}#scheduleDialog .dialog-heading{position:sticky;top:0;z-index:4;display:flex;background:var(--paper);padding:0 0 8px;margin-bottom:7px}#scheduleDialog .dialog-close{position:static;flex:0 0 auto;margin-left:auto}#scheduleDialog .form-grid{display:grid;min-height:auto;align-content:normal}#scheduleDialog .cost-details{margin-top:8px}#scheduleDialog .form-error{min-height:16px;margin:5px 0}#scheduleDialog .dialog-submit-row{padding-bottom:2px}
@media(max-width:850px){.day-tab strong{font-size:.7rem;white-space:nowrap}.agenda-list{max-height:min(220px,28svh);overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.agenda-item{grid-template-columns:minmax(0,1fr) 36px}.agenda-select{grid-template-columns:36px minmax(0,1fr);padding:5px 6px}.agenda-copy strong{font-size:.7rem}.agenda-copy strong small{font-size:.5rem}.agenda-copy p{display:none}.agenda-edit-button{font-size:.82rem}#scheduleDialog form{padding-right:2px}#scheduleDialog .form-grid{grid-template-columns:1fr;gap:7px}#scheduleDialog .full-field,#scheduleDialog .memo-field{grid-column:auto}#scheduleDialog .dialog-heading{padding-bottom:6px}#scheduleDialog textarea{min-height:58px;max-height:none;height:auto}#scheduleDialog .icon-grid{max-height:110px}#scheduleDialog .cost-details-body{grid-template-columns:1fr}#scheduleDialog .dialog-submit-row{position:static;background:var(--paper);padding:6px 0 2px}}

/* Optional Google place search */
#scheduleDialog .date-field,#scheduleDialog .time-field{align-self:start;grid-template-rows:16px 38px}#scheduleDialog .date-field>.field-label{display:block;color:var(--ink);line-height:16px}#scheduleDialog .date-field>.field-label b{color:#6f6f6f}#scheduleDialog .date-field input,#scheduleDialog .time-pickers select{height:38px;box-sizing:border-box}.place-search-field{position:relative;display:grid;gap:5px}.place-search-field>label{display:flex!important;align-items:center;gap:7px}.place-search-field>label small{border-radius:999px;background:#f2f2f2;color:var(--muted);padding:2px 7px;font-size:.58rem;font-weight:600}.place-search-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.place-search-control button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--sky-dark);padding:0 10px;font-size:.68rem;font-weight:700;white-space:nowrap}.place-search-results{position:absolute;z-index:12;top:60px;left:0;right:0;max-height:210px;overflow:auto;border:1px solid #d3d3d3;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(32,36,40,.16);padding:5px}.place-search-results[hidden]{display:none}.place-search-results button{display:block;width:100%;border:0;border-radius:7px;background:transparent;color:var(--ink);padding:9px;text-align:left}.place-search-results button:hover,.place-search-results button:focus{background:var(--soft);outline:none}.place-search-results strong,.place-search-results small{display:block}.place-search-results strong{font-size:.75rem}.place-search-results small{margin-top:3px;color:var(--muted);font-size:.62rem}.place-search-results p{margin:0;padding:14px;text-align:center;color:var(--muted);font-size:.7rem}
@media(max-width:850px){#scheduleDialog .date-field,#scheduleDialog .time-field{grid-template-rows:15px 34px}#scheduleDialog .date-field input,#scheduleDialog .time-pickers select{height:34px}.place-search-results{top:54px}}
