:root{--ink:#173f35;--green:#116b58;--muted:#6a7e73;--line:#dfe8e1}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f3f6f2;color:var(--ink);font:14px system-ui,Segoe UI,sans-serif}header{background:#153f35;color:white;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}header b{letter-spacing:2px;font-size:19px}small{display:block;font-size:10px;letter-spacing:3px;margin-top:8px;color:#c4d9cd}main{max-width:1300px;margin:auto;padding:35px 25px}h1{font-size:30px}p{color:var(--muted);line-height:1.7}button,input,textarea{font:inherit}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:11px 16px;cursor:pointer}button:hover{background:#e6f1e8}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border:0}.primary:hover{background:#105444}.card{padding:26px;background:white;border:1px solid var(--line);border-radius:17px}.login{max-width:480px;margin:50px auto}.eyebrow{font-size:10px;color:var(--green);font-weight:800;letter-spacing:2px}label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px}input,textarea{padding:12px;border-radius:9px;border:1px solid var(--line);background:white;color:var(--ink);min-width:0}input:focus{outline:2px solid #9fcab0}form{display:grid;gap:18px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.intro h1{margin-bottom:5px}nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}nav button.active{background:var(--green);color:white}.toolbar{display:flex;gap:20px;align-items:center;margin-bottom:20px}.toolbar input{flex:1}.grid,.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}#peopleList{display:grid;grid-template-columns:1fr 1fr;gap:18px}.person h3{margin:0}.personhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{padding:7px 11px;background:#fff1d6;color:#956413;border-radius:30px;font-size:12px}.badge.ok{background:#e0f1e5;color:#227046}.details{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:24px 0}.details dt{font-size:11px;color:var(--muted);margin-bottom:5px}.details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.ticket-toggle{flex-direction:row;align-items:center;background:#f2f7f2;padding:15px;border-radius:10px;color:var(--ink);font-size:14px}.ticket-toggle input{width:20px;height:20px}.actions{display:flex;justify-content:flex-end;gap:10px}.wide{grid-column:1/-1}.photos{margin-top:25px}.photos figure{margin:0}.photos img{width:100%;max-height:520px;object-fit:contain}.photos figcaption{margin-top:18px}.check{flex-direction:row;align-items:center;gap:12px;padding:17px;border-bottom:1px solid var(--line);font-size:14px}.check input{width:18px;height:18px}dialog{width:95%;max-width:650px;border:0;border-radius:18px;padding:30px;color:var(--ink)}dialog::backdrop{background:#133b35aa}#toast{position:fixed;right:20px;bottom:20px;max-width:90%;padding:18px;background:#153f35;color:white;border-radius:12px;z-index:10}#loginError{color:#b24432}a{color:var(--green)}@media(max-width:750px){.grid,.fields,#peopleList{grid-template-columns:1fr}.intro{align-items:stretch;flex-direction:column}header{flex-direction:column;align-items:flex-start}main{padding:25px 16px}.login{margin:15px auto}.personhead{align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}}

body{min-height:100vh;display:flex;flex-direction:column}header{position:relative;z-index:30;min-height:92px}main{width:100%;flex:1}footer{text-align:center;padding:26px 20px;color:#657a6b;font-size:11px;letter-spacing:1.5px;border-top:1px solid var(--line);background:#edf3ed}body.menu-open main{margin-left:260px;width:calc(100% - 260px);max-width:none;padding-left:35px;padding-right:35px}body.menu-open footer{margin-left:260px}#sideMenu{position:fixed;left:0;top:92px;bottom:0;width:260px;z-index:20;background:#153f35;color:white;padding:28px 20px;display:flex;flex-direction:column;overflow-y:auto}#sideMenu .sidebar-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px;font-weight:750}#menuClose{background:transparent;color:white;border-color:#ffffff30;padding:7px 10px}#sideMenu p{color:#b8cfc2;font-size:12px}#sideMenu nav{display:flex;flex-direction:column;gap:12px;margin-top:28px}#sideMenu nav button{text-align:left;display:flex;gap:13px;background:transparent;color:#d8e9df;border:1px solid transparent;padding:15px}#sideMenu nav button:hover{background:#ffffff12}#sideMenu nav button.active{background:#ffffff20;border-color:#ffffff22;color:white}.sidebar-bottom{margin-top:auto;padding-top:40px;font-size:11px;color:#aac9b8}#menuBackdrop{position:fixed;inset:0;background:#082b2577;z-index:15;border:0;border-radius:0}#account{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#welcome{line-height:1.3}#menuToggle{white-space:nowrap}@media(max-width:1000px){body.menu-open #peopleList{grid-template-columns:1fr}body.menu-open .intro{align-items:stretch;flex-direction:column}}@media(max-width:750px){header{position:relative;min-height:auto}#sideMenu{top:0;z-index:50;width:min(290px,85vw);padding-top:30px}#menuBackdrop{z-index:40}body.menu-open main{margin:auto;width:100%;padding:25px 16px}body.menu-open footer{margin-left:0}#account{gap:8px}#account button{padding:9px 11px}#who{flex-basis:100%}.intro h1{font-size:26px}}

#sideMenu{top:0;bottom:0;width:76px;z-index:60;padding:20px 10px;overflow-x:hidden;box-shadow:6px 0 28px #103b3510}#sideMenu .sidebar-title{justify-content:center}#sideMenu .menu-brand,#sideMenu p,#sideMenu .sidebar-bottom,#sideMenu nav button span{display:none}#menuClose{font-size:23px;width:48px;height:48px;padding:0;flex-shrink:0}#sideMenu nav{margin-top:30px}#sideMenu nav button{justify-content:center;padding:14px 8px;min-height:50px}.nav-icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body.authenticated header{padding-left:100px}body.authenticated main,body.menu-open main{margin-left:76px;width:calc(100% - 76px);max-width:none;padding:35px}body.authenticated footer,body.menu-open footer{margin-left:76px}body.menu-open #sideMenu{width:270px;padding:20px}body.menu-open #sideMenu .sidebar-title{justify-content:space-between}body.menu-open #sideMenu .menu-brand,body.menu-open #sideMenu nav button span{display:block}body.menu-open #sideMenu p,body.menu-open #sideMenu .sidebar-bottom{display:block}body.menu-open #sideMenu nav button{justify-content:flex-start}#menuToggle{display:none}#reviewArea{margin-top:24px}.review-card{margin-bottom:18px}.review-status{padding:12px;border-radius:10px;background:#edf5ed;margin:15px 0}.missing-list{color:#a25324;line-height:1.8}.request{border-top:1px solid var(--line);padding:18px 0}.request p{margin:5px 0;overflow-wrap:anywhere}.request .actions{margin-top:12px}.review-card select{font:inherit;border:1px solid var(--line);padding:12px;border-radius:9px;color:var(--ink);background:white}.review-card input:disabled{background:#f0f3f0}body.menu-open #peopleList{grid-template-columns:1fr 1fr}body.menu-open .intro{flex-direction:row;align-items:center}@media(max-width:1000px){body.menu-open #peopleList{grid-template-columns:1fr}body.menu-open .intro{flex-direction:column;align-items:stretch}}@media(max-width:750px){body.authenticated header{padding-left:90px}body.authenticated main,body.menu-open main{margin-left:76px;width:calc(100% - 76px);padding:20px 12px}body.authenticated footer,body.menu-open footer{margin-left:76px}body.menu-open #sideMenu{width:min(270px,88vw)}#menuBackdrop{z-index:55}#sideMenu{z-index:60}.details{grid-template-columns:1fr}.card{padding:18px}.personhead{flex-direction:column}.intro h1{font-size:23px}}

.user-password{border-top:1px solid var(--line);padding:20px 0;max-width:650px}.user-password h3,.user-password p{margin:0}

/* Fixed frame and smoothly expanding icon menu. */
header{position:sticky;top:0;z-index:45;flex-shrink:0;box-shadow:0 3px 20px #133e3515}footer{position:fixed;bottom:0;left:0;right:0;z-index:70;margin:0!important;padding:15px 10px;font-size:10px;background:#edf3edf5;backdrop-filter:blur(10px)}body.authenticated footer{left:76px}main,body.authenticated main,body.menu-open main{padding-bottom:100px}#sideMenu{transition:width .32s cubic-bezier(.22,1,.36,1),padding .32s cubic-bezier(.22,1,.36,1);padding-bottom:65px}#sideMenu nav{flex-shrink:0}#sideMenu nav button{position:relative;justify-content:flex-start!important;padding:14px 15px;gap:14px;transition:background .2s,border-color .2s;color:#d8e9df;white-space:nowrap;overflow:hidden}#sideMenu nav button span,#sideMenu .menu-brand{display:block!important;opacity:0;visibility:hidden;max-width:0;overflow:hidden;transition:opacity .22s ease,max-width .32s ease,visibility .22s}body.menu-open #sideMenu nav button span,body.menu-open #sideMenu .menu-brand{opacity:1;visibility:visible;max-width:200px}#sideMenu .sidebar-title{display:flex;justify-content:flex-end}body.menu-open #sideMenu .sidebar-title{justify-content:space-between}#sideMenu p,#sideMenu .sidebar-bottom{display:block;opacity:0;visibility:hidden;max-height:0;overflow:hidden;transition:opacity .22s,max-height .32s}body.menu-open #sideMenu p,body.menu-open #sideMenu .sidebar-bottom{opacity:1;visibility:visible;max-height:100px}#sideMenu .sidebar-bottom{padding-top:20px}#sideMenu nav button .nav-icon{flex-shrink:0}#sideMenu nav button .notification-count{position:absolute;right:3px;top:3px;display:block;min-width:19px;padding:3px 5px;font-size:10px;border-radius:20px;color:white;background:#d76c44;line-height:1}#extraBaggage{margin-top:24px}#extraBaggage select{font:inherit;padding:12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.member-card{margin-bottom:24px}#toast{bottom:65px;z-index:80}.page{scroll-margin-top:140px}@media(max-width:750px){header{position:sticky;top:0}footer{font-size:8px;letter-spacing:.8px;padding:13px 5px}body.authenticated main,body.menu-open main{padding-bottom:95px}#sideMenu{padding-bottom:65px}body.menu-open #sideMenu{width:min(270px,88vw)}}@media(prefers-reduced-motion:reduce){#sideMenu,#sideMenu *{transition:none!important}}

.check input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;flex-shrink:0;width:22px;height:22px;border:2px solid #abbcb2;border-radius:5px;padding:0;background:white;cursor:pointer}.check input:checked{background:#2578df;border-color:#2578df}.check input:checked::after{content:'✓';font-size:17px;font-weight:800;color:white;line-height:1}.check input:disabled{opacity:1;cursor:default}.check input:focus-visible{outline:3px solid #91b6f1;outline-offset:3px}.bag-guide,.family-card{margin:24px 0}.bag-guide img{width:100%;border-radius:12px;display:block}.family-link{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.family-card form{max-width:550px}.visa-label{margin-bottom:16px}.visa-label select{font:inherit;padding:12px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:9px}#sideMenu{cursor:default}@media(max-width:750px){.family-link{align-items:flex-start;flex-direction:column}}
