:root{--ink:#202127;--muted:#80828c;--teal:#3478f6;--line:#e6e7ec;--paper:#ffffff;--bg:#f5f5f7;--soft:#f0f1f5;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #d5a75d;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #7dbeb2;outline-offset:1px}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.4px;line-height:1.35}h2{font-size:21px;letter-spacing:-.7px;line-height:1.5}h3{font-size:17px;line-height:1.5}p{line-height:1.75}small{font-size:11px}.top{height:78px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:800;letter-spacing:-1px}.brand img{width:31px;height:31px;border-radius:8px}.brand>span{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:500;margin-left:12px}.top-actions{display:flex;align-items:center;gap:20px}.save-status{font-size:11px;color:var(--teal)}.icon-btn{width:40px;height:40px;font-size:22px;border-radius:50%}.icon-btn:hover{background:var(--soft)}.shell{max-width:1450px;margin:auto;display:grid;grid-template-columns:165px 1fr;gap:42px;padding:36px 5% 0}.navigation{display:flex;flex-direction:column;gap:8px;padding-top:38px;position:sticky;top:24px;align-self:start}.navigation button{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:10px;text-align:left;font-weight:600;color:#75837e;white-space:nowrap}.navigation button>span{font-size:22px;width:23px;text-align:center}.navigation button.active{background:#eaf1ff;color:var(--teal)}main{min-width:0}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#8a9990;display:flex;align-items:center;justify-content:space-between}.eyebrow>span{font-size:9px;font-weight:400;letter-spacing:1px}.trip-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 30px;gap:16px}.destination{font-size:12px;color:var(--teal);font-weight:600;margin-bottom:6px}.date-button{padding:10px 0 0;color:#718179;font-size:12px}.date-button>span{margin-left:12px;font-size:10px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:8px;padding:13px 19px;font-weight:600;font-size:12px;min-height:44px}.primary{background:var(--teal);color:white}.primary:hover{background:#2465dd}.secondary{border:1px solid var(--line);background:var(--paper);margin-top:10px}.wide{width:100%}.planner-intro{padding:23px 26px;border:1px solid #dce6da;border-radius:13px;background:linear-gradient(110deg,#f5f6f9,#ffffff);display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative}.planner-intro h2{font-size:22px;margin:9px 0 5px}.planner-intro p{font-size:12px;color:#6f8073}.pill{font-size:10px;padding:5px 9px;background:#fff9;color:#6c816e;border-radius:4px;white-space:nowrap}.days{display:flex;overflow:auto;gap:8px;margin:26px 0 20px;padding-bottom:5px;scrollbar-width:thin}.days button{min-width:101px;padding:13px 16px;display:grid;gap:5px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.days b{font-size:12px;letter-spacing:.6px}.days span{font-size:11px;color:var(--muted)}.days small{font-size:9px;color:var(--muted)}.days .active{background:var(--teal);border-color:var(--teal);color:white}.days .active span,.days .active small{color:#e5edff}.planner-grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(260px,1.05fr);gap:18px;align-items:start}.timeline-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:23px 23px 17px;min-width:0}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.section-top h2{font-size:19px}.section-top h2>span{font-size:11px;font-weight:400;letter-spacing:0;margin-left:10px;color:var(--muted)}.section-top p{font-size:11px;color:var(--muted);margin-top:5px}.text-btn{color:var(--teal);font-size:11px;font-weight:600;padding:10px 4px;white-space:nowrap}.stop{display:flex;gap:12px;position:relative;padding:0 0 1px}.stop-number{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;background:#eaf1ff;color:var(--teal);border:1px solid #d5e2fc;border-radius:50%;font-size:11px;font-weight:700;margin-top:3px}.stop-body{flex:1;min-width:0;padding-bottom:12px;border-bottom:1px solid #eceef3}.stop-main{display:flex;align-items:center;justify-content:space-between}.place-title{font-size:14px;font-weight:700;text-align:left;padding:4px 0}.drag-handle{font-size:22px;cursor:grab;padding:0 5px;color:#a0a4af;min-width:34px;min-height:34px}.muted{color:var(--muted);font-size:11px}.stop-fields{display:flex;align-items:center;gap:12px;margin:10px 0}.stop-fields label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.stop-fields input{width:105px;padding:6px 5px;background:#f2f3f7;border:0;border-radius:5px;font-size:11px;color:var(--ink)}.stop-fields>span{font-size:10px;color:var(--muted)}.note{border:1px dashed #e2e4eb;background:#fafafd;width:100%;padding:9px;font-size:11px;border-radius:4px;color:#626775}.note::placeholder{color:#999da8}.stop-actions{display:flex;align-items:center;gap:5px;margin-top:7px}.stop-actions select{border:0;background:#f0f1f5;color:#666b78;border-radius:4px;padding:6px;font-size:10px;max-width:92px}.stop-actions button{min-width:32px;min-height:32px;color:#808591;font-size:12px}.stop-actions button:last-child{margin-left:auto;font-size:10px}.leg{display:flex;align-items:center;gap:8px;margin:9px 0 9px 11px;font-size:12px;color:#a1a6b2}.leg span{font-size:10px}.leg a{font-size:10px;color:#6284bf;margin-left:auto}.add-place{border:1px dashed #d7dce7;border-radius:7px;width:100%;padding:14px;margin-top:16px;color:var(--teal);font-size:12px}.hint{font-size:10px;line-height:1.8;color:#8b9689;margin-top:12px}.map-panel{position:sticky;top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.map-title{padding:17px 18px;display:flex;justify-content:space-between;gap:10px;font-size:12px}.map-title span{font-size:10px;color:var(--muted)}#map{height:440px;background:#f0f1f5;z-index:0}.map-caption{font-size:9px;color:#7e8e7c;padding:14px 12px;line-height:1.8}.route-dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:4px}.map-panel>.hint{padding:0 12px 12px}.number-marker span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;border:3px solid white;box-shadow:0 2px 8px #294c3440;font-weight:700;font-size:12px}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:9px!important}.empty{text-align:center;padding:55px 10px 36px;display:flex;flex-direction:column;align-items:center;gap:14px}.empty h3{font-size:16px}.empty p{font-size:12px;color:var(--muted)}.empty-icon{font-size:48px;font-weight:100;color:#9bb5a1;line-height:1}.empty.compact{padding:22px 12px;grid-column:1/-1}.booking{margin-top:25px;border:1px solid #dfdfd0;background:#f0efe3;padding:25px;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:18px}.booking h3{margin:10px 0 6px;font-size:16px}.booking p{font-size:11px;color:#81816f}.booking-links{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#687858;justify-content:center}.booking-links a{background:#fff8;padding:9px 12px;border-radius:5px;min-height:32px}.booking small{grid-column:1/-1;font-size:9px;color:#91917d}footer{font-size:9px;color:#9ba397;line-height:1.9;padding:35px 0 30px;border-top:1px solid var(--line);margin-top:32px}.search{border:1px solid var(--line);border-radius:9px;padding:13px 17px;background:var(--paper);display:flex;gap:10px;align-items:center}.search input{border:0;background:none;width:100%;font-size:13px;padding:5px}.chips{display:flex;gap:8px;overflow:auto;margin:18px 0}.chips button{padding:10px 17px;border:1px solid var(--line);background:var(--paper);border-radius:25px;font-size:11px;white-space:nowrap}.chips .active{background:var(--teal);color:white;border-color:var(--teal)}.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.place-card{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--paper)}.art{width:100%;display:block}.art-button{padding:0;display:block;width:100%;overflow:hidden}.art-button .art{transition:transform .25s}.art-button:hover .art{transform:scale(1.03)}.heart{position:absolute;top:9px;right:9px;width:33px;height:33px;border-radius:50%;background:#fff9;font-size:21px;color:#4e685b}.heart.on{color:var(--teal);background:#fff}.card-content{padding:16px}.card-category{font-size:9px;color:var(--teal);display:block}.card-category>span{color:#8c9586}.card-content h3{font-size:14px;margin:8px 0}.card-content h3 button{padding:0;text-align:left;font-weight:700}.card-content p{font-size:10px;color:var(--muted)}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:10px}.card-bottom small{font-size:9px;color:#939d8e}.card-bottom .text-btn{font-size:10px}.subheading{margin:28px 0 12px;font-size:15px}.bookmarks article{display:flex;align-items:center;justify-content:space-between;background:var(--paper);border:1px solid var(--line);padding:17px;border-radius:8px;margin-top:10px;gap:15px}.bookmarks article>div{min-width:0}.bookmarks a{font-size:13px;overflow-wrap:anywhere}.bookmarks small{display:block;margin-top:6px;color:var(--muted)}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tool{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.tool h3{margin-bottom:20px}.tool-icon{font-size:30px;display:block;color:var(--teal);margin-bottom:14px}.tool label{font-size:11px}.tool output{font-size:29px;color:var(--teal);display:block;margin:22px 0 8px;font-weight:600}.tool p{font-size:12px;color:var(--muted)}.tool .secondary{display:flex;width:100%}.phrases>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding:13px 0}.phrases span{font-size:11px;color:var(--muted)}.phrases b{font-size:12px}.phrases small{grid-column:2;font-size:9px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;background:var(--paper);width:min(460px,calc(100% - 28px));max-height:90dvh;padding:24px;color:var(--ink);box-shadow:0 20px 80px #223d3630}dialog::backdrop{background:#20212760;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:11px;color:var(--teal);font-weight:700;letter-spacing:2px}.modal-head .icon-btn{font-weight:400;letter-spacing:0}dialog h2{margin:8px 0 14px}dialog p{font-size:12px;margin-bottom:15px}dialog .art{border-radius:8px;margin-bottom:18px}label{display:block;font-size:12px;color:#647968}label input,label select,label textarea{display:block;width:100%;margin:9px 0 17px;border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--paper);color:var(--ink);min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row input{font-size:12px;padding:10px 6px}.error{color:#ae5a39;font-size:12px;margin:10px 0 0}.warning{padding:14px;border:1px solid #e7c9a4;border-radius:8px;background:#fff4df;font-size:12px;margin-bottom:15px}.drop-target{outline:2px dashed var(--teal);border-radius:6px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px);background:#202127;color:#fff;padding:13px 21px;border-radius:8px;font-size:12px;max-width:calc(100% - 30px);width:max-content;z-index:9999;opacity:0;transition:.2s;pointer-events:none;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1400px){.shell{gap:55px}.planner-grid{gap:24px}}@media(max-width:1100px){.shell{grid-template-columns:125px 1fr;gap:25px;padding:30px 3% 0}.navigation button{padding:14px 10px}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-grid{grid-template-columns:1fr 1fr;gap:14px}.timeline-panel{padding:19px 14px}.planner-intro{padding:20px}.planner-intro h2{font-size:19px}.planner-intro .primary{padding:12px;font-size:11px}.booking{grid-template-columns:1fr}.booking-links{flex-direction:row;flex-wrap:wrap;justify-content:start}.top{padding:0 3%}}@media(max-width:800px){.shell{display:block;padding:24px 20px 0}.navigation{position:fixed;bottom:0;left:0;right:0;top:auto;display:flex;flex-direction:row;padding:6px 9px calc(6px + env(safe-area-inset-bottom));background:#ffffffef;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20;gap:4px;justify-content:space-around}.navigation button{flex:1;display:flex;flex-direction:column;gap:4px;text-align:center;justify-content:center;font-size:10px;padding:6px 0;border-radius:8px;min-height:51px}.navigation button>span{font-size:21px}.navigation button.active{background:#edf3e9}.top{height:63px;padding:0 20px}.brand{font-size:21px}.brand img{width:28px;height:28px}.brand>span{font-size:8px;margin-left:5px}.top-actions{gap:6px}.save-status{font-size:9px}.eyebrow{font-size:8px;letter-spacing:1.5px}.eyebrow>span{font-size:8px}.trip-heading{margin:24px 0}h1{font-size:28px}.destination{font-size:11px}.share-top{padding:10px 13px;font-size:10px}.date-button{font-size:10px}.date-button>span{font-size:9px;margin-left:5px}.planner-intro{padding:20px;display:block}.planner-intro h2{font-size:21px}.planner-intro p{font-size:11px}.planner-intro .primary{margin-top:18px;width:100%;padding:13px}.days{margin-top:22px}.days button{min-width:92px;padding:12px}.planner-grid{grid-template-columns:1fr}.timeline-panel{padding:20px}.map-panel{position:static;margin-top:5px}#map{height:340px}.map-title{padding:17px}.booking{padding:22px 20px}.booking h3{font-size:15px}.booking-links{gap:7px}.booking-links a{padding:10px;font-size:10px}footer{padding-bottom:105px;font-size:9px}.empty{padding:30px 8px 22px}.places-grid{gap:12px}.card-content{padding:12px}.card-content h3{font-size:13px}.card-category{font-size:8px}.card-bottom{flex-wrap:wrap}.card-bottom .text-btn{padding:8px 0}.section-top{align-items:flex-start}.section-top h2{font-size:19px}.section-top p{font-size:11px}.section-top .pill{display:none}.tools-grid{grid-template-columns:1fr}.tool{padding:23px}.stop-fields input{margin:0}.stop-fields label{margin:0}.stop-actions select{margin:0}#toast{bottom:86px;font-size:11px}.stop-actions button{min-height:38px;min-width:36px}.stop-actions select{min-height:38px}.search input{margin:0}.form-row{gap:8px}.form-row input{max-width:100%}dialog{padding:20px}.art-button{aspect-ratio:320/210}.place-card .art{height:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.shared-preview{max-height:32vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:15px;margin:15px 0;background:#f5f6f9}.shared-preview h3{font-size:12px;color:var(--teal);margin:10px 0}.shared-preview p{font-size:11px;border-bottom:1px dashed var(--line);padding-bottom:8px;overflow-wrap:anywhere}
.stop-fields label input{margin:0}.mobile-view-switch{display:none}
@media(min-width:801px) and (orientation:landscape){.shell{grid-template-columns:128px minmax(0,1fr);gap:26px;padding-top:26px}.navigation{position:sticky;top:20px;padding-top:38px}.planner-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1.1fr)}.map-panel{top:20px}#map{height:clamp(390px,58vh,650px)}.trip-heading{margin:20px 0 24px}.planner-intro{padding:20px 23px}}
@media(max-width:800px){.mobile-view-switch{display:flex;background:#e9eee5;border-radius:8px;padding:4px;gap:4px;margin-bottom:16px}.mobile-view-switch button{flex:1;padding:10px;border-radius:6px;font-size:12px;color:#7a8c7d;min-height:42px}.mobile-view-switch .active{background:var(--paper);color:var(--teal);font-weight:700;box-shadow:0 1px 5px #20212710}.mobile-timeline .map-panel{display:none}.mobile-map .timeline-panel{display:none}.mobile-map #map{height:55dvh;min-height:320px}.mobile-map .map-panel{margin-top:0}.days{scroll-margin-top:10px}}
/* Planner NHA: calm content, glass navigation, familiar calendar controls. */
:root{--bg:#f3f6f2;--paper:#ffffff;--line:#e2e8e1}body{background:radial-gradient(ellipse at 0 0,#e3ede4 0,transparent 50%),var(--bg)}.top{background:#ffffffc9;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid #ffffffb3}.brand{font-size:21px;letter-spacing:-.9px}.brand>span{font-size:8px;letter-spacing:1.6px}.navigation{background:#ffffff99;border:1px solid #ffffffb3;box-shadow:0 6px 28px #2d514608,inset 0 1px 0 #fff;border-radius:22px;padding:10px 8px;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);margin-top:38px}.navigation button{border-radius:14px;min-height:50px}.navigation button.active{background:#dcece2;color:#096e65}.primary,.secondary{border-radius:14px}.primary{box-shadow:0 3px 8px #0b66541a}.icon-btn{background:#ffffff90}.trip-heading{margin-bottom:24px}.calendar-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:8px 0 24px}.calendar-header h2{font-size:25px;margin-top:9px;letter-spacing:-1px}.calendar-header p{font-size:12px;color:var(--muted);margin-top:5px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;align-items:start}.month-panel,.agenda-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 3px 18px #264b3a03}.month-toolbar{display:flex;align-items:center;justify-content:space-between;padding:25px 22px 22px;gap:8px}.month-toolbar h2{font-size:17px;font-weight:400;letter-spacing:-.5px}.month-toolbar strong{font-weight:750}.month-toolbar>div{display:flex;align-items:center;gap:5px}.today-button{padding:8px 12px;background:#f1f5ee;border:1px solid var(--line);border-radius:20px;font-size:11px;min-height:36px}.month-arrow{border-radius:50%;background:#f1f5ee;width:35px;height:35px;font-size:25px;line-height:1}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 10px 11px}.weekdays span{text-align:center;font-size:10px;color:#8b978c}.weekdays span:first-child{color:#c38272}.weekdays span:last-child{color:#748da3}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 10px 12px;gap:3px}.calendar-cell{min-width:0;height:99px;padding:6px 3px 4px;position:relative;border-top:1px solid #e9eee7;border-radius:6px;text-align:left;display:flex;flex-direction:column;align-items:center;gap:3px;overflow:hidden}.calendar-cell:hover{background:#eff5eb}.calendar-cell.other-month{opacity:.35}.calendar-cell.trip-date{background:#f3f6fc}.calendar-cell.selected{box-shadow:inset 0 0 0 1.5px #3478f6;background:#eaf1ff}.date-number{width:25px;height:25px;display:grid;place-items:center;font-size:12px;border-radius:50%;font-weight:500;flex-shrink:0}.date-number.today{background:var(--teal);color:#fff}.trip-band{font-size:7px;letter-spacing:.3px;color:#729577}.cell-events{width:100%;display:flex;flex-direction:column;gap:3px;min-width:0}.cell-event{display:block;width:100%;font-size:8px;line-height:1.8;padding:1px 4px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border-left:2px solid #64a28b;background:#dfebe1;color:#437158}.cell-event.personal-event{border-color:#bc9d6f;background:#f0e8d9;color:#8e7451}.cell-events small{font-size:8px;color:#7c8a7b;padding-left:5px}.event-dots{display:none}.calendar-legend{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding:17px 20px;font-size:9px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.calendar-legend i,.event-dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#629c84}.calendar-legend .personal,.event-dots .personal{background:#bc9d6f}.calendar-legend small{margin-left:auto;font-size:8px}.agenda-panel{padding:23px 20px;position:sticky;top:20px}.agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}.agenda-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.agenda-heading h2{margin-top:10px;font-size:20px;letter-spacing:-.8px}.agenda-heading p{font-size:9px;color:var(--muted);margin-top:5px}.round-add{background:var(--soft);border:1px solid #dce8dc;border-radius:50%;font-size:22px;color:var(--teal);min-width:38px;height:38px}.agenda-list{padding:16px 0 0}.agenda-event{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;margin:8px 0 22px}.agenda-time{font-size:11px;font-variant-numeric:tabular-nums;padding-top:3px;color:#647968}.agenda-time small{display:block;margin-top:5px;font-size:9px;color:#a2ab9d}.agenda-content{border-left:2px solid #85b29b;padding:1px 0 1px 12px;min-width:0}.agenda-content.personal{border-color:#cbb185}.event-order{font-size:8px;color:#96a18e;display:block;letter-spacing:.3px;margin-bottom:7px}.agenda-content>button{font-weight:650;padding:0;font-size:13px;text-align:left;overflow-wrap:anywhere}.agenda-content p{font-size:11px;color:#7e8c78;white-space:pre-wrap;margin-top:8px;overflow-wrap:anywhere}.agenda-content>div{display:flex;align-items:center;gap:12px;margin-top:4px}.agenda-content>div>button{font-size:10px;min-height:30px;min-width:24px}.agenda-content .text-btn{font-size:9px}.planner-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.discovery-tabs{display:flex;gap:5px;border-radius:16px;background:#e7eee4;padding:5px;margin:0 0 26px;width:fit-content}.discovery-tabs button{padding:11px 19px;font-size:12px;border-radius:12px;min-height:42px;color:#84947f}.discovery-tabs .active{color:var(--teal);background:var(--paper);box-shadow:0 1px 7px #30523a0a;font-weight:650}.booking-hero{border:1px solid #dae6d9;border-radius:24px;background:linear-gradient(120deg,#e4edde,#f5f5e7);padding:45px 40px;position:relative;overflow:hidden}.booking-hero h2{font-size:36px;letter-spacing:-1.4px;margin:24px 0 15px;line-height:1.45;position:relative}.booking-hero h2 em{font-style:normal;color:var(--teal)}.booking-hero p{font-size:13px;color:#7d8a73;position:relative}.booking-hero .primary{margin-top:25px;position:relative}.booking-orbit{position:absolute;right:8%;top:30px;color:#9bbca355;font-size:180px;font-weight:200;transform:rotate(-10deg)}.reservation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.reservation-grid>a{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:25px 22px}.reservation-grid>a>span{font-size:30px;color:var(--teal)}.reservation-grid h3{font-size:16px;margin:18px 0 6px}.reservation-grid p{font-size:11px;color:var(--muted)}.reservation-grid b{display:block;font-size:11px;color:var(--teal);margin-top:22px}.delete-event{color:#b36b5a;padding:14px;margin-top:10px;border:1px solid #ead9d0;border-radius:12px;min-height:44px}dialog{border-radius:24px}.navigation button>span{font-family:-apple-system,BlinkMacSystemFont,sans-serif}
@media(min-width:801px) and (orientation:landscape){.navigation{padding-top:10px}.calendar-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr)}}
@media(min-width:801px) and (max-width:1000px){.calendar-layout{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.month-toolbar{padding:20px 12px}.calendar-cell{height:85px}.calendar-legend{padding:14px 10px;gap:10px}.calendar-legend small{display:none}.agenda-panel{padding:20px 14px}.agenda-heading h2{font-size:17px}.agenda-event{gap:6px;grid-template-columns:38px minmax(0,1fr)}}
@media(max-width:800px){.brand{font-size:19px;gap:7px}.brand>span{display:none}.top{background:#ffffffbf}.navigation{margin:0 10px 10px;bottom:env(safe-area-inset-bottom);border-radius:25px;border:1px solid #fff;padding:6px;box-shadow:0 4px 26px #284e391a;background:#ffffffe0;gap:2px}.navigation button{font-size:9px;gap:3px;border-radius:19px;min-height:53px;padding:5px 0}.navigation button>span{font-size:21px}.navigation button.active{background:#deeadf}.shell{padding-left:16px;padding-right:16px}.trip-heading{margin-top:20px;margin-bottom:24px}h1{font-size:26px}.calendar-header{margin-top:0;margin-bottom:20px;gap:10px}.calendar-header h2{font-size:21px;margin-top:8px}.calendar-header p{font-size:10px}.calendar-header .primary{padding:11px 13px;font-size:11px;white-space:nowrap}.calendar-header .eyebrow{font-size:8px}.calendar-layout{grid-template-columns:1fr;gap:18px}.month-toolbar{padding:22px 16px 19px}.month-toolbar h2{font-size:18px}.weekdays{padding-bottom:9px}.calendar-cell{height:57px;gap:1px;padding:4px 1px;border-radius:8px}.date-number{width:27px;height:27px;font-size:12px}.cell-events{display:none}.event-dots{display:flex;gap:3px;margin-top:2px}.trip-band{font-size:6px;line-height:1.1}.month-grid{gap:2px;padding:0 8px 12px}.calendar-legend{padding:14px;font-size:8px;gap:12px}.calendar-legend small{font-size:7px}.month-panel,.agenda-panel{border-radius:20px}.agenda-panel{position:static;padding:22px 20px}.agenda-heading h2{font-size:21px}.agenda-time{font-size:12px}.agenda-event{grid-template-columns:48px minmax(0,1fr);gap:12px}.agenda-content>button{font-size:15px}.agenda-content p{font-size:12px}.agenda-content>div>button{min-height:40px;min-width:32px}.agenda-content .text-btn{font-size:11px}.booking-hero{padding:30px 24px}.booking-hero h2{font-size:30px}.booking-orbit{right:0;top:35px;font-size:150px}.reservation-grid{grid-template-columns:1fr;gap:12px}.reservation-grid>a{padding:20px;display:grid;grid-template-columns:38px 1fr;column-gap:15px}.reservation-grid>a>span{grid-row:1/4;align-self:center}.reservation-grid h3{margin:0 0 5px}.reservation-grid b{margin-top:12px}.discovery-tabs{width:100%;justify-content:center}.discovery-tabs button{flex:1;white-space:nowrap;padding:10px;font-size:11px}.top-actions{gap:4px}.save-status{font-size:8px}label input,label select,label textarea{font-size:16px}#toast{bottom:95px}.stop-fields label input{font-size:12px}.form-row input{font-size:16px}footer{padding-bottom:120px}}
@media(prefers-reduced-transparency:reduce){.navigation,.top{backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffff}}

.travel-note-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px}.travel-note-list-head h2{margin:0}.travel-note-list-head p{font-size:11px;color:var(--muted);margin:3px 0}.travel-note-list-head .primary{min-height:40px;padding:9px 13px;white-space:nowrap}.travel-note-share-info{margin:4px 0 14px}.travel-note-list{display:grid;gap:9px;max-height:60dvh;overflow:auto}.travel-note-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.travel-note-list-title{font-size:14px;font-weight:700;overflow-wrap:anywhere}.travel-note-list-title small{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:20px;background:#eaf1ff;color:#3478f6;font-size:9px}.travel-note-list-preview{grid-column:1/-1;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.travel-note-list-item>small{font-size:9px;color:var(--muted);white-space:nowrap}.travel-note-empty{padding:28px 12px}.travel-note-empty>span{font-size:34px;color:#3478f6}.travel-note-title-label{margin-top:2px;font-weight:600}.travel-note-share-toggle{margin-top:4px}.travel-note-share-hint{margin:7px 0 14px}.travel-note-blocks{display:grid;gap:12px}.travel-note-block{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.travel-note-block-tools{display:flex;align-items:center;gap:7px;margin-bottom:6px}.travel-note-block-tools select{width:auto;min-width:90px;margin:0;padding:7px 25px 7px 9px;font-size:11px}.travel-note-block-tools input[type=checkbox]{width:20px;height:20px;accent-color:#3478f6;margin:0 3px 0 0}.note-format,.note-delete{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f2f3f7;font-size:13px}.note-format.active{color:#2465dd;background:#eaf1ff}.note-delete{margin-left:auto;color:#8a8d96;font-size:20px}.travel-note-block textarea{margin:0;min-height:60px;padding:8px 2px;border:0;border-radius:0;resize:vertical;line-height:1.65;background:transparent;font-size:14px}.travel-note-block.is-task textarea{min-height:42px}.travel-note-block.is-checked textarea{text-decoration:line-through;color:var(--muted)}.note-color-default{color:var(--ink)!important}.note-color-blue{color:#3478f6!important}.note-color-red{color:#d65b67!important}.note-color-orange{color:#c7782e!important}.note-color-green{color:#43876c!important}.note-color-purple{color:#8764b5!important}.note-bold{font-weight:750!important}.note-underline{text-decoration:underline!important;text-underline-offset:3px}.travel-note-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}.travel-note-add-actions .secondary{margin:0;min-height:42px;padding:9px 10px}.travel-note-form{min-width:0}.travel-note-tool .tool-icon{color:#3478f6}.travel-note-tool p{margin-bottom:10px}
@media(max-width:800px){.travel-note-list{max-height:55dvh}.travel-note-list-head{align-items:flex-start}.travel-note-block{padding:10px}.travel-note-block-tools{gap:5px}.travel-note-block-tools select{min-width:80px}.travel-note-list-item{padding:14px}.travel-note-add-actions .secondary{font-size:11px}}

.range-dates{display:flex;gap:12px;margin:18px 0;background:#f2f3f7;border-radius:16px;padding:14px}.range-dates>span{flex:1;font-size:12px;color:#627265}.range-dates strong{display:block;margin-top:5px;color:#244b38;font-size:16px}.range-toolbar{display:flex;align-items:center;justify-content:space-between}.range-toolbar button{min-width:44px;min-height:44px;border:0;border-radius:14px;background:#f2f3f7;font-size:24px}.range-prompt{font-size:13px;color:#52735e;text-align:center}.range-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.range-grid>span{text-align:center;font-size:12px;color:#7e887f;padding:6px 0}.range-grid>button{min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;font-size:16px;color:#294b39}.range-grid>button.range-edge{background:#3478f6;color:white;font-weight:700}.range-grid>button.range-inside{background:#eaf1ff}.range-grid>button:focus-visible{outline:3px solid #a3bf6c;outline-offset:1px}#range-next:disabled{opacity:.45}

.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.plan-toolbar .date-button{font-size:13px;margin:0}.plan-toolbar .text-btn{white-space:nowrap;font-size:13px;min-height:44px}

/* Neutral canvas with blue used for interactive selection. */
.ui-icon{width:23px;height:23px;display:inline-block;vertical-align:middle;flex-shrink:0}.navigation button>span{display:flex;align-items:center;justify-content:center}.navigation button{color:#84858e}.navigation button.active{color:#3478f6;background:#eaf1ff}.top,.navigation{background:#ffffffdc;border-color:#ffffff;box-shadow:0 4px 24px #20212708}.planner-intro{background:#fff;border-color:#e6e7ec}.planner-intro p,.pill,.date-button,.range-dates>span{color:#80828c}.pill{background:#f2f3f7}.calendar-cell{border-color:#eff0f3}.calendar-cell:hover{background:#f5f6f9}.calendar-cell.trip-date{background:#f3f6fc}.calendar-cell.selected{background:#eaf1ff;box-shadow:inset 0 0 0 1.5px #3478f6}.calendar-cell.selected .date-number{color:#2465dd}.calendar-legend,.range-prompt,.range-dates strong{color:#656975}.range-grid>button{color:#363944}.range-grid>button.range-edge{color:#fff}.event-dots i,.trip-band{color:#3478f6}.date-button .ui-icon{width:17px;height:17px}.mobile-view-switch{background:#eeeef2}.mobile-view-switch .active{color:#3478f6}.brand img{filter:none}
:root{--bg:#f5f5f7;--paper:#fff;--line:#e6e7ec}body{background:var(--bg)}.event-dots i,.calendar-legend i{background:#7a9fe2}.event-dots .personal,.calendar-legend .personal{background:#b29ed5}.month-toolbar button,.range-toolbar button{background:#f1f2f6}.booking-hero{background:linear-gradient(120deg,#f0f3fb,#fff);border-color:var(--line)}.cell-events span{background:#edf2fc;color:#5679b9}.range-dates{background:#f2f3f7}

.place-photo{display:block;width:100%;height:190px;object-fit:cover;background:#f1f2f6}.art-button .place-photo{height:100%;min-height:155px}.place-address{overflow-wrap:anywhere}.place-facts{background:#f5f6fa;border-radius:14px;padding:16px;margin:16px 0;display:grid;grid-template-columns:65px 1fr;gap:12px;font-size:13px;line-height:1.6}.place-facts dt{color:#848894}.place-facts dd{margin:0;overflow-wrap:anywhere}.place-facts a,.photo-credit a{color:#3478f6}.photo-credit{font-size:10px;line-height:1.5;color:#858995;margin:8px 0 14px;overflow-wrap:anywhere}.add-custom{white-space:nowrap}.place-links{display:flex;gap:8px}#custom-place-form details{margin:16px 0;padding:12px;background:#f5f6fa;border-radius:12px}#custom-place-form input[type=file]{padding:10px;font-size:13px}#custom-place-form input[type=checkbox]{width:auto}.section-top:has(.add-custom){align-items:flex-start}.section-top:has(.add-custom) h2{font-size:20px}@media(max-width:800px){.section-top:has(.add-custom){gap:8px}.section-top:has(.add-custom) h2{font-size:18px}.section-top:has(.add-custom) p{font-size:11px}.add-custom{padding:10px 12px;font-size:12px}.place-photo{height:180px}}

.apple-map-message{height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:linear-gradient(145deg,#f4f7fc,#edf1f7);color:#29364b}.apple-map-message h3{font-size:19px;margin:0 0 12px}.apple-map-message p{max-width:290px;line-height:1.7;color:#687487;margin:0 0 22px}.apple-map-message a{text-decoration:none}

.modal-head{position:sticky;top:-20px;z-index:5;background:var(--paper);padding:10px 0;border-bottom:1px solid var(--line);margin-top:-10px;letter-spacing:1px}.modal-back{min-height:44px;min-width:64px;font-size:14px;letter-spacing:0;text-align:left}.modal-head .icon-btn{min-width:44px;min-height:44px;background:var(--soft)}
.extra-place-fields{margin:14px 0}.extra-place-fields>summary{cursor:pointer;padding:14px 0;color:var(--teal);font-weight:600}.extra-place-fields[open]>summary{margin-bottom:8px}

.place-import-divider{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:var(--muted);font-size:11px}.place-import-divider:before,.place-import-divider:after{content:"";height:1px;background:var(--line);flex:1}

.diary-entry-fields{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(110px,.65fr);gap:10px;margin:12px 0}.diary-entry-fields label{display:grid;gap:6px;font-size:10px;color:var(--muted);min-width:0}.diary-entry-fields textarea,.diary-entry-fields input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fafafd;color:var(--ink);font-size:13px}.diary-entry-fields textarea{resize:vertical}.diary-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;margin-top:12px;border-top:1px solid var(--line);font-size:12px}.diary-total strong{color:var(--teal);font-size:17px}

.diary-edit-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:10px auto 0;border-radius:12px;background:#eaf1ff;color:var(--teal)}.diary-edit-icon .ui-icon{width:18px;height:18px}

/* Numeric fields are typed directly; hide small browser stepper controls. */
input[type="number"]{appearance:textfield;-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.brand>.korea-clock{display:flex!important;gap:5px;align-items:center;letter-spacing:0;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.tools-grid .tool label{display:flex;flex-direction:column;gap:8px;margin-top:14px}.tools-grid select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.tool details{margin-top:15px}.tool details summary{font-size:12px;color:var(--teal);cursor:pointer}.checklist h4{font-size:12px;margin:20px 0 8px;color:var(--muted)}.checklist label{flex-direction:row!important;align-items:center;gap:12px!important;min-height:44px;margin:0!important;padding:8px 0}.checklist input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--teal);margin:0}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.tools-preparing{padding:28px 12px;text-align:center;margin-top:20px;border-radius:12px;background:var(--bg)}.tools-preparing b{font-size:14px}.tools-preparing p{font-size:12px;color:var(--muted);margin-top:10px}#fx-result,#vn-clock{font-variant-numeric:tabular-nums}@media(max-width:800px){.brand{flex-wrap:wrap;column-gap:7px;row-gap:0;max-width:240px}.brand>.korea-clock{flex-basis:100%;margin-left:36px;margin-top:2px;font-size:10px}.top{height:82px}}

.brand>.korea-clock{font-size:13px;gap:7px}.korea-clock time{font-size:18px;font-weight:650;color:var(--ink);letter-spacing:.2px}@media(max-width:800px){.brand>.korea-clock{font-size:12px;margin-top:4px}.korea-clock time{font-size:17px}.top{height:90px}}

.brand{flex-wrap:nowrap;max-width:none}.brand>.korea-clock{flex-basis:auto;margin:0 0 0 12px;white-space:nowrap}@media(max-width:800px){.brand{font-size:20px;gap:7px}.brand>.korea-clock{flex-basis:auto;margin:0 0 0 6px;font-size:10px;gap:4px}.korea-clock time{font-size:16px}.top{padding-left:16px;padding-right:12px;height:78px}.top-actions{gap:4px}.top-actions .save-status{display:none}}

.visit-time{min-height:40px;min-width:92px;padding:9px 12px;border-radius:8px;background:var(--soft);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.time-picker-row{display:flex;gap:14px;align-items:center;margin:20px 0}.time-picker-row label{flex:1}.time-picker-row>span{font-size:22px}.time-picker-row select{font-size:20px;min-height:54px;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}

.stop-main{justify-content:flex-start;gap:8px;flex-wrap:wrap}.stop-inline-meta{font-size:10px;color:var(--muted);line-height:1.5}.stop-main .drag-handle{margin-left:auto}.stop-main .place-title{min-width:0;overflow-wrap:anywhere}

.calendar-header{justify-content:flex-end}

.calendar-header{justify-content:space-between;gap:16px}.diary-usage{font-size:12px;line-height:1.8;color:var(--muted);margin:0}

.diary-title{font-size:21px;margin:0 0 6px;letter-spacing:-.6px}

.calendar-export-area{margin-top:18px;padding-top:16px;padding-bottom:24px;border-top:1px solid var(--line)}.calendar-export-area .calendar-export{margin-top:0}.calendar-export-help{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 4px 0}.calendar-layout{row-gap:28px}

.calendar-export-area .calendar-export{width:auto;padding:11px 16px}

.calendar-export-area{margin:18px 0 0;padding:16px 20px 24px}.calendar-export-area .calendar-export{width:100%;min-height:44px;padding:13px 19px;font-size:12px;border-radius:14px}

/* Tactile feedback: movement stays brief and never delays the action. */
:root{--spring:linear(0,.36 8%,.72 17%,.94 27%,1.035 40%,1.02 58%,1)}
button,a.primary,a.secondary,.reservation-grid>a{transition:transform 180ms cubic-bezier(.2,.8,.2,1),background-color 160ms ease,box-shadow 180ms ease,opacity 160ms ease;transform-origin:center;}
button:not(:disabled):active,a.primary:active,a.secondary:active,.reservation-grid>a:active{transform:scale(.96);filter:brightness(.97)}
.navigation button:not(:disabled):active{transform:scale(.92)}
.calendar-cell:not(:disabled):active{transform:scale(.94);background:#eaf1ff}
button.press-pop,a.press-pop{animation:press-pop 280ms var(--spring)}
.navigation button.active{box-shadow:inset 0 0 0 1px #3478f614}
.navigation button.active .ui-icon{animation:nav-icon-pop 340ms cubic-bezier(.22,1,.36,1)}
main.page-enter{animation:page-enter 280ms cubic-bezier(.22,1,.36,1) both}
dialog[open]{animation:sheet-enter 260ms cubic-bezier(.22,1,.36,1)}
dialog[open]::backdrop{animation:backdrop-enter 180ms ease-out}
@keyframes press-pop{0%{transform:scale(.96)}55%{transform:scale(1.018)}100%{transform:scale(1)}}
@keyframes nav-icon-pop{0%{transform:scale(.88)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes page-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes sheet-enter{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){button,a.primary,a.secondary,.reservation-grid>a{transition:none}button:not(:disabled):active,.navigation button:not(:disabled):active,.calendar-cell:not(:disabled):active,a.primary:active,a.secondary:active,.reservation-grid>a:active{transform:none}button.press-pop,a.press-pop,.navigation button.active .ui-icon,main.page-enter,dialog[open],dialog[open]::backdrop{animation:none}}

/* Diary actions share the blue palette with two clear emphasis levels. */
.calendar-export-area .calendar-export{background:#3478f6;color:#fff;border-color:#3478f6}
.agenda-panel>.add-place{background:#e7efff;color:#245fc7;border:1px solid #cbdcff;border-radius:14px;font-weight:600;min-height:44px}
.agenda-panel>.secondary[data-open-plan]{background:#3478f6;color:#fff;border-color:#3478f6}
.agenda-heading .round-add{background:#e7efff;color:#245fc7}
.month-toolbar .today-button,.month-toolbar .month-arrow{color:#3478f6;background:#edf3ff}
@media(hover:hover){.calendar-export-area .calendar-export:hover,.agenda-panel>.secondary[data-open-plan]:hover{background:#2465dd}.agenda-panel>.add-place:hover{background:#d8e6ff}}

/* App-wide action hierarchy: solid blue for primary, soft blue for supporting actions. */
.primary{background:#3478f6;color:#fff;border:1px solid #3478f6}
.secondary,.add-place{background:#e7efff;color:#245fc7;border:1px solid #cbdcff;border-radius:14px;font-weight:600;min-height:44px}
.text-btn{color:#245fc7;border-radius:9px}
button.icon-btn,.round-add,.month-arrow,.today-button,.modal-back{background:#edf3ff;color:#245fc7;border-radius:12px}




.chips button,.discovery-tabs button,.mobile-view-switch button{background:#edf3ff;color:#245fc7;border-color:#d5e2fc}
.chips button.active,.discovery-tabs button.active,.mobile-view-switch button.active{background:#3478f6;color:#fff;border-color:#3478f6}

.navigation button{color:#5c7cae}.navigation button.active{background:#e7efff;color:#245fc7}
button.delete-event{color:#b44852;background:#fff0f1}
.calendar-export-area .calendar-export,.agenda-panel>.secondary[data-open-plan]{background:#3478f6;color:white;border-color:#3478f6}
@media(hover:hover){.primary:hover,.calendar-export-area .calendar-export:hover,.agenda-panel>.secondary[data-open-plan]:hover{background:#2465dd}.secondary:hover,.add-place:hover{background:#d8e6ff}}

.button-symbol{width:17px;height:17px;flex:0 0 17px;vertical-align:middle;pointer-events:none}button:not(.calendar-cell):not(.place-title):not([data-detail]):not([data-edit-event]),a.primary,a.secondary,.leg a{display:inline-flex;align-items:center;justify-content:center;gap:6px}button.days{display:block}.days button{display:grid!important;justify-content:start!important}.navigation button{justify-content:flex-start!important}.stop-main .place-title,.agenda-content>button{text-align:left}.icon-btn .button-symbol,.month-arrow .button-symbol{width:20px;height:20px;flex-basis:20px}.modal-back{justify-content:center}.round-add .button-symbol{width:20px;height:20px}

.day-select-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.stop-actions .day-select-wrap select{appearance:none;-webkit-appearance:none;padding:8px 28px 8px 10px;min-width:82px;max-width:none;line-height:1.4}.day-select-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#808591;pointer-events:none}.planner-add-actions .add-place[data-page="explore"]{background:#3478f6;color:#fff;border:1px solid #3478f6}.planner-add-actions .add-place[data-action="newEvent"]{background:#e7efff;color:#245fc7;border:1px solid #cbdcff}@media(hover:hover){.planner-add-actions .add-place[data-page="explore"]:hover{background:#2465dd}.planner-add-actions .add-place[data-action="newEvent"]:hover{background:#d8e6ff}}

.modal-back{width:44px;min-width:44px;height:44px;padding:0}.wizard-back-icon{width:44px;height:44px;padding:0}.modal-back .button-symbol,.wizard-back-icon .button-symbol{width:22px;height:22px;flex-basis:22px}

.diary-time-button{width:100%}.diary-time-options{padding:10px;background:var(--soft);border-radius:12px;margin-top:8px}.diary-time-options[hidden]{display:none}.diary-time-selects{display:flex;align-items:center;gap:5px}.diary-time-selects select{min-width:0;flex:1;width:50%;padding:10px 4px;font-size:16px}.diary-time-options .primary{margin-top:8px}

.weather-main{display:flex;align-items:center;gap:16px;margin:22px 0 14px}.weather-main strong{font-size:46px;font-weight:600;letter-spacing:-2px;color:var(--teal)}.weather-main>span{font-size:16px}.weather-facts{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:var(--muted);line-height:1.8}

.weather-clock{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:18px}.weather-clock time{font-size:29px;font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.weather-clock>span{font-size:12px;color:var(--muted)}

.top-actions .icon-btn .ui-icon{width:23px;height:23px}.settings-group{padding:8px 0 18px;border-bottom:1px solid var(--line);margin-bottom:12px}.settings-group .hint{margin:9px 2px 0}

.shared-status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:#eaf1ff;border:1px solid #d5e2fc;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:11px;color:#245fc7}.shared-status-bar b{margin-left:auto}#edit-invite,#view-invite{font-size:11px;overflow-wrap:anywhere}

.auto-sync-setting{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin-top:16px}.auto-sync-setting input{width:22px;height:22px;accent-color:var(--teal);margin:0}

.top-actions .shared-sync-top{width:40px;height:40px;background:#e7efff;color:#245fc7}.top-actions .shared-sync-top .ui-icon{width:21px;height:21px}@media(max-width:380px){.brand{font-size:18px}.brand img{width:25px;height:25px}.brand>.korea-clock{margin-left:3px}.korea-clock time{font-size:14px}.top-actions .icon-btn{width:34px;min-width:34px}.top{padding-left:12px;padding-right:8px}}

.sharing-panel>button,.sharing-panel>a.primary,.sharing-panel>a.secondary{width:100%;min-height:46px;margin:0 0 12px!important;padding:12px 16px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.5}.sharing-panel>button:last-child{margin-bottom:0!important}.sharing-panel>label{margin:18px 0 12px}.sharing-panel>p{margin:0 0 16px}.sharing-panel>h3{margin:22px 0 12px}.sharing-panel>h2{margin-bottom:16px}.sharing-panel>.text-btn{background:#edf3ff;border:1px solid #d5e2fc;color:#245fc7}

.sharing-panel>[data-copy-invite="view"]{background:#e7efff;color:#245fc7;border:1px solid #cbdcff}
.sharing-panel>[data-share-invite="view"]{background:#3478f6;color:#fff;border:1px solid #3478f6}
.sharing-panel>#rotate-invites{background:#fff0f1;color:#a63c4b;border:1px solid #f2ced3}
.sharing-panel>#leave-shared{background:#f0f1f5;color:#505765;border:1px solid #dfe2e8}
.sharing-panel>#recover-shared{background:#fff;color:#63718a;border:1px solid #dfe5ef}
@media(hover:hover){.sharing-panel>[data-copy-invite="view"]:hover{background:#d8e6ff}.sharing-panel>[data-share-invite="view"]:hover{background:#2465dd}.sharing-panel>#rotate-invites:hover{background:#fce0e5}.sharing-panel>#leave-shared:hover{background:#e5e7ed}.sharing-panel>#recover-shared:hover{background:#f5f7fb}}

.top-actions .shared-sync-top{background:linear-gradient(145deg,#41b4f9,#3656df);color:#fff;box-shadow:0 3px 8px #3478f62b;border:1px solid #ffffff5c;border-radius:13px}.top-actions .shared-sync-top .ui-icon{width:25px;height:25px}.lounge-heading{margin-bottom:20px}.lounge-heading h2{font-size:25px;margin:8px 0}.lounge-heading p{font-size:12px;color:var(--muted)}.lounge-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;max-width:850px}.lounge-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.lounge-toolbar>span{font-size:11px;color:var(--muted)}.lounge-toolbar .secondary{margin:0;flex-shrink:0}.lounge-notice{font-size:11px;color:#748095;background:#f1f5fc;padding:12px;border-radius:10px;margin-top:14px}.lounge-posts{display:flex;flex-direction:column;gap:20px;margin:24px 0}.lounge-post{display:flex;gap:10px;align-items:flex-start}.lounge-avatar{width:32px;height:32px;flex-shrink:0;border-radius:12px;background:#e7efff;display:grid;place-items:center;color:#245fc7;font-weight:600}.lounge-message{min-width:0;max-width:100%}.lounge-meta{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:11px;flex-wrap:wrap}.lounge-meta>span{color:#3478f6;font-size:10px}.lounge-meta time{font-size:10px;color:var(--muted)}.lounge-body{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f5f8;border-radius:0 14px 14px 14px;padding:11px 14px}.mine .lounge-body{background:#eaf1ff}.lounge-body a{color:#2465dd;text-decoration:underline;word-break:break-all}.lounge-body.deleted{color:var(--muted);font-style:italic}.lounge-delete,.lounge-delete-confirm{font-size:10px}.lounge-empty{padding:30px 10px;text-align:center;font-size:13px;color:var(--muted)}.lounge-composer{border-top:1px solid var(--line);padding-top:18px}.lounge-composer label{display:grid;gap:7px;font-size:11px;color:var(--muted);margin-bottom:12px}.lounge-composer input,.lounge-composer textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:14px;color:var(--ink);background:#fafafd}.lounge-composer input{max-width:240px}.lounge-composer textarea{resize:vertical;min-height:96px}.lounge-send-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lounge-send-row small{color:var(--muted)}.booking-tool>p{font-size:12px;color:var(--muted);margin:12px 0}.booking-tool .primary{margin-top:10px}@media(max-width:800px){.lounge-panel{padding:16px}.lounge-toolbar{gap:8px}.lounge-toolbar .secondary{padding:10px 12px}.lounge-heading h2{font-size:22px}}

[hidden]{display:none!important}

.sync-working .ui-icon{animation:sync-turn 900ms linear infinite}@keyframes sync-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sync-working .ui-icon{animation:none}}

.top-actions .shared-sync-top{background:#edf3ff;color:#245fc7;box-shadow:none;border:0;border-radius:12px}.top-actions .shared-sync-top .ui-icon{width:23px;height:23px}

.top-actions .shared-sync-top:not(:disabled):active,.top-actions [data-action="menu"]:active{transform:none;filter:none}.top-actions .icon-turn .ui-icon{animation:icon-turn 420ms cubic-bezier(.22,1,.36,1)}@keyframes icon-turn{0%{transform:rotate(0)}55%{transform:rotate(32deg)}100%{transform:rotate(0)}}.sync-working .ui-icon{animation:none}@media(prefers-reduced-motion:reduce){.top-actions .icon-turn .ui-icon{animation:none}}

.top-actions .ui-icon{transform-box:fill-box;transform-origin:center}

.google-signin{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:12px;font-size:14px;font-weight:500;letter-spacing:.2px}.google-logo{width:20px;height:20px;flex:0 0 20px}.google-signin:hover{background:#f8faff;box-shadow:0 1px 3px #3c404326}.google-signin:active{background:#eef3fb}

.missing-place{grid-column:1/-1}.missing-place>.primary,.missing-place>.secondary{margin:14px 6px 0}.missing-place>.hint{margin-top:14px}

.place-detail-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.place-detail-toolbar .secondary{margin:0;min-height:40px;padding:9px 13px}.place-detail-toolbar .ui-icon{width:17px;height:17px}

.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-header-actions .icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.modal-header-actions .ui-icon{width:19px;height:19px}.modal-head:has(.modal-header-actions)>span{flex:1;text-align:center}
.airport-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.airport-tool iframe{width:100%;height:480px;border:1px solid var(--line,#e1e5eb);border-radius:16px;margin:16px 0;background:white}.airport-tool output{display:block;background:#edf4ff;padding:16px;border-radius:14px;margin:12px 0}.airport-tool output p{margin:8px 0 0}.airport-tool details{margin-top:18px}.airport-tool li{margin-bottom:10px}.airport-tool input{min-width:0;width:100%;box-sizing:border-box}@media(max-width:420px){.airport-fields{grid-template-columns:1fr}}
.airport-bars{display:flex;gap:4px;margin:14px 0}.airport-bars span{height:14px;flex:1;background:#dce2eb;border-radius:4px}.airport-bars .low{background:#4887e9}.airport-bars .medium{background:#edb24a}.airport-bars .high{background:#ed727b}
.airport-tool output{font-size:14px;font-weight:400;line-height:1.55;padding:14px;text-align:left}.airport-tool output strong{font-size:15px;font-weight:650;line-height:1.45}.airport-tool output p{font-size:14px;font-weight:400;line-height:1.55;margin:8px 0 0}.airport-tool output .hint{font-size:12px;line-height:1.55;font-weight:400}.airport-tool>p,.airport-tool label{font-size:14px}.airport-tool>.hint{font-size:12px;line-height:1.55}
.airport-choice{display:flex!important;align-items:center;gap:10px;border:1px solid #dce5f2;border-radius:12px;padding:12px;margin:8px 0;cursor:pointer}.airport-choice input{width:18px!important;height:18px;flex:none;accent-color:#3978eb}.airport-choice:has(input:checked){background:#edf4ff;border-color:#6c9aee}.airport-choice span{font-size:14px}
.airline-picker>span{display:block;margin-bottom:8px;font-size:14px}.airline-picker details{position:relative;margin:0}.airline-picker summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #dfe3ea;border-radius:10px;padding:8px 10px;box-sizing:border-box;background:#fff;cursor:pointer;font-size:14px}.airline-picker summary::-webkit-details-marker{display:none}.airline-picker img{width:30px;height:30px;object-fit:contain;flex:none}.airline-chevron{margin-left:auto;display:flex}.airline-options{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:180px;max-height:310px;overflow-y:auto;padding:6px;background:#fff;border:1px solid #dfe3ea;border-radius:14px;box-shadow:0 12px 30px #18294d22;z-index:10}.airline-option{display:flex!important;align-items:center;justify-content:flex-start!important;gap:10px;width:100%;padding:10px!important;min-height:48px;color:#26334a!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:9px!important;font-size:14px!important}.airline-option[aria-pressed=true]{background:#edf4ff!important}.airline-option:hover{background:#f4f7fc!important}
.airport-fields{margin:14px 0 18px;align-items:start}.tools-grid .airport-fields>label{margin:0!important;gap:8px;line-height:21px}.airport-fields>label>select{margin:0!important;height:48px;box-sizing:border-box}.airline-picker>span{line-height:21px;color:var(--muted,#697386)}.airline-picker summary{height:48px;color:var(--ink,#26334a)}.airline-options{max-height:280px}
#airport-origin{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697990' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}.airline-picker summary{padding-right:12px}.airline-picker summary>span{font-size:14px}.tools-grid .tool .airport-choice{flex-direction:row!important;gap:10px;margin:8px 0!important;min-height:48px}.tools-grid .tool .airport-choice input{margin:0!important;padding:0}
.place-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 6px}.place-title-row h2{margin:0;min-width:0;overflow-wrap:anywhere}.place-detail-favorite{display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:10px!important;border:1px solid #dce5f2!important;border-radius:50%!important;background:#f0f5ff!important;color:#5280c6!important;box-shadow:none!important}.place-detail-favorite svg{width:23px;height:23px}.place-detail-favorite.on{color:#e55a7b!important;background:#fff0f4!important;border-color:#f7d7e1!important}
.benaja-partner-badge{display:inline-block;width:32px;height:32px;object-fit:contain;border-radius:50%;flex:none;vertical-align:middle}.place-card-title{display:flex;align-items:center;gap:8px;justify-content:space-between}.place-card-title>button{min-width:0;text-align:left}.place-card-title .benaja-partner-badge{width:28px;height:28px}.place-title-row h2{flex:1}.partner-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:12px;background:#f4f7fc;border-radius:12px;margin:16px 0}.partner-toggle input{width:20px!important;height:20px;margin:0!important;flex:none;accent-color:#3478f6}.partner-toggle span{font-size:14px;color:var(--ink)}
#fx-direction{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697990' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}
/* Shared dropdown arrow alignment across forms, planner and travel tools. */
select:not([multiple]){appearance:none!important;-webkit-appearance:none!important;padding-right:40px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697990' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;text-overflow:ellipsis}
.day-select-wrap select:not([multiple]){background-image:none!important}.day-select-chevron{right:12px;width:16px;height:16px}
.modal-head>.modal-header-actions{margin-left:auto}.modal-head .modal-save-place{display:inline-flex;align-items:center;justify-content:center;color:#3478f6;background:#edf4ff;border-radius:50%;width:40px;height:40px;padding:10px}.modal-save-place .ui-icon{width:20px;height:20px}

/* Lounge paper-plane send control */
.lounge-send-row .lounge-send{width:46px;height:46px;min-width:46px;padding:11px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden}.lounge-plane{display:block;width:24px;height:24px;flex-shrink:0;transform-origin:center}.lounge-send[aria-busy="true"]{cursor:wait}

#event-form .form-row:has(.diary-time-button){display:grid;grid-template-columns:1fr;gap:14px}#event-form .diary-time-button{min-height:52px;font-size:18px}#event-form .diary-time-options{padding:14px}#event-form .diary-combined-time{width:100%;min-height:56px;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}

#event-form .diary-visit-picker{margin:4px 0 14px;gap:12px}#event-form .diary-visit-picker label{min-width:0;margin:0;flex:1}#event-form .diary-visit-picker select{min-height:56px;font-size:20px}#event-form .diary-visit-picker>span{padding-top:20px}

/* Shared iPhone-inspired window corners across all screens. */
:root{--radius-panel:20px;--radius-dialog:24px}
.tool,.month-panel,.agenda-panel,.timeline-panel,.map-panel,.place-card,.lounge-panel,.planner-intro,.booking,.booking-hero,.reservation-grid>a{border-radius:var(--radius-panel)}
dialog{border-radius:var(--radius-dialog)}

.lounge-send:disabled[aria-busy="true"]{opacity:1}.lounge-send .lounge-plane{will-change:transform,opacity}

/* Larger rectangular lounge send button. */
.lounge-send-row .lounge-send{width:76px;min-width:76px;height:50px;padding:11px 22px;border-radius:14px}.lounge-send .lounge-plane{width:28px;height:28px}

/* Compact spacing between lounge message and send action. */
.lounge-composer label:has(#lounge-text){margin-bottom:6px}.lounge-send-row{margin-top:0}.lounge-send-row .lounge-send{margin-top:0;margin-bottom:0}

.lounge-composer #lounge-text{margin:0}.lounge-composer label:has(#lounge-text){margin-bottom:4px}

.ledger-totals{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.ledger-totals>div{flex:1;min-width:100px;background:#edf4ff;padding:16px;border-radius:16px}.ledger-totals small,.ledger-entry small{display:block;color:var(--muted);font-size:11px}.ledger-totals strong{display:block;font-size:21px;color:var(--teal);margin-top:6px;overflow-wrap:anywhere}.ledger-list{margin-top:16px}.ledger-list .ledger-entry{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;padding:16px 0;gap:16px;border-bottom:1px solid var(--line)}.ledger-entry>span{min-width:0;flex:1}.ledger-entry strong{display:block;margin:5px 0;overflow-wrap:anywhere}.ledger-entry>span>small{overflow-wrap:anywhere}.ledger-entry>b{text-align:right;white-space:nowrap;font-size:15px;font-variant-numeric:tabular-nums}.ledger-entry>b small{margin-top:5px;font-weight:400}.ledger-empty{padding:24px 0;text-align:center;color:var(--muted)}.ledger-breakdown{background:var(--soft);border-radius:14px;padding:14px;margin-top:14px}.ledger-breakdown summary{font-size:12px;cursor:pointer}.ledger-breakdown>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;padding-top:12px}.ledger-breakdown b{text-align:right;font-weight:500}

.ledger-share-toggle{display:flex;align-items:center;gap:10px;margin-top:18px;min-height:44px}.ledger-share-toggle input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--teal)}
.google-account-settings h3{font-size:14px;margin:4px 2px 12px}.google-sync-option{display:flex;align-items:center;gap:10px;min-height:48px;margin:14px 0 0!important;font-size:13px;font-weight:600}.google-sync-option input[type=checkbox]{width:21px;height:21px;margin:0;accent-color:#3478f6;flex:none}.google-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.google-actions button{min-height:44px;padding:10px 8px;font-size:12px}.google-account-settings .google-signin{margin-bottom:8px}.google-account-settings [data-google-action=disconnect]{margin-top:12px;color:#747987}

.tool-order-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.tool-order-list strong{font-size:14px;font-weight:500}.tool-order-list>div>div{display:flex;gap:6px}.tool-order-list .icon-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--soft)}

#ledger-custom-category-label[hidden]{display:none}

.ledger-tool-icon{display:block;width:28px;height:28px}.ledger-tool .tool-icon{display:inline-flex;align-items:center;justify-content:center}

.ledger-grand-total{background:#edf4ff;padding:20px;border-radius:var(--radius-panel);margin-top:16px}.ledger-grand-total>small{color:var(--muted);font-size:12px}.ledger-grand-total>strong{display:block;font-size:29px;letter-spacing:-1px;color:var(--teal);margin-top:8px;font-variant-numeric:tabular-nums}.ledger-grand-total .hint{margin-bottom:0;font-size:10px}.ledger-totals>div{background:var(--soft);padding:12px}.ledger-totals strong{font-size:17px;color:var(--ink)}

.diary-weather{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative}.diary-weather-time{display:flex;flex-direction:column;gap:3px}.diary-weather-time small{color:var(--muted);font-size:10px}.diary-weather-time time{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.diary-weather #weather-values{display:flex;align-items:center;gap:8px;font-size:12px}.diary-weather #weather-values strong{font-size:19px;font-weight:600;color:var(--teal)}.diary-weather .weather-credit{font-size:11px;color:var(--muted)}.compact-weather-status{font-size:9px;color:var(--muted)}.compact-weather-status:empty{display:none}@media(max-width:420px){.diary-weather{gap:6px 9px}.diary-weather #weather-values{gap:5px;font-size:11px}.diary-weather-time time{font-size:18px}.diary-weather #weather-values strong{font-size:17px}.diary-weather .weather-credit{font-size:10px}}

/* Align the compact diary clock and weather on one baseline. */
.diary-weather{align-items:center;gap:12px}.diary-weather-time{display:flex;flex-direction:row;align-items:center;gap:7px}.diary-weather-time small{font-size:11px}.diary-weather-time time{font-size:20px;line-height:28px}.diary-weather #weather-values{align-items:center;gap:8px;min-height:28px}.diary-weather #weather-values strong{font-size:20px;line-height:28px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.compact-weather-icon{display:block;width:27px;height:29px;color:var(--teal);flex-shrink:0}@media(max-width:420px){.diary-weather{gap:8px}.diary-weather-time{gap:5px}.diary-weather-time small{font-size:10px}.diary-weather-time time,.diary-weather #weather-values strong{font-size:18px}.diary-weather #weather-values{gap:5px}.compact-weather-icon{width:25px;height:27px}}

.diary-weather .compact-weather-label{font-size:10px;color:var(--muted);white-space:nowrap;line-height:1.3}

.ledger-grand-total{margin-bottom:16px}.ledger-grand-total>strong{font-size:32px;margin:8px 0 16px}.ledger-currency-lines{display:grid;gap:7px;padding-top:13px;border-top:1px solid #3478f61a}.ledger-currency-lines>div{display:flex;align-items:baseline;gap:14px;font-size:12px;font-variant-numeric:tabular-nums}.ledger-currency-lines span{width:32px;color:var(--muted)}.ledger-currency-lines b{font-weight:500;color:var(--ink)}.ledger-grand-total #ledger-rate-info{margin-top:14px;line-height:1.6}

.ledger-filter-label{margin-top:16px}.ledger-filter-label select{width:100%;min-height:48px}

.place-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--soft);padding:14px;border-radius:16px;margin:16px 0}.place-review>div{min-width:0}.place-review small{font-size:10px;color:var(--muted)}.place-review p{margin:6px 0 0;overflow-wrap:anywhere}.place-review .secondary{flex-shrink:0;margin:0;padding:10px 12px}.review-stars{color:#f2aa26;font-size:20px;letter-spacing:2px;margin-top:5px}.review-stars span{color:#a5adbb}.review-star-picker{display:flex;justify-content:center;gap:6px;margin:24px 0 8px}.review-star-picker button{width:46px;height:48px;padding:6px}.review-star-picker svg{width:32px;height:32px;fill:transparent;stroke:#a5adbb;stroke-width:1.5}.review-star-picker .selected svg{fill:#f5b535;stroke:#e3a11c}#review-score{text-align:center}

html{scrollbar-gutter:stable}html.modal-scroll-locked{overflow:hidden;overscroll-behavior:none}dialog{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Keep every place card thumbnail consistent, regardless of the source image ratio. */
.places-grid .art-button{position:relative;aspect-ratio:16/10;height:auto}
.places-grid .art-button>.place-photo,.places-grid .art-button>.art{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;display:block}
@media(min-width:801px){.calendar-layout{align-items:stretch}.agenda-panel{display:flex;flex-direction:column;min-height:0}.agenda-panel>.agenda-list,.agenda-panel>.empty.compact{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}}
@media (orientation:landscape){.shell{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-left:16px;padding-right:96px}.navigation{position:fixed;top:50%;right:max(8px,env(safe-area-inset-right));left:auto;bottom:auto;transform:translateY(-50%);display:flex;flex-direction:column;width:76px;margin:0;padding:7px 5px;gap:3px;border-radius:22px;z-index:30}.navigation button{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:54px;padding:5px 1px;font-size:8px;line-height:1.2;white-space:nowrap}.navigation button>span{font-size:20px;width:auto}.top{padding-left:16px;padding-right:16px}.calendar-layout{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr)}}
@media (orientation:landscape){.navigation{height:min(390px,calc(100dvh - 24px));justify-content:space-around;align-items:stretch}.navigation button{min-height:60px;flex:1 1 0;gap:3px;font-size:8px}.navigation button>span{font-size:27px;width:auto;line-height:1}}
@media (orientation:landscape){.navigation button{min-height:66px}.navigation button>span{font-size:34px}}
@media (orientation:landscape){.places-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media (orientation:landscape) and (min-width:1200px){.places-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.cell-event.category-sight,.event-dots i.category-sight{background:#e5efff;color:#3f67ad;border-color:#648be5}
.cell-event.category-food,.event-dots i.category-food{background:#ffebe5;color:#b8563d;border-color:#ed765b}
.cell-event.category-cafe,.event-dots i.category-cafe{background:#f6eddf;color:#8e6839;border-color:#c49754}
.cell-event.category-spa,.event-dots i.category-spa{background:#e5f4ef;color:#34765f;border-color:#56a887}
.cell-event.category-shop,.event-dots i.category-shop{background:#f1e9ff;color:#7852a8;border-color:#9973d3}
.cell-event.category-stay,.event-dots i.category-stay{background:#e8edf5;color:#4d6285;border-color:#6d83aa}
.cell-event.category-activity,.event-dots i.category-activity{background:#fff2d8;color:#997020;border-color:#d7a83e}
.cell-event.category-essential,.event-dots i.category-essential{background:#e9eef0;color:#566c74;border-color:#82979e}
.cell-event.personal-event,.event-dots i.personal-event{background:#f0e8d9;color:#8e7451;border-color:#bc9d6f}
/* Extra warm category accents for diary dates. */
.cell-event.category-food,.event-dots i.category-food{background:#fde5e5;color:#a83232;border-color:#df5b5b}
.cell-event.category-shop,.event-dots i.category-shop{background:#fff4c7;color:#856300;border-color:#d8ad20}
/* Diary category families: pastel red, yellow, blue, green, purple and gray. */
.cell-event.group-dining,.agenda-content.group-dining{background:#fde7e7;color:#a54f59;border-color:#dc9299}
.cell-event.group-shopping,.agenda-content.group-shopping{background:#fff4d3;color:#886d28;border-color:#dfc15b}
.cell-event.group-stay,.agenda-content.group-stay{background:#e6efff;color:#4f6f9f;border-color:#89a6d4}
.cell-event.group-recreation,.agenda-content.group-recreation{background:#e5f3e8;color:#4b7958;border-color:#8ab899}
.cell-event.group-other,.agenda-content.group-other{background:#f0e8fa;color:#765d94;border-color:#ae96cb}
.cell-event.group-utility,.agenda-content.group-utility{background:#eceff1;color:#65727a;border-color:#aab4b9}
.event-dots i.group-dining{background:#dc9299}.event-dots i.group-shopping{background:#dfc15b}.event-dots i.group-stay{background:#89a6d4}.event-dots i.group-recreation{background:#8ab899}.event-dots i.group-other{background:#ae96cb}.event-dots i.group-utility{background:#aab4b9}

/* Shared pastel category colors in Browse cards, labels and category filters. */
.card-category.group-dining,.chips button.filter-group-dining{background:#fde7e7;color:#a54f59;border:1px solid #dc9299}
.card-category.group-shopping,.chips button.filter-group-shopping{background:#fff4d3;color:#886d28;border:1px solid #dfc15b}
.card-category.group-stay,.chips button.filter-group-stay{background:#e6efff;color:#4f6f9f;border:1px solid #89a6d4}
.card-category.group-recreation,.chips button.filter-group-recreation{background:#e5f3e8;color:#4b7958;border:1px solid #8ab899}
.card-category.group-other,.chips button.filter-group-other{background:#f0e8fa;color:#765d94;border:1px solid #ae96cb}
.card-category.group-utility,.chips button.filter-group-utility{background:#eceff1;color:#65727a;border:1px solid #aab4b9}
.places-grid .card-category{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-weight:600}
.places-grid .card-category>span{color:inherit;opacity:.82}
.chips button[class*="filter-group-"]{transition:transform .18s ease,box-shadow .18s ease}
.chips button.filter-group-dining.active{background:#dc9299;color:#fff;border-color:#dc9299}
.chips button.filter-group-shopping.active{background:#dfc15b;color:#fff;border-color:#dfc15b}
.chips button.filter-group-stay.active{background:#89a6d4;color:#fff;border-color:#89a6d4}
.chips button.filter-group-recreation.active{background:#8ab899;color:#fff;border-color:#8ab899}
.chips button.filter-group-other.active{background:#ae96cb;color:#fff;border-color:#ae96cb}
.chips button.filter-group-utility.active{background:#aab4b9;color:#fff;border-color:#aab4b9}
.place-card.group-dining{border-color:#dc929966}.place-card.group-shopping{border-color:#dfc15b66}.place-card.group-stay{border-color:#89a6d466}.place-card.group-recreation{border-color:#8ab89966}.place-card.group-other{border-color:#ae96cb66}.place-card.group-utility{border-color:#aab4b966}
@media (orientation:landscape){.shell{padding-right:106px}.navigation{width:86px;gap:8px}.navigation button{gap:5px}.navigation button>span{font-size:41px}.navigation button>span .ui-icon{width:41px;height:41px}}

.diary-empty{width:100%;min-height:190px;justify-content:center;gap:8px;text-align:center}.diary-empty-art{display:block;width:78px;height:66px;margin:0 auto 2px}.diary-empty-copy{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.diary-empty-copy h3,.diary-empty-copy p{width:100%;text-align:center}.diary-empty-copy p{line-height:1.6}
/* Keep the diary's empty-day message at a stable size and position on every date. */
@media(min-width:801px){.agenda-panel>.empty.compact.diary-empty{flex:0 0 190px;min-height:190px;height:190px;overflow:hidden;padding:12px}}
.diary-empty-copy h3{font-size:16px;line-height:1.4}.diary-empty-copy p{font-size:12px;line-height:1.6}
.agenda-panel>.empty.compact.diary-empty{flex:0 0 190px;min-height:190px;height:190px;overflow:hidden;padding:12px}
/* Primary diary actions share one touch target height across both calendar panels. */
.calendar-header>.primary,.calendar-export-area .calendar-export,.agenda-panel>.add-place,.agenda-panel>.secondary[data-open-plan]{height:46px;min-height:46px;padding-block:0;box-sizing:border-box}
/* Navigation icons keep the landscape tablet's scale and stroke in every orientation. */
.navigation button>span .ui-icon{width:41px;height:41px;stroke-width:1.7}
.tools-grid .tool>button{display:flex;width:100%;height:48px;min-height:48px;padding:0 16px;box-sizing:border-box;justify-content:center;margin-top:12px}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;line-height:1.12}.brand-copy .brand-name{font:inherit;white-space:nowrap}.brand-copy .brand-name{display:block;max-width:min(42vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;letter-spacing:inherit}.brand-copy .trip-name-only{color:#3972c8;font-weight:750}.brand>.brand-copy{font-size:23px;letter-spacing:-1px}
@media(max-width:800px){.brand>.brand-copy{font-size:20px}.brand-copy .brand-name{max-width:min(38vw,220px)}}
@media(max-width:380px){.brand>.brand-copy{font-size:18px}.brand-copy .brand-name{max-width:min(32vw,145px)}}
.brand>.brand-copy{display:flex!important}

.brand-copy .trip-title-top{display:block;max-width:min(42vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;letter-spacing:inherit;color:#3972c8;font-weight:750;margin-top:2px}
@media(max-width:800px){.brand-copy .trip-title-top{max-width:min(38vw,220px)}}
@media(max-width:380px){.brand-copy .trip-title-top{max-width:min(32vw,145px)}}

/* Travel notes: paper-like note tiles and a keyboard-aware writing canvas. */
.travel-note-list-dialog{width:min(760px,calc(100% - 28px));max-height:88dvh}.travel-note-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;max-height:68dvh;padding:4px 2px 14px}.travel-note-list-item.note-sticker{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:156px;padding:19px 17px 15px;border:1px solid #e8dfc7;border-radius:5px 5px 13px 5px;text-align:left;box-shadow:0 3px 8px #24314a12,0 10px 20px #24314a08;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s}.travel-note-list-item.note-sticker:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 8px 18px #24314a20}.note-sticker-1{background:#fff8dc;transform:rotate(-1deg)}.note-sticker-2{background:#eaf4ff;border-color:#d5e4f7;transform:rotate(.7deg)}.note-sticker-3{background:#f1f7e9;border-color:#e0ebd4;transform:rotate(-.5deg)}.note-sticker-4{background:#fff0e8;border-color:#f1dfd3;transform:rotate(.9deg)}.note-sticker-0{background:#fffdf5}.travel-note-list-title{font-size:15px;margin-bottom:11px}.travel-note-list-title small{flex:0 0 auto}.travel-note-list-preview{display:-webkit-box;white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.55;min-height:68px;color:#555b65}.travel-note-list-item>small{margin-top:auto;padding-top:10px}.travel-note-editor-dialog{position:fixed;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,calc(100% - 32px));height:min(86dvh,900px);max-height:none;padding:20px 24px 24px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.travel-note-editor-dialog[open]{transform:translate(-50%,-50%)}.travel-note-editor-dialog .modal-head{position:sticky;top:-20px;flex:0 0 auto;margin-bottom:12px;padding:8px 0;background:#fff;z-index:5}.travel-note-editor-layout{display:flex;flex:1;min-height:0;flex-direction:column}.travel-note-editor-layout form{display:flex;flex:1;min-height:0;flex-direction:column;gap:14px}.travel-note-title-label{flex:0 0 auto}.travel-note-title-label input{font-size:17px;padding:13px 14px}.travel-note-body-label{display:flex;flex:1 1 280px;min-height:180px;flex-direction:column;gap:7px;font-weight:650}.travel-note-body-label textarea{flex:1;min-height:150px;resize:none;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fffdf8;font-size:15px;line-height:1.7;white-space:pre-wrap}.travel-note-checklist{flex:0 1 auto;max-height:30%;min-height:70px;overflow:auto;border-top:1px solid var(--line);padding-top:10px}.travel-note-checklist-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.travel-note-checklist-heading h3{font-size:14px}.travel-note-checklist-heading .secondary{margin:0;min-height:36px;padding:7px 11px}.travel-note-task-row{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #eff0f3}.travel-note-task-row input[type=checkbox]{width:21px;height:21px;flex:0 0 21px;accent-color:#3478f6}.travel-note-task-row input[type=text]{flex:1;min-width:0;margin:0;padding:8px 2px;border:0;background:transparent}.travel-note-task-row.is-checked input[type=text]{color:var(--muted);text-decoration:line-through}.travel-note-task-row button{width:36px;height:36px;border-radius:10px;color:var(--muted);font-size:21px}.travel-note-editor-dialog .modal-error,.travel-note-editor-dialog .error{flex:0 0 auto}.travel-note-save-choice-dialog{width:min(500px,calc(100% - 28px))}.travel-note-save-choice h2{margin-top:5px}.travel-note-save-choice>p{margin-bottom:12px}.note-scope-option{display:flex;width:100%;align-items:center;gap:13px;margin:9px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.note-scope-option:hover:not(:disabled){border-color:#abc9fa;background:#f7faff}.note-scope-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#edf4ff;color:#3478f6;font-size:23px}.note-scope-option>span:nth-child(2){display:grid;gap:4px;flex:1}.note-scope-option b{font-size:14px}.note-scope-option small{color:var(--muted);font-size:11px}.note-scope-chevron{font-size:25px;color:#8a8d96}.note-scope-option.is-disabled{opacity:.45}
@media(max-width:800px){.travel-note-list-dialog{width:calc(100% - 20px);max-height:88dvh;padding:16px}.travel-note-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-height:68dvh}.travel-note-list-item.note-sticker{min-height:150px;padding:15px 13px 12px}.travel-note-editor-dialog{inset:0;width:100%;height:100dvh;max-height:none;transform:none;border:0;border-radius:0;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);}.travel-note-editor-dialog[open]{transform:none}.travel-note-editor-dialog .modal-head{top:0;margin:0 -16px 10px;padding:6px 16px;background:#fff}.travel-note-editor-layout{height:100%;min-height:0}.travel-note-editor-layout form{gap:10px}.travel-note-title-label input{font-size:16px}.travel-note-body-label{flex-basis:0;min-height:0}.travel-note-body-label textarea{min-height:100px;padding:13px}.travel-note-checklist{max-height:32%;min-height:62px}.travel-note-list-head{align-items:center}.travel-note-save-choice-dialog{width:calc(100% - 24px)}}
@media(max-width:380px){.travel-note-list{grid-template-columns:1fr}.travel-note-list-item.note-sticker{min-height:125px}}

/* Checklist entries live inline with the note text and remain easy to reach above the keyboard. */
.travel-note-editor-dialog .travel-note-editor-layout form{gap:10px}.travel-note-title-wrap{flex:0 0 auto}.travel-note-title-wrap input{width:100%;margin:0;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:18px;font-weight:700}.travel-note-body-wrap{display:flex;flex:1 1 300px;min-height:0;flex-direction:column;border:1px solid var(--line);border-radius:15px;background:#fffdf8;overflow:hidden}.travel-note-body-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;padding:8px 10px;border-bottom:1px solid #f0eee8;background:#fffdf8}.travel-note-body-toolbar .secondary{margin:0;min-height:36px;padding:7px 12px;border-color:#d8e5fb;background:#edf4ff;color:#2769d3}.travel-note-block-editor{flex:1;min-height:0;overflow:auto;padding:12px 15px 22px;overscroll-behavior:contain}.travel-note-inline-text{min-height:1.8em;padding:4px 1px;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.75;color:var(--ink)}.travel-note-inline-text:focus{outline:none}.travel-note-inline-text:empty:before,.travel-note-task-text:empty:before{content:attr(data-placeholder);color:#a4a5ab;pointer-events:none}.travel-note-inline-task{display:flex;align-items:flex-start;gap:9px;min-height:40px;padding:3px 0}.travel-note-task-circle{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;margin-top:4px;padding:0;border-radius:50%;background:transparent;color:#8692a2}.travel-note-task-circle svg{width:23px;height:23px;overflow:visible}.travel-note-task-circle circle{fill:transparent;stroke:currentColor;stroke-width:1.8}.travel-note-task-circle path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.travel-note-task-circle[aria-pressed=true]{color:#3478f6}.travel-note-task-circle[aria-pressed=true] circle{fill:currentColor;stroke:currentColor}.travel-note-task-circle[aria-pressed=true] path{opacity:1}.travel-note-task-text{flex:1;min-width:0;min-height:32px;padding:5px 1px;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55}.travel-note-inline-task.is-checked .travel-note-task-text{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#8d929c;color:#9699a1}.travel-note-task-delete{width:32px;height:32px;flex:0 0 32px;border-radius:9px;color:#9a9da5;font-size:20px}.travel-note-task-delete:hover{background:#f0f1f5}.travel-note-editor-dialog .travel-note-body-wrap{flex-basis:0}.travel-note-editor-dialog .modal-error{margin-top:2px}
@media(max-width:800px){.travel-note-editor-dialog .travel-note-editor-layout{flex:1;min-height:0}.travel-note-editor-dialog .travel-note-editor-layout form{gap:9px}.travel-note-body-wrap{flex-basis:0}.travel-note-block-editor{padding:9px 12px 18px}.travel-note-inline-task{gap:8px}.travel-note-task-circle{width:28px;height:28px;flex-basis:28px}.travel-note-task-circle svg{width:26px;height:26px}.travel-note-body-toolbar{margin:0}.travel-note-title-wrap input{font-size:17px;padding:12px 13px}}

/* Note paper color palette. Swatches are round and the chosen tint carries into the saved sticker. */
.note-paper-palette{display:flex;align-items:center;gap:8px;margin-right:auto}.note-paper-dot{width:25px;height:25px;flex:0 0 25px;padding:0;border:2px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px #c9cdd5;transition:transform .16s,box-shadow .16s}.note-paper-dot:hover{transform:scale(1.1)}.note-paper-dot[aria-pressed=true]{box-shadow:0 0 0 2px #3478f6,0 0 0 5px #ffffff;transform:scale(1.04)}.note-paper-dot.note-paper-red{background:#efa8a8}.note-paper-dot.note-paper-yellow{background:#f1d878}.note-paper-dot.note-paper-blue{background:#a9cafa}.note-paper-dot.note-paper-pink{background:#edaecb}.note-paper-dot.note-paper-green{background:#a8cea9}.travel-note-editor-layout[data-note-background=red] .travel-note-title-wrap input,.travel-note-editor-layout[data-note-background=red] .travel-note-body-wrap{background:#fff0f0}.travel-note-editor-layout[data-note-background=yellow] .travel-note-title-wrap input,.travel-note-editor-layout[data-note-background=yellow] .travel-note-body-wrap{background:#fff9df}.travel-note-editor-layout[data-note-background=blue] .travel-note-title-wrap input,.travel-note-editor-layout[data-note-background=blue] .travel-note-body-wrap{background:#eff6ff}.travel-note-editor-layout[data-note-background=pink] .travel-note-title-wrap input,.travel-note-editor-layout[data-note-background=pink] .travel-note-body-wrap{background:#fff0f6}.travel-note-editor-layout[data-note-background=green] .travel-note-title-wrap input,.travel-note-editor-layout[data-note-background=green] .travel-note-body-wrap{background:#eff8ee}.travel-note-editor-layout[data-note-background=red] .travel-note-body-toolbar{background:#fff0f0}.travel-note-editor-layout[data-note-background=yellow] .travel-note-body-toolbar{background:#fff9df}.travel-note-editor-layout[data-note-background=blue] .travel-note-body-toolbar{background:#eff6ff}.travel-note-editor-layout[data-note-background=pink] .travel-note-body-toolbar{background:#fff0f6}.travel-note-editor-layout[data-note-background=green] .travel-note-body-toolbar{background:#eff8ee}.travel-note-list-item.note-sticker.note-paper-red{background:#fff0f0;border-color:#f2d7d7}.travel-note-list-item.note-sticker.note-paper-yellow{background:#fff9df;border-color:#eee2b7}.travel-note-list-item.note-sticker.note-paper-blue{background:#eff6ff;border-color:#d8e6fa}.travel-note-list-item.note-sticker.note-paper-pink{background:#fff0f6;border-color:#f2dce7}.travel-note-list-item.note-sticker.note-paper-green{background:#eff8ee;border-color:#dcebdc}
@media(max-width:800px){.note-paper-palette{gap:7px}.note-paper-dot{width:26px;height:26px;flex-basis:26px}}

.travel-note-tool .travel-note-tool-icon{display:block;width:34px;height:34px;overflow:visible;stroke-width:1.8;filter:drop-shadow(0 2px 2px #3478f62a)}

.exchange-tool{padding:18px 20px}.exchange-tool .tool-icon{font-size:26px;margin-bottom:6px}.exchange-tool h3{margin-bottom:10px}.exchange-tool label{margin-top:8px!important;gap:5px!important}.exchange-tool label input,.exchange-tool label select{margin:4px 0 8px!important;padding:10px 12px}.exchange-tool output{margin:10px 0 4px!important;font-size:24px}.exchange-tool #fx-status{margin:0 0 4px;line-height:1.4}.exchange-tool .secondary{margin-top:6px;min-height:40px;padding:9px 14px}.exchange-tool details{margin-top:8px}.exchange-tool details label input{margin-bottom:8px!important}.exchange-tool>p:last-child{margin-top:8px;line-height:1.45}

.travel-note-editor-dialog:not([open]){display:none!important}
.lounge-actions{display:flex;align-items:center;gap:6px;margin-top:5px}.lounge-actions button{padding:5px 8px;border-radius:7px;color:#6e7890;font-size:11px}.lounge-actions button:hover{background:#f1f4f9;color:#315fb6}.lounge-edit-form textarea{display:block;width:100%;min-width:min(280px,70vw);min-height:90px;resize:vertical;border:1px solid #cbd9f2;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.6}.lounge-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.lounge-edit-actions .primary,.lounge-edit-actions .secondary{min-height:34px;margin:0;padding:7px 12px;font-size:11px}.lounge-edited{font-size:10px;color:var(--muted)}

/* Lounge conversations use a stable pastel tone per browser profile and mirror chat alignment. */
.lounge-post{align-items:flex-end}.lounge-post.mine{flex-direction:row-reverse}.lounge-message{max-width:min(78%,620px)}.lounge-post.mine .lounge-message{display:flex;flex-direction:column;align-items:flex-end}.lounge-post.mine .lounge-meta{justify-content:flex-end}.lounge-post.mine .lounge-body{border-radius:14px 0 14px 14px;align-self:flex-end}.lounge-post.mine .lounge-actions,.lounge-post.mine .lounge-edit-actions{justify-content:flex-end}.lounge-avatar{background:hsl(var(--lounge-hue,220),78%,93%);color:hsl(var(--lounge-hue,220),48%,38%)}.lounge-body{background:hsl(var(--lounge-hue,220),78%,96%)}
@media(max-width:800px){.lounge-message{max-width:min(80%,620px)}}

.ledger-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ledger-dialog-head h2{margin:0}.ledger-dialog-head p{margin:6px 0 0}.ledger-dialog-head .ledger-reset{flex:0 0 auto;margin:0;padding:8px 11px;color:#7a8495}.ledger-dialog-head .ledger-reset:not(:disabled):hover{background:#fff0ef;color:#b84e48}.ledger-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.ledger-actions button{height:44px;min-height:44px;margin:0;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.ledger-actions #ledger-add{flex:1 1 160px}.ledger-actions #ledger-select-mode,.ledger-actions #ledger-delete-selected{flex:0 0 auto}.ledger-entry-select{cursor:pointer}.ledger-entry-select input[type=checkbox]{width:21px;height:21px;flex:0 0 21px;margin:0 2px 0 0;accent-color:#3478f6}.ledger-entry-select>span{flex:1;min-width:0}

/* Pair each location's local time and current weather on one readable row. */
.diary-weather{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;flex-wrap:nowrap;position:relative;padding-right:18px}.diary-weather-row{display:flex;align-items:center;gap:5px;min-height:28px}.diary-weather-row .diary-weather-time{display:flex;flex-direction:row;align-items:center;gap:7px;min-width:122px}.diary-weather-row .diary-weather-time small{width:44px;flex:0 0 44px;font-size:12px;color:var(--muted);white-space:nowrap}.diary-weather-row .diary-weather-time time{font-size:20px;line-height:25px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.compact-weather-values{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.compact-weather-values strong{font-size:20px;line-height:25px;font-weight:650;color:var(--teal);font-variant-numeric:tabular-nums}.compact-weather-values .compact-weather-icon{width:21px;height:23px;color:var(--teal);flex:0 0 auto}.compact-weather-values .compact-weather-label{font-size:11px;color:var(--muted);line-height:1.2}.diary-weather-row .compact-weather-status{display:none}.diary-weather .weather-credit{position:absolute;right:0;top:2px;font-size:10px;color:var(--muted)}
@media(max-width:420px){.diary-weather{gap:4px;padding-right:15px}.diary-weather-row{gap:3px;min-height:26px}.diary-weather-row .diary-weather-time{min-width:108px;gap:5px}.diary-weather-row .diary-weather-time small{width:39px;flex-basis:39px;font-size:12px}.diary-weather-row .diary-weather-time time{font-size:18px;line-height:23px}.compact-weather-values{gap:4px;font-size:10px}.compact-weather-values strong{font-size:18px;line-height:23px}.compact-weather-values .compact-weather-icon{width:19px;height:21px}.compact-weather-values .compact-weather-label{font-size:10px}}

.airport-tool output .airport-fasttrack-advice{padding:10px 12px;border-radius:10px;background:#fff;font-size:13px;line-height:1.55}.airport-fasttrack-advice strong{display:block;margin-bottom:3px;color:#315fb6;font-size:14px}
.event-place-results{display:grid;gap:6px;margin-top:6px;max-height:220px;overflow:auto}.event-place-results[hidden]{display:none}.event-place-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line,#e4e8ef);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#202432);text-align:left}.event-place-option span{font-weight:600}.event-place-option small{color:var(--muted,#71798a);white-space:nowrap}
.event-place-results{display:grid;gap:6px;margin-top:6px;max-height:220px;overflow:auto}.event-place-results[hidden]{display:none}.event-place-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line,#e4e8ef);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#202432);text-align:left}.event-place-option span{font-weight:600}.event-place-option small{color:var(--muted,#71798a);white-space:nowrap}

/* Neutral all-places filter, shown before the pastel category chips. */
.chips button.filter-all{background:#f0f1f5;color:#65727a;border:1px solid #aab4b9}
.chips button.filter-all.active{background:#65727a;color:#fff;border-color:#65727a}

.modal-header-actions .icon-btn.danger{color:#c85a62}
.modal-header-actions .icon-btn.danger:active{background:#fde7e7}

.chips button.filter-hidden{background:#f0f1f5;color:#65727a;border:1px solid #aab4b9}.chips button.filter-hidden.active{background:#65727a;color:#fff;border-color:#65727a}

.manual-sync-notice{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid #d8e5ff;border-radius:14px;background:#f2f6ff;color:#34517d;font-size:13px;line-height:1.55}.manual-sync-notice strong{color:#245fc7;font-size:14px}.guide-tool .tool-icon{color:#3478f6}.guide-tool a.primary{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.manual-sync-notice{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid #d8e5ff;border-radius:14px;background:#f2f6ff;color:#34517d;font-size:13px;line-height:1.55}.manual-sync-notice strong{color:#245fc7;font-size:14px}
.guide-tool .tool-icon svg{display:block;width:34px;height:34px;overflow:visible;stroke-width:1.8;filter:drop-shadow(0 2px 2px #3478f62a)}
.ledger-tool .tool-icon{justify-content:flex-start}

.booking-tool,.guide-tool{display:flex;flex-direction:column;min-height:220px}.booking-tool .primary,.guide-tool a.primary{margin-top:auto!important}
.ledger-tool,.travel-note-tool{display:flex;flex-direction:column;min-height:220px}.ledger-tool .primary,.travel-note-tool .primary{margin-top:auto!important}
.booking-tool .tool-icon,.guide-tool .tool-icon,.ledger-tool .tool-icon,.travel-note-tool .tool-icon{height:34px;display:flex;align-items:center;margin-bottom:14px}.booking-tool h3,.guide-tool h3,.ledger-tool h3,.travel-note-tool h3{margin:0 0 10px}.booking-tool>p,.guide-tool>p,.ledger-tool>p,.travel-note-tool>p{min-height:42px;margin:0 0 12px!important;line-height:1.65}
.diary-total[hidden]{display:none!important}
