@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-thai-400-normal-Bt1rR4gi.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-400-normal-DKc8V4lk.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-thai-500-normal-BrMc1XKn.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-500-normal-BoHUoq0p.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-thai-600-normal-DvfsyWAn.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-600-normal-BOwfviun.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-thai-700-normal-0moayseG.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-700-normal-Bo0ALcDh.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{font-family:IBM Plex Sans Thai,Manrope,sans-serif;color:#203a30;background:#f6f7f3;font-size:18px;font-synthesis:none;--green:#234e42;--muted:#526259;--border:#cdd7cf}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a76319;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:700;line-height:1.4}h2{font-size:25px;line-height:1.5;font-weight:700}h3{font-size:23px;line-height:1.55;font-weight:600}.app{display:flex;min-height:100vh}.sidebar{width:244px;padding:24px 16px 18px;border-right:1px solid var(--border);background:#fff;position:fixed;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1px}.brand-mark{width:42px;height:44px;border-radius:9px;background:var(--green);display:grid;place-items:center;color:#fff}.brand-small{display:block;font-size:12px;font-weight:600;letter-spacing:1px;margin-top:3px;color:var(--muted)}.sidebar-caption{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.6px;margin:28px 12px 10px}nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#40574b;padding:12px;border-radius:7px;display:flex;gap:10px;align-items:center;text-align:left;font-size:17px;font-weight:500;min-height:48px}.nav-item.active{background:#e6efe5;color:var(--green);font-weight:700}.nav-item svg:last-child:not(:first-child){margin-left:auto}.route-card{margin:24px 8px 0;padding-top:18px;border-top:1px solid var(--border)}.eyebrow{font-size:14px;font-weight:600;color:var(--green)}.route-card .eyebrow{color:var(--muted);margin-bottom:10px}.route-stop{display:flex;align-items:center;gap:9px;position:relative;min-height:42px;font-size:16px;font-weight:600}.route-stop:not(:last-of-type):after{content:"";position:absolute;left:4px;top:26px;width:1px;height:30px;background:var(--border)}.route-dot{width:9px;height:9px;border:2px solid #6c8974;border-radius:50%;z-index:1;background:#fff}.route-dot.first{background:var(--green);border-color:var(--green)}.route-stop small{margin-left:auto;font-size:12px;color:var(--muted);font-weight:500}.route-foot{margin-top:12px;font-size:14px;color:var(--muted);display:flex;gap:7px;align-items:center}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;font-size:14px;color:var(--muted)}.japan-dot{display:inline-block;background:#b45742;width:8px;height:8px;border-radius:50%;margin-right:7px}.sidebar-bottom a{display:flex;gap:7px;align-items:center;font-size:16px;min-height:44px;margin-top:8px}.main{margin-left:244px;flex:1;min-width:0}.topbar{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:8px 28px;background:#fff;position:sticky;top:0;z-index:9}.topbar>div:first-child{display:flex;align-items:center}.breadcrumb{font-size:16px;color:var(--muted);display:flex;gap:9px;align-items:center}.breadcrumb strong{font-weight:600;color:#30483b}.top-actions{display:flex;gap:16px;align-items:center}.view-mode{font-size:16px;display:flex;align-items:center;gap:7px;color:var(--muted)}.view-mode>span{width:8px;height:8px;border-radius:50%;background:#467749}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #b8c9be;border-radius:7px;background:#fff;color:var(--green);padding:9px 14px;min-height:48px;font-size:18px;font-weight:600;line-height:1.4}.button.small{font-size:16px;min-height:44px;padding:8px 12px}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.danger{background:#a33429;color:#fff;border-color:#a33429}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;min-width:44px;min-height:44px;padding:9px;color:#405c4a}.text-button{border:1px solid #d0dbd0;border-radius:6px;background:#fff;color:var(--green);display:flex;gap:7px;align-items:center;font-size:17px;min-height:44px;padding:8px 12px}main{max-width:1380px;margin:auto;padding:20px 28px}.trip-heading{margin-bottom:18px}.trip-date{font-size:18px;font-weight:500;margin-top:5px;color:#344f40}.trip-route{font-size:16px;color:var(--muted);margin-top:3px}.schedule-navigation{margin-bottom:18px}.day-tabs{position:relative;display:flex;gap:8px;overflow-x:auto;padding:4px 4px 10px;scroll-padding-inline:4px;scrollbar-width:thin;scrollbar-color:#6b8670 #e5ebe3}.day-tab{flex:1 0 112px;min-width:112px;display:grid;gap:3px;text-align:center;padding:10px 5px;border:1px solid #c5d1c5;background:#fff;color:#455e49;border-radius:7px;min-height:98px}.day-tab>span{font-size:16px;font-weight:500}.day-tab strong{font-size:19px;font-weight:700;white-space:nowrap}.day-tab small{font-size:16px;line-height:1.4}.day-strip-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;color:#405b46;margin-bottom:4px}.day-strip-hint span{display:flex;align-items:center;gap:6px}.day-tab.selected{background:var(--green);color:#fff;border-color:var(--green)}.day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.day-date{font-size:17px;color:#405d49;font-weight:600}.day-title h2{margin-top:3px;overflow-wrap:anywhere}.timeline{display:grid;gap:12px}.activity{min-width:0}.activity-card{background:#fff;border:1px solid var(--border);padding:16px 20px;border-radius:9px;min-width:0}.activity-meta{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:8px}.activity-time{font-size:20px;font-weight:700;color:#214d37;line-height:1.5}.activity-from{font-size:16px;color:#526259}.activity-card h3{font-size:23px;color:#203c2b;overflow-wrap:anywhere}.activity-card p{font-size:20px;line-height:1.8;color:#374d3d;margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.activity-footer{display:flex;align-items:center;margin-top:12px;gap:10px;flex-wrap:wrap}.map-link{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:500;color:#244f36;background:#eaf0e5;border:1px solid #c9d8c2;border-radius:6px;padding:8px 12px;min-height:44px}.map-link svg,.text-button svg{width:18px;height:18px}.edit-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.memo-card{background:#eef0e4;border:1px solid #d6ddc7;border-radius:8px;padding:14px 18px;color:#374c31}.memo-card h3{font-size:18px;display:flex;align-items:center;gap:8px;margin-bottom:5px}.memo-card p{font-size:17px;line-height:1.7;color:#415338}.memo-card .timezone-note{font-size:16px;margin-top:6px;font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-heading p{font-size:17px;color:var(--muted);line-height:1.6}.activity-note{display:flex;align-items:flex-start;gap:8px;background:#f6f0de;color:#665025;font-size:17px;line-height:1.7;padding:10px 12px;border-radius:5px;margin-top:10px}.activity-note svg{margin-top:5px;width:18px;height:18px}.hotel-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#e8efdf;border:1px solid #c9d7bf;border-radius:8px;padding:18px;margin-bottom:16px}.hotel-summary>div{padding:0 20px;border-left:1px solid #b9cbae}.hotel-summary>div:first-child{border:0;padding-left:0}.hotel-summary span{font-size:17px;color:#415637}.hotel-summary strong{display:block;font-size:28px;margin-top:5px;font-weight:700}.hotel-grid,.tips-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hotel-card,.tip-card{background:#fff;border:1px solid var(--border);border-radius:9px;padding:20px;min-width:0}.hotel-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.city-label{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:600;color:#415e38}.status{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:500;border-radius:5px;padding:4px 8px}.confirmed{color:#285324;background:#e7f0df}.pending{color:#775320;background:#f7ebcf}.hotel-card h3{white-space:pre-wrap;line-height:1.5;font-size:24px;overflow-wrap:anywhere}.hotel-dates{display:flex;align-items:center;gap:8px;font-size:18px;color:#3a5434;margin-top:10px}.hotel-card p{color:#405637;font-size:18px;line-height:1.65;margin-top:6px}.hotel-payment{background:#f0f3e9;padding:12px;border-radius:5px;font-size:18px;color:#3e5135;line-height:1.7;margin-top:14px}.hotel-price{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.hotel-price span{font-size:16px;color:var(--muted)}.hotel-price strong{font-size:25px;font-weight:700}.fine-print{font-size:16px;line-height:1.8;color:#485c3d;margin-top:16px}.tip-card h3{margin:7px 0}.tip-card p{font-size:20px;line-height:1.8;color:#374d3d;overflow-wrap:anywhere}.tip-cost{font-size:22px;font-weight:700;margin-top:14px}.tip-card>.edit-actions{justify-content:flex-end;margin-top:12px}.warnings{margin-top:20px;border:1px solid #d6cfb5;border-radius:7px;background:#f7f3e7;color:#66532c;font-size:17px;padding:12px 16px}.warnings summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:32px}.warnings summary>span{margin-left:auto;color:#6a5c3a;font-size:15px;white-space:nowrap}.warnings ul{margin:10px 0 0;padding-left:23px;font-size:17px;line-height:1.8}.warnings li+li{margin-top:8px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);margin-top:24px;padding-top:14px;color:#52644a;font-size:14px;line-height:1.7}footer span span{margin:0 7px}.state-box{min-height:50vh;display:grid;place-content:center;text-align:center;gap:20px;color:#445b38}.empty{padding:22px;background:#fff;border:1px dashed var(--border);color:#485f3b;border-radius:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--green);color:#fff;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:9px;box-shadow:0 4px 20px #234e4233;font-size:18px;z-index:10;width:max-content;max-width:92%}dialog{border:none;border-radius:12px;padding:24px;width:min(600px,calc(100% - 24px));max-height:92dvh;color:#203c2b;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#203d3470;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-head h2{font-size:27px}dialog p{font-size:18px;line-height:1.8;color:#3d5234;margin:0 0 16px}dialog label{display:grid;gap:6px;font-size:18px;font-weight:500;margin-bottom:14px}dialog input,dialog textarea,dialog select{width:100%;font-size:20px;border:1px solid #aebfa4;background:#fcfdf9;border-radius:6px;padding:10px 12px;min-height:48px;color:#203c2b;outline-color:#50763e}dialog textarea{resize:vertical;font-weight:400}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.form-error{background:#fcf0e8;padding:12px;border-radius:5px;color:#923923!important;font-size:18px!important}@media(min-width:1600px){main{padding:24px 36px}.topbar{padding:8px 36px}}@media(max-width:1200px){.sidebar{width:218px;padding:20px 12px}.main{margin-left:218px}.nav-item{font-size:16px;padding:12px 9px;gap:8px}.route-stop{font-size:14px}.route-stop small{font-size:12px}main{padding:18px 20px}.topbar{padding:8px 20px}.view-mode{display:none}.day-tabs{gap:8px}.day-tab strong{font-size:19px}.day-tab>span{font-size:16px}.hotel-grid,.tips-grid{grid-template-columns:1fr}.hotel-summary>div{padding:0 12px}.hotel-summary strong{font-size:24px}}@media(max-width:900px){.sidebar{display:none}.main{margin-left:0}.topbar{padding:8px 16px}.nav-item{font-size:18px}.brand{font-size:30px}.route-stop{font-size:16px}.route-stop small{font-size:13px}main{padding:16px 20px}.breadcrumb{font-size:15px}.day-tabs{gap:6px}.day-tab>span{font-size:16px}.day-tab strong{font-size:18px}}@media(max-width:600px){.topbar{padding:8px 10px;gap:6px}.breadcrumb{font-size:16px;gap:0}.breadcrumb>svg,.breadcrumb>strong{display:none}.button.small{font-size:16px;padding:8px 10px;gap:6px}.topbar .button svg{width:18px;height:18px}main{padding:14px 12px 20px}.trip-heading{margin-bottom:14px}h1{font-size:27px}.trip-date{font-size:18px;margin-top:3px}.trip-route{font-size:16px;margin-top:1px}.schedule-navigation{margin-bottom:14px}.day-title{align-items:flex-start;gap:8px;margin-bottom:10px}.day-title h2{font-size:22px;margin-top:3px}.day-date{font-size:17px}.day-title .button{font-size:16px;white-space:nowrap;margin-top:0;padding:8px;min-height:44px}.timeline{gap:10px}.activity-card{padding:14px}.activity-meta{display:grid;gap:3px;margin-bottom:7px}.activity-time{font-size:20px}.activity-from{font-size:17px}.activity-card h3{font-size:23px;line-height:1.5}.activity-card p{font-size:20px;line-height:1.75;margin-top:6px}.activity-footer{margin-top:12px;gap:6px}.map-link{font-size:17px;padding:8px 10px}.text-button{font-size:17px;padding:8px}.edit-actions{gap:3px}.memo-card{padding:12px 14px}.memo-card h3{font-size:19px}.memo-card p{font-size:18px}.memo-card .timezone-note{font-size:17px}.section-heading{align-items:flex-start}.section-heading p{font-size:17px}.section-heading .button{white-space:nowrap;padding:8px;font-size:16px}.hotel-summary{grid-template-columns:1fr;gap:10px;padding:14px}.hotel-summary>div{border:0;padding:0;display:flex;justify-content:space-between;align-items:center;gap:8px}.hotel-summary strong{margin:0;font-size:25px}.hotel-summary span{font-size:18px}.hotel-card,.tip-card{padding:16px}.hotel-card h3{font-size:24px}.hotel-payment,.hotel-card p{font-size:19px}.hotel-top{gap:8px}.warnings{padding:10px 12px}.warnings summary{font-size:17px;align-items:flex-start}.warnings summary>span{font-size:15px}.warnings ul{font-size:18px}footer{font-size:15px;flex-direction:column;margin-top:20px}dialog{padding:18px}.dialog-head h2{font-size:25px}.toast{font-size:18px}}@media(max-width:360px){.topbar .breadcrumb{font-size:14px}.topbar .button{font-size:14px;padding:8px}.day-title{flex-wrap:wrap}.activity-footer .edit-actions{margin-left:0}.hotel-summary strong{font-size:22px}}@media(prefers-reduced-motion:no-preference){.day-tab,.nav-item{transition:background .15s}}.bottom-nav{display:none}@media(max-width:900px){.main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:9;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:10px;scrollbar-width:thin;scrollbar-color:#6b8670 #e5ebe3;background:#fff;border-top:1px solid #bdcdbf;box-shadow:0 -3px 14px #234e4210;padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}.bottom-nav-item{flex:1 0 112px;min-width:112px;white-space:nowrap;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;border:0;border-radius:8px;background:transparent;color:#405a46;font-size:18px;font-weight:500;line-height:1.4;padding:6px 2px}.bottom-nav-item.active{background:#e5efe3;color:#214d37;font-weight:700}.toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}.converter{max-width:760px}.converter-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:24px}.currency-direction{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:24px}.currency-direction>span{font-size:19px;font-weight:600}.currency-direction>span:last-child{text-align:right}.currency-direction strong{display:block;font-size:16px;color:var(--muted)}.swap-button{min-height:48px}.amount-label{display:block;font-size:20px;font-weight:500;margin-bottom:8px}.amount-input{display:flex;align-items:center;gap:12px;border:2px solid #78977b;border-radius:8px;background:#fcfdf9;padding:12px 16px}.amount-input:focus-within{outline:3px solid #a76319;outline-offset:2px}.amount-input>span{font-size:22px;font-weight:600;color:#47654b}.amount-input input{width:100%;min-width:0;border:none;outline:none;background:transparent;color:#203c2b;font-size:32px;font-weight:600}.amount-help{font-size:16px;color:var(--muted);margin-top:8px;line-height:1.6}.conversion-result{background:#eaf2e4;border:1px solid #c4d6bb;border-radius:8px;padding:20px;margin-top:20px;display:grid;gap:8px;color:#214d37;overflow-wrap:anywhere}.conversion-result>span:first-child{font-size:19px;font-weight:500}.conversion-result strong{font-size:38px;line-height:1.3}.conversion-result>span:last-child{font-size:18px;color:#3f5d3c}.exchange-rate-details{margin-top:20px;font-size:18px;line-height:1.7}.exchange-rate-details strong{font-weight:600}.exchange-rate-details p{color:#4e6145;margin-top:4px}.exchange-rate-details .rate-date-note{font-size:16px}.rate-refresh{margin-top:16px}.rate-footnote{display:flex;gap:10px;margin-top:18px;font-size:17px;color:#41573a;line-height:1.75}.rate-footnote>svg{margin-top:5px}.rate-footnote a{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:underline;text-underline-offset:3px;font-size:16px;margin-top:5px}.converter .form-error{margin-top:14px;line-height:1.7}@media(max-width:600px){.converter-card{padding:16px}.currency-direction{gap:8px;margin-bottom:18px}.currency-direction>span{font-size:18px}.swap-button{padding:8px;gap:6px;font-size:16px}.amount-input{padding:10px 12px;gap:8px}.amount-input input{font-size:29px}.conversion-result{padding:16px}.conversion-result strong{font-size:34px}.bottom-nav-item{font-size:18px}}.flight-section{margin:0 0 20px;border:1px solid #bed4d1;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 24px #234e4207}.flight-heading{display:flex;align-items:center;gap:14px;padding:22px 24px;background:linear-gradient(115deg,#e5f2ee,#f2f7f1);border-bottom:1px solid #d6e3dd}.flight-heading-icon{display:grid;place-items:center;background:#234e42;color:#fff;width:48px;height:48px;border-radius:14px;flex-shrink:0}.flight-heading>div{min-width:0}.flight-eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:.8px;color:#44665c;margin-bottom:5px}.flight-heading h3{font-size:24px;line-height:1.5;overflow-wrap:anywhere}.flight-trip-tag{margin-left:auto;flex-shrink:0;font-size:15px;font-weight:600;color:#28584d;border:1px solid #bfd5ca;background:#fff9;border-radius:20px;padding:5px 12px}.flight-arrival-reminder{display:flex;align-items:flex-start;gap:10px;margin:20px 24px 0;padding:13px 16px;border:1px solid #c7dccb;border-radius:10px;background:#eef6eb;font-size:17px;line-height:1.65;color:#345a38}.flight-arrival-reminder>svg{margin-top:4px}.flight-arrival-reminder strong{font-size:22px;color:#214d37;white-space:nowrap}.flight-arrival-reminder span{display:block;font-size:15px;color:#4e6650;margin-top:2px}.flight-legs{padding:20px 24px}.flight-leg{border:1px solid #d5e0da;border-radius:12px;overflow:hidden}.flight-leg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:#f7faf7;border-bottom:1px solid #e0e8e2}.flight-leg-head strong{display:flex;align-items:center;gap:7px;font-family:Manrope,sans-serif;font-size:18px;color:#234e42}.flight-leg-head>span{font-size:15px;color:#52665c}.flight-route-grid{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:14px;padding:20px}.flight-airport{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.flight-airport.arrival{align-items:flex-end;text-align:right}.flight-time-label{display:flex;gap:6px;align-items:center;font-size:14px;color:#596e63}.flight-time{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-1px;line-height:1.25;font-weight:800;font-variant-numeric:tabular-nums;color:#234e42}.flight-date{font-size:15px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.arrival .flight-date{justify-content:flex-end}.flight-next-day{font-size:12px;font-weight:700;color:#7e4917;background:#fff0d7;border:1px solid #e6c58a;border-radius:5px;padding:2px 6px;white-space:nowrap}.flight-airport-code{font-family:Manrope,sans-serif;font-size:22px;font-weight:800;margin-top:7px;line-height:1.5}.flight-airport-code>span{font-family:IBM Plex Sans Thai,sans-serif;font-size:18px;font-weight:600}.flight-airport-name{font-size:15px;color:#54675d;line-height:1.6}.flight-terminal{background:#edf3ee;color:#3c5946;border-radius:5px;font-size:14px;font-weight:500;padding:3px 8px;line-height:1.6}.flight-route-line{display:flex;align-items:center;align-self:start;gap:6px;margin-top:44px;color:#6e9487}.flight-route-line>span{height:1px;flex:1;background:#a4bfb4}.flight-connection{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:15px 18px;background:#edf5f6;border:1px solid #c4dde1;border-radius:10px;color:#305d67}.flight-connection>svg{margin-top:3px}.flight-connection strong{font-size:19px;line-height:1.6}.flight-connection p{font-size:16px;line-height:1.7;margin-top:3px}.flight-connection.short{background:#fff4df;border-color:#e7c58b;color:#754713}.flight-connection .flight-connection-tip{font-size:17px;font-weight:500}.flight-checkin{margin:0 24px;padding:18px;border:1px solid #bfd8d6;border-radius:12px;background:#f0f8f6}.flight-checkin h4{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;margin:0 0 12px;color:#23534a}.flight-checkin-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:17px}.flight-checkin-row strong{font-size:25px;color:#fff;background:#275d52;border-radius:8px;padding:5px 14px;line-height:1.4}.flight-checkin p{font-size:16px;line-height:1.8;color:#3b5c51}.flight-checkin .flight-baggage-note{padding-top:12px;margin-top:12px;border-top:1px solid #caddd4}.flight-checkin-details{margin-top:10px;border-top:1px solid #caddd4;padding-top:6px}.flight-checkin-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-height:44px;color:#2c594e;font-size:16px;font-weight:600;list-style:none}.flight-checkin-details summary::-webkit-details-marker{display:none}.flight-checkin-details[open] summary svg{transform:rotate(180deg)}.flight-checkin-details a{display:inline-flex;align-items:center;gap:7px;font-size:16px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.flight-local-time{display:flex;gap:8px;align-items:flex-start;margin:18px 24px 0;color:#4c6257;font-size:15px;line-height:1.7}.flight-local-time>svg{margin-top:4px}.flight-source{font-size:13px;color:#607267;line-height:1.8;margin:8px 24px 20px;padding-top:10px;border-top:1px dashed #d1ddd5}@media(max-width:600px){.flight-heading{padding:16px 14px;gap:10px;flex-wrap:wrap}.flight-heading-icon{width:40px;height:40px;border-radius:11px}.flight-heading>div{flex:1}.flight-eyebrow{font-size:11px;letter-spacing:.4px}.flight-heading h3{font-size:20px}.flight-trip-tag{display:none}.flight-arrival-reminder{margin:14px 12px 0;padding:12px;font-size:16px}.flight-arrival-reminder span{font-size:14px}.flight-arrival-reminder strong{font-size:21px}.flight-legs{padding:14px 12px}.flight-leg-head{padding:10px 12px;flex-wrap:wrap;gap:5px}.flight-leg-head>span{font-size:13px}.flight-leg-head strong{font-size:17px}.flight-route-grid{padding:16px 12px;gap:8px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.flight-time{font-size:32px}.flight-route-line{margin-top:39px}.flight-route-line>span{display:none}.flight-time-label{font-size:12px;gap:4px}.flight-time-label svg{width:14px;height:14px}.flight-date{font-size:14px;min-height:28px}.flight-airport-code{font-size:20px}.flight-airport-code>span{display:block;font-size:17px}.flight-airport-name{font-size:14px}.flight-terminal{font-size:13px;padding:3px 6px;max-width:100%}.flight-connection{padding:13px 12px;gap:9px}.flight-connection strong{font-size:18px}.flight-connection p{font-size:15px}.flight-connection .flight-connection-tip{font-size:16px}.flight-checkin{margin:0 12px;padding:14px}.flight-checkin h4{font-size:18px}.flight-checkin-row{font-size:16px}.flight-checkin-row strong{font-size:23px;padding:5px 10px}.flight-local-time{margin:16px 14px 0;font-size:14px}.flight-source{margin:8px 14px 16px;font-size:13px}}@media print{.flight-section,.flight-leg,.flight-checkin{break-inside:avoid}.flight-connection,.flight-next-day{border:2px solid #754713}}.stay-overview{border:1px solid #bed3c9;border-radius:14px;background:#edf4ea;padding:22px;margin-bottom:20px}.stay-overview-title{display:flex;align-items:center;gap:12px;color:#2b5140}.stay-overview-title h2{font-size:24px}.stay-overview-title p{font-size:16px;color:#526650;margin-top:3px;line-height:1.7}.stay-route-list{display:grid;gap:8px;margin-top:18px}.stay-route-stop{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #d3ded0;border-radius:9px;background:#fff;min-width:0}.stay-route-stop>div{min-width:0}.stay-route-stop>div>span{font-size:15px;color:#526650;line-height:1.7}.stay-route-stop strong{display:block;font-size:19px;line-height:1.6;overflow-wrap:anywhere}.stay-route-number{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;background:#e5efdf;color:#365f41}.stay-route-nights{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:15px;color:#4c6750;white-space:nowrap}.stay-property-list{display:grid;gap:20px}.stay-property{background:#fff;border:1px solid #cbd8ce;border-radius:14px;overflow:hidden;scroll-margin-top:90px;box-shadow:0 5px 20px #234e4205}.stay-property-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:linear-gradient(115deg,#eaf3ed,#f5f8f1);border-bottom:1px solid #d6e2d8;padding:22px 24px}.stay-property-head>div{min-width:0}.stay-property-head h2{font-size:25px;line-height:1.6;overflow-wrap:anywhere;margin-top:5px}.stay-property-head p{font-size:17px;font-weight:500;margin-top:6px;color:#476348}.stay-city{display:flex;gap:6px;align-items:center;font-size:15px;font-weight:600;color:#4b6b50}.stay-platform{background:#fff;border:1px solid #cadacf;color:#436049;font-size:14px;line-height:1.5;padding:5px 11px;border-radius:16px;flex-shrink:0}.stay-property-body{padding:20px 24px}.stay-dates-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:18px;border-bottom:1px solid #dbe4dc;margin-bottom:18px}.stay-dates-row>div{display:flex;align-items:center;gap:10px;color:#526b56}.stay-dates-row span{font-size:15px}.stay-dates-row strong{display:block;font-size:23px;color:#234e42;line-height:1.6}.stay-address{display:flex;align-items:flex-start;gap:10px;line-height:1.8;margin-bottom:16px;color:#3d5949}.stay-address>svg{margin-top:5px}.stay-address strong{font-size:17px}.stay-address p{font-family:Manrope,sans-serif;font-size:17px;overflow-wrap:anywhere;margin:4px 0}.stay-address span{font-size:14px;color:#54695a}.stay-cancellation{display:flex;align-items:flex-start;gap:10px;background:#fff3dd;border:1px solid #e2bf84;padding:14px 16px;border-radius:10px;margin:16px 0;color:#754713}.stay-cancellation>svg{margin-top:4px}.stay-cancellation strong{font-size:19px;line-height:1.7}.stay-cancellation p{font-size:17px;line-height:1.8;margin-top:2px}.stay-cancellation span{display:block;font-size:14px;line-height:1.8;margin-top:6px}.stay-booking-details{border:1px solid #d4e0d7;background:#f8faf6;border-radius:9px;padding:6px 14px;margin-bottom:18px}.stay-booking-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;font-size:17px;font-weight:600;list-style:none}.stay-booking-details summary::-webkit-details-marker{display:none}.stay-booking-details[open] summary>svg{transform:rotate(180deg)}.stay-booking-details summary:focus-visible{outline:3px solid #a76319;outline-offset:2px}.stay-booking-details>p{display:flex;align-items:center;gap:7px;font-size:16px;line-height:1.8;margin-top:10px}.stay-confirmation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0}.stay-confirmation span{display:block;font-size:14px;color:#52665a}.stay-confirmation strong{font-family:Manrope,sans-serif;font-size:22px;letter-spacing:1px;-webkit-user-select:all;user-select:all}.stay-booking-details .stay-small{margin:0 0 12px;display:block}.stay-room-list{display:grid;gap:12px}.stay-room{border:1px solid #d2ded3;border-radius:10px;padding:16px;background:#fff}.stay-room-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.stay-room-head>strong{font-size:19px;line-height:1.7;overflow-wrap:anywhere}.stay-room-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:9px}.stay-room-meta>span{font-size:16px;color:#49634c}.stay-room-meta strong{font-size:23px;color:#234e42}.stay-payment{background:#f0f3e9;border-radius:6px;padding:10px 12px;font-size:17px;line-height:1.8;color:#43553a;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}.stay-small{font-size:14px;color:#5c6d5a;line-height:1.8;margin-top:8px;overflow-wrap:anywhere}.stay-room-edit{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}.stay-day-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:16px;font-weight:500;color:#355a42;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.stay-source{margin-top:14px;padding-top:12px;border-top:1px dashed #d3ddcf}.daily-stay{background:#edf4e8;border:1px solid #c8d8c0;border-radius:12px;padding:18px 20px;margin-bottom:18px}.daily-stay>h3{display:flex;align-items:center;gap:8px;font-size:20px;color:#36573b;margin-bottom:12px}.daily-stay-item{padding:15px;border-radius:9px;background:#fff;border:1px solid #d0ddc9}.daily-stay-item+.daily-stay-item{margin-top:10px}.daily-stay-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.daily-stay-heading>div{min-width:0}.daily-stay-heading h4{font-size:22px;line-height:1.6;margin:4px 0;color:#244b34;overflow-wrap:anywhere}.stay-night-tag{font-size:14px;white-space:nowrap;background:#edf3e9;color:#4d6846;border:1px solid #cfdcc6;padding:4px 8px;border-radius:6px;flex-shrink:0}.stay-night-tag.checkin{background:#275a44;color:#fff;border-color:#275a44}.daily-stay-item>p{font-size:17px;line-height:1.8;color:#4b6549}.daily-stay-item .daily-stay-address{font-family:Manrope,sans-serif;font-size:15px;margin-top:5px;overflow-wrap:anywhere}.daily-stay .stay-actions{margin-top:10px}.daily-checkout{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #c8d6c0;padding-top:14px;margin-top:14px;color:#516344}.daily-checkout>svg{margin-top:4px}.daily-checkout strong{font-size:17px;line-height:1.7}.daily-checkout p{font-size:17px;line-height:1.8;margin-top:3px}.daily-checkout a{display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.daily-checkout span{font-size:15px;line-height:1.8;display:block;margin-top:3px}@media(max-width:600px){.stay-overview{padding:16px 12px}.stay-overview-title{gap:8px}.stay-overview-title h2{font-size:22px}.stay-overview-title p{font-size:15px}.stay-route-stop{padding:12px 10px;gap:9px}.stay-route-number{width:28px;height:28px}.stay-route-stop strong{font-size:17px}.stay-route-stop>div>span{font-size:14px}.stay-route-nights{font-size:13px;gap:4px;flex-direction:column}.stay-property-head{padding:16px;flex-wrap:wrap;gap:10px}.stay-property-head h2{font-size:23px}.stay-property-head p{font-size:16px}.stay-property-body{padding:16px}.stay-property{scroll-margin-top:120px}.stay-dates-row{gap:10px}.stay-dates-row strong{font-size:21px}.stay-address p{font-size:16px}.stay-cancellation{padding:12px;gap:8px}.stay-cancellation strong{font-size:18px}.stay-cancellation p{font-size:16px}.stay-room{padding:14px}.stay-room-head>strong{font-size:18px}.stay-room-meta strong{font-size:22px}.stay-actions{gap:6px 10px}.stay-day-link{font-size:16px}.daily-stay{padding:14px 12px}.daily-stay-item{padding:13px}.daily-stay-heading{flex-wrap:wrap;gap:6px}.daily-stay-heading h4{font-size:21px}.daily-stay-item>p{font-size:16px}.daily-stay-item .daily-stay-address{font-size:14px}.stay-night-tag{font-size:13px}.daily-checkout p{font-size:16px}}.stay-dates-row small{display:block;font-size:15px;font-weight:600;color:#3c6650;line-height:1.8;margin-top:3px}.receipt-property-info{margin-bottom:20px}.receipt-hotel-phone{max-width:100%;flex-wrap:wrap;font-size:16px;overflow-wrap:anywhere}.receipt-policy-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.receipt-policy-tags>span{display:flex;align-items:center;gap:6px;padding:5px 10px;background:#f2f5ee;border:1px solid #d0dccb;border-radius:6px;font-size:15px;line-height:1.7}.receipt-tax-note{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin-top:14px;background:#fff5e2;border:1px solid #e4c896;border-radius:9px;color:#715020}.receipt-tax-note>svg{margin-top:4px}.receipt-tax-note p{font-size:16px;line-height:1.8}.receipt-tax-note p>span{display:block;font-size:15px;margin-top:2px}.booking-receipt{margin-top:14px}.receipt-room-facts{display:grid;gap:7px;font-size:16px;line-height:1.8;color:#45604b}.receipt-room-facts>span{display:flex;align-items:flex-start;gap:7px}.receipt-room-facts svg{margin-top:5px}.receipt-payable{background:#eaf4ec;border:1px solid #bdd8c4;border-radius:9px;padding:14px 16px;margin-top:14px}.receipt-payable>span{font-size:16px;color:#456449;font-weight:600}.receipt-payable>strong{display:block;font-family:Manrope,sans-serif;font-size:30px;font-weight:800;color:#234e42;line-height:1.5;margin-top:3px;font-variant-numeric:tabular-nums}.receipt-payable strong>small{font-size:15px;font-weight:600;margin-left:5px}.receipt-payable p{font-size:14px;color:#4c6651;line-height:1.8;margin-top:4px}.receipt-cancellation{margin-top:14px;border:1px solid #ddb4a0;border-radius:9px;padding:14px 16px;background:#fff5ee;color:#7c4030}.receipt-cancellation-head{display:flex;align-items:flex-start;gap:9px}.receipt-cancellation-head>svg{margin-top:4px}.receipt-cancellation-head strong{font-size:18px;line-height:1.7}.receipt-cancellation-head p{font-size:15px;line-height:1.8;margin-top:3px}.receipt-current-fee{font-size:16px;line-height:1.8;margin-top:12px}.receipt-current-fee strong{font-family:Manrope,sans-serif;font-size:22px;white-space:nowrap;display:inline-block;margin-left:5px}.receipt-cancellation-tiers,.receipt-price-breakdown{margin:12px 0 0;font-size:15px;line-height:1.8}.receipt-cancellation-tiers>div,.receipt-price-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:8px 10px;border-bottom:1px solid #edcebe}.receipt-cancellation-tiers>div:last-child{border:0}.receipt-cancellation-tiers>div.active{background:#f9e1d2;border-radius:5px;font-weight:600}.receipt-cancellation-tiers dd,.receipt-price-breakdown dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-cancellation-note{font-size:13px;line-height:1.8;margin-top:10px;color:#82503e}.receipt-details{margin-top:14px;margin-bottom:0}.receipt-details .receipt-guest-name{display:block;font-size:15px;overflow-wrap:anywhere}.receipt-copy-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;border-bottom:1px solid #d3e0d3;padding:12px 0}.receipt-copy-row>div{min-width:0}.receipt-copy-row>div>span{display:block;font-size:14px;color:#52665a}.receipt-copy-row strong{display:block;font-family:Manrope,sans-serif;font-size:21px;letter-spacing:.5px;line-height:1.7;-webkit-user-select:all;user-select:all}.receipt-copy-row>p{width:100%;font-size:14px;line-height:1.8}.receipt-price-breakdown>div{padding:8px 0;border-color:#d3dfcf;font-size:14px}.receipt-price-breakdown>div:last-child{font-weight:700}.receipt-details .stay-small{display:block;margin-top:10px}.receipt-support a{text-decoration:underline;text-underline-offset:3px}.stay-legacy-payment{margin-top:12px;border-top:1px dashed #d1ddd0;padding-top:6px}.stay-legacy-payment summary{font-size:14px;color:#576c58;cursor:pointer;line-height:1.8;padding:8px 0;min-height:44px}.stay-legacy-payment .stay-payment{margin-top:0}.stay-room{scroll-margin-top:100px}.daily-stay-checkin-time{display:flex;align-items:flex-start;gap:7px;background:#fff3d8;border:1px solid #e6c588;border-radius:6px;padding:9px 10px;margin-top:9px}.daily-stay-item>p.daily-stay-checkin-time{color:#754713;font-size:16px;font-weight:600}.daily-stay-checkin-time>svg{margin-top:5px}.daily-checkout .daily-checkout-time{background:#fff3d8;border:1px solid #e4c990;border-radius:5px;color:#754713;padding:5px 8px;font-weight:600;font-size:15px;margin:0 0 8px}@media(max-width:600px){.stay-dates-row small{font-size:13px}.receipt-hotel-phone{font-size:15px;padding:8px 10px}.receipt-tax-note{padding:11px 12px}.receipt-tax-note p{font-size:15px}.receipt-tax-note p>span{font-size:14px}.receipt-room-facts{font-size:15px}.receipt-payable{padding:12px}.receipt-payable>strong{font-size:28px}.receipt-cancellation{padding:12px}.receipt-cancellation-head strong{font-size:17px}.receipt-current-fee{font-size:15px}.receipt-cancellation-tiers>div{padding:8px 7px;gap:8px}.receipt-cancellation-tiers{font-size:14px}.receipt-copy-row strong{font-size:19px}.receipt-copy-row .button{font-size:14px;padding:8px 10px}.receipt-price-breakdown>div{gap:8px}.daily-stay-item>p.daily-stay-checkin-time{font-size:15px}.stay-room{scroll-margin-top:125px}}.expense-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.expense-totals h2{margin-bottom:0}.expense-summary{margin:28px 0;padding:20px;background:#fff;border:1px solid var(--line,#e4e4df);border-radius:16px}.expense-summary h2{font-size:19px}.expense-table-scroll{overflow-x:auto}.expense-summary table{border-collapse:collapse;width:100%;min-width:530px}.expense-summary th,.expense-summary td{padding:12px 10px;border-bottom:1px solid #eee;text-align:right;white-space:nowrap}.expense-summary th:first-child{text-align:left}.expense-transfers{margin-top:20px}.expense-transfers p{margin:8px 0}.expense-list{display:grid;gap:16px}.expense-item-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.expense-item-head h3{overflow-wrap:anywhere;white-space:pre-wrap;flex:1}.expense-item-head strong{white-space:nowrap}.expense-delete{position:fixed;inset:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.expense-delete>.memo-card{background:#fff;max-width:500px;width:100%;max-height:90vh;overflow:auto}@media(max-width:600px){.expense-totals{gap:10px}.expense-summary{padding:14px}.expense-item-head{flex-direction:column}}.expense-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.expense-heading h1{min-width:0}.expense-heading .button{flex-shrink:0;white-space:nowrap}.expense-transfers summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-weight:600;min-height:44px}.expense-transfers summary::-webkit-details-marker{display:none}.expense-transfers summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}.expense-transfers summary svg{flex-shrink:0;transition:transform .15s}.expense-transfers[open] summary svg{transform:rotate(180deg)}.driving-tips{max-width:1040px;display:grid;gap:24px;line-height:1.8}.driver-brief,.driving-card{padding:24px;border:1px solid var(--border);border-radius:10px;background:#fff;min-width:0}.driver-brief{background:#eaf0e4}.driver-brief h2{margin:8px 0}.driver-brief>p{font-size:21px;font-weight:600}.driver-callout{display:flex;gap:10px;padding:14px 16px;background:#f2f4e9;border-radius:7px;margin-top:18px;color:#405137}.driver-callout svg{margin-top:6px}.driving-jump{display:flex;flex-wrap:wrap;gap:8px}.driving-jump a{border:1px solid #c4d2c1;border-radius:6px;padding:8px 14px;min-height:44px;background:#fff;font-weight:600}.driving-tips section[id]{scroll-margin-top:90px}.driving-card h2{margin-bottom:12px}.driving-card h3{font-size:21px}.driving-card ul{margin:12px 0 0;padding-left:24px}.driving-card li+li{margin-top:10px}.driver-checks{list-style:none;padding:0!important}.driver-checks li{display:flex;gap:10px}.driver-checks svg{margin-top:7px;color:var(--green)}.driving-source{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:underline;text-underline-offset:4px;margin:12px 18px 0 0;font-size:16px}.driving-muted{color:var(--muted);font-size:16px;margin-top:8px}.driving-section-title{display:flex;align-items:center;gap:10px}.driver-days{display:grid;gap:14px;margin-top:16px}.driver-days h3{margin-top:8px}.driver-signs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:20px}.driver-signs figure{margin:0}.driver-signs svg{display:block;width:100%;height:130px;margin-bottom:12px}.driver-signs p{font-size:17px;margin-top:6px}.driver-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.driver-gates>div{display:grid;align-content:start;gap:8px}.driver-gates>div>span{font-family:sans-serif;font-size:26px;font-weight:700;text-align:center;color:#fff;padding:12px 8px;border:4px solid #fff;outline:1px solid #d0d7ce;border-radius:6px}.gate-etc{background:#633e88}.gate-general{background:#287443}.gate-mixed{background:linear-gradient(90deg,#633e88 50%,#287443 50%)}.driver-gates p{font-size:17px}.driver-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px}.driver-fuels{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.driver-fuels span{padding:5px 9px;border:1px solid var(--border);border-radius:5px;background:#f7f8f3;font-size:16px}.driver-emergency{border-color:#c9a882;background:#fffaf2}.driver-phones{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.driver-phones a{display:flex;align-items:center;gap:10px;border:1px solid #c9a882;border-radius:7px;padding:12px 16px;background:#fff;min-height:60px}.driver-phones strong{font-size:26px}.driver-phones span{font-size:17px}@media(max-width:700px){.driver-brief,.driving-card{padding:18px}.driver-signs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.driver-gates,.driver-two-column{grid-template-columns:1fr}.driver-gates>div{grid-template-columns:130px 1fr;align-items:center}.driver-gates>div>span{grid-row:span 2;font-size:20px}.driver-gates p{grid-column:2}.driver-brief>p{font-size:19px}.driving-tips{gap:18px}.driver-phones a{width:100%;flex-wrap:wrap}}@media print{.sidebar,.topbar,.bottom-nav,.driving-jump,footer{display:none!important}.main{margin:0!important;padding:0!important}.driving-tips{max-width:none}.driving-card,.driver-brief{break-inside:avoid}.driving-source{color:#000}}.pin-page{min-height:100dvh;max-width:none;display:grid;place-items:center;padding:24px;background:#f6f7f3}.pin-card{width:100%;max-width:440px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:32px;box-shadow:0 10px 35px #234e4208}.pin-brand{display:flex;gap:10px;align-items:center;color:var(--green);font-family:Manrope,sans-serif;font-weight:800;font-size:21px}.pin-lock{display:grid;place-items:center;width:64px;height:64px;background:#e6efe5;border-radius:16px;margin:28px 0 18px;color:var(--green)}.pin-card h1{font-size:27px}.pin-card>p{margin-top:8px;color:var(--muted);line-height:1.7}.pin-card form{display:grid;gap:12px;margin-top:24px}.pin-card label{font-weight:600}.pin-card input{width:100%;min-width:0;border:1px solid #97ad9b;border-radius:7px;background:#fcfdf9;font-size:30px;letter-spacing:12px;text-align:center;padding:12px;min-height:60px;color:var(--green)}.pin-card input:focus{outline:3px solid #a76319;outline-offset:2px}.pin-card input[aria-invalid=true]{border-color:#a33429}.pin-card .pin-help{font-size:16px;margin-top:20px}.pin-card button:disabled{cursor:default}.top-actions{flex-wrap:wrap;justify-content:flex-end}.view-logout{white-space:nowrap}@media(max-width:600px){.pin-page{padding:18px}.pin-card{padding:24px}.topbar{flex-wrap:wrap}.top-actions{gap:8px}.topbar>.top-actions{flex:1}.topbar .view-logout{font-size:14px;padding:8px}}.app{display:block;max-width:620px;margin:0 auto;min-height:100dvh;background:#f6f7f3}.main{margin:0;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));width:100%}.main>main{max-width:none;padding:14px max(12px,env(safe-area-inset-right,0px)) 22px max(12px,env(safe-area-inset-left,0px))}.topbar{min-height:64px;padding:8px 14px;flex-wrap:nowrap;align-items:center}.topbar .brand{font-size:23px;gap:8px;letter-spacing:-.8px}.topbar .brand-mark{width:36px;height:38px;border-radius:10px}.topbar .brand-small{font-size:10px;letter-spacing:1px;margin-top:1px}.trip-management{position:relative;font-size:15px}.trip-management>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#f6f7f3;list-style:none}.trip-management>summary::-webkit-details-marker{display:none}.manage-actions{position:absolute;right:0;top:48px;width:230px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 10px 30px #203a3022;display:grid;gap:8px}.manage-actions .view-mode{display:block;font-size:14px;text-align:center;padding:4px}.manage-actions .button{width:100%}h1{font-size:27px}.trip-heading{margin-bottom:14px}.trip-date{font-size:17px}.trip-route{font-size:15px}.day-tab{flex:0 0 88px;min-width:88px;min-height:88px;padding:9px 4px;gap:2px}.day-tab>span,.day-tab small{font-size:14px}.day-tab strong{font-size:18px}.day-strip-hint{font-size:14px;gap:8px}.day-strip-hint svg{width:16px;height:16px}.day-title{align-items:flex-start;gap:8px}.day-title h2{font-size:23px}.day-date{font-size:16px}.activity-card{padding:14px}.activity-meta{display:grid;gap:3px}.activity-card p{font-size:20px;line-height:1.75}.schedule-layout{display:block}.day-aside{margin-top:16px}.memo-card{padding:14px}.hotel-grid,.tips-grid{grid-template-columns:1fr}.hotel-summary{grid-template-columns:1fr;gap:10px;padding:14px}.hotel-summary>div{border:0;padding:0;display:flex;justify-content:space-between;align-items:center;gap:8px}.hotel-summary strong{margin:0;font-size:25px}.hotel-card,.tip-card{padding:16px}.bottom-nav{position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);width:100%;max-width:620px;z-index:9;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;overflow:visible;background:#fff;border-top:1px solid #bdcdbf;box-shadow:0 -3px 14px #234e4210;padding:7px max(5px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(5px,env(safe-area-inset-left,0px))}.bottom-nav-item{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 1px;line-height:1.4;font-size:15px;white-space:nowrap;border-radius:9px;color:#405a46}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.active{background:#e5efe3;color:#214d37;font-weight:700}.toast{bottom:calc(90px + env(safe-area-inset-bottom,0px));font-size:16px}footer{font-size:14px;flex-direction:column}.warnings{padding:10px 12px}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.connection-status{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 6px;border:0;border-radius:8px;background:transparent;color:#40563e;font-size:14px;white-space:nowrap}.connection-status:hover,.connection-status:focus-visible{background:#edf3e9}.connection-status.is-offline{color:#6b5229}.connection-status.is-offline:hover,.connection-status.is-offline:focus-visible{background:#fff3dc}.trip-management>summary{white-space:nowrap}.offline-status{position:fixed;inset:64px auto auto;right:max(12px,calc((100vw - 620px)/2 + 14px));width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 160px);overflow-y:auto;font-size:14px;border:1px solid #cddbcf;background:#edf3e9;border-radius:12px;margin:0;color:#40563e;padding:14px;line-height:1.7;box-shadow:0 10px 30px #203a3022}.offline-status.is-offline{background:#fff3dc;border-color:#e3cca1;color:#6b5229}.offline-status p{font-size:13px;margin-top:3px}.offline-status small{font-size:12px}.connection-dot{width:7px;height:7px;border-radius:50%;background:#377045;flex:none}.is-offline .connection-dot{background:#b07723}.app-update{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;padding-top:8px;margin-top:7px;border-top:1px solid #c5d4c2}.offline-status .form-error{font-size:14px!important}.lounges{margin:16px 0}.lounges>h3{display:flex;align-items:center;gap:8px;font-size:20px;margin-bottom:10px}.lounge-card{background:#fffaf0;border:1px solid #e1cda8;border-radius:12px;padding:15px;margin-top:10px}.lounge-card h4{font:700 22px/1.4 Manrope,sans-serif;margin:6px 0;color:#523f25;overflow-wrap:anywhere}.lounge-airport{font-size:15px;color:#715831;font-weight:600}.lounge-timing{font-size:16px;line-height:1.7;color:#715831}.lounge-access{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.lounge-access>div{display:flex;gap:8px;border:1px solid #e6d8bd;border-radius:8px;background:#fff;padding:10px;align-items:center;font-size:14px;color:#705a37}.lounge-access>div:first-child{background:#234e42;color:#fff;border-color:#234e42}.lounge-access strong{display:block;font:700 20px/1.6 Manrope,sans-serif}.lounge-location{display:flex;align-items:flex-start;gap:8px;margin:14px 0 4px;font-size:18px;line-height:1.6}.lounge-location svg{margin-top:4px}.lounge-location small{display:block;font-size:14px;color:#705a37}.lounge-preparation{font-size:15px;padding:8px 0;line-height:1.8}.lounge-preparation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.lounge-preparation ul{padding-left:22px;margin:4px 0}.lounge-preparation li+li{margin-top:8px}.flight-section .lounges{margin:0;padding:16px;border-top:1px solid var(--border);background:#fdfbf5}.expense-cache-note{font-size:15px;color:var(--muted);line-height:1.8;margin:10px 0 18px}.expense-totals{grid-template-columns:1fr;gap:10px;margin:16px 0}.expense-summary{padding:14px;margin:18px 0}.expense-balances{display:grid;gap:10px;margin-top:14px}.expense-balances article{padding:12px;border:1px solid var(--border);border-radius:8px;background:#fafbf7}.expense-balances header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:18px}.expense-balances dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 0;font-size:14px}.expense-balances dd{margin:3px 0 0;font-size:16px;font-weight:600}.owes{color:#953d2d}.receives{color:#28663d}.expense-item-head{flex-direction:column;gap:8px}.driver-two-column,.driver-gates{grid-template-columns:1fr}.driver-signs{grid-template-columns:repeat(2,minmax(0,1fr))}.driving-card,.driver-brief{padding:18px}dialog{padding:18px;max-width:560px}.dialog-head h2{font-size:25px}@media(max-width:360px){.day-title{flex-wrap:wrap}.hotel-summary strong{font-size:22px}.bottom-nav-item{font-size:14px}.lounge-access{gap:6px}.lounge-access>div{padding:9px 6px;gap:5px}.lounge-card h4{font-size:21px}.topbar{padding-inline:12px}}@media print{.offline-status,.topbar,.bottom-nav{display:none!important}.main{padding-bottom:0}}@media(max-width:360px){.topbar{padding-inline:10px;gap:6px}.topbar .brand{font-size:20px;gap:6px}.topbar .brand-mark{width:30px;height:34px}.topbar .brand-small{font-size:9px;letter-spacing:.7px}.header-actions{gap:2px}.trip-management>summary{font-size:14px;padding-inline:8px}}.luggage-confirmed{display:flex;align-items:flex-start;gap:10px;padding:14px;margin:14px 0;border:1px solid #b9d2b9;border-radius:9px;background:#eaf3e5;color:#234e42}.luggage-confirmed>svg{margin-top:3px}.luggage-confirmed strong{display:flex;gap:6px;align-items:center;font-size:18px}.luggage-confirmed p{font-size:16px;line-height:1.7;margin-top:4px}.luggage-confirmed small{display:block;font-size:14px;color:#52694c;line-height:1.7;margin-top:3px}.expense-edit-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;background:#eaf3e5;border:1px solid #bfd3bc;border-radius:9px;margin:14px 0;font-size:16px}
