:root{--forest:#204b3b;--forest-deep:#163d2f;--lime:#e8e9ce;--paper:#f6f7f2;--white:#fff;--ink:#23362d;--muted:#66766b;--line:#dfe5dc;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a86b2f;outline-offset:4px}[hidden]{display:none!important}.icon{width:24px;height:24px;flex:0 0 auto;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:15px}.skip-link:focus{top:12px}.shell{display:flex;min-height:100dvh}.sidebar{width:264px;flex-shrink:0;background:var(--forest-deep);color:#f6f5ed;padding:34px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:750;letter-spacing:.08em;font-size:13px}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:5px;color:#b7cbbd}.side-caption{font-size:10px;letter-spacing:.18em;color:#a5bba9;margin:48px 14px 18px}.nav-link{display:flex;gap:12px;align-items:center;min-height:48px;text-decoration:none;font-size:14px;padding:12px;border-radius:12px;margin:5px 0;color:#cbd9cf}.nav-link .icon{width:20px;height:20px}.nav-link:hover{background:#28513f}.nav-link.selected{color:var(--forest);background:var(--lime);font-weight:650}.sidebar-bottom{margin-top:auto;padding-top:40px;font-size:12px;color:#b7cbbd;display:flex;gap:9px}.dot{background:#b5cb83;border-radius:50%;width:6px;height:6px;flex-shrink:0;margin-top:4px}main{min-width:0;flex:1}.topbar{padding:16px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;color:var(--muted);min-height:76px;background:var(--paper)}.mobile-brand{display:none}.account-button{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px;min-width:44px;justify-content:center}.account-button>.icon{padding:9px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:white}.desktop-account{font-size:12px;overflow-wrap:anywhere}.content{max-width:1120px;margin:auto;padding:32px 40px 28px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;color:var(--muted);margin-bottom:12px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,42px);line-height:1.15;letter-spacing:-.025em;font-weight:400;margin:0;overflow-wrap:anywhere}h2{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.3;font-weight:400}h3{font-size:16px;font-weight:650}.page-heading{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:20px}.count-pill{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;background:var(--lime);border-radius:50%;font-size:14px;color:var(--forest);font-weight:700}.intro{color:var(--muted);font-size:15px;line-height:1.7;margin:20px 0 30px;max-width:650px}.intro.compact{margin:18px 0 24px}.notice,.login-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:24px 0}.notice p,.login-card p{font-size:14px;line-height:1.7;color:var(--muted)}.notice h2{margin-top:0}.status{display:inline-block;padding:8px 12px;border-radius:8px;background:#eef0e4;color:var(--forest);font-size:12px;line-height:1.6;font-weight:550}.login-heading{padding-top:24px}.login-heading h1{font-size:clamp(34px,4vw,48px)}.login-card{max-width:460px}.login-card h2{margin:0 0 24px}.login-card label{display:block;font-size:14px;margin:20px 0 9px}.login-card input{width:100%;min-height:48px;border:1px solid #bcc9bb;padding:13px;border-radius:10px;background:#fcfcf9;font-size:16px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;width:100%;border-radius:12px;padding:14px;cursor:pointer;font-weight:650}.primary-button{background:var(--forest);color:white;border:0;margin-top:24px}.secondary-button{background:white;color:var(--forest);border:1px solid var(--line)}.error{color:#903c2e;background:#fff0e9;padding:16px;border-radius:12px;font-size:14px;line-height:1.6}.segmented{display:flex;width:min(100%,420px);gap:4px;background:#e8ede5;border-radius:13px;padding:4px}.segmented a{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;border-radius:10px;font-size:14px;color:var(--muted);font-weight:600}.segmented a[aria-current]{background:white;color:var(--forest);box-shadow:0 1px 5px #18352412}.search-box{display:flex;align-items:center;gap:12px;min-height:50px;border:1px solid var(--line);background:white;border-radius:13px;padding:0 14px;margin:20px 0;color:var(--muted)}.search-box>.icon{width:20px;height:20px}.search-box input{width:100%;min-width:0;min-height:48px;font-size:16px;border:0;background:none;outline-offset:0}.search-result{color:var(--muted);font-size:13px;margin:8px 0 16px}.departure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.departure-card{display:flex;align-items:center;gap:16px;text-decoration:none;background:white;padding:24px;border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:0 2px 2px #193d2a03}.departure-card>div{min-width:0;flex:1}.departure-card:hover{border-color:#9eaf99}.departure-card>.icon{width:18px;height:18px;color:#82917f}.card-icon,.module-icon,.action-icon{display:flex;align-items:center;justify-content:center;background:#eef1e5;color:var(--forest);border-radius:13px;flex:0 0 auto;width:46px;height:46px}.departure-card h2{font-family:inherit;font-size:18px;font-weight:650;line-height:1.4;margin:8px 0;overflow-wrap:anywhere}.date-label{font-size:12px;line-height:1.5;color:var(--muted);font-weight:550}.card-link{display:block;font-size:12px;color:var(--forest);margin-top:10px;font-weight:600}.departure-dates{color:var(--muted);font-size:14px;line-height:1.6;margin:-5px 0 28px}.back-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px;font-size:13px;color:var(--forest);max-width:100%;margin:-10px 0 20px}.back-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-link .icon{width:18px;height:18px}.module-group{margin:28px 0}.module-group h2{font-family:inherit;font-size:14px;font-weight:650;margin:0 0 14px;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-card{min-height:90px;padding:16px;background:white;border:1px solid var(--line);border-radius:14px;text-decoration:none;font-size:13px;font-weight:550;line-height:1.45;display:flex;align-items:center;gap:12px;min-width:0}.module-card>span:not(.module-icon){flex:1;overflow-wrap:anywhere}.module-card>.icon{width:16px;height:16px;color:#91a08d}.module-icon{width:38px;height:38px;border-radius:11px}.module-icon .icon{width:22px;height:22px}.module-card:hover,.module-card.active{border-color:#9eaf99;background:#f0f3e9}.module-switch{background:white;border:1px solid var(--line);border-radius:14px;padding:0 18px;margin:16px 0 22px}.module-switch>summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-size:14px;font-weight:600;color:var(--forest)}.module-switch>summary::-webkit-details-marker{display:none}.module-switch .module-card{background:var(--paper)}.feature-note{font-size:13px;line-height:1.65;color:var(--muted);border-left:3px solid #b9c99d;padding:4px 0 4px 14px;margin:20px 0 24px}.empty-state{padding:40px 24px;text-align:center;color:var(--muted);background:white;border:1px dashed #cdd7c7;border-radius:18px;margin:20px 0}.empty-state>.icon{height:38px;width:38px;color:#8fa17e}.empty-state h2{font-family:inherit;font-size:17px;font-weight:600;color:var(--ink)}.empty-state p{font-size:14px;line-height:1.7;max-width:390px;margin:12px auto}.record-list{display:grid;gap:12px}.record{border:1px solid var(--line);border-radius:15px;background:white;overflow:hidden;min-width:0}.record>summary{padding:18px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;min-height:76px}.record>summary::-webkit-details-marker{display:none}.record-summary{min-width:0;flex:1}.record-summary strong{display:block;font-size:15px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.record-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.record>summary>.icon{width:18px;height:18px;color:#859680}.record[open]>summary{border-bottom:1px solid var(--line)}.record[open]>summary>.icon{transform:rotate(90deg)}.record-body{padding:4px 20px 18px}.record-fields{margin:0}.record-fields>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:18px;padding:13px 0;border-bottom:1px solid #edf0e9}.record-fields>div:last-child{border:0}.record-fields dt{font-size:12px;color:var(--muted);line-height:1.6}.record-fields dd{font-size:14px;margin:0;line-height:1.7;overflow-wrap:anywhere;min-width:0}.record-fields a{color:var(--forest);display:inline-block;padding:3px 0;min-height:30px}.contact-actions{display:flex;gap:10px;margin:14px 0}.contact-actions a{min-height:44px;padding:12px 18px;background:#eef1e5;border-radius:10px;text-decoration:none;font-size:14px;font-weight:600;color:var(--forest)}.record-departure{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;color:var(--forest)}.record-departure .icon{height:15px;width:15px}.action-list{display:grid;gap:12px;margin:24px 0}.action-card{display:flex;align-items:center;gap:16px;padding:20px;background:white;border:1px solid var(--line);border-radius:16px;text-decoration:none;min-height:96px}.action-card>span:not(.action-icon){min-width:0;flex:1}.action-card strong{display:block;font-size:16px;font-weight:650;line-height:1.5}.action-card small{display:block;font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px}.action-card>.icon{width:18px;height:18px;color:#859680}.profile-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:16px;align-items:center}.profile-card>div{min-width:0}.profile-card strong{font-size:14px}.profile-card p{font-size:14px;color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0}.profile-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--lime);color:var(--forest);flex-shrink:0}.install-card{border:1px solid var(--line);background:white;border-radius:18px;padding:24px;margin:24px 0}.install-card h2{font-family:inherit;font-size:18px;font-weight:650}.install-card p{font-size:14px;line-height:1.7;color:var(--muted)}.install-help{font-size:14px}.install-help>summary{min-height:44px;padding:10px 0;cursor:pointer;line-height:1.6;color:var(--forest)}.install-card .small-note{font-size:12px}.logout-form{max-width:460px;margin:30px 0}.bottom-nav{display:none}.network-banner{padding:12px 20px;background:#fff0d9;color:#795c22;font-size:13px;line-height:1.6}.preview-banner{background:#fff1c4;color:#594312;text-align:center;padding:8px;font-size:12px;position:relative;z-index:50}.login-card .check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.login-card input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 auto;padding:0;margin:2px 0 0;accent-color:var(--forest)}footer{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;color:#84907f;font-size:11px}
@media(max-width:1100px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-grid{grid-template-columns:1fr}.sidebar{width:230px;padding:30px 18px}.content{padding:28px}.topbar{padding:14px 28px}}
@media(max-width:760px){body{padding-bottom:env(safe-area-inset-bottom,0px)}.shell{display:block;min-height:100dvh}.sidebar{display:none}.topbar{position:sticky;top:0;z-index:20;min-height:68px;padding:calc(10px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 10px max(20px,env(safe-area-inset-left,0px));background:#f6f7f2f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}.mobile-brand>span{font-size:10px;font-weight:750;letter-spacing:.1em;color:var(--forest)}.mobile-brand small{display:block;letter-spacing:0;font-size:12px;font-weight:500;margin-top:2px;color:var(--muted)}.desktop-header,.desktop-account{display:none}.account-button>.icon{height:38px;width:38px}.content{padding:24px max(20px,env(safe-area-inset-right,0px)) 28px max(20px,env(safe-area-inset-left,0px));max-width:620px}.signed-in .content{padding-bottom:calc(106px + env(safe-area-inset-bottom,0px))}h1{font-size:31px;line-height:1.2}.page-heading{margin-bottom:22px;gap:12px}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:10px}.count-pill{min-width:34px;height:34px;font-size:13px}.segmented{width:100%}.intro.compact{font-size:14px;margin:16px 0 22px}.departure-card{padding:18px 16px;gap:13px;min-height:132px;border-radius:16px}.departure-card h2{font-size:17px;margin:7px 0}.card-icon{width:42px;height:48px;border-radius:12px}.card-icon .icon{height:25px;width:25px}.date-label{font-size:11px}.departure-grid{gap:14px}.back-link{margin:-10px 0 16px;font-size:13px}.departure-dates{font-size:13px;margin:-8px 0 24px}.module-group{margin:26px 0}.module-group h2{font-size:13px;margin-bottom:12px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;min-height:126px;padding:16px;font-size:13px;line-height:1.45;border-radius:15px}.module-card>.icon{position:absolute;right:12px;top:24px;width:14px;height:14px}.module-card>span:not(.module-icon){flex:0}.module-icon{width:35px;height:35px;border-radius:10px}.module-icon .icon{height:21px;width:21px}.module-switch{padding:0 14px}.module-switch .module-card{font-size:12px;min-height:118px}.module-switch .module-group{margin:18px 0}.feature-note{font-size:12px;margin:16px 0 22px;padding-left:12px}.record>summary{padding:17px 16px;min-height:90px;gap:12px}.record-summary strong{font-size:15px}.record-preview{font-size:12px}.record-body{padding:4px 16px 16px}.record-fields>div{display:block;padding:13px 0}.record-fields dt{font-size:11px;margin-bottom:4px}.record-fields dd{font-size:14px}.record-fields a{min-height:40px;line-height:30px}.action-card{padding:18px 16px;gap:13px;min-height:104px}.action-card strong{font-size:15px}.action-card small{font-size:12px}.action-icon{width:42px;height:44px}.profile-card{padding:18px 16px}.profile-card p{font-size:13px}.install-card{padding:22px 18px}.install-help summary{font-size:13px}.install-help p{font-size:13px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:76px;padding:6px max(10px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);background:#fffffff7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -5px 20px #143e2205}.bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:58px;border-radius:13px;text-decoration:none;color:#819080;font-size:10px;font-weight:550}.bottom-nav .icon{width:23px;height:23px}.bottom-nav a.active{color:var(--forest);background:#eff2e7;font-weight:700}.login-heading{padding-top:24px}.login-heading h1{font-size:35px}.login-card{padding:25px 22px;margin-top:28px}.notice{padding:24px}.empty-state{padding:32px 20px}.signed-out .content{padding-bottom:34px}footer{font-size:10px;margin-top:32px}.network-banner{font-size:12px}.signed-in .preview-banner{position:relative}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,border-color .15s}.record>summary>.icon{transition:transform .15s}}
.composer{max-width:680px}.composer textarea{display:block;width:100%;font:inherit;font-size:16px;line-height:1.6;resize:vertical;padding:14px;border:1px solid #bcc9bb;border-radius:12px;background:#fcfcf9;min-height:180px}.composer .small-note{font-size:12px;line-height:1.6}.cancel-link{display:block;text-align:center;min-height:44px;padding:16px;color:var(--muted);font-size:14px}.compose-link{width:auto;text-decoration:none;display:inline-flex;padding:13px 20px;margin:0 0 16px}.composer button:disabled{opacity:.65;cursor:wait}
