:root{--navy:#082b68;--navy2:#063b8f;--blue:#0d6efd;--sky:#dcecff;--ink:#10264b;--muted:#60708b;--line:#dce4ef;--card:#fff;--green:#16b35d;--amber:#d59a24;--red:#dc3545;--shadow:0 16px 40px rgba(25,55,95,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f7faff}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.86rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sky{min-height:100vh;background:radial-gradient(circle at 86% 8%,rgba(255,255,255,.96) 0 5%,rgba(255,255,255,.45) 14%,transparent 27%),radial-gradient(ellipse at 12% 18%,rgba(255,255,255,.96) 0 12%,transparent 29%),radial-gradient(ellipse at 88% 30%,rgba(255,255,255,.9) 0 9%,transparent 26%),linear-gradient(180deg,#a8d7ff 0,#e8f4ff 25%,#f8fbff 48%,#f7f9fc 100%);position:relative;overflow-x:hidden}.sky:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 10%,rgba(255,245,199,.5),transparent 20%);pointer-events:none}.shell{position:relative;z-index:1;max-width:1440px;margin:auto;padding:18px 22px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;justify-content:center}.brand img{width:150px;max-height:78px;object-fit:contain}.menu-btn,.btn{border:0;border-radius:14px;padding:12px 18px;font-weight:800}.menu-btn{background:var(--navy);color:#fff;min-width:108px}.portal-title{font-size:clamp(2rem,5vw,4.1rem);line-height:.98;margin:26px 0 8px;letter-spacing:-.04em}.subtitle{font-size:clamp(1.15rem,2.4vw,1.85rem);font-weight:700;margin:0 0 26px}.panel{background:rgba(255,255,255,.94);border:1px solid rgba(176,198,225,.6);box-shadow:var(--shadow);border-radius:var(--radius)}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 24px rgba(25,55,95,.08);padding:18px}.grid{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid5{grid-template-columns:repeat(5,minmax(0,1fr))}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:14px}.wrap{flex-wrap:wrap}.icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#eaf3ff;color:var(--blue);font-size:1.45rem;font-weight:900;flex:0 0 auto}.badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:800}.badge.green{background:#e8f8ee;color:#08753b}.badge.amber{background:#fff5dc;color:#8a5a00}.badge.red{background:#ffe9ec;color:#a11125}.badge.blue{background:#e9f2ff;color:#0957b5}.btn{background:var(--navy);color:#fff}.btn.secondary{background:#fff;color:var(--navy);border:1px solid #b6c9e7}.btn.green{background:var(--green)}.btn.amber{background:#b87c11}.btn.red{background:#b42235}.btn.ghost{background:#eef4fb;color:var(--navy)}.btn:disabled{opacity:.55;cursor:not-allowed}.input,select,textarea{width:100%;border:1px solid #cad5e4;border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.input:focus,select:focus,textarea:focus{border-color:#6aa6ff;box-shadow:0 0 0 3px rgba(13,110,253,.1)}label{display:block;font-size:.84rem;font-weight:800;margin:0 0 6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.notice{padding:12px 14px;border-radius:13px;background:#eef5ff;color:#16477f;border:1px solid #d6e6fb}.notice.error{background:#fff0f1;color:#982437;border-color:#ffd1d7}.notice.success{background:#ecfbf1;color:#08763d;border-color:#c8f1d5}.section-title{font-size:1.25rem;margin:0 0 14px}.divider{height:1px;background:var(--line);margin:16px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;text-align:left;border-bottom:1px solid #e8edf4;vertical-align:middle}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#5f6f87;background:#f8fbff}.table tr:last-child td{border-bottom:0}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.tab{white-space:nowrap;border:1px solid #cbd8ea;background:#fff;color:var(--navy);border-radius:999px;padding:10px 14px;font-weight:800}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.auth-wrap{max-width:760px;margin:24px auto}.auth-card{padding:26px}.auth-card h2{font-family:Georgia,serif;text-align:center;font-size:2.1rem;margin:6px 0}.auth-card .intro{text-align:center;color:var(--muted);margin-bottom:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c8d6ea;border-radius:14px;overflow:hidden;margin-bottom:18px}.auth-tabs button{border:0;background:#fff;padding:13px;font-weight:800;color:var(--navy)}.auth-tabs button.active{background:var(--navy);color:#fff}.auth-actions{display:grid;gap:10px}.forgot{border:0;background:transparent;color:#075fc4;font-weight:800;padding:10px}
.programme-card{padding:18px 20px}.programme-card h3{font-size:1.6rem;margin:2px 0}.status-card{background:linear-gradient(135deg,#073473,#05275f);color:#fff;border-radius:24px;padding:22px;box-shadow:0 16px 34px rgba(5,45,109,.28)}.status-card .progress{display:grid;grid-template-columns:repeat(6,1fr);align-items:start;margin:18px 0 14px}.step{text-align:center;position:relative;min-width:0}.step:not(:last-child):after{content:"";position:absolute;height:4px;background:#315989;top:25px;left:58%;right:-42%;z-index:0}.step.done:not(:last-child):after{background:#28cf80}.step .dot{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#174a84;border:2px solid #6388b6;font-weight:900}.step.done .dot{background:#16ad5e;border-color:#6bebb0}.step.current .dot{background:#1479ff;border:3px solid #fff;box-shadow:0 0 18px #48b7ff}.step span{display:block;font-size:.78rem;margin-top:7px}.current-box{max-width:720px;margin:auto;background:rgba(34,111,224,.22);border:1px solid rgba(106,166,255,.45);border-radius:18px;padding:13px 18px;text-align:center}.current-box strong{font-size:1.8rem}.travel-accom{grid-template-columns:1fr 1fr;margin-top:16px}.big-info{padding:22px}.big-info h3{font-size:1.7rem;margin:3px 0 8px}.bottom-nav{position:sticky;bottom:10px;margin-top:18px;background:#06367b;border-radius:22px;padding:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;color:#fff;box-shadow:0 12px 30px rgba(2,30,75,.25)}.bottom-nav a{color:#d7e5f9;text-decoration:none;text-align:center;padding:8px;border-radius:14px;font-size:.8rem}.bottom-nav a.active{background:#0b66d8;color:#fff}
.dashboard-title{font-size:clamp(1.7rem,4vw,3.4rem);margin:24px 0 6px}.stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0}.stat{padding:17px}.stat .n{font-size:1.8rem;font-weight:900;margin-top:4px}.programme-list{grid-template-columns:repeat(3,minmax(0,1fr))}.programme-tile{padding:20px}.programme-tile h3{margin:4px 0;font-size:1.35rem}.day-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.day{padding:15px;border:1px solid #d7e0ed;background:#fff;border-radius:16px}.day strong{display:block}.ops-toolbar{display:flex;gap:10px;flex-wrap:wrap}.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.side{padding:16px;align-self:start;position:sticky;top:12px}.side button{width:100%;text-align:left;margin:4px 0}.content-panel{padding:18px}.member-picker{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:8px}.member-row{display:flex;align-items:center;gap:10px;padding:9px;border-bottom:1px solid #edf1f5}.member-row:last-child{border:0}.monitor-row{display:grid;grid-template-columns:110px 1.4fr 1fr 1.1fr 1fr 1fr;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #e7edf5}.monitor-row.head{background:#f4f8fd;font-size:.76rem;font-weight:900;text-transform:uppercase}.monitor-row:last-child{border:0}.job-card{padding:18px}.job-card h3{margin:0}.job-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.job-status{display:flex;gap:8px;flex-wrap:wrap}.job-status button{padding:9px 12px;border-radius:999px;border:1px solid #cdd9e8;background:#fff;color:var(--navy);font-weight:800}.job-status button.active{background:var(--navy);color:#fff}.mobile-menu{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);background:#fff;z-index:50;padding:24px;box-shadow:-20px 0 50px rgba(0,0,0,.18);transform:translateX(100%);transition:.2s}.mobile-menu.open{transform:none}.mobile-menu a{display:block;padding:14px;border-bottom:1px solid #edf1f6;text-decoration:none;color:var(--navy);font-weight:800}
@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.programme-list{grid-template-columns:1fr 1fr}.day-list{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.side{position:static}.monitor-row{grid-template-columns:90px 1.4fr 1fr 1fr}.monitor-row>*:nth-child(n+5){display:none}}
@media(max-width:720px){.shell{padding:14px 14px 34px}.brand img{width:112px}.portal-title{margin-top:18px}.auth-card{padding:20px}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.programme-list,.grid2,.grid3,.grid4,.grid5,.travel-accom{grid-template-columns:1fr}.day-list{grid-template-columns:1fr 1fr}.status-card{padding:18px 12px}.status-card .progress{overflow-x:auto;grid-template-columns:repeat(6,88px);padding-bottom:6px}.step:not(:last-child):after{left:58%;right:-42%}.bottom-nav{grid-template-columns:repeat(5,1fr);font-size:.68rem}.bottom-nav a{padding:6px 2px}.monitor-row{grid-template-columns:72px 1.5fr 1fr}.monitor-row>*:nth-child(n+4){display:none}.job-meta{grid-template-columns:1fr}.table{min-width:620px}}

/* Admin v1.0.2 usability improvements */
.stat-click{font:inherit;text-align:left;color:inherit;width:100%;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.stat-click:hover{transform:translateY(-2px);border-color:#8bb7ef;box-shadow:0 18px 42px rgba(25,55,95,.17)}.stat-click:focus-visible{outline:3px solid rgba(13,110,253,.28);outline-offset:2px}.stat-hint{margin-top:7px;font-size:.76rem;font-weight:800;color:#2f6fb9}.admin-search{display:grid;grid-template-columns:minmax(240px,1fr) 220px;gap:10px;margin:14px 0}.result-count{font-size:.86rem;color:var(--muted);font-weight:700;margin:0 0 10px}.empty-state{padding:28px 18px;text-align:center;color:var(--muted);font-weight:700}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.lock-meta{font-size:.82rem;color:var(--muted)}
@media(max-width:720px){.admin-search{grid-template-columns:1fr}}

/* v1.0.3 Planning Portal UX */
.planning-actionbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #dbe7f4;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff);margin-bottom:14px}
.planning-actionbar h3{margin:0 0 4px}.planning-actionbar .muted{max-width:680px}
.planning-primary{min-height:48px;padding:0 20px;border-radius:13px;font-weight:800;white-space:nowrap}
.planning-card{border:1px solid #dfe9f3;border-radius:17px;background:#fff;padding:17px;box-shadow:0 5px 18px rgba(26,55,86,.06)}
.planning-card+.planning-card{margin-top:12px}
.planning-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid #edf2f7}
.planning-card-actions .btn{min-height:44px;border-radius:12px;font-weight:750}
.planning-empty{padding:28px;text-align:center;border:1px dashed #b9cce0;border-radius:18px;background:#f9fcff}
.planning-empty h3{margin:0 0 6px}

.planning-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(9,26,45,.56);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.planning-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:white;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.planning-modal.wide{width:min(940px,100%)}
.planning-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e7eef5;position:sticky;top:0;background:#fff;z-index:2;border-radius:22px 22px 0 0}
.planning-modal-head h2{margin:0;font-size:1.25rem}.planning-modal-head p{margin:5px 0 0}
.planning-modal-close{border:0;background:#eef4f9;border-radius:11px;width:40px;height:40px;font-size:22px;cursor:pointer}
.planning-modal-body{padding:22px}
.planning-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.planning-field{display:flex;flex-direction:column;gap:7px}.planning-field.full{grid-column:1/-1}.planning-field label{font-weight:750;color:#17324d}
.planning-field input,.planning-field select{width:100%;min-height:48px;border:1px solid #cbd9e7;border-radius:12px;padding:0 13px;background:#fff;font:inherit;color:#142c43}
.planning-field input:focus,.planning-field select:focus,.member-search:focus{outline:3px solid rgba(31,96,157,.13);border-color:#477fb4}
.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-option{position:relative}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option label{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #cbd9e7;border-radius:13px;background:#f9fbfd;font-weight:800;cursor:pointer}.mode-option input:checked+label{background:#eaf3fc;border-color:#2f6ea9;color:#163d62;box-shadow:inset 0 0 0 1px #2f6ea9}
.planning-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px;grid-column:1/-1}.planning-form-actions .btn{min-height:46px;min-width:130px;border-radius:12px}
.member-tools{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px}.member-search,.member-city-filter{min-height:46px;border:1px solid #cbd9e7;border-radius:12px;padding:0 13px;background:#fff;font:inherit}
.member-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;border-radius:12px;background:#f2f7fb}
.member-list{border:1px solid #dce7f0;border-radius:14px;overflow:hidden;max-height:430px;overflow-y:auto}
.member-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf2f6;cursor:pointer}.member-row:last-child{border-bottom:0}.member-row:hover{background:#f8fbfe}.member-row input{width:19px;height:19px}.member-row .member-name{font-weight:750}.member-row .member-city{font-size:.84rem;color:#6e8194}.member-row.hidden{display:none}
.member-none{padding:22px;text-align:center;color:#71859a}

@media(max-width:700px){.planning-actionbar{align-items:stretch;flex-direction:column}.planning-primary{width:100%}.planning-form{grid-template-columns:1fr}.planning-field.full,.planning-form-actions{grid-column:auto}.planning-form-actions{flex-direction:column-reverse}.planning-form-actions .btn{width:100%}.member-tools{grid-template-columns:1fr}.planning-modal-backdrop{padding:8px;align-items:flex-end}.planning-modal,.planning-modal.wide{max-height:96vh;border-radius:20px 20px 0 0}.planning-card-actions .btn{flex:1 1 150px}}

/* v1.0.4 Member + Planning usability */
.planning-stat{cursor:pointer;border:1px solid rgba(125,157,194,.28);background:#fff}
.planning-stat .stat-hint{display:block}
.stat-detail-list{display:grid;gap:10px}
.stat-detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #dfe9f3;border-radius:14px;background:#fff}
.stat-detail-row strong{display:block;margin-bottom:3px}
#programmeChooser.hidden{display:none}
.member-status-main{min-width:190px;min-height:48px;font-weight:850}
.member-status-options{display:grid;gap:10px}
.member-status-option{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;border:1px solid #d8e4ef;background:#fff;border-radius:16px;padding:13px 14px;color:#15334f;cursor:pointer;transition:.15s}
.member-status-option:hover{border-color:#6f9dcc;background:#f7fbff;transform:translateY(-1px)}
.member-status-option.selected{border-color:#43a978;background:#effbf5;box-shadow:inset 0 0 0 1px #43a978}
.member-status-option:disabled{opacity:.62;cursor:wait}
.member-status-option.saving{background:#eef6ff;border-color:#4d8fcf}
.member-status-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#edf5fc;font-size:1.2rem;font-weight:900;color:#174c7d}
.member-status-option strong{font-size:.98rem}.member-status-option small{display:block;color:#6b8095;margin-top:3px;line-height:1.3}.member-status-arrow{font-size:1.7rem;color:#6d88a2}.member-status-cancel{width:100%;margin-top:14px;min-height:46px}
@media(max-width:720px){.stat-detail-row{align-items:flex-start}.member-status-modal{width:100%}.member-status-option{grid-template-columns:44px minmax(0,1fr) auto;padding:12px}.member-status-option .badge{font-size:.68rem}.planning-stat{min-height:118px}}

/* v1.0.5 — clearer member itinerary + safe delete controls */
.member-section-heading{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.05;margin:0 0 12px;color:var(--navy);letter-spacing:-.02em}.member-flight-card{height:auto}.flight-route{font-size:1.05rem;font-weight:750;color:#243c5a}.flight-time-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.flight-time-box{background:#f5f9ff;border:1px solid #dce9f8;border-radius:16px;padding:14px}.flight-time-box span{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#667892;margin-bottom:6px}.flight-time-box strong,.flight-time-box b{display:block}.flight-time-box strong{font-size:1.05rem;color:var(--navy)}.flight-time-box b{font-size:1.35rem;margin-top:3px}.flight-time-arrow{font-size:1.5rem;font-weight:900;color:#5b79a1}.flight-transport-block{padding:4px 0 10px}.flight-transport-block+.flight-transport-block{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}.flight-transport-title{font-size:1.05rem;font-weight:900;color:var(--navy);margin-bottom:9px}.flight-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.flight-detail-grid>div{background:#f8fafc;border:1px solid #e3eaf3;border-radius:13px;padding:11px}.flight-detail-grid span{display:block;font-size:.74rem;font-weight:800;color:#708096;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.flight-detail-grid strong{display:block;overflow-wrap:anywhere}.delete-warning{display:flex;gap:14px;align-items:flex-start;background:#fff1f2;border:1px solid #ffd0d6;border-radius:16px;padding:16px;color:#8e1d2c}.delete-warning-icon{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#b42235;color:#fff;font-weight:900;font-size:1.2rem}.delete-warning p{margin:6px 0 0;color:#7d4650}.planning-card-actions .btn.red{margin-left:auto}
@media(max-width:700px){.flight-time-grid{grid-template-columns:1fr}.flight-time-arrow{transform:rotate(90deg);text-align:center;margin:-4px 0}.flight-detail-grid{grid-template-columns:1fr}.member-section-heading{font-size:1.7rem}.planning-card-actions .btn.red{margin-left:0}}


/* v1.0.6 — instant click feel, modern member cards, Food & Service */
button,.btn,.tab,.day,.programme-tile,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn,.menu-btn,.tab,.day,.stat-click,.programme-tile,.job-status button,.member-status-option,.member-search-result{transition:transform .07s ease,box-shadow .09s ease,filter .09s ease,border-color .09s ease!important}.btn:active,.menu-btn:active,.tab:active,.day:active,.stat-click:active,.programme-tile:active,.job-status button:active,.member-status-option:active,.member-search-result:active,.tap-pressed{transform:scale(.975)!important;filter:brightness(.97)}.btn:not(:disabled):hover{box-shadow:0 8px 18px rgba(8,43,104,.14)}.instant-loading,.planning-loading{animation:loadingPulse 1s ease-in-out infinite alternate}.planning-loading{padding:22px;border-radius:16px;background:#f5f9ff;border:1px solid #d9e8fa;font-weight:800;color:#31557e}@keyframes loadingPulse{from{opacity:.62}to{opacity:1}}
.member-modern-title{font-weight:950;letter-spacing:-.055em;line-height:.94;background:linear-gradient(105deg,#06285f 0%,#0b5bc1 58%,#0c7dc9 100%);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:920px;position:relative;padding-bottom:14px}.member-modern-title:after{content:"";display:block;width:86px;height:5px;border-radius:999px;background:linear-gradient(90deg,#0d6efd,#73b6ff);margin-top:14px;box-shadow:0 5px 18px rgba(13,110,253,.28)}
.member-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.food-service-section{grid-column:1/-1}.member-colour-flight{background:linear-gradient(145deg,#f5faff,#eaf4ff);border-color:#cfe3fa}.member-colour-accommodation{background:linear-gradient(145deg,#f8f7ff,#efefff);border-color:#d9d7fb}.member-colour-food{background:linear-gradient(145deg,#fffaf0,#fff3d9);border-color:#f3dfad}.flight-heading{color:#0b5cb7}.accommodation-heading{color:#6354a5}.food-heading{color:#9a6508}.member-colour-flight .flight-time-box,.member-colour-flight .flight-detail-grid>div{background:rgba(255,255,255,.72)}
.food-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.food-day-head h3{font-size:1.45rem;margin:3px 0 0}.meal-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 0;border-top:1px solid rgba(170,126,32,.18)}.meal-row:first-of-type{margin-top:12px}.meal-label{display:flex;align-items:center;gap:9px;color:#7a5411}.meal-label span{font-size:1.3rem}.meal-place{display:grid;gap:3px}.meal-place strong{font-size:1.03rem}.meal-place span{font-size:.85rem;color:var(--muted)}.food-location-btn{min-width:106px;text-align:center}.food-note{margin-top:12px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.65);color:#6b5529}
.planning-export-bar{margin:22px 0 0;padding:16px 18px;background:rgba(255,255,255,.88);border:1px solid #d5e1ef;border-radius:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;box-shadow:0 8px 24px rgba(25,55,95,.07)}.export-excel-btn{min-width:170px}.food-planning-card{border-color:#eeddb4;background:#fffdf7}.food-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.food-planning-grid>div{padding:14px;border:1px solid #eadbb8;background:#fffaf0;border-radius:14px}.food-planning-grid span,.food-planning-grid small{display:block;color:var(--muted);font-weight:700}.food-planning-grid strong{display:block;font-size:1.15rem;margin:4px 0}.meal-form-title{font-size:1.05rem;font-weight:900;color:#775314;padding:9px 0 2px;border-bottom:1px solid #ecdcae}
@media(max-width:720px){.member-info-grid{grid-template-columns:1fr}.food-service-section{grid-column:auto}.meal-row{grid-template-columns:1fr;gap:8px}.food-location-btn{width:100%}.member-modern-title{font-size:clamp(2rem,10vw,3rem)}.food-planning-grid{grid-template-columns:1fr}.planning-export-bar{align-items:stretch}.export-excel-btn{width:100%}}


/* v1.0.7 — planning usability + compact member cards */
.day.active{background:linear-gradient(145deg,#062d67,#0a4b9a);border-color:#062d67;color:#fff;box-shadow:0 10px 24px rgba(6,45,103,.24);transform:translateY(-1px)}
.day.active .day-number,.day.active .day-date,.day.active .muted{color:#dbeaff!important}.day{position:relative;text-align:left;cursor:pointer;min-height:92px}.day-check{position:absolute;right:10px;top:9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0a4b9a;font-weight:900;opacity:0;transform:scale(.7);transition:.12s}.day.active .day-check{opacity:1;transform:scale(1)}.day-number{display:block;color:#65758c;font-weight:800;margin-bottom:4px}.day-date{display:block;color:#65758c;margin-top:5px}
.planning-workspace-panel{padding:22px}.planning-workspace-head{padding-bottom:15px;border-bottom:1px solid #e8eef6}.planning-day-heading,.planning-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;margin-bottom:9px;color:#173a68}.planning-day-list{margin-top:0}.planning-nav-heading{margin-top:20px}.planning-tabs{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:9px;overflow:visible}.planning-tabs .tab{border-radius:14px;min-height:52px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center}.planning-tabs .tab span{font-size:1.05rem}.planning-tabs .tab.active{box-shadow:0 8px 18px rgba(6,45,103,.2)}
.planning-context-strip{margin-top:12px;padding:12px 14px;border-radius:15px;background:#eef6ff;border:1px solid #d4e7fb;display:flex;align-items:center;gap:12px;color:#244f7d}.planning-context-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#0b5cb7;font-size:1.1rem;box-shadow:0 3px 10px rgba(23,68,118,.08)}.planning-context-strip strong{display:block;color:#133d6e}.planning-context-strip span:not(.planning-context-icon){display:block;font-size:.88rem;margin-top:2px}
.food-actionbar{background:linear-gradient(145deg,#fffdf6,#fff8e4);border-color:#f2e1b7}.food-empty-friendly{border:1px dashed #e2c77f;border-radius:22px;background:linear-gradient(145deg,#fffdf8,#fff8e8);padding:34px 24px;text-align:center}.food-empty-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 auto 12px;background:#fff0c5;font-size:2rem}.food-empty-friendly h2{margin:0 0 6px;color:#6f4c0c}.food-empty-friendly p{max-width:620px;margin:0 auto;color:#735f38}.food-steps{display:flex;justify-content:center;gap:12px;margin:20px auto;flex-wrap:wrap}.food-steps>div{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #eed9a4}.food-steps b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#9b6b0c;color:#fff}.food-start-btn{min-width:220px}.food-friendly-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meal-plan-card{display:flex;align-items:center;gap:14px;border:1px solid #e5eaf1;border-radius:20px;padding:18px;background:#fff;min-height:126px}.meal-plan-card.breakfast{background:linear-gradient(145deg,#fffdf7,#fff5dc);border-color:#efdca9}.meal-plan-card.lunch{background:linear-gradient(145deg,#fffaf4,#fff0db);border-color:#efd3ad}.meal-plan-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.9);font-size:1.5rem;flex:0 0 auto}.meal-plan-content{min-width:0;flex:1}.meal-plan-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#8a661f}.meal-plan-content h3{margin:4px 0 8px;font-size:1.2rem}.meal-plan-meta{display:grid;gap:4px;color:#6c6b67;font-size:.87rem}.meal-plan-meta span{overflow-wrap:anywhere}.meal-map-btn{flex:0 0 auto}.food-service-note{grid-column:1/-1;padding:14px 16px;border-radius:15px;background:#fff;border:1px solid #eadfca;display:grid;gap:4px}.food-service-note span{color:#665b49}.food-friendly-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding:15px;border:1px solid #e5ebf2;border-radius:17px;background:#f9fbfd}.food-friendly-actions .btn:first-child{min-width:190px}.food-friendly-actions .btn.red{margin-left:auto}
.food-friendly-form{display:grid;gap:16px}.meal-edit-card{border:1px solid #e1e7ef;border-radius:20px;padding:17px;background:#fbfdff}.meal-edit-card.breakfast{background:#fffaf0;border-color:#f0deb2}.meal-edit-card.lunch{background:#fff7ee;border-color:#efd5b4}.meal-edit-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.meal-edit-head h3{margin:0 0 2px}.meal-edit-head p{margin:0;color:#6e7681;font-size:.88rem}.meal-edit-number{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#0a4b9a;color:#fff;font-weight:900}.food-notes-field{padding:2px}.food-form-actions{padding-top:0}
.member-colour-flight{background:linear-gradient(145deg,#edf7ff,#dceeff);border-color:#abd2f7}.member-colour-accommodation{background:linear-gradient(145deg,#fff4f8,#ffe4ef);border-color:#f3bfd2}.compact-flight-card{padding:16px 17px}.compact-flight-head{display:flex;align-items:center;gap:11px}.compact-flight-icon{width:45px;height:45px;border-radius:14px}.compact-flight-title h3{font-size:1.22rem;margin:1px 0 3px}.compact-flight-times{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:13px;padding:11px 12px;background:rgba(255,255,255,.68);border:1px solid #cce2f7;border-radius:15px}.compact-flight-times>div:not(.compact-flight-arrow){display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:baseline}.compact-flight-times span{grid-column:1/-1;font-size:.72rem;text-transform:uppercase;font-weight:900;color:#637791}.compact-flight-times strong{font-size:.9rem;color:#173a68}.compact-flight-times b{font-size:1.03rem}.compact-flight-arrow{font-weight:900;color:#4a78aa}.compact-transport-list{margin-top:11px;border:1px solid #cfe0f2;border-radius:15px;overflow:hidden;background:rgba(255,255,255,.62)}.compact-transport-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(120px,.75fr);gap:9px;align-items:center;padding:10px 11px}.compact-transport-row+.compact-transport-row{border-top:1px solid #d6e5f4}.compact-transport-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e7f2ff;color:#0b5cb7;font-weight:900}.compact-transport-main,.compact-vehicle{display:grid;gap:1px;min-width:0}.compact-transport-main span,.compact-vehicle span{font-size:.72rem;color:#6b7a8d}.compact-transport-main strong,.compact-vehicle strong{font-size:.88rem;overflow-wrap:anywhere}.compact-vehicle{text-align:right}
@media(max-width:1050px){.planning-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.planning-workspace-panel{padding:15px}.planning-day-heading,.planning-nav-heading{align-items:flex-start;flex-direction:column;gap:2px}.planning-tabs{grid-template-columns:repeat(2,1fr)}.planning-tabs .tab{white-space:normal;min-height:56px}.planning-context-strip{align-items:flex-start}.food-friendly-layout{grid-template-columns:1fr}.meal-plan-card{align-items:flex-start;flex-wrap:wrap}.meal-map-btn{width:100%}.food-friendly-actions{flex-direction:column}.food-friendly-actions .btn,.food-friendly-actions .btn.red{width:100%;margin-left:0}.compact-flight-times{grid-template-columns:1fr auto 1fr}.compact-flight-times>div:not(.compact-flight-arrow){grid-template-columns:1fr}.compact-flight-times span{grid-column:auto}.compact-transport-row{grid-template-columns:32px 1fr}.compact-vehicle{grid-column:2;text-align:left;padding-top:2px}.day{min-height:88px}}


/* v1.0.8 usability improvements */
.recall-btn,.recall-confirm{background:#fff4d8!important;color:#7b5100!important;border:1px solid #e5bd5e!important}.recall-btn:hover,.recall-confirm:hover{background:#ffeab8!important}.recall-warning{display:flex;gap:14px;align-items:flex-start;background:#fff9e9;border:1px solid #efd08b;border-radius:16px;padding:16px;color:#74500d}.recall-warning-icon{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:grid;place-items:center;background:#a56d05;color:#fff;font-size:1.3rem;font-weight:900}.recall-warning p{margin:6px 0 0;color:#775f31}
.food-form-intro{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:#eef6ff;border:1px solid #cfe2f7;color:#173f70}.food-form-intro span{font-size:.88rem;color:#5f7390}.meal-friendly-fields{display:grid;gap:13px}.meal-time-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:3px}.time-preset{border:1px solid #d1dcea;background:#fff;border-radius:12px;padding:11px 8px;font-weight:900;color:#24456d;cursor:pointer;transition:.12s ease}.time-preset:active{transform:scale(.97)}.time-preset.active{background:#0a4b9a;color:#fff;border-color:#0a4b9a;box-shadow:0 5px 14px rgba(10,75,154,.18)}.custom-time-row{display:grid;grid-template-columns:auto minmax(150px,220px) 1fr;gap:10px;align-items:center;margin-top:10px;padding:10px 12px;background:rgba(255,255,255,.72);border:1px solid #dfe6ef;border-radius:13px}.custom-time-row>span{font-size:.82rem;font-weight:900;color:#65758a}.custom-time-row input{min-height:44px;border:1px solid #cbd8e7;border-radius:10px;padding:7px 10px;background:#fff}.friendly-time-preview{color:#0a4b9a;font-size:1rem}
.stay-head{display:flex;align-items:flex-start;gap:12px}.stay-head h3{margin:2px 0 4px;font-size:1.35rem}.stay-time-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:15px}.stay-time-box{display:grid;gap:3px;padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.72);border:1px solid #f0bfd1}.stay-time-box span{font-size:.74rem;text-transform:uppercase;font-weight:900;letter-spacing:.04em;color:#9a4f6d}.stay-time-box strong{font-size:.92rem;color:#51263a}.stay-time-box b{font-size:1.18rem;color:#8f3158}.stay-time-arrow{font-size:1.35rem;font-weight:900;color:#b36383}.stay-location-row{margin-top:12px;display:flex;justify-content:flex-end}.stay-location-row .btn{width:auto}
.staff-management-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.staff-management-head h2{margin-bottom:4px}.staff-role-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.staff-role-summary>div{display:grid;place-items:center;padding:14px;border:1px solid #d9e4f0;border-radius:15px;background:#f8fbff}.staff-role-summary strong{font-size:1.55rem;color:#0a4b9a}.staff-role-summary span{font-size:.78rem;font-weight:800;color:#60738c}.staff-access-list{display:grid;gap:10px}.staff-access-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) auto;gap:14px;align-items:center;border:1px solid #dce6f1;border-radius:17px;padding:14px;background:#fff}.staff-access-person{display:flex;align-items:center;gap:11px;min-width:0}.staff-access-person>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.staff-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:#e8f2ff;color:#0a4b9a;font-weight:900;font-size:1.1rem}.staff-access-role{display:grid;gap:2px}.staff-access-role>span{font-size:.72rem;text-transform:uppercase;font-weight:900;color:#74839a}.staff-access-role small{color:#6d7c8f}.staff-access-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.staff-role-picker{display:grid;gap:9px}.staff-role-picker-title{font-weight:900;color:#183d68;margin-bottom:2px}.staff-role-card{position:relative;display:grid;grid-template-columns:48px 1fr 28px;gap:11px;align-items:center;border:2px solid #dce5ef;border-radius:16px;padding:13px 14px;background:#fff;cursor:pointer}.staff-role-card input{position:absolute;opacity:0;pointer-events:none}.staff-role-card:has(input:checked){border-color:#0a4b9a;background:#edf6ff;box-shadow:0 0 0 3px rgba(10,75,154,.08)}.staff-role-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef4fb;font-size:1.3rem}.staff-role-card strong,.staff-role-card small{display:block}.staff-role-card small{margin-top:2px;color:#6c7c91}.staff-role-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e6edf5;color:transparent;font-weight:900}.staff-role-card:has(input:checked) .staff-role-check{background:#0a4b9a;color:#fff}.staff-credential-panel{display:grid;gap:6px;padding:14px;border:1px solid #d8e4f0;border-radius:15px;background:#f8fbff}.staff-credential-panel>label{font-weight:900;color:#183d68}.staff-access-form{display:grid;gap:15px}
@media(max-width:800px){.meal-time-presets{grid-template-columns:repeat(3,1fr)}.custom-time-row{grid-template-columns:1fr}.staff-role-summary{grid-template-columns:1fr 1fr 1fr}.staff-access-card{grid-template-columns:1fr}.staff-access-actions{justify-content:flex-start}.staff-access-actions .btn{width:100%}.stay-time-grid{grid-template-columns:1fr}.stay-time-arrow{transform:rotate(90deg);text-align:center;margin:-6px 0}.stay-location-row .btn{width:100%}}

/* v1.0.9 multi-portal staff access */
.staff-role-summary-four{grid-template-columns:repeat(4,1fr)}
.staff-portal-badges{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.staff-shared-credentials{display:grid;gap:10px}
.staff-role-card input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
@media(max-width:800px){.staff-role-summary-four{grid-template-columns:1fr 1fr}.staff-portal-badges{margin-top:6px}}

/* v1.0.10 — clearer portal identity + friendlier Admin forms */
.portal-role-heading{margin:24px 0 14px;max-width:980px}.portal-role-kicker{font-size:.84rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#57718e;margin-bottom:4px}.portal-role-heading h1{margin:0;font-size:clamp(2.35rem,5.4vw,4.8rem);line-height:.95;letter-spacing:-.055em;font-weight:950;color:#06285f}.portal-role-heading .portal-role-note{margin-top:10px;font-size:1rem;font-weight:700;color:#607087}.admin-role-heading h1{color:#591426}.admin-role-heading .portal-role-kicker{color:#9b4a5d}.planning-role-heading h1{color:#06285f}.role-welcome{font-size:1.05rem;margin-bottom:18px}.admin-friendly-form{display:grid;gap:18px}.admin-form-intro{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:#f0f6ff;border:1px solid #d9e8fb}.admin-form-intro.ministry{background:#fff4f6;border-color:#f4d9df}.admin-form-step{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#082b60;color:#fff;font-size:1.25rem;font-weight:950;flex:0 0 auto}.admin-form-intro.ministry .admin-form-step{background:#7c2037}.admin-form-intro strong{display:block;font-size:1.08rem}.admin-form-intro span{display:block;color:#65748a;font-size:.88rem;margin-top:3px}.admin-help-note{line-height:1.45}.admin-large-input{font-size:1.05rem;padding:16px}.programme-admin-head{margin-bottom:18px}.programme-admin-grid{margin-top:8px}.programme-admin-card{display:flex;align-items:center;gap:14px;min-height:108px}.programme-admin-card h3{margin:0 0 10px;font-size:1.12rem}.programme-admin-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eaf2ff;color:#0d5db8;font-weight:950;font-size:1.2rem;flex:0 0 auto}
@media(max-width:720px){.portal-role-heading{margin-top:18px}.portal-role-kicker{font-size:.72rem}.portal-role-heading h1{font-size:clamp(2.25rem,12vw,3.35rem)}.portal-role-heading .portal-role-note{font-size:.9rem}.admin-form-intro{align-items:flex-start}.programme-admin-card{min-height:auto}}

/* v1.0.11 usability refinements */
.stat-click.metric-selected{background:linear-gradient(145deg,#073774,#0b56ad);border-color:#073774;color:#fff;box-shadow:0 13px 30px rgba(6,44,103,.28);transform:translateY(-2px)}
.stat-click.metric-selected .muted,.stat-click.metric-selected .stat-hint,.stat-click.metric-selected .n{color:#fff}
.stat-click.metric-selected .stat-hint{opacity:.88}

.reset-pin-page .shell{max-width:860px}.reset-brand{margin-top:8px}.reset-role-heading{text-align:center;margin-left:auto;margin-right:auto}.reset-role-heading .portal-role-kicker{color:#365f8d}.reset-role-heading h1{font-size:clamp(2.4rem,7vw,4.35rem);color:#082f67}.reset-pin-card{max-width:560px;text-align:left;padding:30px}.reset-pin-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eaf4ff;color:#0a4b9a;font-size:1.6rem;margin:0 auto 10px}.reset-pin-card h2{text-align:center;font-size:1.65rem;margin:6px 0}.reset-pin-help{text-align:center;color:#65768c;line-height:1.5;margin:0 auto 22px;max-width:430px}.reset-pin-form{display:grid;gap:15px}.reset-pin-input{text-align:center;font-size:1.45rem;letter-spacing:.22em;min-height:58px;font-weight:900}.field-help{display:block;font-size:.78rem;color:#77879a;margin-top:5px}.reset-pin-submit{width:100%;min-height:52px;font-size:1rem}.reset-result{margin-top:14px}.reset-back-link{display:block;text-align:center;margin-top:18px;color:#245e9e;text-decoration:none;font-weight:850}

.programme-manage-tile{display:flex;flex-direction:column;min-height:190px}.programme-card-actions{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:8px;margin-top:auto;padding-top:14px}.programme-card-actions .btn{padding:10px 11px}.btn.red.soft{background:#fff0f2;color:#a72234;border:1px solid #f1c5cc}.programme-delete-warning strong{font-size:1.02rem}

.planning-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.schedule-overview-card{padding:18px;min-width:0}.schedule-overview-card.flight{background:linear-gradient(145deg,#f4f9ff,#e8f3ff)}.schedule-overview-card.stay{background:linear-gradient(145deg,#fff7fa,#ffedf3)}.schedule-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.schedule-card-head h3{margin:0 0 4px;font-size:1.3rem}.schedule-card-head p{margin:0;color:#687b92;font-size:.88rem;line-height:1.4}.schedule-card-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:0 6px 16px rgba(15,49,91,.08);font-size:1.3rem;flex:0 0 auto}.schedule-scroll{display:grid;gap:12px;max-height:430px;overflow:auto;padding-right:3px}.schedule-group{display:grid;gap:6px}.schedule-group h4{margin:3px 0 2px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#4b6687}.schedule-line{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #d9e5f1;border-radius:14px;background:rgba(255,255,255,.88);padding:12px;cursor:pointer;color:#183d68}.schedule-line>span:first-child{min-width:0}.schedule-line strong,.schedule-line small{display:block}.schedule-line small{margin-top:3px;color:#718096;white-space:normal}.schedule-count{font-size:.8rem;font-weight:900;color:#0b5aa9;white-space:nowrap}.schedule-people-summary{display:flex;align-items:baseline;gap:10px;padding:12px 15px;background:#eff6ff;border-radius:14px;margin-bottom:12px}.schedule-people-summary strong{font-size:1.8rem;color:#0a4b9a}.schedule-people-summary span{font-weight:800;color:#62748b}.schedule-people-list{display:grid;gap:7px}.schedule-people-list>div{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}.schedule-people-list>div>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#0a4b9a;font-size:.76rem;font-weight:900}

.planning-day-heading>div{display:grid;gap:3px}.day-manage-card{border:2px solid transparent;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 18px rgba(30,58,94,.07)}.day-manage-card.active{border-color:#073d82;box-shadow:0 10px 24px rgba(6,47,104,.2)}.day-manage-card .day{width:100%;border:0;border-radius:0;min-height:100px}.day-manage-card .day.active{background:linear-gradient(145deg,#063a7b,#0a56ad);color:#fff}.day-manage-card .day.active .small{color:rgba(255,255,255,.85)}.day-card-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e4eaf2}.day-card-actions button{border:0;background:#f7faff;color:#22578f;padding:9px;font-weight:850;cursor:pointer}.day-card-actions button+button{border-left:1px solid #e4eaf2}.day-card-actions .danger{color:#a31f32;background:#fff5f6}

.monitor-friendly-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.monitor-friendly-head h3{margin:3px 0 5px;font-size:1.55rem}.monitor-friendly-head p{margin:0;max-width:760px;color:#667990;line-height:1.45}.monitor-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.monitor-summary-card{padding:14px;border-radius:16px;border:1px solid #dce6f2;background:#f7fbff;display:grid;gap:4px}.monitor-summary-card span{font-size:.76rem;font-weight:850;color:#687b92}.monitor-summary-card strong{font-size:1.7rem;color:#0a4b9a}.monitor-summary-card.attention{background:#fff2f3;border-color:#f1c8ce}.monitor-summary-card.attention strong{color:#a52033}.monitor-help-strip{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#f5f8fc;border:1px solid #dfe7f1;color:#5e7188;font-size:.86rem;margin-bottom:13px}.monitor-help-strip strong{color:#243f61;white-space:nowrap}.monitor-friendly-list{display:grid;gap:12px}.monitor-journey-card{border:1px solid #dce6f1;border-radius:19px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(19,50,88,.07)}.monitor-journey-card.needs-attention{border-color:#eb9eaa;box-shadow:0 8px 22px rgba(153,31,49,.09)}.monitor-journey-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:13px;border-bottom:1px solid #edf1f6}.monitor-flight-name{display:inline-block;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#0b5aa9}.monitor-journey-top h4{font-size:1.2rem;margin:4px 0 0}.monitor-time-box{text-align:right;display:grid;gap:2px}.monitor-time-box span,.monitor-time-box small{font-size:.72rem;color:#718096}.monitor-time-box strong{font-size:1.15rem;color:#092e65}.monitor-journey-grid{display:grid;grid-template-columns:1.5fr 1fr 1.25fr;gap:16px;padding-top:14px}.monitor-label{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#75859a;margin-bottom:6px}.monitor-big-value{font-size:1.4rem;color:#0a4b9a}.monitor-status-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.monitor-status-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.monitor-status-pill.muted-pill{background:#edf1f5;color:#637286}.monitor-status-pill.blue-pill{background:#e7f2ff;color:#0b5cae}.monitor-status-pill.navy-pill{background:#e4ecf8;color:#123c72}.monitor-status-pill.amber-pill{background:#fff2d8;color:#8a5a00}.monitor-status-pill.purple-pill{background:#f0e9ff;color:#6c3baa}.monitor-status-pill.green-pill{background:#e6f8ed;color:#08733a}.monitor-warning{display:block;margin-top:7px;font-size:.75rem;font-weight:900;color:#aa2335}.pickup-mini-steps{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.pickup-mini-steps span{font-size:.65rem;padding:4px 6px;border-radius:999px;background:#edf1f5;color:#7a8797}.pickup-mini-steps span.done{background:#e4f3ff;color:#0a5ca9;font-weight:850}.monitor-attention-banner{margin-top:13px;padding:9px 11px;border-radius:11px;background:#fff0f1;color:#992238;font-size:.8rem;font-weight:850}

.staff-search-explain{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:15px;background:#eff6ff;border:1px solid #d5e6fa;margin-top:15px}.staff-search-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#fff;color:#0a4b9a;font-size:1.25rem;font-weight:900}.staff-search-explain strong,.staff-search-explain span{display:block}.staff-search-explain span{font-size:.82rem;color:#66798f;margin-top:2px}.member-access-results{margin-top:18px;border-top:1px solid #e2e9f2;padding-top:16px}.member-access-heading{margin-bottom:8px}.member-access-heading strong,.member-access-heading span{display:block}.member-access-heading span{font-size:.82rem;color:#6b7c91;margin-top:2px}.member-access-row{display:none;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dce6f0;border-radius:14px;background:#fbfdff;margin-top:7px}.member-access-row>div{min-width:0}.member-access-row strong,.member-access-row span{display:block}.member-access-row span{font-size:.8rem;color:#718095;margin-top:3px}.member-access-results.searching .member-access-row:not([style*="display: none"]){display:flex}.selected-member-access{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#eef6ff;border:1px solid #d3e4f7}.selected-member-access>div:last-child{display:grid;gap:2px}.selected-member-access span{font-size:.7rem;text-transform:uppercase;font-weight:900;color:#69809a}.selected-member-access small{color:#6d7d91}

@media(max-width:950px){.planning-schedule-grid{grid-template-columns:1fr}.monitor-summary-grid{grid-template-columns:repeat(3,1fr)}.monitor-journey-grid{grid-template-columns:1fr 1fr}.monitor-journey-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){.programme-card-actions{grid-template-columns:1fr 1fr}.programme-card-actions [data-open]{grid-column:1/-1}.planning-day-heading .btn{width:100%}.monitor-summary-grid{grid-template-columns:1fr 1fr}.monitor-journey-top{flex-direction:column}.monitor-time-box{text-align:left}.monitor-journey-grid{grid-template-columns:1fr}.monitor-journey-grid>div:first-child{grid-column:auto}.monitor-help-strip{flex-direction:column}.schedule-line{align-items:flex-start;flex-direction:column}.schedule-count{white-space:normal}.member-access-row{align-items:flex-start;flex-direction:column}.member-access-row .btn{width:100%}.reset-pin-card{padding:22px}}


/* v1.0.13 — clearer icons, modern member welcome and Audit Action filter */
.member-welcome-page{padding-top:4px}.member-welcome-hero{max-width:760px;margin:12px auto 0;text-align:center;padding:12px 18px 0}.member-welcome-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(130,174,224,.45);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#315f91}.member-welcome-icon{width:70px;height:70px;margin:16px auto 10px;border-radius:22px;display:grid;place-items:center;font-size:2rem;background:linear-gradient(145deg,#0b4c99,#082d6b);color:#fff;box-shadow:0 14px 30px rgba(7,53,119,.22)}.member-welcome-hero h1{font-size:clamp(2.25rem,6vw,4.6rem);line-height:.94;letter-spacing:-.045em;margin:0;color:#082f67}.member-welcome-role{font-size:clamp(1.15rem,2.5vw,1.55rem);font-weight:900;color:#0b63be;margin-top:8px}.member-welcome-hero p{max-width:570px;margin:9px auto 0;color:#5c718d;font-size:1rem;line-height:1.5}.member-modern-auth-card{max-width:600px;margin-top:20px;border-color:rgba(135,177,225,.62);box-shadow:0 20px 48px rgba(23,63,112,.14)}.member-auth-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eaf4ff;margin:0 auto;color:#0a4b9a;font-size:1.3rem}.member-modern-auth-card h2{margin-top:8px}.member-modern-auth-card .input{min-height:50px}.member-modern-auth-card .btn{min-height:50px}.admin-main-tabs .tab,.planning-tabs .tab{display:inline-flex;align-items:center;gap:7px}.admin-main-tabs .tab span,.planning-tabs .tab span{font-size:1.05rem}.transport-role-heading{text-align:center;margin:18px auto 4px}.transport-role-heading .portal-role-kicker{color:#365f8d}.transport-role-heading h1{margin:3px 0;font-size:clamp(2.15rem,5vw,3.8rem);color:#082f67}.transport-role-heading .portal-role-note{color:#66798f}.audit-friendly-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.audit-action-filter{min-width:min(100%,280px)}.audit-action-filter label{margin-bottom:5px}.audit-action-filter select{min-height:46px;background:#fff}.programme-admin-icon{font-size:1.45rem}
@media(max-width:720px){.member-welcome-icon{width:60px;height:60px;border-radius:18px;margin-top:12px}.member-welcome-hero p{font-size:.91rem}.member-modern-auth-card{margin-top:16px}.audit-action-filter{width:100%}.audit-friendly-head{align-items:stretch}}


/* v1.0.14 — clean member welcome + copyright footer */
.portal-copyright{width:100%;text-align:center;padding:18px 14px 24px;color:#7b8797;font-size:.67rem;font-weight:650;letter-spacing:.015em;opacity:.82}
body:has(#memberApp) .portal-copyright{padding-bottom:86px}
@media(max-width:720px){.portal-copyright{font-size:.62rem;padding-top:14px}}


/* v1.0.15 — Planning Portal visual refresh only: modern gospel theme */
.planning-page{
  --planning-navy:#082f67;
  --planning-blue:#0d5fb8;
  --planning-sky:#dceeff;
  --planning-ivory:#fffdf8;
  --planning-gold:#d6ad58;
  --planning-gold-soft:#f7edcf;
  --planning-line:#d9e6f3;
  --planning-shadow:0 18px 44px rgba(20,54,92,.12);
}
.planning-page.sky{
  background:
    radial-gradient(circle at 85% 8%,rgba(255,229,157,.34),transparent 20%),
    radial-gradient(circle at 10% 16%,rgba(255,255,255,.96),transparent 24%),
    radial-gradient(circle at 74% 42%,rgba(203,231,255,.50),transparent 28%),
    linear-gradient(180deg,#edf7ff 0%,#f9fcff 35%,#fffdf8 72%,#f7f2e8 100%);
}
.planning-page.sky:before{
  background:
    linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.45) 46% 47%,transparent 48% 100%),
    radial-gradient(circle at 79% 9%,rgba(255,239,190,.64),transparent 18%);
  opacity:.78;
}
.planning-page:after{
  content:"";
  position:fixed;
  width:120px;
  height:170px;
  right:4vw;
  top:96px;
  opacity:.045;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(90deg,transparent 42%,#082f67 42% 58%,transparent 58%),
    linear-gradient(180deg,transparent 28%,#082f67 28% 40%,transparent 40%);
  border-radius:24px;
}
.planning-page .shell{max-width:1480px;padding-top:16px}
.planning-page .topbar{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.78);
  background:rgba(255,255,255,.67);
  backdrop-filter:blur(18px);
  border-radius:22px;
  box-shadow:0 10px 30px rgba(28,67,110,.08);
  position:sticky;
  top:10px;
  z-index:20;
}
.planning-page .brand img{width:142px}
.planning-page .menu-btn{
  background:linear-gradient(145deg,#082f67,#0d5baa);
  box-shadow:0 8px 18px rgba(8,47,103,.18);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .12s ease,box-shadow .15s ease,filter .15s ease;
}
.planning-page .menu-btn:hover{filter:brightness(1.05);box-shadow:0 12px 24px rgba(8,47,103,.24)}
.planning-page .menu-btn:active{transform:scale(.97)}

.planning-page .planning-role-heading{
  max-width:none;
  margin:22px 0 18px;
  padding:27px 30px 26px;
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,218,128,.28),transparent 20%),
    linear-gradient(135deg,#06295c 0%,#0a4388 62%,#0b5ba7 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 50px rgba(7,46,101,.22);
}
.planning-page .planning-role-heading:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.08) 53% 54%,transparent 55% 100%);
  pointer-events:none;
}
.planning-page .planning-role-heading:after{
  content:"";
  position:absolute;
  width:66px;
  height:92px;
  right:42px;
  top:16px;
  opacity:.16;
  background:
    linear-gradient(90deg,transparent 41%,#fff 41% 59%,transparent 59%),
    linear-gradient(180deg,transparent 26%,#fff 26% 40%,transparent 40%);
}
.planning-page .planning-role-heading .portal-role-kicker{color:#f3ddb0;letter-spacing:.18em;position:relative;z-index:1}
.planning-page .planning-role-heading h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.14);position:relative;z-index:1}
.planning-page .planning-role-heading .portal-role-note{color:rgba(255,255,255,.82);position:relative;z-index:1;max-width:760px}
.planning-page .role-welcome{color:#36536f;font-weight:750;padding-left:4px}

.planning-page .panel{
  border-color:rgba(168,194,221,.58);
  box-shadow:var(--planning-shadow);
}
.planning-page .auth-card{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-top:4px solid var(--planning-gold);
}
.planning-page .auth-card h2{color:var(--planning-navy)}

.planning-page .stats{gap:13px}
.planning-page .planning-stat{
  position:relative;
  overflow:hidden;
  min-height:126px;
  padding:19px 18px 17px;
  border:1px solid rgba(161,190,220,.62);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,255,.96));
  border-radius:20px;
  box-shadow:0 10px 28px rgba(19,59,102,.08);
}
.planning-page .planning-stat:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--planning-blue),#67aee8,var(--planning-gold));
}
.planning-page .planning-stat .muted{font-weight:850;color:#526b84}
.planning-page .planning-stat .n{font-size:2rem;color:var(--planning-navy)}
.planning-page .planning-stat .stat-hint{color:#4d75a1}
.planning-page .planning-stat:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(14,57,104,.14)}
.planning-page .planning-stat:active{transform:scale(.985)}

.planning-page #programmeChooser{
  margin-top:22px;
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(171,197,223,.58);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 42px rgba(22,61,103,.09);
}
.planning-page #programmeChooser>.between{padding-bottom:14px;border-bottom:1px solid rgba(190,208,228,.72);margin-bottom:16px}
.planning-page #programmeChooser h2{font-size:1.65rem;color:var(--planning-navy)}
.planning-page .programme-manage-tile{
  border-radius:22px;
  border:1px solid #dce8f2;
  background:linear-gradient(155deg,#ffffff 0%,#f8fbff 70%,#fff9ea 100%);
  box-shadow:0 10px 24px rgba(22,59,99,.08);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.planning-page .programme-manage-tile:hover{transform:translateY(-3px);border-color:#b9d0e5;box-shadow:0 17px 34px rgba(18,56,99,.13)}
.planning-page .programme-manage-tile h3{color:#123b6c}
.planning-page .programme-card-actions{border-top:1px solid #e6edf4}

.planning-page .planning-schedule-grid{gap:18px}
.planning-page .schedule-overview-card{
  border-radius:23px;
  border:1px solid #d9e6f1;
  box-shadow:0 12px 28px rgba(25,62,103,.09);
}
.planning-page .schedule-overview-card.flight{background:linear-gradient(145deg,#f6fbff,#e6f3ff)}
.planning-page .schedule-overview-card.stay{background:linear-gradient(145deg,#fffafb,#ffeef3)}
.planning-page .schedule-card-icon{border:1px solid rgba(180,200,221,.58)}
.planning-page .schedule-line{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.planning-page .schedule-line:hover{border-color:#9fc2e2;box-shadow:0 8px 18px rgba(20,62,105,.09)}
.planning-page .schedule-line:active{transform:scale(.99)}

.planning-page .planning-workspace-panel{
  border-radius:28px;
  border:1px solid rgba(167,193,219,.65);
  background:rgba(255,255,255,.91);
  box-shadow:0 22px 52px rgba(19,57,99,.11);
}
.planning-page .planning-workspace-head{padding-bottom:18px;border-bottom:1px solid #dfe9f3}
.planning-page .planning-workspace-head h2{font-size:1.7rem;color:var(--planning-navy)}
.planning-page .planning-day-heading,.planning-page .planning-nav-heading{color:#153b69}
.planning-page .planning-day-heading strong,.planning-page .planning-nav-heading strong{font-size:1rem}

.planning-page .planning-day-list{gap:13px}
.planning-page .day-manage-card{
  border-radius:20px;
  border:1px solid #dbe6f1;
  box-shadow:0 8px 20px rgba(27,62,99,.07);
  transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease;
}
.planning-page .day-manage-card:hover{transform:translateY(-2px);box-shadow:0 13px 26px rgba(18,58,102,.11)}
.planning-page .day-manage-card.active{border-color:#0b4f9c;box-shadow:0 14px 30px rgba(6,55,117,.22)}
.planning-page .day-manage-card .day{background:linear-gradient(180deg,#fff,#f9fbfe)}
.planning-page .day-manage-card .day.active{
  background:
    radial-gradient(circle at 88% 15%,rgba(238,198,105,.28),transparent 25%),
    linear-gradient(145deg,#062f69,#0a56ad);
}
.planning-page .day-card-actions button{background:#f7fbff}
.planning-page .day-card-actions button:active{transform:scale(.98)}

.planning-page .planning-tabs{
  padding:8px;
  border-radius:20px;
  background:#edf5fc;
  border:1px solid #d7e5f2;
  gap:7px;
}
.planning-page .planning-tabs .tab{
  min-height:58px;
  border:1px solid transparent;
  background:transparent;
  color:#365b82;
  border-radius:14px;
  transition:transform .12s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.planning-page .planning-tabs .tab:hover{background:#fff;color:#0b4e98}
.planning-page .planning-tabs .tab:active{transform:scale(.97)}
.planning-page .planning-tabs .tab.active{
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(244,206,117,.23),transparent 26%),
    linear-gradient(145deg,#07326d,#0b59ae);
  border-color:#073a7b;
  box-shadow:0 9px 20px rgba(6,49,107,.22);
}
.planning-page .planning-context-strip{
  background:linear-gradient(90deg,#eff7ff,#fffaf0);
  border-color:#d8e6ef;
}
.planning-page .planning-context-icon{color:#0b5cae;border:1px solid #d7e5f2}

.planning-page .planning-actionbar{
  border-radius:20px;
  border-color:#dbe7f2;
  background:linear-gradient(120deg,#f9fcff,#fffdf7);
  box-shadow:0 8px 22px rgba(23,62,103,.06);
}
.planning-page .planning-card{
  border-radius:20px;
  border-color:#dce7f1;
  box-shadow:0 9px 22px rgba(20,58,99,.07);
}
.planning-page .planning-card:hover{border-color:#bfd4e7}
.planning-page .planning-card-actions{border-top-color:#e6edf4}
.planning-page .planning-empty{background:linear-gradient(145deg,#fbfdff,#fffdf7);border-color:#b9cee1}

.planning-page .btn{
  transition:transform .1s ease,box-shadow .14s ease,filter .14s ease;
}
.planning-page .btn:not(:disabled):hover{filter:brightness(1.03);box-shadow:0 7px 16px rgba(8,48,105,.12)}
.planning-page .btn:not(:disabled):active{transform:scale(.965);box-shadow:none}
.planning-page .btn.secondary{background:#fff;border-color:#bcd0e5}
.planning-page .btn.ghost{background:#edf5fc}
.planning-page .planning-primary{background:linear-gradient(145deg,#08346f,#0b5eB8);box-shadow:0 8px 18px rgba(7,54,117,.18)}

.planning-page .planning-modal-backdrop{background:rgba(5,28,60,.58);backdrop-filter:blur(6px)}
.planning-page .planning-modal{
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
  box-shadow:0 34px 90px rgba(3,27,59,.32);
}
.planning-page .planning-modal-head{
  background:linear-gradient(120deg,#f8fbff,#fffaf0);
  border-bottom-color:#dce7f1;
  border-radius:26px 26px 0 0;
}
.planning-page .planning-modal-head h2{color:#0b376f}
.planning-page .planning-modal-close{background:#e8f2fb;color:#0a4c95}
.planning-page .planning-field input,.planning-page .planning-field select,.planning-page .member-search{
  border-color:#c7d8e8;
  background:#fff;
}
.planning-page .planning-field input:focus,.planning-page .planning-field select:focus,.planning-page .member-search:focus{
  outline:none;
  border-color:#5c97ce;
  box-shadow:0 0 0 4px rgba(44,124,196,.12);
}

.planning-page .food-actionbar{background:linear-gradient(145deg,#fffdf7,#fff5d8);border-color:#ead9a8}
.planning-page .food-empty-friendly{background:linear-gradient(145deg,#fffefa,#fff7df)}
.planning-page .food-friendly-layout{gap:16px}
.planning-page .meal-plan-card{border-radius:22px;box-shadow:0 8px 20px rgba(83,65,25,.06)}
.planning-page .meal-plan-card.breakfast{background:linear-gradient(145deg,#fffefa,#fff2c9)}
.planning-page .meal-plan-card.lunch{background:linear-gradient(145deg,#fffdfa,#ffe8d2)}
.planning-page .time-preset{transition:transform .1s ease,box-shadow .12s ease,background .12s ease}
.planning-page .time-preset:hover{box-shadow:0 6px 14px rgba(31,74,117,.09)}
.planning-page .time-preset:active{transform:scale(.965)}

.planning-page .monitor-summary-card{
  background:linear-gradient(145deg,#fbfdff,#f0f7ff);
  border-color:#d9e6f1;
  box-shadow:0 7px 17px rgba(24,60,100,.06);
}
.planning-page .monitor-journey-card{
  border-radius:22px;
  border-color:#dbe6f0;
  box-shadow:0 10px 25px rgba(18,57,99,.08);
}
.planning-page .monitor-help-strip{background:#f4f8fb;border-color:#dce6ee}
.planning-page .monitor-journey-card.needs-attention{background:linear-gradient(145deg,#fff,#fff7f8)}

.planning-page .planning-export-bar{
  border-radius:20px;
  background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(255,249,233,.94));
  border-color:#d9e4ed;
  box-shadow:0 10px 26px rgba(22,58,98,.08);
}
.planning-page .portal-copyright{color:#758396}

@media(max-width:900px){
  .planning-page .planning-role-heading{padding:24px 22px}
  .planning-page .planning-role-heading:after{right:18px}
  .planning-page #programmeChooser{padding:18px}
}
@media(max-width:720px){
  .planning-page .topbar{top:6px;border-radius:18px;padding:8px 10px}
  .planning-page .planning-role-heading{margin-top:15px;padding:22px 18px;border-radius:22px}
  .planning-page .planning-role-heading:after{width:50px;height:70px;right:10px;top:12px}
  .planning-page .planning-role-heading .portal-role-note{padding-right:34px}
  .planning-page .planning-stat{min-height:112px;padding:16px}
  .planning-page #programmeChooser{border-radius:22px;padding:15px}
  .planning-page .planning-workspace-panel{border-radius:22px;padding:16px}
  .planning-page .planning-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:7px}
  .planning-page .planning-tabs .tab{min-height:54px}
  .planning-page .planning-actionbar{align-items:stretch}
  .planning-page .planning-actionbar .btn{width:100%}
  .planning-page .planning-modal{border-radius:22px}
  .planning-page .planning-modal-head{border-radius:22px 22px 0 0}
}


/* v1.0.16 — Journey creation, 24-hour time and traveller multi-select UX */
.planning-modal-backdrop,.admin-page .planning-modal-backdrop{user-select:text}
.journey-friendly-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.journey-friendly-form>.full,.journey-friendly-form .full{grid-column:1/-1}
.journey-form-intro{grid-column:1/-1;display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid #d9e7f3;border-radius:18px;background:linear-gradient(120deg,#f4f9ff,#fffaf0)}
.journey-form-intro .journey-form-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff;font-size:25px;box-shadow:0 6px 16px rgba(19,61,103,.09)}
.journey-form-intro strong{display:block;color:#0a3972;font-size:1.05rem}.journey-form-intro span{display:block;color:#65798e;font-size:.88rem;margin-top:3px}
.journey-mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.journey-mode-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:106px;padding:12px;border:2px solid #dce7f1;border-radius:18px;background:#fff;cursor:pointer;text-align:center;transition:.14s ease}
.journey-mode-option:hover{border-color:#96bfe3;transform:translateY(-1px)}.journey-mode-option input{position:absolute;opacity:0;pointer-events:none}.journey-mode-option:has(input:checked){border-color:#0b5cae;background:linear-gradient(145deg,#edf7ff,#fff);box-shadow:0 0 0 3px rgba(11,92,174,.1)}
.journey-mode-icon{font-size:28px;margin-bottom:5px}.journey-mode-option strong{color:#143e6e}.journey-mode-option small{color:#72869b;margin-top:2px}
.journey-section-title{grid-column:1/-1;display:flex;gap:10px;align-items:center;margin-top:3px;padding-top:12px;border-top:1px solid #e5edf4}.journey-section-title>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#0a58ab;color:#fff;font-weight:900}.journey-section-title strong{display:block;color:#153e6d}.journey-section-title small{display:block;color:#728397;margin-top:2px}
.journey-select-wrap select,.journey-custom-location input{width:100%;min-height:48px;border:1px solid #c7d8e8;border-radius:13px;background:#fff;padding:0 13px;font:inherit;color:#173c65}
.journey-custom-location{margin-top:8px}.journey-custom-location label{display:block;margin-bottom:5px}.journey-custom-location.hidden{display:none}
.journey-date-button{width:100%;min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid #c6d8e8;border-radius:14px;background:#fff;color:#173b64;text-align:left;cursor:pointer}.journey-date-button:hover{border-color:#78a9d4;background:#f9fcff}.journey-date-icon{font-size:22px}.journey-date-button small{display:block;color:#7a8b9c;font-weight:600}.journey-date-button strong{display:block;margin-top:2px}.journey-date-chevron{font-size:20px;color:#5f7892}
.journey-date-field{position:relative}.journey-calendar{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 44px));padding:14px;border:1px solid #c9dbe9;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(4,39,79,.2)}.journey-calendar.hidden{display:none}.journey-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;text-align:center;margin-bottom:10px}.journey-calendar-head button{width:34px;height:34px;border:0;border-radius:10px;background:#eef6fd;color:#0a4d94;font-size:24px;cursor:pointer}.journey-calendar-week,.journey-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.journey-calendar-week span{text-align:center;color:#748599;font-size:11px;font-weight:800;padding:3px 0}.journey-calendar-grid>span{min-height:36px}.journey-calendar-day{min-height:36px;border:0;border-radius:10px;background:#f7fafc;color:#24486f;cursor:pointer}.journey-calendar-day:hover{background:#e8f3fd}.journey-calendar-day.selected{background:#0a58ab;color:#fff;font-weight:900}.journey-calendar-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.time-format-chip{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:999px;background:#e7f2fc;color:#0b579f;font-size:10px;font-weight:900;letter-spacing:.04em}.time24-picker{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;align-items:end;padding:10px;border:1px solid #c7d8e8;border-radius:14px;background:#fff}.time24-picker>div>span{display:block;color:#7b8da0;font-size:10px;font-weight:800;text-transform:uppercase;margin:0 0 4px 3px}.time24-picker select{width:100%;min-height:42px;border:1px solid #d5e1ec;border-radius:10px;background:#f9fbfd;padding:0 8px;font-size:16px;font-weight:800;color:#153d69}.time24-picker>b{align-self:center;padding-bottom:8px;font-size:22px}.time24-preview{align-self:center;padding:8px 10px;border-radius:10px;background:#0a58ab;color:#fff;letter-spacing:.04em}.journey-seats-field{grid-column:1/-1;max-width:260px}
.traveller-combobox{position:sticky;top:0;z-index:3;background:#fff;padding-bottom:10px}.traveller-selected-box{border:2px solid #bad2e8;border-radius:18px;background:#fbfdff;padding:12px}.traveller-selected-head{display:flex;justify-content:space-between;gap:10px;color:#24486e;font-size:.87rem}.traveller-selected-head span{color:#718397}.traveller-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:36px;padding:10px 0 7px}.traveller-chip{display:inline-flex;align-items:center;gap:6px;background:#0a58ab;color:#fff;border-radius:999px;padding:6px 7px 6px 11px;font-weight:800;font-size:.86rem;box-shadow:0 4px 10px rgba(10,88,171,.15)}.traveller-chip button{width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:17px;line-height:1}.traveller-chip-empty{color:#8a99a8;font-size:.86rem;padding:4px}.traveller-search-line{display:flex;align-items:center;gap:8px;border-top:1px solid #e3edf5;padding-top:8px}.traveller-search-line>span{font-size:20px;color:#6e849a}.traveller-search-line .member-search{border:0!important;box-shadow:none!important;padding-left:0;min-height:42px;flex:1}.traveller-filter-row{display:flex;gap:8px;align-items:center;margin-top:10px}.traveller-filter-row select{flex:1}.traveller-help{padding:9px 11px;border-radius:12px;background:#fff8df;color:#71591f;font-size:.84rem;margin:2px 0 10px}.traveller-result{position:relative;cursor:pointer}.traveller-result-check{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf3f8;color:transparent;font-weight:900}.traveller-result.selected{border-color:#72a8d5;background:#f1f8ff}.traveller-result.selected .traveller-result-check{background:#0a58ab;color:#fff}.traveller-result input{position:absolute;opacity:0;pointer-events:none}.traveller-results{max-height:390px}
@media(max-width:720px){.journey-friendly-form{grid-template-columns:1fr}.journey-mode-picker{grid-template-columns:1fr}.journey-mode-option{min-height:78px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:9px}.journey-mode-icon{grid-row:1/3;margin:0}.journey-mode-option strong,.journey-mode-option small{justify-self:start}.journey-date-field,.journey-time-field{grid-column:1/-1}.journey-calendar{position:fixed;left:14px;right:14px;bottom:16px;top:auto;width:auto}.time24-picker{grid-template-columns:1fr auto 1fr}.time24-preview{grid-column:1/-1;text-align:center}.traveller-filter-row{align-items:stretch;flex-direction:column}.traveller-filter-row .btn{width:100%}}


/* v1.0.17 — Administrator Portal visual refresh only: modern gospel UI */
.admin-page{
  --admin-navy:#082d63;
  --admin-blue:#0c5ca8;
  --admin-blue-soft:#e9f4ff;
  --admin-gold:#c99b43;
  --admin-gold-light:#f6e8bd;
  --admin-ivory:#fffdf8;
  --admin-ink:#142d4f;
  --admin-line:#d9e6f2;
  --admin-shadow:0 20px 52px rgba(17,53,91,.12);
}
.admin-page.sky{
  background:
    radial-gradient(circle at 88% 7%,rgba(255,224,145,.30),transparent 19%),
    radial-gradient(circle at 11% 13%,rgba(255,255,255,.98),transparent 24%),
    radial-gradient(ellipse at 76% 39%,rgba(203,231,255,.48),transparent 29%),
    linear-gradient(180deg,#e8f5ff 0%,#f8fcff 39%,#fffdf8 76%,#f7f1e5 100%);
}
.admin-page.sky:before{
  background:
    radial-gradient(circle at 86% 10%,rgba(255,235,181,.58),transparent 18%),
    linear-gradient(116deg,transparent 0 49%,rgba(255,255,255,.44) 50% 51%,transparent 52% 100%);
  opacity:.8;
}
.admin-page:after{
  content:"";
  position:fixed;
  right:4.2vw;
  top:112px;
  width:112px;
  height:156px;
  opacity:.043;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(90deg,transparent 42%,var(--admin-navy) 42% 58%,transparent 58%),
    linear-gradient(180deg,transparent 28%,var(--admin-navy) 28% 40%,transparent 40%);
  border-radius:28px;
}
.admin-page .shell{max-width:1500px;padding-top:16px}
.admin-page .topbar{
  position:sticky;
  top:10px;
  z-index:30;
  padding:10px 14px;
  border-radius:22px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 30px rgba(26,64,103,.08);
}
.admin-page .brand img{width:145px}
.admin-page .menu-btn{
  background:linear-gradient(145deg,#082d63,#0d5ca8);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 9px 20px rgba(8,45,99,.20);
  transition:transform .12s ease,box-shadow .15s ease,filter .15s ease;
}
.admin-page .menu-btn:hover{filter:brightness(1.05);box-shadow:0 13px 25px rgba(8,45,99,.24)}
.admin-page .menu-btn:active{transform:scale(.97)}

.admin-page .admin-role-heading{
  position:relative;
  overflow:hidden;
  max-width:none;
  margin:22px 0 18px;
  padding:28px 31px 27px;
  text-align:left;
  border-radius:30px;
  background:
    radial-gradient(circle at 89% 12%,rgba(246,204,108,.25),transparent 21%),
    linear-gradient(135deg,#06275a 0%,#0a3f82 56%,#0d5ca8 100%);
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 24px 55px rgba(7,43,92,.23);
}
.admin-page .admin-role-heading:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(116deg,transparent 0 52%,rgba(255,255,255,.08) 53% 54%,transparent 55% 100%);
  pointer-events:none;
}
.admin-page .admin-role-heading:after{
  content:"";
  position:absolute;
  right:46px;
  top:18px;
  width:68px;
  height:96px;
  opacity:.17;
  background:
    linear-gradient(90deg,transparent 41%,#fff 41% 59%,transparent 59%),
    linear-gradient(180deg,transparent 26%,#fff 26% 40%,transparent 40%);
}
.admin-page .admin-role-heading .portal-role-kicker{
  position:relative;z-index:1;
  color:#f2dba8;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.admin-page .admin-role-heading h1{
  position:relative;z-index:1;
  margin:3px 0 4px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.45rem,5vw,4.25rem);
  line-height:.98;
  letter-spacing:-.035em;
  text-shadow:0 3px 18px rgba(0,0,0,.14);
}
.admin-page .admin-role-heading .portal-role-note{
  position:relative;z-index:1;
  color:rgba(255,255,255,.82);
  max-width:780px;
  font-weight:650;
}
.admin-page .role-welcome{
  margin:0 0 14px;
  padding:0 4px;
  color:#405d79;
  font-size:1rem;
  font-weight:780;
}

.admin-page .panel{
  border-color:rgba(164,190,217,.58);
  box-shadow:var(--admin-shadow);
}
.admin-page .auth-card{
  max-width:690px;
  padding:30px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(12px);
  border-top:4px solid var(--admin-gold);
  border-radius:28px;
}
.admin-page .auth-card h2{
  color:var(--admin-navy);
  font-size:2.05rem;
  letter-spacing:-.02em;
}
.admin-page .auth-card details{
  padding:13px 15px;
  border:1px solid #e1eaf3;
  border-radius:15px;
  background:#fbfdff;
}
.admin-page .auth-card summary{color:var(--admin-navy)}
.admin-page .auth-card .input{min-height:50px}
.admin-page .auth-card .btn{min-height:50px}

.admin-page .stats{gap:13px;margin:15px 0 17px}
.admin-page .stat-click{
  position:relative;
  overflow:hidden;
  min-height:128px;
  padding:19px 18px 17px;
  border:1px solid rgba(163,191,220,.64);
  border-radius:21px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.96));
  box-shadow:0 11px 29px rgba(18,58,101,.085);
}
.admin-page .stat-click:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--admin-blue),#70b4e7,var(--admin-gold));
}
.admin-page .stat-click .muted{color:#526b85;font-weight:850}
.admin-page .stat-click .n{color:var(--admin-navy);font-size:2.05rem}
.admin-page .stat-click .stat-hint{color:#517aa4}
.admin-page .stat-click:hover{transform:translateY(-3px);border-color:#9abede;box-shadow:0 17px 35px rgba(13,57,104,.14)}
.admin-page .stat-click:active{transform:scale(.985)}
.admin-page .stat-click.metric-selected{
  background:
    radial-gradient(circle at 88% 12%,rgba(244,204,108,.22),transparent 26%),
    linear-gradient(145deg,#062d68,#0b58a7);
  border-color:#0b4d95;
  color:#fff;
  box-shadow:0 17px 36px rgba(7,49,106,.28);
}
.admin-page .stat-click.metric-selected:before{background:linear-gradient(90deg,#f4d78f,#fff1c2,#e6ba5f)}

.admin-page .admin-main-tabs{
  gap:8px;
  padding:9px;
  margin-top:2px;
  border:1px solid rgba(163,189,216,.60);
  border-radius:20px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 30px rgba(22,61,102,.08);
}
.admin-page .admin-main-tabs .tab{
  flex:1 1 180px;
  justify-content:center;
  min-height:50px;
  border-radius:14px;
  border:1px solid transparent;
  background:transparent;
  color:#2e5278;
  transition:transform .12s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.admin-page .admin-main-tabs .tab:hover{background:#edf6ff;color:#0b4f98}
.admin-page .admin-main-tabs .tab:active{transform:scale(.985)}
.admin-page .admin-main-tabs .tab.active{
  color:#fff;
  background:linear-gradient(145deg,#082e68,#0c5ca8);
  box-shadow:0 9px 18px rgba(8,47,103,.20);
}
.admin-page .admin-main-tabs .tab.active span{filter:saturate(.9) brightness(1.2)}

.admin-page #adminView.content-panel{
  margin-top:14px!important;
  padding:23px;
  border-radius:27px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(163,191,220,.60);
  box-shadow:0 21px 48px rgba(19,57,98,.11);
}
.admin-page #adminView>.between:first-child,
.admin-page .metric-head,
.admin-page .audit-friendly-head{
  padding-bottom:16px;
  margin-bottom:15px;
  border-bottom:1px solid #e1eaf3;
}
.admin-page .section-title{color:var(--admin-navy);font-size:1.42rem;letter-spacing:-.015em}
.admin-page .admin-search{
  padding:15px;
  border:1px solid #e0eaf3;
  border-radius:18px;
  background:linear-gradient(180deg,#fbfdff,#f6faff);
}
.admin-page .admin-search label{color:#355a80}
.admin-page .input,.admin-page select,.admin-page textarea{
  border-color:#cad9e8;
  background:#fff;
  min-height:47px;
}
.admin-page .input:focus,.admin-page select:focus,.admin-page textarea:focus{
  border-color:#5b94cb;
  box-shadow:0 0 0 4px rgba(45,115,181,.11);
}
.admin-page .result-count{color:#6f8092;padding-left:3px}

.admin-page .table-wrap{
  border-color:#dce7f1;
  border-radius:19px;
  box-shadow:0 5px 18px rgba(30,64,100,.045);
}
.admin-page .table th{
  background:linear-gradient(180deg,#f5f9fd,#eef5fb);
  color:#4a6581;
  letter-spacing:.055em;
}
.admin-page .table td{background:rgba(255,255,255,.98)}
.admin-page .table tbody tr:hover td{background:#f8fbff}
.admin-page .badge{border:1px solid rgba(0,0,0,.035)}

.admin-page .btn{
  border-radius:13px;
  box-shadow:0 5px 13px rgba(8,45,99,.09);
  transition:transform .1s ease,box-shadow .13s ease,filter .13s ease;
}
.admin-page .btn:hover{filter:brightness(1.025);box-shadow:0 8px 17px rgba(8,45,99,.14)}
.admin-page .btn:active{transform:scale(.975);box-shadow:0 3px 7px rgba(8,45,99,.11)}
.admin-page .btn.secondary,.admin-page .btn.ghost{box-shadow:none}
.admin-page .btn.secondary{background:#fff;border-color:#bed1e4}
.admin-page .btn.ghost{background:#eef5fb;color:#164b81}
.admin-page .btn.red{background:#b93846}
.admin-page .btn.green{background:#16804e}
.admin-page .planning-primary{background:linear-gradient(145deg,#082f69,#0b5aa7)!important;color:#fff!important}

.admin-page .programme-admin-grid{gap:16px}
.admin-page .programme-admin-card{
  position:relative;
  overflow:hidden;
  min-height:150px;
  border-radius:22px;
  border:1px solid #d9e6f1;
  background:linear-gradient(145deg,#fff 0%,#f7fbff 72%,#fff8e8 100%);
  box-shadow:0 11px 26px rgba(18,56,96,.08);
}
.admin-page .programme-admin-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#0b5ca9,#8bc5ef,#d6ac58);
}
.admin-page .programme-admin-icon{background:#eaf4ff;color:#0b5ca8;border:1px solid #d4e6f7}
.admin-page .programme-admin-card h3{color:#173e69}

.admin-page .staff-search-explain,
.admin-page .selected-member-access,
.admin-page .notice{
  border-radius:16px;
}
.admin-page .staff-search-explain{background:linear-gradient(145deg,#edf6ff,#f8fbff)}
.admin-page .member-access-row{border-radius:16px;background:#fff}
.admin-page .member-access-row:hover{border-color:#aecbe6;background:#f8fbff}
.admin-page .reset-pin-card{border-top:4px solid var(--admin-gold)}

.admin-page .audit-action-filter select{border-radius:13px}
.admin-page [data-audit-row] .badge.blue{background:#e8f3ff;color:#0b5aa7}

.admin-page .planning-modal-backdrop{
  background:rgba(5,26,55,.60);
  backdrop-filter:blur(7px);
}
.admin-page .planning-modal{
  border-radius:27px;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 34px 88px rgba(3,25,52,.34);
  overflow:auto;
}
.admin-page .planning-modal-head{
  padding:21px 23px;
  background:
    radial-gradient(circle at 91% 12%,rgba(241,202,110,.18),transparent 27%),
    linear-gradient(180deg,#fbfdff,#f4f9fd);
  border-bottom-color:#dce7f0;
  border-radius:27px 27px 0 0;
}
.admin-page .planning-modal-head h2{color:var(--admin-navy);font-size:1.38rem}
.admin-page .planning-modal-close{background:#e8f2fb;color:#0b4d91}
.admin-page .planning-modal-body{padding:24px}
.admin-page .staff-role-card,
.admin-page .admin-form-intro,
.admin-page .staff-credential-panel{
  border-radius:17px;
}

.admin-page .portal-copyright{
  color:#6f7f8f;
  opacity:.82;
  border-top:1px solid rgba(190,206,220,.55);
  background:rgba(255,255,255,.32);
}
.admin-page .mobile-menu{
  background:linear-gradient(180deg,#fff,#f7fbff);
  border-left:1px solid #d8e4ef;
}
.admin-page .mobile-menu h3{color:var(--admin-navy)}
.admin-page .mobile-menu a:hover{background:#edf6ff;border-radius:10px}

@media(max-width:1050px){
  .admin-page .admin-main-tabs .tab{flex:1 1 46%}
  .admin-page .stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .admin-page .topbar{top:7px;padding:8px 10px;border-radius:18px}
  .admin-page .brand img{width:112px}
  .admin-page .admin-role-heading{margin-top:15px;padding:23px 20px;border-radius:24px}
  .admin-page .admin-role-heading:after{right:20px;top:14px;width:52px;height:76px}
  .admin-page .admin-role-heading h1{font-size:2.45rem}
  .admin-page .stats{grid-template-columns:1fr 1fr;gap:10px}
  .admin-page .stat-click{min-height:112px;padding:16px 14px}
  .admin-page .stat-click .n{font-size:1.75rem}
  .admin-page .admin-main-tabs{display:grid;grid-template-columns:1fr 1fr;padding:7px;border-radius:17px}
  .admin-page .admin-main-tabs .tab{min-height:47px;padding:9px 8px}
  .admin-page #adminView.content-panel{padding:16px;border-radius:22px}
  .admin-page .auth-card{padding:21px;border-radius:23px}
  .admin-page .admin-search{padding:12px}
  .admin-page .planning-modal{border-radius:23px 23px 0 0}
  .admin-page .planning-modal-head{border-radius:23px 23px 0 0}
}
@media(max-width:480px){
  .admin-page .stats{grid-template-columns:1fr}
  .admin-page .admin-main-tabs{grid-template-columns:1fr}
  .admin-page .admin-role-heading h1{font-size:2.15rem}
}


/* v1.0.18 — Member Login + Pick-up & Drop-off Portal visual refresh only */
/* No application workflow, API, field, authentication or data changes. */

/* ---------------- Member login: modern gospel presentation ---------------- */
.member-login-gospel-page #memberAuth{
  --member-gospel-navy:#072c63;
  --member-gospel-blue:#0c5ba8;
  --member-gospel-gold:#d7ae58;
  --member-gospel-cream:#fffaf0;
  position:relative;
  max-width:1120px;
  margin:16px auto 0;
  padding:30px clamp(16px,4vw,48px) 44px;
  border:1px solid rgba(178,202,226,.62);
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 12%,rgba(244,211,133,.34),transparent 22%),
    radial-gradient(circle at 8% 84%,rgba(179,220,255,.38),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,252,255,.91) 58%,rgba(255,250,240,.92));
  box-shadow:0 28px 68px rgba(14,53,94,.14);
  isolation:isolate;
}
.member-login-gospel-page #memberAuth:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(116deg,transparent 0 46%,rgba(255,255,255,.48) 47% 48%,transparent 49% 100%),
    radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.70),transparent 44%);
}
.member-login-gospel-page #memberAuth:after{
  content:"";
  position:absolute;
  width:92px;
  height:126px;
  right:5.5%;
  top:34px;
  opacity:.055;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 42%,var(--member-gospel-navy) 42% 58%,transparent 58%),
    linear-gradient(180deg,transparent 27%,var(--member-gospel-navy) 27% 39%,transparent 39%);
}
.member-login-gospel-page .member-welcome-hero{
  max-width:820px;
  margin:0 auto;
  padding:8px 16px 4px;
}
.member-login-gospel-page .member-welcome-kicker{
  color:#8b6420;
  background:rgba(255,249,232,.88);
  border:1px solid rgba(215,174,88,.52);
  box-shadow:0 6px 20px rgba(151,112,36,.08);
  letter-spacing:.14em;
}
.member-login-gospel-page .member-welcome-icon{
  width:78px;
  height:78px;
  border-radius:24px;
  margin:20px auto 12px;
  background:linear-gradient(145deg,#062b62,#0c5ba8);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 16px 34px rgba(7,46,103,.24),0 0 0 7px rgba(255,255,255,.46);
}
.member-login-gospel-page .member-welcome-hero h1{
  color:var(--member-gospel-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.038em;
  text-wrap:balance;
  text-shadow:0 1px 0 #fff;
}
.member-login-gospel-page .member-welcome-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:7px 15px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#0a4d95,#082f67);
  box-shadow:0 8px 18px rgba(8,47,103,.16);
  font-size:clamp(1rem,2.1vw,1.28rem);
}
.member-login-gospel-page .member-modern-auth-card{
  position:relative;
  max-width:620px;
  margin:26px auto 0;
  padding:30px;
  border:1px solid rgba(169,194,219,.66);
  border-top:4px solid var(--member-gospel-gold);
  border-radius:27px;
  background:rgba(255,255,255,.965);
  box-shadow:0 22px 52px rgba(18,55,96,.13);
  backdrop-filter:blur(12px);
}
.member-login-gospel-page .member-modern-auth-card:before{
  content:"";
  position:absolute;
  left:28%;right:28%;top:-4px;height:4px;
  background:linear-gradient(90deg,transparent,#f0d38f,transparent);
}
.member-login-gospel-page .member-auth-icon{
  width:54px;height:54px;border-radius:17px;
  background:linear-gradient(145deg,#edf6ff,#fff8e9);
  border:1px solid #dce8f3;
  color:#0b4f98;
  box-shadow:0 8px 20px rgba(18,61,104,.08);
}
.member-login-gospel-page .member-modern-auth-card h2{
  color:var(--member-gospel-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.15rem;
  margin:10px 0 4px;
}
.member-login-gospel-page .member-modern-auth-card .intro{color:#61758b;margin-bottom:20px}
.member-login-gospel-page .auth-tabs{
  padding:5px;
  gap:5px;
  border-radius:17px;
  border:1px solid #d5e2ef;
  background:#f1f6fb;
  overflow:visible;
}
.member-login-gospel-page .auth-tabs button{
  border-radius:12px;
  color:#315675;
  transition:transform .12s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.member-login-gospel-page .auth-tabs button:hover{background:#fff;color:#0b4f98}
.member-login-gospel-page .auth-tabs button:active{transform:scale(.98)}
.member-login-gospel-page .auth-tabs button.active{
  background:linear-gradient(135deg,#082f67,#0c5ba8);
  color:#fff;
  box-shadow:0 7px 16px rgba(8,47,103,.18);
}
.member-login-gospel-page .member-modern-auth-card label{color:#294968;font-weight:850}
.member-login-gospel-page .member-modern-auth-card .input{
  min-height:54px;
  border-radius:15px;
  border-color:#cbdbea;
  background:#fbfdff;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.member-login-gospel-page .member-modern-auth-card .input:hover{background:#fff;border-color:#a9c5df}
.member-login-gospel-page .member-modern-auth-card .input:focus{
  border-color:#438aca;
  box-shadow:0 0 0 4px rgba(30,111,184,.11);
  background:#fff;
}
.member-login-gospel-page .member-modern-auth-card .btn{
  min-height:54px;
  border-radius:15px;
  background:linear-gradient(135deg,#082f67,#0c5ba8);
  box-shadow:0 10px 22px rgba(8,47,103,.17);
  transition:transform .1s ease,box-shadow .15s ease,filter .15s ease;
}
.member-login-gospel-page .member-modern-auth-card .btn:hover{filter:brightness(1.06);box-shadow:0 13px 27px rgba(8,47,103,.23)}
.member-login-gospel-page .member-modern-auth-card .btn:active{transform:translateY(1px) scale(.985)}
.member-login-gospel-page .member-modern-auth-card .forgot{color:#0b5aa9;border-radius:12px}
.member-login-gospel-page .member-modern-auth-card .forgot:hover{background:#edf6ff}

/* ---------------- Pick-up & Drop-off: modern gospel operations UI ---------------- */
.transport-gospel-page{
  --transport-navy:#062d65;
  --transport-blue:#0b5ca9;
  --transport-gold:#d7ad58;
  --transport-cream:#fffaf0;
  --transport-line:#d8e5f1;
  background:
    radial-gradient(circle at 88% 8%,rgba(247,215,140,.36),transparent 20%),
    radial-gradient(ellipse at 9% 22%,rgba(255,255,255,.98),transparent 26%),
    radial-gradient(ellipse at 82% 58%,rgba(199,229,255,.48),transparent 30%),
    linear-gradient(180deg,#eaf6ff 0%,#f9fcff 40%,#fffdf8 76%,#f6f1e7 100%);
}
.transport-gospel-page.sky:before{
  background:
    linear-gradient(116deg,transparent 0 46%,rgba(255,255,255,.42) 47% 48%,transparent 49% 100%),
    radial-gradient(circle at 83% 8%,rgba(255,236,185,.58),transparent 18%);
}
.transport-gospel-page .shell{max-width:1380px;padding-top:16px}
.transport-gospel-page .topbar{
  position:sticky;
  top:10px;
  z-index:20;
  padding:10px 14px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.78);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 30px rgba(23,62,104,.08);
}
.transport-gospel-page .brand img{width:142px}
.transport-gospel-page .menu-btn{
  background:linear-gradient(145deg,#062d65,#0b5ca9);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(8,47,103,.18);
  transition:transform .1s ease,box-shadow .15s ease,filter .15s ease;
}
.transport-gospel-page .menu-btn:hover{filter:brightness(1.06);box-shadow:0 12px 24px rgba(8,47,103,.23)}
.transport-gospel-page .menu-btn:active{transform:scale(.97)}
.transport-gospel-page .transport-role-heading{
  position:relative;
  overflow:hidden;
  max-width:none;
  margin:22px 0 20px;
  padding:28px 30px 26px;
  text-align:left;
  border-radius:29px;
  background:
    radial-gradient(circle at 88% 10%,rgba(244,207,120,.29),transparent 21%),
    linear-gradient(135deg,#05295d 0%,#0a4388 63%,#0b5ca9 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 50px rgba(7,46,101,.21);
}
.transport-gospel-page .transport-role-heading:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.08) 53% 54%,transparent 55% 100%);
}
.transport-gospel-page .transport-role-heading:after{
  content:"";
  position:absolute;
  width:66px;height:92px;right:45px;top:18px;
  opacity:.15;
  background:
    linear-gradient(90deg,transparent 41%,#fff 41% 59%,transparent 59%),
    linear-gradient(180deg,transparent 26%,#fff 26% 40%,transparent 40%);
}
.transport-gospel-page .transport-role-heading .portal-role-kicker{
  position:relative;z-index:1;
  color:#f2dca9;
  letter-spacing:.17em;
}
.transport-gospel-page .transport-role-heading h1{
  position:relative;z-index:1;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.15rem,5vw,4rem);
  text-shadow:0 2px 12px rgba(0,0,0,.15);
}
.transport-gospel-page .transport-role-heading .portal-role-note{
  position:relative;z-index:1;
  max-width:720px;
  color:rgba(255,255,255,.82);
}
.transport-gospel-page #staffLogin .auth-card{
  max-width:620px;
  margin-top:24px;
  padding:30px;
  border-radius:27px;
  border:1px solid rgba(169,194,219,.66);
  border-top:4px solid var(--transport-gold);
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 52px rgba(18,55,96,.13);
}
.transport-gospel-page #staffLogin .auth-card h2{
  color:var(--transport-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
}
.transport-gospel-page #staffLogin .input{
  min-height:54px;
  border-radius:15px;
  background:#fbfdff;
  border-color:#cbdbea;
}
.transport-gospel-page #staffLogin .input:focus{border-color:#438aca;box-shadow:0 0 0 4px rgba(30,111,184,.11)}
.transport-gospel-page #staffLogin .btn{
  min-height:54px;
  border-radius:15px;
  background:linear-gradient(135deg,#062d65,#0b5ca9);
  box-shadow:0 10px 22px rgba(8,47,103,.17);
  transition:transform .1s ease,box-shadow .15s ease,filter .15s ease;
}
.transport-gospel-page #staffLogin .btn:hover{filter:brightness(1.06);box-shadow:0 13px 27px rgba(8,47,103,.23)}
.transport-gospel-page #staffLogin .btn:active{transform:scale(.985)}
.transport-gospel-page #transportApp>.subtitle{
  margin:2px 4px 18px;
  color:#31546f;
  font-size:1.2rem;
}
.transport-gospel-page #transportApp .grid3{gap:14px}
.transport-gospel-page #transportApp .stat{
  position:relative;
  overflow:hidden;
  min-height:118px;
  padding:19px;
  border-radius:21px;
  border:1px solid rgba(165,193,220,.62);
  background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(245,250,255,.98));
  box-shadow:0 10px 28px rgba(19,59,102,.08);
}
.transport-gospel-page #transportApp .stat:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--transport-blue),#69afe8,var(--transport-gold));
}
.transport-gospel-page #transportApp .stat .muted{font-weight:850;color:#526b84}
.transport-gospel-page #transportApp .stat .n{color:var(--transport-navy);font-size:2rem}
.transport-gospel-page #transportApp .tabs{
  gap:7px;
  padding:7px;
  border-radius:18px;
  border:1px solid #d8e5f1;
  background:rgba(255,255,255,.74);
  box-shadow:0 8px 22px rgba(21,60,102,.07);
}
.transport-gospel-page #transportApp .tab{
  flex:1;
  min-height:47px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#315676;
  transition:transform .1s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.transport-gospel-page #transportApp .tab:hover{background:#fff;color:#0b4f98}
.transport-gospel-page #transportApp .tab:active{transform:scale(.98)}
.transport-gospel-page #transportApp .tab.active{
  background:linear-gradient(135deg,#062d65,#0b5ca9);
  color:#fff;
  box-shadow:0 8px 18px rgba(8,47,103,.18);
}
.transport-gospel-page .job-card{
  position:relative;
  overflow:hidden;
  padding:21px;
  border-radius:23px;
  border:1px solid var(--transport-line);
  background:linear-gradient(155deg,#fff 0%,#f9fcff 76%,#fff9ec 100%);
  box-shadow:0 12px 30px rgba(18,57,99,.09);
}
.transport-gospel-page .job-card:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--transport-blue),var(--transport-gold));
}
.transport-gospel-page .job-card h3{color:#133e6d;font-size:1.25rem}
.transport-gospel-page .job-card .badge.blue{background:#e7f3ff;color:#0a5aa9;border:1px solid #cde4f9}
.transport-gospel-page .job-card .job-meta{
  margin-top:15px;
  padding:15px;
  border-radius:16px;
  background:rgba(246,250,255,.92);
  border:1px solid #e0eaf3;
}
.transport-gospel-page .job-card .ops-toolbar{margin-top:14px}
.transport-gospel-page .job-card .ops-toolbar .btn{
  border-radius:13px;
  min-height:45px;
  transition:transform .1s ease,box-shadow .15s ease,background .15s ease;
}
.transport-gospel-page .job-card .ops-toolbar .btn:hover{box-shadow:0 8px 17px rgba(21,61,104,.10)}
.transport-gospel-page .job-card .ops-toolbar .btn:active{transform:scale(.98)}
.transport-gospel-page .job-status{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  padding:7px;
  border-radius:17px;
  background:#f1f6fa;
  border:1px solid #dfe8f1;
}
.transport-gospel-page .job-status button{
  min-height:44px;
  border-radius:11px;
  border:1px solid transparent;
  background:transparent;
  color:#536b82;
  font-weight:850;
  text-transform:capitalize;
  transition:transform .1s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.transport-gospel-page .job-status button:hover{background:#fff;color:#0a4f98}
.transport-gospel-page .job-status button:active{transform:scale(.97)}
.transport-gospel-page .job-status button.active{
  background:linear-gradient(135deg,#0a4f98,#0d68bb);
  color:#fff;
  box-shadow:0 7px 16px rgba(8,71,143,.17);
}
.transport-gospel-page .portal-copyright{color:#6e7d8d}

@media(max-width:760px){
  .member-login-gospel-page #memberAuth{margin-top:10px;padding:22px 13px 28px;border-radius:27px}
  .member-login-gospel-page #memberAuth:after{width:68px;height:96px;right:4%;top:28px}
  .member-login-gospel-page .member-welcome-icon{width:64px;height:64px;border-radius:20px}
  .member-login-gospel-page .member-modern-auth-card{padding:22px 17px;border-radius:23px}
  .member-login-gospel-page .member-modern-auth-card h2{font-size:1.85rem}
  .transport-gospel-page .transport-role-heading{padding:23px 20px 22px;border-radius:24px;text-align:center}
  .transport-gospel-page .transport-role-heading:after{right:16px;opacity:.09}
  .transport-gospel-page #staffLogin .auth-card{padding:23px 18px;border-radius:23px}
  .transport-gospel-page #transportApp .grid3{grid-template-columns:1fr}
  .transport-gospel-page #transportApp .tabs{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
  .transport-gospel-page .job-card{padding:18px 15px}
  .transport-gospel-page .job-status{grid-template-columns:1fr 1fr}
  .transport-gospel-page .job-status button:last-child{grid-column:1/-1}
  .transport-gospel-page .job-card .ops-toolbar{display:grid;grid-template-columns:1fr 1fr}
  .transport-gospel-page .job-card .ops-toolbar .btn{text-align:center}
}
@media(max-width:460px){
  .transport-gospel-page #transportApp .tabs{grid-template-columns:1fr}
  .transport-gospel-page .job-card .ops-toolbar{grid-template-columns:1fr}
  .transport-gospel-page .job-status{grid-template-columns:1fr}
  .transport-gospel-page .job-status button:last-child{grid-column:auto}
}

/* v1.0.19 — Member Login Portal visual redesign only: Sanctuary Gospel UI */
.member-login-sanctuary-page{
  --sanctuary-navy:#071f46;
  --sanctuary-blue:#155c9e;
  --sanctuary-sky:#e9f5ff;
  --sanctuary-gold:#c99b45;
  --sanctuary-gold-soft:#f4e3bd;
  --sanctuary-cream:#fffdf8;
  --sanctuary-ink:#142c49;
  --sanctuary-muted:#6b7f94;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)){
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 8%,rgba(255,224,158,.38),transparent 23rem),
    radial-gradient(circle at 14% 12%,rgba(137,199,246,.32),transparent 30rem),
    linear-gradient(145deg,#eef8ff 0%,#f9fcff 46%,#fffaf0 100%);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden))::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(13,75,132,.08) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(to bottom,#000,transparent 80%);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{max-width:1500px;padding:14px 28px 42px}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{
  position:relative;z-index:5;margin-bottom:14px;padding:9px 12px;border:1px solid rgba(108,151,193,.18);
  border-radius:20px;background:rgba(255,255,255,.72);backdrop-filter:blur(16px);
  box-shadow:0 10px 32px rgba(26,68,108,.07);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{width:132px}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .menu-btn{
  border:1px solid #c6d9e9;background:#fff;color:var(--sanctuary-navy);box-shadow:none;
}
.member-login-sanctuary{padding:0 0 20px}
.member-login-stage{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr);min-height:690px;max-width:1320px;margin:0 auto;
  border:1px solid rgba(109,148,185,.28);border-radius:34px;overflow:hidden;background:rgba(255,255,255,.8);
  box-shadow:0 30px 80px rgba(12,51,91,.15),0 3px 10px rgba(12,51,91,.06);
}
.member-login-story{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:58px 56px;
  background:
    radial-gradient(circle at 76% 18%,rgba(255,231,174,.96) 0 3%,rgba(255,231,174,.38) 14%,transparent 31%),
    linear-gradient(160deg,#dff1ff 0%,#f2f9ff 44%,#fff8e9 100%);
}
.member-login-story:before{
  content:"";position:absolute;inset:auto -14% -28% -14%;height:62%;border-radius:50% 50% 0 0/35% 35% 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.62),#fff);filter:blur(.2px);box-shadow:0 -18px 60px rgba(255,255,255,.75);
}
.member-login-story:after{
  content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.14),transparent 38%,rgba(255,238,194,.12));pointer-events:none;
}
.sanctuary-rays{position:absolute;right:-130px;top:-165px;width:590px;height:590px;border-radius:50%;opacity:.34;background:repeating-conic-gradient(from 205deg,rgba(255,255,255,.95) 0 5deg,transparent 5deg 14deg);filter:blur(1px)}
.sanctuary-cross{position:absolute;right:11%;bottom:14%;width:78px;height:138px;opacity:.12;z-index:1}
.sanctuary-cross:before,.sanctuary-cross:after{content:"";position:absolute;background:var(--sanctuary-navy);border-radius:999px}
.sanctuary-cross:before{width:16px;height:138px;left:31px;top:0}.sanctuary-cross:after{width:78px;height:16px;left:0;top:35px}
.sanctuary-cloud{position:absolute;background:rgba(255,255,255,.58);filter:blur(1px);border-radius:999px;box-shadow:35px -15px 0 rgba(255,255,255,.48),70px 4px 0 rgba(255,255,255,.38)}
.sanctuary-cloud-one{width:145px;height:52px;left:-40px;bottom:17%}.sanctuary-cloud-two{width:115px;height:42px;right:5%;top:24%;opacity:.65}
.member-login-story-content{position:relative;z-index:2;max-width:610px;text-align:left;margin-top:-28px}
.member-login-story-logo{width:190px;max-width:58%;height:auto;margin:0 0 36px;filter:drop-shadow(0 8px 18px rgba(17,47,81,.08))}
.member-login-eyebrow{font-size:.78rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase;color:#497096;margin-bottom:16px}
.member-login-story h1{margin:0;color:var(--sanctuary-navy);font-size:clamp(3rem,5vw,5.5rem);line-height:.9;letter-spacing:-.055em;font-weight:950;text-wrap:balance}
.member-login-role{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:1.18rem;font-weight:900;color:#315e88}
.member-login-role:before{content:"";width:54px;height:2px;background:linear-gradient(90deg,var(--sanctuary-gold),#e5c881);border-radius:2px}
.member-login-role span{padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(201,155,69,.35);backdrop-filter:blur(8px)}
.member-login-story-footer{position:absolute;z-index:2;bottom:35px;left:56px;display:flex;align-items:center;gap:7px;opacity:.52}
.member-login-story-footer span{width:46px;height:1px;background:#b48b44}.member-login-story-footer i{width:8px;height:8px;border:1px solid #b48b44;transform:rotate(45deg)}
.member-login-entry{display:flex;align-items:center;justify-content:center;padding:56px 58px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(253,254,255,.95));position:relative}
.member-login-entry:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--sanctuary-gold),#edcf8b,transparent 86%)}
.member-login-mobile-mark{display:none}
.member-sanctuary-auth-card{width:100%;max-width:530px;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.member-login-card-head{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:center;margin-bottom:28px}
.member-login-card-symbol{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;color:#9a6f20;font-size:1.35rem;background:linear-gradient(145deg,#fff8e6,#f7e5bb);border:1px solid #ead19a;box-shadow:0 9px 20px rgba(184,137,52,.12)}
.member-login-card-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.71rem;font-weight:950;color:#7a8da0;margin-bottom:3px}
.member-sanctuary-auth-card h2{margin:0;color:var(--sanctuary-navy);font-size:2.15rem;line-height:1;letter-spacing:-.025em}
.member-sanctuary-auth-card .member-login-card-head p{margin:7px 0 0;color:var(--sanctuary-muted);font-size:.94rem;line-height:1.45}
.sanctuary-auth-tabs{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;padding:5px!important;margin-bottom:24px!important;border-radius:16px!important;background:#eef4f9!important;border:1px solid #dbe6ef!important}
.sanctuary-auth-tabs button{min-height:46px;border:0!important;border-radius:12px!important;background:transparent!important;color:#60778e!important;font-weight:900!important;transition:.16s ease!important;box-shadow:none!important}
.sanctuary-auth-tabs button:hover{color:var(--sanctuary-blue)!important;background:rgba(255,255,255,.7)!important}
.sanctuary-auth-tabs button.active{background:#fff!important;color:var(--sanctuary-navy)!important;box-shadow:0 5px 16px rgba(24,66,108,.11)!important}
.sanctuary-auth-form{gap:16px!important}
.sanctuary-field label{display:block;margin:0 0 7px;color:#294662;font-weight:900;font-size:.86rem}
.sanctuary-input-wrap{position:relative;display:flex;align-items:center;border:1px solid #d3e0eb;border-radius:15px;background:#fbfdff;transition:.16s ease;overflow:hidden}
.sanctuary-input-wrap>span{width:48px;display:grid;place-items:center;color:#6b87a2;font-size:.93rem;border-right:1px solid #e4edf4;align-self:stretch;background:#f5f9fc}
.sanctuary-input-wrap .input{min-height:52px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 14px!important;color:#183650;font:inherit}
.sanctuary-input-wrap:hover{border-color:#a9c6dd;background:#fff}.sanctuary-input-wrap:focus-within{border-color:#4f8dbf;box-shadow:0 0 0 4px rgba(49,119,179,.1);background:#fff}
.sanctuary-primary-btn{width:100%;min-height:54px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--sanctuary-navy),#0b4f8e)!important;color:#fff!important;font-weight:950!important;box-shadow:0 12px 26px rgba(7,31,70,.18)!important;border:0!important;transition:.15s ease!important}
.sanctuary-primary-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(7,31,70,.23)!important;filter:brightness(1.04)}.sanctuary-primary-btn:active{transform:translateY(1px) scale(.992)}
.sanctuary-auth-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.sanctuary-auth-actions .forgot{justify-self:center;border:0;background:transparent;color:#386a96;font-weight:850;padding:8px 12px;border-radius:10px;cursor:pointer}.sanctuary-auth-actions .forgot:hover{background:#eef6fc;color:#114f87}
.sanctuary-auth-message{margin-top:14px}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{color:#8091a3;padding:7px 16px 18px}
@media(max-width:1000px){
  .member-login-stage{grid-template-columns:1fr;max-width:720px;min-height:auto}.member-login-story{min-height:300px;padding:42px 42px}.member-login-story-content{text-align:center;margin:0}.member-login-story-logo{display:none}.member-login-story h1{font-size:clamp(2.65rem,8vw,4.2rem)}.member-login-role{justify-content:center}.member-login-story-footer{display:none}.sanctuary-cross{right:10%;bottom:8%;transform:scale(.8)}.member-login-entry{padding:38px 42px}.member-login-mobile-mark{display:flex;align-items:center;gap:12px;margin-bottom:28px}.member-login-mobile-mark img{width:92px}.member-login-mobile-mark small,.member-login-mobile-mark strong{display:block}.member-login-mobile-mark small{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6d8499;font-weight:850}.member-login-mobile-mark strong{font-size:1.08rem;color:var(--sanctuary-navy)}
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{padding:8px 10px 30px}.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{border-radius:15px;margin-bottom:8px}.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{width:112px}.member-login-stage{border-radius:24px}.member-login-story{min-height:225px;padding:30px 22px}.member-login-eyebrow{font-size:.66rem;letter-spacing:.12em}.member-login-story h1{font-size:2.75rem}.member-login-role{margin-top:17px;font-size:1rem}.member-login-role:before{width:35px}.member-login-entry{padding:27px 22px 32px}.member-login-mobile-mark{margin-bottom:23px}.member-login-card-head{grid-template-columns:50px 1fr;gap:12px;margin-bottom:22px}.member-login-card-symbol{width:50px;height:50px;border-radius:16px}.member-sanctuary-auth-card h2{font-size:1.85rem}.sanctuary-auth-tabs{margin-bottom:20px!important}.sanctuary-input-wrap .input{min-height:50px!important}.sanctuary-input-wrap>span{width:43px}.member-login-story:before{bottom:-36%;height:65%}
}


/* v1.0.20 — Planning schedules + member live refresh UX */
.planning-page .topbar{
  position:relative!important;
  top:auto!important;
}
.planning-page .planning-role-heading{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.planning-page .planning-role-heading .portal-role-note{
  margin-left:auto;
  margin-right:auto;
  max-width:900px;
}
.planning-page .planning-role-heading:after{
  right:34px;
}
.planning-page .schedule-overview-card.road{
  background:linear-gradient(145deg,#f5fbf7,#e7f7ed);
}
.planning-page .schedule-overview-card.ferry{
  background:linear-gradient(145deg,#f4fbff,#e6f7fb);
}
@media(max-width:700px){
  .planning-page .planning-role-heading{padding-left:18px;padding-right:18px}
  .planning-page .planning-role-heading .portal-role-note{padding-right:0!important}
  .planning-page .planning-role-heading:after{opacity:.09;right:8px}
}


/* v1.0.21 — Member Portal responsive alignment + Home Screen app refresh layout */
.member-login-sanctuary-page .shell,
.member-login-sanctuary-page .topbar,
.member-login-sanctuary-page #memberAuth,
.member-login-sanctuary-page #memberApp,
.member-login-sanctuary-page .member-login-stage,
.member-login-sanctuary-page .member-login-story,
.member-login-sanctuary-page .member-login-entry,
.member-login-sanctuary-page .member-login-story-content,
.member-login-sanctuary-page .member-sanctuary-auth-card,
.member-login-sanctuary-page .member-info-grid,
.member-login-sanctuary-page .member-info-grid > section{min-width:0}

/* Keep all decorative gospel elements behind the actual content. */
.member-login-story .sanctuary-rays,
.member-login-story .sanctuary-cross,
.member-login-story .sanctuary-cloud,
.member-login-story:before,
.member-login-story:after{pointer-events:none}
.member-login-story-content,.member-login-entry>*{position:relative;z-index:2}

/* A wider breakpoint prevents the two-panel login from being squeezed and overlapping. */
.member-login-stage{
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
  min-height:650px;
}
.member-login-story-content{margin-top:0;width:100%;max-width:560px}
.member-login-story-logo{display:block;max-width:180px;width:42%;margin:0 0 30px}
.member-login-story h1{overflow-wrap:anywhere}
.member-login-entry{min-width:0}
.member-sanctuary-auth-card{min-width:0}
.sanctuary-input-wrap{min-width:0}
.sanctuary-input-wrap .input{min-width:0}

/* Logged-in Member Portal: never allow headings/cards/controls to collide. */
.member-login-sanctuary-page #memberApp{width:100%;max-width:1180px;margin:0 auto}
.member-login-sanctuary-page #memberApp .portal-title{max-width:100%;overflow-wrap:anywhere}
.member-login-sanctuary-page #memberApp .status-card>.between{flex-wrap:wrap;align-items:flex-start}
.member-login-sanctuary-page #memberApp .member-info-grid>section{width:100%}
.member-login-sanctuary-page #memberApp .card,
.member-login-sanctuary-page #memberApp .panel{max-width:100%;overflow:hidden}
.member-login-sanctuary-page #memberApp .stay-head>div:last-child,
.member-login-sanctuary-page #memberApp .compact-flight-title,
.member-login-sanctuary-page #memberApp .compact-transport-main,
.member-login-sanctuary-page #memberApp .compact-vehicle{min-width:0}
.member-login-sanctuary-page #memberApp h1,
.member-login-sanctuary-page #memberApp h2,
.member-login-sanctuary-page #memberApp h3,
.member-login-sanctuary-page #memberApp strong,
.member-login-sanctuary-page #memberApp .flight-route{overflow-wrap:anywhere}
.member-login-sanctuary-page #memberApp .bottom-nav{
  bottom:max(10px,env(safe-area-inset-bottom));
  margin-bottom:env(safe-area-inset-bottom);
}

@media(max-width:1180px){
  .member-login-stage{grid-template-columns:1fr;max-width:760px;min-height:auto}
  .member-login-story{min-height:285px;padding:40px 42px}
  .member-login-story-content{text-align:center;margin:0 auto}
  .member-login-story-logo{display:none}
  .member-login-role{justify-content:center}
  .member-login-story-footer{display:none}
  .member-login-entry{padding:38px 44px}
  .member-login-mobile-mark{display:flex;align-items:center;gap:12px;margin:0 0 26px}
  .member-login-mobile-mark img{width:86px;height:auto;flex:0 0 auto}
  .member-login-mobile-mark>div{min-width:0}
  .member-login-mobile-mark small,.member-login-mobile-mark strong{display:block;overflow-wrap:anywhere}
}

@media(max-width:720px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{padding:8px 10px calc(24px + env(safe-area-inset-bottom))}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{padding:7px 9px;gap:8px}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{width:94px;max-height:58px}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .menu-btn{min-width:auto;padding:10px 12px;font-size:.86rem}
  .member-login-stage{width:100%;border-radius:22px}
  .member-login-story{min-height:190px;padding:24px 18px}
  .member-login-eyebrow{font-size:.62rem;letter-spacing:.09em;margin-bottom:9px}
  .member-login-story h1{font-size:clamp(2rem,10vw,2.65rem);line-height:.94}
  .member-login-role{margin-top:13px;font-size:.9rem;gap:8px}
  .member-login-role:before{width:28px}
  .member-login-role span{padding:6px 11px}
  .member-login-entry{padding:23px 16px 27px}
  .member-login-mobile-mark{display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;margin-bottom:18px}
  .member-login-mobile-mark img{width:66px;max-width:100%}
  .member-login-mobile-mark small{font-size:.62rem;letter-spacing:.06em}
  .member-login-mobile-mark strong{font-size:.98rem}
  .member-login-card-head{grid-template-columns:44px minmax(0,1fr);gap:10px;margin-bottom:18px}
  .member-login-card-symbol{width:44px;height:44px;border-radius:14px}
  .member-sanctuary-auth-card h2{font-size:1.65rem}
  .member-sanctuary-auth-card .member-login-card-head p{font-size:.86rem}
  .sanctuary-auth-tabs{grid-template-columns:1fr 1fr!important}
  .sanctuary-auth-tabs button{min-width:0;padding:10px 6px!important;font-size:.86rem}
  .sanctuary-input-wrap>span{width:40px;flex:0 0 40px}
  .sanctuary-input-wrap .input{font-size:16px!important;padding:0 11px!important}

  .member-login-sanctuary-page #memberApp{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .member-login-sanctuary-page #memberApp .member-modern-title{font-size:clamp(1.85rem,9vw,2.65rem);line-height:1}
  .member-login-sanctuary-page #memberApp .subtitle{font-size:1.08rem;margin-bottom:18px}
  .member-login-sanctuary-page #memberApp .programme-card{padding:15px}
  .member-login-sanctuary-page #memberApp .programme-card .row{align-items:flex-start}
  .member-login-sanctuary-page #memberApp .programme-card .icon{width:44px;height:44px;border-radius:13px}
  .member-login-sanctuary-page #memberApp .card>.row{flex-wrap:wrap;align-items:stretch}
  .member-login-sanctuary-page #memberApp #memberSearch{flex:1 1 100%;width:100%}
  .member-login-sanctuary-page #memberApp #searchBtn{width:100%}
  .member-login-sanctuary-page #memberApp .status-card{border-radius:20px;padding:16px 10px}
  .member-login-sanctuary-page #memberApp .status-card .section-title{font-size:1.12rem}
  .member-login-sanctuary-page #memberApp .current-box strong{font-size:1.4rem}
  .member-login-sanctuary-page #memberApp .member-section-heading{font-size:1.5rem}
  .member-login-sanctuary-page #memberApp .compact-flight-card,
  .member-login-sanctuary-page #memberApp .member-accommodation-card,
  .member-login-sanctuary-page #memberApp .member-food-card{padding:14px}
  .member-login-sanctuary-page #memberApp .compact-flight-times{grid-template-columns:1fr;gap:6px}
  .member-login-sanctuary-page #memberApp .compact-flight-arrow{transform:rotate(90deg);text-align:center;line-height:1}
  .member-login-sanctuary-page #memberApp .compact-flight-times>div:not(.compact-flight-arrow){display:grid;grid-template-columns:1fr auto;gap:4px 10px}
  .member-login-sanctuary-page #memberApp .compact-flight-times span{grid-column:1/-1}
  .member-login-sanctuary-page #memberApp .stay-time-grid{grid-template-columns:1fr}
  .member-login-sanctuary-page #memberApp .stay-time-arrow{transform:rotate(90deg);text-align:center;line-height:1}
  .member-login-sanctuary-page #memberApp .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;border-radius:17px}
  .member-login-sanctuary-page #memberApp .bottom-nav a{min-width:0;padding:7px 1px;font-size:.64rem;overflow:hidden}
}

@media(max-width:390px){
  .member-login-story{min-height:172px;padding:20px 14px}
  .member-login-story h1{font-size:2.05rem}
  .member-login-entry{padding:20px 13px 24px}
  .member-login-mobile-mark{grid-template-columns:58px minmax(0,1fr)}
  .member-login-mobile-mark img{width:58px}
  .member-login-card-head{grid-template-columns:40px minmax(0,1fr)}
  .member-login-card-symbol{width:40px;height:40px}
  .member-sanctuary-auth-card h2{font-size:1.5rem}
}

/* v1.0.22 — Member Login alignment fix for mobile/tablet/desktop */
@media(max-width:1180px){
  .member-login-entry{
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  .member-sanctuary-auth-card{
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
  }
  .member-login-mobile-mark{
    width:100%;
    max-width:560px;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:720px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{
    min-height:74px;
    align-items:center;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand{
    flex:0 1 auto;
    min-width:0;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{
    width:104px;
    max-width:100%;
    height:auto;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .menu-btn{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .member-login-story{
    min-height:208px;
    padding:26px 18px 30px;
  }
  .member-login-story-content{
    width:100%;
    max-width:100%;
    text-align:center;
  }
  .member-login-eyebrow{
    margin:0 0 12px;
    font-size:.66rem;
    line-height:1.35;
  }
  .member-login-story h1{
    font-size:clamp(2rem,10.6vw,2.65rem);
    line-height:.94;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
  }
  .member-login-role{
    margin-top:16px;
    justify-content:center;
  }

  /* The top bar + hero already identify the portal, so remove the duplicate mini logo block. */
  .member-login-mobile-mark{display:none!important}

  .member-login-entry{
    display:block!important;
    padding:26px 18px 30px!important;
  }
  .member-sanctuary-auth-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .member-login-card-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    justify-items:center;
    text-align:center;
    margin-bottom:22px!important;
  }
  .member-login-card-symbol{
    width:48px!important;
    height:48px!important;
    margin:0 auto;
  }
  .member-login-card-kicker{
    text-align:center;
    margin-bottom:5px;
  }
  .member-sanctuary-auth-card h2{
    text-align:center;
    font-size:1.9rem!important;
  }
  .member-sanctuary-auth-card .member-login-card-head p{
    max-width:310px;
    margin:8px auto 0!important;
    text-align:center;
  }
  .sanctuary-auth-tabs{
    width:100%;
    margin-left:0!important;
    margin-right:0!important;
  }
  .sanctuary-auth-tabs button{
    min-height:48px!important;
    line-height:1.15;
  }
  .sanctuary-auth-form{
    width:100%;
  }
  .sanctuary-field,
  .sanctuary-auth-actions,
  .sanctuary-input-wrap{
    width:100%;
    max-width:100%;
  }
  .sanctuary-field label{
    text-align:left;
  }
  .sanctuary-input-wrap{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr);
  }
  .sanctuary-input-wrap>span{
    width:44px!important;
    min-width:44px!important;
  }
  .sanctuary-input-wrap .input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .sanctuary-primary-btn{
    width:100%!important;
  }
}

@media(max-width:420px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .member-login-stage{border-radius:20px!important}
  .member-login-story{
    min-height:196px;
    padding:24px 14px 28px;
  }
  .member-login-story h1{
    font-size:clamp(1.9rem,10.2vw,2.38rem)!important;
  }
  .member-login-entry{
    padding:24px 14px 28px!important;
  }
  .sanctuary-auth-tabs button{
    font-size:.82rem!important;
    padding:9px 5px!important;
  }
  .sanctuary-input-wrap{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  .sanctuary-input-wrap>span{
    width:42px!important;
    min-width:42px!important;
  }
}


/* v1.0.23 Accommodation planning: Motel / Home */
.accommodation-type-picker{border:1px solid rgba(24,73,122,.14);background:linear-gradient(135deg,#f7fbff,#fffaf0);border-radius:18px;padding:16px;margin-bottom:2px}.accommodation-type-label{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#526d88;margin-bottom:10px}.accommodation-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.accommodation-type-btn{border:1px solid #cad9e8;background:#fff;border-radius:16px;padding:14px 16px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;color:#153b68;cursor:pointer;transition:.16s ease;box-shadow:0 6px 18px rgba(15,48,82,.05)}.accommodation-type-btn span{grid-row:1/3;font-size:1.55rem}.accommodation-type-btn strong{font-size:1rem}.accommodation-type-btn small{color:#708398}.accommodation-type-btn:hover{transform:translateY(-1px);border-color:#7da6d1}.accommodation-type-btn.active{background:linear-gradient(135deg,#0b3567,#154e89);color:#fff;border-color:#154e89;box-shadow:0 10px 24px rgba(11,53,103,.18)}.accommodation-type-btn.active small{color:#dceaf7}.accommodation-motel-fields{display:grid;grid-template-columns:1fr;gap:14px}.accommodation-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.accommodation-planning-form textarea{width:100%;min-height:88px;resize:vertical}.accommodation-room-summary{margin-top:7px;font-weight:800;color:#234f79}.accommodation-note-summary{margin-top:4px;max-width:720px}.member-room-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.member-room-details>div{padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.66);border:1px solid rgba(126,79,118,.12)}.member-room-details span{display:block;font-size:.72rem;color:#6d6f84;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.member-room-details strong{display:block;margin-top:3px}.member-accommodation-note{display:flex;gap:8px;align-items:flex-start;padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.55);margin:12px 0}.member-accommodation-note strong{white-space:nowrap}.member-accommodation-note span{color:#595d6c}
@media(max-width:700px){.accommodation-type-buttons,.accommodation-room-grid,.member-room-details{grid-template-columns:1fr}.accommodation-type-btn{padding:13px}.accommodation-planning-form .journey-section-title{margin-top:2px}}

/* v1.0.24 — Planning Accommodation UX refresh */
.planning-page .accommodation-wizard-form{gap:18px}
.planning-page .accommodation-choice-card,
.planning-page .accommodation-details-card{
  border:1px solid rgba(24,73,122,.12);
  border-radius:22px;
  background:#fff;
  padding:20px;
  box-shadow:0 12px 30px rgba(13,55,94,.07)
}
.planning-page .accommodation-choice-card{
  background:linear-gradient(145deg,#f6fbff 0%,#ffffff 56%,#fffaf0 100%)
}
.planning-page .accommodation-step-label{
  display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;
  background:#eaf4ff;color:#245c91;font-size:.7rem;font-weight:900;letter-spacing:.11em;margin-bottom:7px
}
.planning-page .accommodation-choice-card h3,
.planning-page .accommodation-details-card h3{margin:0;color:#103f73;font-size:1.18rem}
.planning-page .accommodation-choice-card>p,
.planning-page .accommodation-section-head p{margin:5px 0 0;color:#6e8194;font-size:.9rem;line-height:1.45}
.planning-page .accommodation-choice-card .accommodation-type-buttons{margin-top:15px}
.planning-page .accommodation-type-btn{
  min-height:92px;padding:15px 16px;border-radius:17px;position:relative;
  grid-template-columns:44px minmax(0,1fr) 28px;gap:12px;text-align:left;align-items:center
}
.planning-page .accommodation-type-btn .accommodation-choice-icon{
  grid-row:auto;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  background:#eef6fd;font-size:1.45rem
}
.planning-page .accommodation-choice-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.planning-page .accommodation-choice-copy strong{font-size:1.02rem}
.planning-page .accommodation-choice-copy small{font-size:.79rem;line-height:1.3;color:#71859a}
.planning-page .accommodation-choice-check{
  width:25px;height:25px;border:1px solid #cbd9e7;border-radius:50%;display:grid;place-items:center;
  color:transparent;background:#fff;font-size:.78rem;font-weight:900
}
.planning-page .accommodation-type-btn.active .accommodation-choice-icon{background:rgba(255,255,255,.15)}
.planning-page .accommodation-type-btn.active .accommodation-choice-check{background:#fff;color:#0b4b8d;border-color:#fff}
.planning-page .accommodation-type-btn.active .accommodation-choice-copy small{color:#dfeefa}
.planning-page .accommodation-section-head{display:flex;gap:13px;align-items:flex-start;padding-bottom:17px;border-bottom:1px solid #e9eff5;margin-bottom:17px}
.planning-page .accommodation-section-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#edf6ff;font-size:1.5rem;flex:0 0 auto}
.planning-page .accommodation-primary-fields{display:grid;grid-template-columns:1fr;gap:14px}
.planning-page .accommodation-primary-fields .planning-field label,
.planning-page .accommodation-subsection .planning-field label{font-size:.84rem}
.planning-page .accommodation-subsection{
  border:1px solid #e4edf5;border-radius:18px;padding:16px;margin-top:15px;background:#fbfdff
}
.planning-page .accommodation-subsection-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.planning-page .accommodation-subsection-head>span{font-size:1.2rem;line-height:1.3}
.planning-page .accommodation-subsection-head strong{display:block;color:#183f67;font-size:.94rem}
.planning-page .accommodation-subsection-head small{display:block;color:#7b8c9d;margin-top:2px;font-size:.77rem;line-height:1.35}
.planning-page .field-optional{font-size:.67rem;color:#728497;font-weight:700;margin-left:4px}
.planning-page .accommodation-room-grid{gap:12px}
.planning-page .accommodation-stay-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.planning-page .accommodation-stay-card{border:1px solid #dfe9f2;background:#fff;border-radius:16px;padding:14px}
.planning-page .accommodation-stay-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.planning-page .accommodation-stay-title>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#eaf4ff;color:#1a5c9b;font-weight:900}
.planning-page .accommodation-stay-title strong{display:block;color:#183f67;font-size:.9rem}
.planning-page .accommodation-stay-title small{display:block;color:#8191a1;font-size:.7rem;margin-top:1px}
.planning-page .accommodation-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.planning-page .accommodation-stay-grid .planning-field{gap:5px}
.planning-page .accommodation-stay-grid .planning-field label{font-size:.72rem;color:#657b90}
.planning-page .accommodation-stay-grid .date-picker-trigger,
.planning-page .accommodation-stay-grid .time24-trigger,
.planning-page .accommodation-stay-grid input,
.planning-page .accommodation-stay-grid select{min-height:45px}
.planning-page .accommodation-notes-section textarea{min-height:82px;border:1px solid #cbd9e7;border-radius:12px;padding:12px 13px;font:inherit;color:#142c43;background:#fff}
.planning-page .accommodation-notes-section textarea:focus{outline:3px solid rgba(31,96,157,.13);border-color:#477fb4}
.planning-page .accommodation-form-actions{position:sticky;bottom:-22px;margin:0 -22px -22px;padding:14px 22px 20px;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 28%);border-top:1px solid #e6edf4;z-index:3}
.planning-page .accommodation-form-actions .planning-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

@media(max-width:700px){
  .planning-page .accommodation-choice-card,.planning-page .accommodation-details-card{padding:15px;border-radius:18px}
  .planning-page .accommodation-type-buttons{grid-template-columns:1fr;gap:9px}
  .planning-page .accommodation-type-btn{min-height:78px;padding:12px 13px;grid-template-columns:40px minmax(0,1fr) 26px}
  .planning-page .accommodation-type-btn .accommodation-choice-icon{width:40px;height:40px}
  .planning-page .accommodation-stay-cards{grid-template-columns:1fr}
  .planning-page .accommodation-stay-grid{grid-template-columns:1fr 1fr}
  .planning-page .accommodation-room-grid{grid-template-columns:1fr}
  .planning-page .accommodation-subsection{padding:13px;border-radius:15px}
  .planning-page .accommodation-form-actions{bottom:-22px;margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}
}
@media(max-width:430px){
  .planning-page .accommodation-stay-grid{grid-template-columns:1fr}
  .planning-page .accommodation-section-head{gap:10px}
  .planning-page .accommodation-section-icon{width:43px;height:43px}
}

/* v1.0.25 — Add Accommodation rebuilt as a simple two-screen flow */
.planning-page .accommodation-modal{width:min(720px,100%)}
.planning-page .accommodation-modal .planning-modal-body{padding:22px}
.planning-page .accommodation-simple-form{display:block}
.planning-page .accommodation-screen{display:block}
.planning-page .accommodation-screen.hidden{display:none!important}
.planning-page .accommodation-screen-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.planning-page .accommodation-screen-heading.compact{margin:18px 0 16px}
.planning-page .accommodation-screen-step{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#0c4c88;color:#fff;font-weight:900;box-shadow:0 5px 14px rgba(12,76,136,.18)}
.planning-page .accommodation-screen-heading h3{margin:1px 0 3px;color:#143f6c;font-size:1.16rem}
.planning-page .accommodation-screen-heading p{margin:0;color:#72869a;font-size:.88rem;line-height:1.4}
.planning-page .accommodation-big-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.planning-page .accommodation-big-option{min-height:126px;border:1px solid #d5e1ec;background:#fff;border-radius:18px;padding:18px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left;color:#153c66;cursor:pointer;box-shadow:0 8px 24px rgba(18,55,90,.06);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.planning-page .accommodation-big-option:hover,.planning-page .accommodation-big-option:focus-visible{transform:translateY(-2px);border-color:#6c9bc7;box-shadow:0 12px 28px rgba(18,55,90,.11);outline:none}
.planning-page .accommodation-big-icon{width:52px;height:52px;border-radius:15px;background:#edf6ff;display:grid;place-items:center;font-size:1.65rem}
.planning-page .accommodation-big-option strong{display:block;font-size:1.08rem;margin-bottom:4px}
.planning-page .accommodation-big-option small{display:block;color:#73879b;line-height:1.35}
.planning-page .accommodation-big-option b{font-size:1.6rem;color:#7b93aa;font-weight:500}
.planning-page .accommodation-first-actions{display:flex;justify-content:flex-end;margin-top:18px}
.planning-page .accommodation-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e7eef5}
.planning-page .accommodation-change-type{border:0;background:transparent;padding:7px 0;color:#256299;font:inherit;font-weight:800;cursor:pointer}
.planning-page .accommodation-current-type{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:999px;background:#edf5fc;color:#184f82;font-size:.8rem;font-weight:900}
.planning-page .accommodation-fields-stack{display:grid;gap:13px}
.planning-page .accommodation-motel-simple{margin-top:20px}
.planning-page .accommodation-divider{display:flex;align-items:center;gap:8px;margin:20px 0 11px;padding-top:18px;border-top:1px solid #e9eff5;color:#244d75}
.planning-page .accommodation-divider:first-child{margin-top:4px;padding-top:16px}
.planning-page .accommodation-divider>span{font-size:1.08rem}
.planning-page .accommodation-divider>strong{font-size:.92rem}
.planning-page .accommodation-divider>small{margin-left:auto;color:#8797a6;font-size:.73rem}
.planning-page .accommodation-two-fields{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}
.planning-page .accommodation-stay-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-bottom:1px dashed #e3ebf2}
.planning-page .accommodation-stay-row:last-of-type{border-bottom:0}
.planning-page .accommodation-stay-label{padding-top:4px}
.planning-page .accommodation-stay-label strong{display:block;color:#183f67;font-size:.9rem}
.planning-page .accommodation-stay-label small{display:block;color:#8393a2;font-size:.72rem;margin-top:3px;line-height:1.3}
.planning-page .accommodation-stay-inputs{display:grid;grid-template-columns:1fr 1.18fr;gap:10px;min-width:0}
.planning-page .accommodation-simple-form textarea{width:100%;min-height:82px;border:1px solid #cbd9e7;border-radius:12px;padding:12px 13px;font:inherit;color:#142c43;background:#fff;resize:vertical}
.planning-page .accommodation-bottom-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid #e7eef5}
.planning-page .accommodation-bottom-actions .btn{min-width:128px}

@media(max-width:700px){
  .planning-page .accommodation-modal{width:100%;max-height:95vh}
  .planning-page .accommodation-modal .planning-modal-body{padding:16px}
  .planning-page .accommodation-big-options{grid-template-columns:1fr;gap:10px}
  .planning-page .accommodation-big-option{min-height:88px;padding:13px;grid-template-columns:44px minmax(0,1fr) auto}
  .planning-page .accommodation-big-icon{width:44px;height:44px;border-radius:13px;font-size:1.4rem}
  .planning-page .accommodation-two-fields{grid-template-columns:1fr}
  .planning-page .accommodation-stay-row{grid-template-columns:1fr;gap:8px;padding:12px 0}
  .planning-page .accommodation-stay-label{padding-top:0}
  .planning-page .accommodation-stay-inputs{grid-template-columns:1fr}
  .planning-page .accommodation-bottom-actions{position:sticky;bottom:-16px;margin:20px -16px -16px;padding:13px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;z-index:4}
  .planning-page .accommodation-bottom-actions .btn{flex:1;min-width:0}
}
@media(max-width:420px){
  .planning-page .accommodation-screen-heading{gap:10px}
  .planning-page .accommodation-screen-step{width:31px;height:31px;flex-basis:31px}
  .planning-page .accommodation-detail-toolbar{align-items:flex-start;flex-direction:column-reverse;gap:4px}
  .planning-page .accommodation-current-type{align-self:flex-start}
}

/* v1.0.26 - Home stay date shown only for Home accommodation cards */
.home-stay-date{margin:3px 0 5px;font-weight:800;color:#8a3151;font-size:.96rem;letter-spacing:.01em}

/* v1.0.29 — clearly visible Action Needed soft flashing state */
.planning-page .planning-stat.action-attention{
  background:linear-gradient(180deg,#fff6f7 0%,#ffe0e4 100%);
  border:2px solid #e97c89;
  box-shadow:0 10px 26px rgba(177,39,57,.18);
  animation:planningActionVisibleFlash 1.4s ease-in-out infinite;
  transform-origin:center;
}
.planning-page .planning-stat.action-attention:before{
  background:linear-gradient(90deg,#c92f43,#ff8896,#c92f43);
  height:5px;
}
.planning-page .planning-stat.action-attention .muted,
.planning-page .planning-stat.action-attention .n,
.planning-page .planning-stat.action-attention .stat-hint{
  color:#951f31;
}
.planning-page .planning-stat.action-attention .n:before{
  content:'⚠ ';
  font-size:.72em;
}
.planning-page .planning-stat.action-attention.action-flash-phase{
  background:linear-gradient(180deg,#ffdce1 0%,#ffcbd2 100%);
  border-color:#d84f60;
  box-shadow:0 15px 38px rgba(177,39,57,.30),0 0 0 4px rgba(232,93,110,.10);
  transform:scale(1.018);
}
.planning-page .planning-stat.action-attention:hover{
  border-color:#d64c5d;
  box-shadow:0 16px 38px rgba(170,40,55,.25);
}
@keyframes planningActionVisibleFlash{
  0%,100%{background:linear-gradient(180deg,#fff6f7 0%,#ffe0e4 100%);box-shadow:0 10px 26px rgba(177,39,57,.16);transform:scale(1)}
  50%{background:linear-gradient(180deg,#ffdce1 0%,#ffcbd2 100%);box-shadow:0 15px 38px rgba(177,39,57,.30),0 0 0 4px rgba(232,93,110,.10);transform:scale(1.018)}
}

/* v1.0.30 — Action Needed: exact count-driven red flash rule */
.planning-page .planning-stat[data-stat="action"]{
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.planning-page .planning-stat[data-stat="action"]:not(.action-attention){
  animation:none !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention{
  border-width:2px !important;
  animation:none !important; /* flashing is driven by JS for reliable Home Screen/browser behaviour */
}


/* v1.0.31 — high-visibility Action Needed alert */
.planning-page .planning-stat[data-stat="action"].action-attention{
  position:relative;
  overflow:visible;
  border-width:3px !important;
  z-index:2;
}
.planning-page .planning-stat[data-stat="action"].action-attention .n{
  font-size:2.35rem !important;
  font-weight:950 !important;
}
.planning-page .action-alert-badge{
  position:absolute;
  top:8px;
  right:8px;
  padding:5px 8px;
  border-radius:999px;
  background:#a9002b;
  color:#fff;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.045em;
  box-shadow:0 4px 12px rgba(120,0,31,.28);
  pointer-events:none;
  white-space:nowrap;
}
.planning-page .planning-stat[data-stat="action"].action-flash-phase .action-alert-badge{
  background:#fff;
  color:#b9002f;
  box-shadow:0 0 0 3px rgba(255,255,255,.25),0 5px 16px rgba(90,0,24,.30);
}
@media(max-width:720px){
  .planning-page .action-alert-badge{top:7px;right:7px;font-size:.58rem;padding:4px 7px}
  .planning-page .planning-stat[data-stat="action"].action-attention .n{font-size:2.15rem !important}
}
\n\n/* v1.0.32 — maximum visibility Action Needed alert */\n.planning-page .planning-stat[data-stat="action"].action-attention{\n  min-height:148px;\n  isolation:isolate;\n}\n.planning-page .planning-stat[data-stat="action"].action-attention .muted{\n  font-weight:950 !important;\n  letter-spacing:.035em;\n  text-transform:uppercase;\n}\n.planning-page .planning-stat[data-stat="action"].action-attention .n{\n  font-size:3rem !important;\n  line-height:1 !important;\n  margin-top:5px;\n}\n.planning-page .planning-stat[data-stat="action"].action-attention .stat-hint{\n  font-weight:950 !important;\n  font-size:.88rem !important;\n}\n.planning-page .action-alert-badge{\n  left:10px !important;\n  right:10px !important;\n  top:auto !important;\n  bottom:8px !important;\n  text-align:center;\n  border-radius:10px !important;\n  padding:7px 10px !important;\n  font-size:.72rem !important;\n  letter-spacing:.08em !important;\n}\n.planning-page .planning-stat[data-stat="action"].action-flash-phase .action-alert-badge{\n  background:#fff !important;\n  color:#a70028 !important;\n}\n@media(max-width:720px){\n  .planning-page .planning-stat[data-stat="action"].action-attention{min-height:142px}\n  .planning-page .planning-stat[data-stat="action"].action-attention .n{font-size:2.65rem !important}\n  .planning-page .action-alert-badge{font-size:.66rem !important}\n}\n

/* v1.0.33 — balanced Action Needed alert, no extra banner text */
.planning-page .planning-stat[data-stat="action"].action-attention{
  min-height:unset !important;
  overflow:hidden !important;
  border-width:2px !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention .muted{
  text-transform:none !important;
  letter-spacing:normal !important;
  font-weight:800 !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention .n{
  font-size:2.2rem !important;
  line-height:1.1 !important;
  margin-top:0 !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention .stat-hint{
  font-size:inherit !important;
  font-weight:inherit !important;
}
.planning-page .action-alert-badge{display:none !important;}


/* v1.0.34 — Action Needed: soft glow only, no movement */
.planning-page .planning-stat[data-stat="action"].action-attention,
.planning-page .planning-stat[data-stat="action"].action-attention.action-flash-phase{
  transform:none !important;
  min-height:unset !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention{
  transition:box-shadow .42s ease,border-color .42s ease,background .42s ease !important;
}
.planning-page .planning-stat[data-stat="action"].action-attention .n:before{
  content:'⚠ ';
}


/* v1.0.38 - Travel Journeys bulk publish */
.planning-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.publish-all-summary{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid #d8eadf;border-radius:16px;background:#f4fbf7;margin-bottom:16px}
.publish-all-summary p{margin:6px 0 0;color:#587064;line-height:1.5}
.publish-all-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:#def4e6;color:#08753b;font-weight:900;font-size:1.25rem}
@media(max-width:700px){.planning-action-buttons{width:100%;display:grid;grid-template-columns:1fr}.planning-action-buttons .btn{width:100%}}

/* v1.0.40 - Travel Journey quick search */
.journey-toolbar{flex:1 1 auto}
.journey-search-box{min-width:250px;max-width:340px;height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #cddbea;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(20,55,90,.06);transition:border-color .18s ease,box-shadow .18s ease}
.journey-search-box:focus-within{border-color:#2d67a1;box-shadow:0 0 0 3px rgba(45,103,161,.12)}
.journey-search-box span{font-size:1.1rem;color:#58738d}
.journey-search-box input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;font:inherit;color:#17324d}
.journey-search-box input::placeholder{color:#8798aa}
@media(max-width:900px){.journey-toolbar{width:100%;justify-content:flex-start}.journey-search-box{order:3;flex:1 1 100%;max-width:none}}
@media(max-width:700px){.journey-search-box{width:100%;min-width:0;height:48px}.journey-toolbar{display:grid;grid-template-columns:1fr}.journey-toolbar .btn{width:100%}}

/* v1.0.42 Home date + assigned member names */
.accommodation-home-date{margin-top:16px;padding:14px 16px;border-radius:16px;background:#f7fbff;border:1px solid rgba(21,67,111,.12)}
.accommodation-home-date .journey-date-field{margin-top:10px;max-width:520px}
.home-stay-date-help{font-size:.88rem;color:#62758a;margin:2px 0 6px}
.accommodation-member-names{margin-top:8px;padding:9px 11px;border-radius:12px;background:rgba(20,71,116,.055);font-size:.86rem;line-height:1.45;color:#40566d}
.accommodation-member-names strong{color:#173c61}
@media(max-width:700px){.accommodation-home-date{padding:12px}.accommodation-member-names{font-size:.84rem}}

/* v1.0.44 — Member Login responsive gospel redesign + Planning Portal visual refresh */

/* MEMBER LOGIN — new structure, no overlapping decorative text */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)){
  background:
    radial-gradient(circle at 88% 8%,rgba(255,222,153,.34),transparent 24rem),
    radial-gradient(circle at 10% 12%,rgba(86,167,229,.26),transparent 31rem),
    linear-gradient(145deg,#eaf6ff 0%,#f8fcff 48%,#fff9ec 100%);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden))::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;
  background:
    radial-gradient(circle at 18% 26%,rgba(255,255,255,.92) 0 5rem,transparent 5.2rem),
    radial-gradient(circle at 84% 72%,rgba(255,255,255,.72) 0 7rem,transparent 7.2rem);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{max-width:1380px;padding:18px 24px 42px}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{
  position:relative;z-index:10;margin:0 auto 18px;max-width:1180px;padding:10px 14px;
  border:1px solid rgba(123,164,202,.26);border-radius:20px;background:rgba(255,255,255,.82);
  box-shadow:0 12px 34px rgba(18,62,104,.08);backdrop-filter:blur(14px)
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{width:132px;max-height:70px}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .menu-btn{background:#082f67;color:#fff;border:0;box-shadow:0 7px 18px rgba(8,47,103,.16)}
.member-login-redesign{padding:0 0 18px}
.gospel-login-shell{
  width:min(1180px,100%);min-height:620px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);
  overflow:hidden;border:1px solid rgba(112,156,196,.34);border-radius:32px;background:#fff;
  box-shadow:0 30px 74px rgba(12,50,91,.16),0 4px 14px rgba(12,50,91,.06)
}
.gospel-login-intro{
  position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:56px;
  background:
    radial-gradient(circle at 72% 19%,rgba(255,225,160,.86) 0 4%,rgba(255,225,160,.24) 18%,transparent 34%),
    linear-gradient(155deg,#d8efff 0%,#eef8ff 50%,#fff5df 100%);
  overflow:hidden
}
.gospel-login-intro::before{
  content:"";position:absolute;z-index:-2;width:270px;height:270px;right:-62px;bottom:-72px;border:1px solid rgba(19,85,145,.13);border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.22),0 0 0 78px rgba(255,255,255,.13)
}
.gospel-login-intro::after{
  content:"";position:absolute;z-index:-1;right:56px;top:56px;width:54px;height:88px;opacity:.16;
  background:linear-gradient(#0b4a86,#0b4a86) center/13px 100% no-repeat,linear-gradient(#0b4a86,#0b4a86) center 25px/54px 13px no-repeat;
  border-radius:5px
}
.gospel-login-intro-inner{width:100%;max-width:470px;position:relative;z-index:1}
.gospel-login-eyebrow{font-size:.78rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:#466f95;margin-bottom:16px}
.gospel-login-intro h1{margin:0;max-width:430px;color:#071f46;font-size:clamp(3rem,5vw,5.15rem);line-height:.94;letter-spacing:-.05em;font-weight:950}
.gospel-login-role{display:inline-flex;align-items:center;margin-top:24px;padding:9px 16px;border:1px solid rgba(166,123,43,.28);border-radius:999px;background:rgba(255,255,255,.72);color:#315f89;font-weight:900;box-shadow:0 7px 18px rgba(37,78,116,.06)}
.gospel-login-divider{display:flex;align-items:center;gap:8px;margin-top:34px;opacity:.58}.gospel-login-divider span{width:48px;height:1px;background:#b68a3d}.gospel-login-divider i{width:9px;height:9px;border:1px solid #b68a3d;transform:rotate(45deg)}
.gospel-login-form-side{display:flex;align-items:center;justify-content:center;padding:54px 58px;background:linear-gradient(180deg,#fff,#fbfdff)}
.gospel-member-auth-card{width:100%;max-width:520px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.gospel-login-card-head{margin-bottom:26px;text-align:left}.gospel-login-card-kicker{font-size:.72rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:#6d8499;margin-bottom:5px}.gospel-login-card-head h2{margin:0;color:#071f46;font-size:2.25rem;line-height:1.05;letter-spacing:-.03em;text-align:left;font-family:inherit}.gospel-login-card-head p{margin:8px 0 0;color:#657b91;line-height:1.5}
.gospel-auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:5px!important;margin:0 0 23px!important;border:1px solid #d5e3ee!important;border-radius:16px!important;background:#edf5fb!important;overflow:visible!important}
.gospel-auth-tabs button{min-width:0;min-height:46px;border:0!important;border-radius:12px!important;background:transparent!important;color:#60768d!important;font-weight:900!important;padding:10px!important;box-shadow:none!important}.gospel-auth-tabs button.active{background:#fff!important;color:#082d62!important;box-shadow:0 5px 15px rgba(17,63,105,.11)!important}
.gospel-auth-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.gospel-auth-form .full{grid-column:1/-1!important}
.gospel-field{min-width:0}.gospel-field label{margin:0 0 7px;color:#294762;font-size:.86rem;font-weight:900}
.gospel-input-wrap{width:100%;min-width:0;display:grid;grid-template-columns:47px minmax(0,1fr);align-items:stretch;border:1px solid #ccdae7;border-radius:15px;background:#fbfdff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.gospel-input-wrap>span{display:grid;place-items:center;min-width:0;color:#66839e;background:#f2f7fb;border-right:1px solid #e0e9f1;font-size:.91rem}
.gospel-input-wrap .input{width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#183650!important}
.gospel-input-wrap:focus-within{border-color:#4b8fc8;box-shadow:0 0 0 4px rgba(50,124,184,.11);background:#fff}
.gospel-primary-btn{width:100%;min-height:54px!important;border:0!important;border-radius:15px!important;background:linear-gradient(135deg,#071f46,#0a5599)!important;color:#fff!important;font-weight:950!important;box-shadow:0 12px 25px rgba(7,31,70,.18)!important}.gospel-primary-btn:active{transform:scale(.99)}
.gospel-auth-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.gospel-auth-actions .forgot{justify-self:center;color:#356b99;font-weight:850;padding:9px 12px;border-radius:10px}.gospel-auth-actions .forgot:hover{background:#edf6fd}
.gospel-auth-message{margin-top:14px}

@media(max-width:980px){
  .gospel-login-shell{grid-template-columns:1fr;max-width:760px;min-height:0}
  .gospel-login-intro{min-height:235px;padding:38px 42px;text-align:center}
  .gospel-login-intro-inner{max-width:600px;margin:auto}
  .gospel-login-intro h1{max-width:none;font-size:clamp(2.6rem,7vw,4rem)}
  .gospel-login-role{margin-top:18px}.gospel-login-divider{justify-content:center;margin-top:22px}
  .gospel-login-intro::after{right:34px;top:30px;opacity:.11;transform:scale(.8)}
  .gospel-login-form-side{padding:38px 44px 44px}
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{padding:9px 10px 28px}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{margin-bottom:9px;border-radius:16px;padding:8px 10px}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{width:104px}
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .menu-btn{min-width:auto;padding:10px 13px;font-size:.86rem}
  .gospel-login-shell{border-radius:23px}
  .gospel-login-intro{min-height:170px;padding:25px 20px}
  .gospel-login-eyebrow{font-size:.65rem;letter-spacing:.11em;margin-bottom:9px}
  .gospel-login-intro h1{font-size:2.32rem;line-height:.98;letter-spacing:-.04em}
  .gospel-login-role{font-size:.9rem;padding:7px 12px;margin-top:13px}
  .gospel-login-divider{display:none}.gospel-login-intro::after{display:none}
  .gospel-login-form-side{padding:25px 17px 29px}
  .gospel-login-card-head{margin-bottom:20px}.gospel-login-card-head h2{font-size:1.8rem}.gospel-login-card-head p{font-size:.9rem}
  .gospel-auth-tabs{margin-bottom:19px!important}.gospel-auth-tabs button{min-height:44px;font-size:.88rem}
  .gospel-auth-form{grid-template-columns:1fr!important;gap:14px!important}.gospel-auth-form>*{grid-column:1!important}
  .gospel-input-wrap{grid-template-columns:44px minmax(0,1fr)}.gospel-input-wrap .input{min-height:50px!important;font-size:16px!important}
}
@media(max-width:390px){
  .gospel-login-intro{min-height:154px;padding:21px 14px}.gospel-login-intro h1{font-size:2.02rem}.gospel-login-form-side{padding:22px 13px 25px}.gospel-login-card-head h2{font-size:1.65rem}.gospel-auth-tabs button{padding:9px 5px!important;font-size:.84rem}
}

/* PLANNING PORTAL — visual-only contrast refresh; layout and wording unchanged */
.planning-page{
  background:
    radial-gradient(circle at 90% 5%,rgba(255,222,154,.24),transparent 24rem),
    radial-gradient(circle at 8% 18%,rgba(83,160,222,.25),transparent 28rem),
    linear-gradient(180deg,#dcefff 0%,#edf7ff 24%,#f6fbff 62%,#eef7ff 100%)!important;
}
.planning-page::after{
  content:"";position:fixed;z-index:0;pointer-events:none;right:3.5vw;bottom:6vh;width:150px;height:190px;opacity:.055;
  background:
    linear-gradient(#0b4f91,#0b4f91) center/20px 100% no-repeat,
    linear-gradient(#0b4f91,#0b4f91) center 52px/112px 20px no-repeat;
  filter:drop-shadow(0 0 24px rgba(11,79,145,.18));border-radius:8px
}
.planning-page .shell{position:relative;z-index:1}
.planning-page .panel,
.planning-page #programmeChooser,
.planning-page .planning-workspace-panel,
.planning-page .programme-manage-tile,
.planning-page .planning-card,
.planning-page .day-manage-card,
.planning-page .schedule-overview-card,
.planning-page .monitor-summary-card,
.planning-page .monitor-journey-card,
.planning-page .planning-actionbar,
.planning-page .planning-export-bar{
  border-color:#b9d4ea!important;
  background:linear-gradient(145deg,rgba(237,247,255,.98),rgba(224,241,254,.94))!important;
  box-shadow:0 10px 27px rgba(17,67,111,.10)!important
}
.planning-page .planning-stat{background:linear-gradient(145deg,#eef8ff,#e1f1fd)!important;border-color:#b8d5eb!important}
.planning-page .planning-stat:hover,
.planning-page .programme-manage-tile:hover,
.planning-page .planning-card:hover,
.planning-page .day-manage-card:hover{border-color:#86b8dc!important;box-shadow:0 14px 31px rgba(14,70,119,.15)!important}
.planning-page .planning-workspace-head,
.planning-page #programmeChooser>.between{border-bottom-color:#bfd6e9!important}
.planning-page .planning-tabs{background:#dceefb!important;border-color:#b8d3e8!important}
.planning-page .planning-tabs .tab:hover{background:#f5fbff!important}
.planning-page .planning-context-strip{background:linear-gradient(90deg,#e5f4ff,#f3f9ff)!important;border-color:#bed8ea!important}
.planning-page .planning-modal-head{background:linear-gradient(120deg,#eaf6ff,#f7fbff)!important}
.planning-page .planning-modal-body{background:#f5fbff}
.planning-page .planning-empty{background:linear-gradient(145deg,#edf7ff,#e2f1fc)!important;border-color:#b7d2e7!important}
.planning-page .planning-primary{box-shadow:0 8px 18px rgba(7,54,117,.21)!important}
/* Keep selected navigation/day cards unmistakable. */
.planning-page .day-manage-card.active{border-color:#0b4f9c!important;box-shadow:0 14px 30px rgba(6,55,117,.22)!important}
.planning-page .day-manage-card .day.active,
.planning-page .planning-tabs .tab.active{background:linear-gradient(145deg,#062f69,#0a56ad)!important;color:#fff!important}
/* Subtle gospel line ornament without changing any card geometry. */
.planning-page #programmeChooser,
.planning-page .planning-workspace-panel{position:relative;overflow:hidden}
.planning-page #programmeChooser::after,
.planning-page .planning-workspace-panel::after{
  content:"";position:absolute;pointer-events:none;right:-32px;bottom:-36px;width:125px;height:125px;border:1px solid rgba(15,91,151,.08);border-radius:50%;box-shadow:0 0 0 24px rgba(15,91,151,.035),0 0 0 48px rgba(201,155,69,.025)
}
@media(max-width:720px){
  .planning-page::after{width:90px;height:115px;right:2vw;bottom:5vh;opacity:.04}
}


/* v1.0.45 — footer website + Member Login polish + Planning gospel accents */
.portal-copyright{line-height:1.55}

/* Member Login: keep the approved layout, deepen the title tone and make the gospel cross visible on phone. */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-intro h1{
  color:#03152d;
  text-shadow:0 1px 0 rgba(255,255,255,.36),0 7px 22px rgba(3,21,45,.08);
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-intro::after{
  opacity:.20;
  background:
    linear-gradient(#062c55,#062c55) center/13px 100% no-repeat,
    linear-gradient(#062c55,#062c55) center 25px/54px 13px no-repeat;
}
/* The kicker was removed from HTML; keep the Welcome block naturally aligned. */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-card-head h2{margin-top:0}

@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-intro::after{
    display:block!important;
    width:42px;
    height:68px;
    right:14px;
    top:auto;
    bottom:14px;
    opacity:.18;
    transform:none;
    background:
      linear-gradient(#063765,#063765) center/10px 100% no-repeat,
      linear-gradient(#063765,#063765) center 20px/42px 10px no-repeat;
  }
}
@media(max-width:390px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-intro::after{
    width:36px;
    height:58px;
    right:10px;
    bottom:10px;
    opacity:.16;
    background:
      linear-gradient(#063765,#063765) center/8px 100% no-repeat,
      linear-gradient(#063765,#063765) center 17px/36px 8px no-repeat;
  }
}

/* Planning Portal: add subtle gospel detail to the otherwise empty left side without changing layout. */
.planning-page .shell::before{
  content:"";
  position:fixed;
  left:2.1vw;
  top:43vh;
  width:74px;
  height:112px;
  pointer-events:none;
  opacity:.075;
  z-index:0;
  background:
    linear-gradient(#0a5598,#0a5598) center/12px 100% no-repeat,
    linear-gradient(#0a5598,#0a5598) center 31px/74px 12px no-repeat;
  filter:drop-shadow(0 0 24px rgba(10,85,152,.18));
  border-radius:6px;
}
.planning-page .shell::after{
  content:"";
  position:fixed;
  left:1.25vw;
  top:36vh;
  width:118px;
  height:118px;
  pointer-events:none;
  opacity:.09;
  z-index:0;
  background:
    radial-gradient(circle at 50% 50%,transparent 0 37%,rgba(205,158,66,.48) 38% 39%,transparent 40%),
    conic-gradient(from 210deg,transparent 0 16deg,rgba(255,255,255,.95) 16deg 20deg,transparent 20deg 45deg,rgba(205,158,66,.28) 45deg 48deg,transparent 48deg 360deg);
  border-radius:50%;
}
.planning-page .shell>*{position:relative;z-index:1}

/* Give only the Select Ministry Programme card its own light dual-tone identity. */
.planning-page #programmeChooser{
  background:linear-gradient(135deg,rgba(241,239,255,.98) 0%,rgba(230,244,255,.98) 52%,rgba(239,250,255,.97) 100%)!important;
  border-color:#c2cce8!important;
  box-shadow:0 14px 34px rgba(51,72,124,.11)!important;
}
.planning-page #programmeChooser>.between{
  border-bottom-color:rgba(160,177,213,.58)!important;
}
.planning-page #programmeChooser::before{
  content:"";
  position:absolute;
  pointer-events:none;
  left:18px;
  bottom:16px;
  width:42px;
  height:58px;
  opacity:.045;
  background:
    linear-gradient(#173f79,#173f79) center/7px 100% no-repeat,
    linear-gradient(#173f79,#173f79) center 16px/42px 7px no-repeat;
  border-radius:4px;
}
@media(max-width:720px){
  .planning-page .shell::before{left:4px;top:48vh;width:44px;height:68px;opacity:.04}
  .planning-page .shell::after{left:-14px;top:42vh;width:78px;height:78px;opacity:.055}
  .planning-page #programmeChooser::before{opacity:.025}
}

/* v1.0.46 — Admin heading alignment + Planning modern decorative accents */
/* Administrator Portal: centre the complete heading block inside its existing box. */
.admin-page .admin-role-heading{
  text-align:center;
}
.admin-page .admin-role-heading .portal-role-kicker,
.admin-page .admin-role-heading h1,
.admin-page .admin-role-heading .portal-role-note{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.admin-page .admin-role-heading .portal-role-note{
  max-width:760px;
}

/* Planning Portal: replace the two added left-side cross motifs with modern abstract graphics. */
.planning-page .shell::before{
  content:"";
  position:fixed;
  left:1.5vw;
  top:37vh;
  width:92px;
  height:210px;
  pointer-events:none;
  opacity:.30;
  z-index:0;
  border-radius:40px;
  background:
    radial-gradient(circle at 30px 22px,rgba(10,85,152,.34) 0 5px,transparent 6px),
    radial-gradient(circle at 58px 56px,rgba(205,158,66,.34) 0 4px,transparent 5px),
    radial-gradient(circle at 28px 96px,rgba(10,85,152,.22) 0 3px,transparent 4px),
    radial-gradient(circle at 62px 132px,rgba(205,158,66,.26) 0 5px,transparent 6px),
    radial-gradient(circle at 35px 176px,rgba(10,85,152,.24) 0 4px,transparent 5px),
    linear-gradient(150deg,transparent 0 22%,rgba(10,85,152,.14) 22.5% 24%,transparent 24.5% 49%,rgba(205,158,66,.16) 49.5% 51%,transparent 51.5% 100%);
  filter:drop-shadow(0 8px 22px rgba(10,85,152,.08));
}
.planning-page .shell::after{
  content:"";
  position:fixed;
  left:-28px;
  top:31vh;
  width:150px;
  height:150px;
  pointer-events:none;
  opacity:.24;
  z-index:0;
  border-radius:50%;
  border:1px solid rgba(10,85,152,.18);
  box-shadow:
    0 0 0 22px rgba(10,85,152,.035),
    0 0 0 44px rgba(205,158,66,.025);
  background:
    radial-gradient(circle at 68% 32%,rgba(255,255,255,.95) 0 5px,transparent 6px),
    radial-gradient(circle at 42% 70%,rgba(205,158,66,.20) 0 4px,transparent 5px);
}
.planning-page #programmeChooser::before{
  content:"";
  position:absolute;
  pointer-events:none;
  left:18px;
  bottom:15px;
  width:70px;
  height:30px;
  opacity:.20;
  border-radius:999px;
  background:
    radial-gradient(circle at 8px 15px,#2f72aa 0 3px,transparent 4px),
    radial-gradient(circle at 30px 15px,#c79b45 0 3px,transparent 4px),
    radial-gradient(circle at 52px 15px,#2f72aa 0 3px,transparent 4px),
    linear-gradient(90deg,rgba(47,114,170,.18),rgba(199,155,69,.20),rgba(47,114,170,.18)) center/100% 1px no-repeat;
}
@media(max-width:720px){
  .planning-page .shell::before{left:-8px;top:44vh;width:72px;height:160px;opacity:.17}
  .planning-page .shell::after{left:-56px;top:37vh;width:112px;height:112px;opacity:.14}
  .planning-page #programmeChooser::before{opacity:.12;left:12px;bottom:10px}
}


/* v1.0.47 — Admin selected-stat readability + quick portal access management */
.admin-page .stat-click.metric-selected .muted,
.admin-page .stat-click.metric-selected .n,
.admin-page .stat-click.metric-selected .stat-hint{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,22,55,.28);
}
.admin-page .stat-click.metric-selected .stat-hint{opacity:.94}
.admin-page .portal-user-metric-head{align-items:flex-start}
.admin-page .portal-user-metric-head .ops-toolbar{justify-content:flex-end}
.admin-page .portal-remove-access{white-space:nowrap;padding:9px 12px}
.admin-page .portal-quick-add{display:grid;gap:12px}
.admin-page .portal-access-note{padding:11px 12px;border-radius:13px;background:#f0f7ff;border:1px solid #d3e5f7;color:#55718d}
.admin-page .portal-user-results{display:grid;gap:9px;max-height:470px;overflow:auto;padding:2px}
.admin-page .portal-user-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #d8e6f3;border-radius:15px;background:#fbfdff}
.admin-page .portal-user-result>div{min-width:0}
.admin-page .portal-user-result strong,.admin-page .portal-user-result span,.admin-page .portal-user-result small{display:block}
.admin-page .portal-user-result strong{color:#113a68}
.admin-page .portal-user-result span{font-size:.82rem;color:#687e94;margin-top:3px}
.admin-page .portal-user-result small{font-size:.76rem;color:#8090a1;margin-top:3px}
@media(max-width:720px){
  .admin-page .portal-user-metric-head .ops-toolbar{width:100%;justify-content:stretch}
  .admin-page .portal-user-metric-head .ops-toolbar .btn{flex:1}
  .admin-page .portal-user-result{align-items:flex-start;flex-direction:column}
  .admin-page .portal-user-result .btn{width:100%}
}

/* v1.0.50 — motel room allocation + automatic Member Portal access */
.staff-role-card.staff-role-locked{cursor:default;border-color:#b9c9e8;background:linear-gradient(135deg,#f3f8ff,#edf3ff)}
.staff-role-card.staff-role-locked input{pointer-events:none}
.staff-role-card.staff-role-locked small{color:#48658c}

.motel-accommodation-card{overflow:hidden}
.motel-accommodation-head{gap:16px}
.motel-summary-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.motel-summary-chips span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#edf5ff;border:1px solid #cbdff7;color:#24466f;font-size:12px}
.motel-summary-chips span.needs-room{background:#fff4e4;border-color:#f2d0a1;color:#7a4a0d}
.motel-room-section{margin:18px -2px 2px;padding:16px;border:1px solid #c9dcef;border-radius:18px;background:linear-gradient(145deg,#f8fbff 0%,#eef6ff 100%)}
.motel-room-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.motel-room-section-head>div{display:flex;flex-direction:column;gap:3px}
.motel-room-section-head>div>strong{font-size:16px;color:#153b67}
.motel-room-section-head>div>span{font-size:12px;color:#60758d}
.motel-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.motel-room-card{border-radius:16px;padding:14px;border:1px solid rgba(48,81,124,.16);box-shadow:0 6px 18px rgba(31,68,112,.07)}
.motel-room-card.tone-blue{background:linear-gradient(145deg,#eaf5ff,#f7fbff)}
.motel-room-card.tone-lilac{background:linear-gradient(145deg,#f1edff,#faf8ff)}
.motel-room-card.tone-mint{background:linear-gradient(145deg,#eaf9f4,#f7fcfa)}
.motel-room-card.tone-sand{background:linear-gradient(145deg,#fff5e9,#fffbf5)}
.motel-room-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.motel-room-card-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.motel-room-card-head strong{font-size:14px;color:#193d65}
.motel-room-number{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#315f91}
.motel-room-member-count{white-space:nowrap;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(55,91,135,.14);color:#35577d}
.motel-room-stay{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin-top:12px;padding:10px;border-radius:12px;background:rgba(255,255,255,.68)}
.motel-room-stay>div:not(.motel-room-stay-arrow){display:flex;flex-direction:column;gap:2px}
.motel-room-stay span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6a7c90;font-weight:700}
.motel-room-stay strong{font-size:12px;line-height:1.35;color:#203f62}
.motel-room-stay-arrow{color:#7890aa;font-weight:800}
.motel-room-note{margin-top:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.62);font-size:12px;color:#4f6175}
.motel-room-members{margin-top:11px}
.motel-room-members>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6a7c90;font-weight:800;margin-bottom:6px}
.motel-room-members>div{display:flex;flex-wrap:wrap;gap:5px}
.motel-room-members b{font-size:11px;font-weight:700;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.78);color:#294b71;border:1px solid rgba(65,99,140,.12)}
.motel-room-members em{font-size:12px;color:#76879a;font-style:normal}
.motel-room-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.motel-room-actions .btn{padding:8px 10px;font-size:11px}
.motel-room-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:25px 16px;border:1px dashed #b6cce5;border-radius:14px;background:rgba(255,255,255,.58);color:#587087}
.motel-room-empty>div{font-size:28px}.motel-room-empty strong{color:#264e78}.motel-room-empty span{max-width:620px;font-size:12px;line-height:1.5}
.motel-create-info{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#f8fbff);border:1px solid #c8def4;margin-bottom:16px}
.motel-create-info>span{font-size:25px}.motel-create-info strong{display:block;color:#1f4a78;margin-bottom:4px}.motel-create-info p{margin:0;color:#5a7189;font-size:12px;line-height:1.5}
.motel-room-form-intro{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#f5f0ff);border:1px solid #cbd9ef;margin-bottom:16px}
.motel-room-form-intro>div:first-child{font-size:28px}.motel-room-form-intro>div:last-child{display:flex;flex-direction:column;gap:3px}.motel-room-form-intro strong{color:#183f6b}.motel-room-form-intro span{font-size:12px;color:#62778e}
.motel-room-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.motel-room-form-grid .full{grid-column:1/-1}
.motel-room-date-block{border:1px solid #d2dfed;border-radius:14px;background:#f9fbfe;padding:12px}
.motel-room-date-title{display:flex;gap:9px;align-items:center;margin-bottom:10px}.motel-room-date-title>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#173f6d;color:#fff;font-size:12px;font-weight:800}.motel-room-date-title>div{display:flex;flex-direction:column;gap:1px}.motel-room-date-title strong{color:#264d76}.motel-room-date-title small{color:#708296}
.motel-room-date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}

@media(max-width:780px){
  .motel-room-grid{grid-template-columns:1fr}
  .motel-room-section{padding:12px}
  .motel-room-section-head{align-items:stretch;flex-direction:column}
  .motel-room-section-head .btn{width:100%}
  .motel-room-form-grid{grid-template-columns:1fr}
  .motel-room-form-grid .full{grid-column:auto}
  .motel-room-date-inputs{grid-template-columns:1fr}
  .motel-room-stay{grid-template-columns:1fr}
  .motel-room-stay-arrow{display:none}
}

/* v1.0.52 — clearer, user-friendly motel room allocation cards */
.motel-room-card-v2{
  padding:0;
  overflow:hidden;
  border:1px solid rgba(46,83,126,.16);
  box-shadow:0 10px 28px rgba(32,73,116,.10);
}
.motel-room-card-head-v2{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 17px 14px;
  background:rgba(255,255,255,.55);
  border-bottom:1px solid rgba(65,99,140,.10);
}
.motel-room-identity{display:flex;align-items:center;gap:11px;min-width:0}
.motel-room-icon{
  flex:0 0 auto;
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  font-size:20px;
  background:#fff;
  border:1px solid rgba(54,92,137,.12);
  box-shadow:0 4px 12px rgba(36,72,113,.07);
}
.motel-room-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.13em;color:#68809a;margin-bottom:3px}
.motel-room-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.motel-room-title-row>strong{font-size:18px;line-height:1.2;color:#173e69}
.motel-room-type-pill{
  display:inline-flex;align-items:center;
  max-width:100%;
  padding:5px 8px;border-radius:999px;
  font-size:11px;font-weight:800;line-height:1.15;
  color:#355b84;background:rgba(255,255,255,.78);
  border:1px solid rgba(64,100,144,.13);
}
.motel-room-member-count-v2{
  flex:0 0 auto;
  display:flex;align-items:baseline;gap:4px;
  padding:7px 10px;border-radius:11px;
  background:#fff;border:1px solid rgba(54,90,134,.13);
  color:#52708f;font-size:11px;font-weight:800;
}
.motel-room-member-count-v2 b{font-size:16px;color:#173e69}
.motel-room-stay-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 5px}
.motel-room-stay-card{
  display:flex;align-items:flex-start;gap:9px;
  min-width:0;padding:11px 12px;border-radius:13px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(60,96,139,.11);
}
.motel-room-stay-card.checkin{box-shadow:inset 3px 0 0 #80b6e7}
.motel-room-stay-card.checkout{box-shadow:inset 3px 0 0 #a79adc}
.motel-room-stay-icon{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  background:#edf5fd;color:#315f91;font-size:13px;font-weight:900;flex:0 0 auto;
}
.motel-room-stay-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.motel-room-stay-card small{font-size:9px;letter-spacing:.08em;font-weight:900;color:#718399}
.motel-room-stay-card strong{font-size:12px;line-height:1.4;color:#203f62;overflow-wrap:anywhere}
.motel-room-note-v2{
  display:flex;align-items:flex-start;gap:9px;
  margin:10px 16px 0;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.64);border:1px solid rgba(62,96,137,.10);
}
.motel-room-note-v2>span{font-size:15px}.motel-room-note-v2>div{min-width:0}
.motel-room-note-v2 small{display:block;font-size:9px;letter-spacing:.08em;font-weight:900;color:#718399;margin-bottom:3px}
.motel-room-note-v2 p{margin:0;font-size:12px;line-height:1.45;color:#526980}
.motel-room-members-v2{margin:12px 16px 0;padding:12px;border-radius:14px;background:rgba(255,255,255,.70);border:1px solid rgba(60,96,139,.11)}
.motel-room-members-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.motel-room-members-heading>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf5fd;font-size:15px}
.motel-room-members-heading>div{display:flex;flex-direction:column;gap:1px}
.motel-room-members-heading strong{font-size:13px;color:#21496f}
.motel-room-members-heading small{font-size:10px;color:#74869a}
.motel-room-member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.motel-room-member-list>span{
  display:flex;align-items:center;gap:7px;min-width:0;
  padding:7px 9px;border-radius:10px;background:#fff;
  border:1px solid rgba(62,97,138,.11);
  font-size:11px;font-weight:750;color:#294b70;
}
.motel-room-member-list>span>b{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:9px;background:#eaf3fc;color:#315f91;
}
.motel-room-members-empty{padding:10px;border-radius:10px;background:#fff;border:1px dashed #bdcfe2;color:#74869a;font-size:11px;text-align:center}
.motel-room-actions-v2{
  display:grid;grid-template-columns:1.25fr 1fr auto;gap:8px;
  margin-top:13px;padding:13px 16px 16px;
  border-top:1px solid rgba(62,97,138,.10);
  background:rgba(255,255,255,.34);
}
.motel-room-actions-v2 .btn{min-height:40px;padding:9px 11px;font-size:11px;margin:0}
.motel-room-delete-btn{white-space:nowrap}

@media(max-width:760px){
  .motel-room-card-head-v2{align-items:flex-start;padding:14px}
  .motel-room-title-row{display:block}
  .motel-room-type-pill{margin-top:5px}
  .motel-room-stay-v2{grid-template-columns:1fr;padding:12px 14px 4px}
  .motel-room-note-v2,.motel-room-members-v2{margin-left:14px;margin-right:14px}
  .motel-room-member-list{grid-template-columns:1fr}
  .motel-room-actions-v2{grid-template-columns:1fr 1fr;padding:12px 14px 14px}
  .motel-room-actions-v2 .motel-room-assign-btn{grid-column:1/-1}
  .motel-room-actions-v2 .motel-room-delete-btn{grid-column:1/-1}
}

@media(max-width:420px){
  .motel-room-card-head-v2{gap:9px}
  .motel-room-icon{width:36px;height:36px;font-size:17px}
  .motel-room-title-row>strong{font-size:16px}
  .motel-room-member-count-v2{padding:6px 8px}
  .motel-room-member-count-v2 b{font-size:14px}
  .motel-room-actions-v2{grid-template-columns:1fr}
  .motel-room-actions-v2 .motel-room-assign-btn,
  .motel-room-actions-v2 .motel-room-delete-btn{grid-column:auto}
}

/* v1.0.54 — make motel room identity easier to spot */
.motel-room-title-row>strong{
  font-size:26px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.02em;
  color:#123b68;
}
.motel-room-type-pill{
  padding:7px 11px;
  font-size:15px;
  font-weight:900;
  line-height:1.2;
  color:#234f7c;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(50,91,139,.18);
  box-shadow:0 3px 10px rgba(35,73,116,.06);
}
@media(max-width:760px){
  .motel-room-title-row>strong{font-size:24px}
  .motel-room-type-pill{font-size:14px;padding:7px 10px}
}
@media(max-width:420px){
  .motel-room-title-row>strong{font-size:22px}
  .motel-room-type-pill{font-size:13px}
}

/* v1.0.59 — Planning Full Report */
.planning-full-report-bar{
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:19px 20px;
  border:1px solid #cfe0ef;
  border-radius:20px;
  background:linear-gradient(135deg,#f9fcff 0%,#eef7ff 100%);
  box-shadow:0 10px 26px rgba(16,75,124,.08);
}
.planning-full-report-copy{display:flex;align-items:center;gap:14px;min-width:0}
.planning-full-report-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff;border:1px solid #d7e6f3;font-size:24px;flex:0 0 auto}
.planning-full-report-copy h3{margin:2px 0 3px;color:#0b376f;font-size:1.16rem}
.planning-full-report-copy p{margin:0;color:#567086;font-size:.9rem;line-height:1.45}
.full-report-open-btn{min-width:150px}
.planning-page .planning-modal.full-report-modal{width:min(1240px,100%);max-height:94vh}
.planning-page .full-report-modal .planning-modal-body{padding:0;background:#f5f9fd}
.full-report-shell{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:650px}
.full-report-sidebar{min-width:0;border-right:1px solid #dce7f0;background:#fff;padding:18px;display:flex;flex-direction:column;gap:13px}
.full-report-sidebar-head{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#123b65}
.full-report-sidebar-head span{font-size:.76rem;color:#6b8297;background:#edf4fa;border-radius:999px;padding:5px 9px}
.full-report-search{display:block}
.full-report-search span{display:block;font-size:.74rem;font-weight:800;color:#557086;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.full-report-search input{width:100%;min-height:44px;border:1px solid #cdddea;border-radius:12px;padding:0 12px;font-size:16px;background:#f9fcff}
.full-report-family-list{display:flex;flex-direction:column;gap:8px}
.full-report-family-btn{width:100%;border:1px solid #dbe6ef;background:#fff;border-radius:14px;padding:11px 10px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:9px;text-align:left;color:#163c62;cursor:pointer}
.full-report-family-btn:hover{background:#f5faff}
.full-report-family-btn.active{border-color:#6da6d5;background:#eaf5ff;box-shadow:0 0 0 2px rgba(37,113,174,.08)}
.full-report-family-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef5fb}
.full-report-family-btn strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.full-report-family-btn small{display:block;margin-top:3px;color:#71879a;line-height:1.3}
.full-report-family-btn b{font-size:20px;color:#6f8fa9}
.full-report-no-match{padding:18px 10px;color:#71879a;text-align:center;font-size:.88rem}
.full-report-main{min-width:0;padding:22px;overflow:auto}
.full-report-family-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.full-report-family-head h2{margin:2px 0 3px;color:#0a3568}
.full-report-family-head p{margin:0;color:#657e94}
.full-report-eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#5f7c94}
.full-report-family-total{min-width:78px;border-radius:15px;background:#fff;border:1px solid #d7e4ee;padding:9px 12px;text-align:center}
.full-report-family-total strong{display:block;font-size:1.3rem;color:#0d4c86}
.full-report-family-total span{font-size:.72rem;color:#6d8396}
.full-report-members-card,.full-report-section{background:#fff;border:1px solid #dbe6ee;border-radius:17px;margin-bottom:14px;overflow:hidden}
.full-report-members-card{padding:15px 16px}
.full-report-members-card h3{margin:0 0 11px;color:#123e68;font-size:1rem}
.full-report-members{display:flex;flex-wrap:wrap;gap:8px}
.full-report-member{display:flex;align-items:center;gap:8px;background:#f4f9fd;border:1px solid #e0eaf2;border-radius:12px;padding:8px 10px;min-width:180px}
.full-report-member>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#fff;color:#4f718c;font-size:.76rem;font-weight:800}
.full-report-member strong,.full-report-member small{display:block}
.full-report-member small{margin-top:2px;color:#7890a3}
.full-report-section-head{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid #e5edf3;background:#f9fcfe}
.full-report-section-head h3{margin:0;flex:1;color:#123f69;font-size:1rem}
.full-report-count{min-width:27px;height:27px;border-radius:999px;display:grid;place-items:center;background:#e8f2fa;color:#245b88;font-size:.77rem;font-weight:900}
.full-report-detail-list{padding:12px;display:grid;gap:11px}
.full-report-item{border:1px solid #dfe9f0;border-radius:14px;padding:14px;background:#fff}
.full-report-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.full-report-kicker{display:block;color:#72899c;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.full-report-item h4{margin:3px 0 0;color:#153f68;font-size:1rem}
.full-report-route{margin-top:10px;background:#f4f8fb;border-radius:10px;padding:9px 11px;font-weight:750;color:#244a6d}
.full-report-route span{padding:0 6px;color:#6c8aa3}
.full-report-address,.full-report-flight{margin-top:8px;color:#557086;font-size:.88rem}
.full-report-flight{font-weight:800;color:#2d5d87}
.full-report-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
.full-report-info-grid>div{background:#f9fbfd;border:1px solid #e5edf3;border-radius:10px;padding:8px 9px;min-width:0}
.full-report-info-grid span{display:block;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#74899a}
.full-report-info-grid strong{display:block;margin-top:3px;color:#183e61;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}
.full-report-room-chip{border-radius:999px;background:#edf6ff;border:1px solid #cee3f6;color:#15578e;font-weight:850;padding:6px 10px;font-size:.78rem;white-space:nowrap}
.full-report-note{margin-top:9px;padding:8px 10px;border-left:3px solid #b9cfe0;background:#f8fbfd;color:#60788c;font-size:.82rem}
.full-report-empty{padding:18px;color:#70869a;font-size:.88rem}
@media(max-width:820px){
  .planning-full-report-bar{align-items:stretch;flex-direction:column}
  .full-report-open-btn{width:100%}
  .full-report-shell{grid-template-columns:1fr;min-height:0}
  .full-report-sidebar{border-right:0;border-bottom:1px solid #dce7f0;padding:14px}
  .full-report-family-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;overflow:auto}
  .full-report-main{padding:15px}
}
@media(max-width:540px){
  .full-report-family-list{grid-template-columns:1fr}
  .full-report-family-head{align-items:flex-start}
  .full-report-info-grid{grid-template-columns:1fr}
  .full-report-members{display:grid;grid-template-columns:1fr}
  .full-report-member{min-width:0}
}

/* v1.0.63 — Member Portal login and programme card cleanup */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{
  justify-content:center !important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand{
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.member-programme-simple{
  margin-top:16px;
  padding:20px 22px;
  text-align:center;
}
.member-programme-simple h3{
  margin:0;
  color:#102f59;
  font-size:1.3rem;
}
.member-programme-simple #programmeMeta{
  margin-top:6px;
  font-weight:700;
  color:#64778d;
}

/* v1.0.64 — Member login logo centered on mobile / installed app */
@media (max-width: 820px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{
    display:block !important;
    margin:0 auto !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
}

/* Installed/PWA/mobile browsers can expose a narrow standalone viewport. */
@media (display-mode: standalone), (max-width: 540px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar,
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand{
    width:100% !important;
    justify-content:center !important;
    justify-items:center !important;
    text-align:center !important;
  }

  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .topbar .brand img{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* v142 — mandatory Member App installation gate */
html.cmnz-install-required body{overflow:hidden}
html.cmnz-install-required body>.shell,html.cmnz-install-required body>.portal-copyright,html.cmnz-install-required body>.mobile-menu,html.cmnz-install-required body>#memberModalHost{display:none!important}
html.cmnz-installed #installGate{display:none!important}
.install-gate{position:fixed;inset:0;z-index:10000;overflow:auto;background:radial-gradient(circle at 50% 0%,#eef5ff 0,#f8fbff 45%,#fff 100%);padding:max(24px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;color:#10213d}
.install-gate[hidden]{display:none!important}
.install-gate-card{width:min(100%,460px);background:rgba(255,255,255,.96);border:1px solid #dce7f6;border-radius:30px;padding:30px 24px 26px;text-align:center;box-shadow:0 24px 65px rgba(20,56,104,.14)}
.install-gate-logo{width:min(245px,72%);height:auto;display:block;margin:0 auto 18px}
.install-gate-brand{font-size:14px;line-height:1.3;font-weight:800;letter-spacing:.02em;color:#46617f;margin-bottom:6px}
.install-gate h1{font-size:clamp(27px,7vw,36px);line-height:1.08;margin:0;color:#082b68;letter-spacing:-.035em}
.install-gate h1 span{display:inline-block;color:#1473e6}
.install-gate-lead{font-size:16px;line-height:1.55;color:#50657f;margin:13px auto 18px;max-width:350px}
.install-visual{height:168px;display:flex;align-items:center;justify-content:center;position:relative;margin:2px 0 16px}
.install-phone{width:88px;height:154px;border:5px solid #10213d;border-radius:22px;background:#fff;padding:10px 8px 8px;box-shadow:0 14px 28px rgba(19,56,100,.18);animation:installFloat 2.6s ease-in-out infinite}
.install-phone-notch{width:30px;height:5px;border-radius:8px;background:#10213d;margin:-2px auto 12px}
.install-phone-screen{height:118px;border-radius:12px;background:linear-gradient(160deg,#eff6ff,#fff);display:flex;flex-direction:column;align-items:center;padding-top:17px}
.install-phone-screen img{width:48px;height:48px;border-radius:12px;object-fit:cover;box-shadow:0 5px 14px rgba(20,80,150,.16)}
.install-phone-lines{width:50px;margin-top:12px}.install-phone-lines i{height:4px;border-radius:5px;background:#d9e6f5;display:block;margin:5px 0}.install-phone-lines i:nth-child(2){width:72%;margin-left:auto;margin-right:auto}
.install-action-bubble{position:absolute;left:calc(50% + 36px);bottom:13px;width:45px;height:45px;border-radius:50%;background:#1473e6;color:white;font-size:24px;font-weight:900;display:grid;place-items:center;box-shadow:0 10px 22px rgba(20,115,230,.3);animation:installPulse 1.5s ease-in-out infinite}
.install-app-btn{width:100%;min-height:56px;border:0;border-radius:16px;background:#0b63ce;color:#fff;font:inherit;font-size:17px;font-weight:900;box-shadow:0 10px 24px rgba(11,99,206,.22);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
.install-app-btn:active{transform:scale(.985)}.install-app-btn:disabled{opacity:.62;cursor:default;box-shadow:none}
.install-instructions{margin-top:17px;text-align:left;background:#f4f8fd;border:1px solid #dce8f7;border-radius:17px;padding:15px 16px;transition:box-shadow .25s ease,transform .25s ease}
.install-help-title{text-align:center;font-weight:900;color:#183e6c;margin-bottom:9px}.install-instructions ol{margin:0;padding-left:22px;color:#4a607a;font-size:14px;line-height:1.5}.install-instructions li+li{margin-top:5px}
.install-instructions-emphasis{box-shadow:0 0 0 4px rgba(20,115,230,.14);transform:scale(1.01)}
.install-status{min-height:0;margin-top:12px;font-size:14px;line-height:1.45;font-weight:800;color:#176039}.install-status:empty{display:none}
.install-required-note{margin-top:15px;font-size:12px;line-height:1.45;color:#718197}
@keyframes installFloat{0%,100%{transform:translateY(3px)}50%{transform:translateY(-7px)}}
@keyframes installPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media (max-height:700px){.install-gate{align-items:flex-start}.install-visual{height:132px}.install-phone{transform:scale(.82);animation:none}.install-action-bubble{bottom:3px}}
@media (prefers-reduced-motion:reduce){.install-phone,.install-action-bubble{animation:none!important}.install-instructions{scroll-behavior:auto}}

/* v142 — member portal top Sign Out */
.member-app-actions{display:flex;justify-content:flex-end;margin:4px 0 8px}.member-top-logout{min-height:40px;padding:8px 14px;border-radius:12px;font-weight:800}
@media(max-width:620px){.member-app-actions{margin-top:2px}.member-top-logout{font-size:13px;padding:7px 12px}}

/* v1.0.69 / v143 — install screen aligned with approved Member Login gospel UI */
.install-gate{
  background:
    radial-gradient(circle at 85% 8%,rgba(255,229,157,.34),transparent 20%),
    radial-gradient(circle at 10% 16%,rgba(255,255,255,.96),transparent 24%),
    linear-gradient(180deg,#edf7ff 0%,#f9fcff 42%,#fffaf0 100%);
  padding:max(18px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom));
}
.install-gate-card{
  width:min(1120px,100%);min-height:600px;padding:0;overflow:hidden;text-align:left;
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);
  border:1px solid rgba(112,156,196,.34);border-radius:32px;background:#fff;
  box-shadow:0 30px 74px rgba(12,50,91,.16),0 4px 14px rgba(12,50,91,.06)
}
.install-gate-hero{
  position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:50px 46px;
  background:
    radial-gradient(circle at 72% 19%,rgba(255,225,160,.86) 0 4%,rgba(255,225,160,.24) 18%,transparent 34%),
    linear-gradient(155deg,#d8efff 0%,#eef8ff 50%,#fff5df 100%);
  overflow:hidden;text-align:center
}
.install-gate-hero::before{
  content:"";position:absolute;z-index:-2;width:270px;height:270px;right:-62px;bottom:-72px;border:1px solid rgba(19,85,145,.13);border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.22),0 0 0 78px rgba(255,255,255,.13)
}
.install-gate-hero::after{
  content:"";position:absolute;z-index:-1;right:38px;top:38px;width:48px;height:78px;opacity:.18;
  background:linear-gradient(#0b4a86,#0b4a86) center/11px 100% no-repeat,linear-gradient(#0b4a86,#0b4a86) center 22px/48px 11px no-repeat;border-radius:5px
}
.install-gate-hero-inner{width:100%;max-width:430px;margin:auto;position:relative;z-index:1}
.install-logo-plate{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;margin:0 auto 16px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.96);border-radius:16px;box-shadow:0 8px 22px rgba(18,69,113,.09)}
.install-gate-logo{width:122px!important;max-width:122px!important;height:auto;display:block;margin:0!important}
.install-gate-brand{margin:0 0 12px;font-size:.72rem;line-height:1.3;font-weight:950;letter-spacing:.15em;color:#466f95;text-align:center}
.install-gate h1{margin:0 auto;max-width:440px;color:#03152d;font-size:clamp(2.05rem,4vw,4rem);line-height:.98;letter-spacing:-.035em;font-weight:950;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.36),0 7px 22px rgba(3,21,45,.08)}
.install-gospel-divider{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px auto 0;opacity:.58}.install-gospel-divider span{width:42px;height:1px;background:#b68a3d}.install-gospel-divider i{width:8px;height:8px;border:1px solid #b68a3d;transform:rotate(45deg)}
.install-gate-lead{margin:18px auto 0;max-width:340px;color:#4e6a82;font-size:15px;line-height:1.55;text-align:center}
.install-gate-actions{display:flex;flex-direction:column;justify-content:center;padding:38px 46px 34px;background:linear-gradient(180deg,#fff,#fbfdff)}
.install-visual{height:125px;margin:0 0 15px}.install-phone{transform:scale(.78);animation:installFloatV143 2.6s ease-in-out infinite}.install-action-bubble{left:calc(50% + 27px);bottom:3px}
.install-app-btn{min-height:54px;border-radius:15px;background:linear-gradient(135deg,#071f46,#0a5599);font-size:16px;letter-spacing:.02em;box-shadow:0 12px 25px rgba(7,31,70,.18)}
.install-step-demo{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:stretch;margin:18px 0 0;padding:12px;border:1px solid #d7e4ef;border-radius:17px;background:#f3f8fc;overflow:hidden}
.install-demo-step{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 5px;border-radius:12px;background:#fff;color:#49647d;text-align:center;box-shadow:0 4px 12px rgba(20,62,98,.055);animation:installStepHighlight 4.5s ease-in-out infinite}
.install-demo-step:nth-of-type(3){animation-delay:1.5s}.install-demo-step:nth-of-type(5){animation-delay:3s}
.install-demo-step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e4f0fa;color:#0b4d86;font-size:12px}.install-demo-step span{font-size:10px;line-height:1.2;font-weight:950;letter-spacing:.03em}
.install-demo-arrow{display:grid;place-items:center;color:#8ba4ba;font-size:25px;font-weight:700}
.install-demo-tap{position:absolute;width:14px;height:14px;border:3px solid #0d6ac5;border-radius:50%;left:14%;top:50%;transform:translate(-50%,-50%);pointer-events:none;animation:installTapTravel 4.5s ease-in-out infinite}.install-demo-tap::after{content:"";position:absolute;inset:-9px;border:2px solid rgba(13,106,197,.22);border-radius:50%;animation:installTapRing 1.1s ease-out infinite}
.install-instructions{margin-top:13px;background:#fffdf9;border-color:#eadfc9;padding:14px 15px}.install-help-title{color:#183e6c}.install-instructions li{position:relative;border-radius:8px;padding:3px 5px;animation:installInstructionGlow 6s ease-in-out infinite}.install-instructions li:nth-child(2){animation-delay:1.5s}.install-instructions li:nth-child(3){animation-delay:3s}.install-instructions li:nth-child(4){animation-delay:4.5s}
.install-required-note{text-align:center;color:#718197}
@keyframes installFloatV143{0%,100%{transform:scale(.78) translateY(3px)}50%{transform:scale(.78) translateY(-7px)}}
@keyframes installStepHighlight{0%,24%,100%{background:#fff;box-shadow:0 4px 12px rgba(20,62,98,.055);transform:translateY(0)}8%,16%{background:#eaf5ff;box-shadow:0 7px 18px rgba(13,106,197,.13);transform:translateY(-2px)}}
@keyframes installTapTravel{0%,28%{left:14%;opacity:1}33%,61%{left:50%;opacity:1}66%,94%{left:86%;opacity:1}100%{left:86%;opacity:0}}
@keyframes installTapRing{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.25);opacity:0}}
@keyframes installInstructionGlow{0%,18%,100%{background:transparent}7%,12%{background:#edf7ff}}
@media(max-width:900px){
  .install-gate-card{grid-template-columns:1fr;max-width:720px;min-height:0}.install-gate-hero{padding:28px 28px 25px}.install-gate-hero::after{right:24px;top:22px}.install-gate h1{font-size:clamp(2rem,7vw,3.2rem)}.install-gospel-divider{margin-top:17px}.install-gate-lead{margin-top:13px}.install-gate-actions{padding:27px 34px 30px}.install-visual{height:105px}
}
@media(max-width:520px){
  .install-gate{align-items:flex-start;padding:9px 8px 14px}.install-gate-card{border-radius:23px}.install-gate-hero{padding:20px 14px 18px}.install-gate-hero::after{width:35px;height:57px;right:13px;top:auto;bottom:12px;background:linear-gradient(#063765,#063765) center/8px 100% no-repeat,linear-gradient(#063765,#063765) center 17px/35px 8px no-repeat}.install-logo-plate{margin-bottom:11px;padding:6px 9px;border-radius:13px}.install-gate-logo{width:94px!important;max-width:94px!important}.install-gate-brand{font-size:.6rem;letter-spacing:.11em;margin-bottom:8px}.install-gate h1{font-size:1.82rem;line-height:1}.install-gospel-divider{display:none}.install-gate-lead{font-size:13px;margin-top:10px}.install-gate-actions{padding:18px 12px 20px}.install-visual{height:88px;margin-bottom:8px}.install-phone{transform:scale(.62);animation:installFloatMobile 2.6s ease-in-out infinite}.install-action-bubble{left:calc(50% + 22px);bottom:-1px;width:38px;height:38px;font-size:20px}.install-step-demo{gap:4px;padding:8px;margin-top:13px}.install-demo-step{padding:8px 3px;gap:5px}.install-demo-step b{width:21px;height:21px;font-size:10px}.install-demo-step span{font-size:8.5px}.install-demo-arrow{font-size:18px}.install-instructions{font-size:13px;padding:12px}.install-instructions ol{font-size:12.5px;line-height:1.42}.install-required-note{font-size:10.5px;margin-top:11px}
}
@keyframes installFloatMobile{0%,100%{transform:scale(.62) translateY(3px)}50%{transform:scale(.62) translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.install-demo-step,.install-demo-tap,.install-demo-tap::after,.install-instructions li{animation:none!important}}

/* v1.0.70 / v144 — animated, elderly-friendly install walkthrough */
.install-guided-demo{margin:14px 0 2px;padding:14px;border:1px solid #d6e4f0;border-radius:18px;background:linear-gradient(180deg,#f7fbff,#fffdf8);display:flex;flex-direction:column;align-items:center;gap:10px;overflow:hidden}
.install-guide-phone{width:210px;height:330px;position:relative;border:5px solid #163451;border-radius:28px;background:#fff;box-shadow:0 14px 30px rgba(20,55,90,.14);overflow:hidden}
.install-guide-topbar{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#f2f5f8;color:#7390a8}.install-guide-topbar span{width:35px;height:4px;border-radius:8px;background:#cbd8e4}.install-guide-topbar i{width:54px;height:5px;border-radius:8px;background:#dbe4ec}
.install-guide-page{height:222px;padding:24px 18px;background:linear-gradient(155deg,#e4f4ff,#fff8e9)}.install-guide-site{margin:0 auto 22px;width:92px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;letter-spacing:.08em;color:#154a7d;box-shadow:0 5px 15px rgba(25,69,109,.08)}.install-guide-page-lines{width:120px;margin:auto}.install-guide-page-lines i{display:block;height:7px;border-radius:8px;background:#cfdeea;margin:9px 0}.install-guide-page-lines i:nth-child(2){width:78%}.install-guide-page-lines i:nth-child(3){width:62%}
.install-guide-toolbar{position:absolute;left:0;right:0;bottom:0;height:74px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:center;background:rgba(248,250,252,.98);border-top:1px solid #dbe5ee;font-weight:900;color:#40627f;font-size:29px}.install-guide-share,.install-guide-menu{position:relative;display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:14px}.install-guide-back{font-size:38px;font-weight:500}.install-guide-menu{font-size:30px;letter-spacing:2px}
.install-guide-share.is-active,.install-guide-menu.is-active{background:#e4f3ff;color:#0867bc;box-shadow:0 0 0 5px rgba(8,103,188,.12);animation:guidePulse .8s ease-in-out infinite alternate}
.install-guide-sheet{position:absolute;left:12px;right:12px;bottom:-145px;padding:9px;border-radius:18px;background:#f7f7f8;border:1px solid #d8dde3;box-shadow:0 -8px 28px rgba(18,49,78,.18);transition:bottom .42s ease;z-index:4}.install-guide-sheet.is-open{bottom:82px}.install-guide-sheet-row{height:51px;display:flex;align-items:center;gap:10px;padding:0 11px;border-radius:12px;background:#fff;color:#233e57;font-size:11px}.install-guide-sheet-row+ .install-guide-sheet-row{margin-top:7px}.install-guide-sheet-row span{width:27px;height:27px;border-radius:8px;background:#e9f3fb;display:grid;place-items:center;color:#0d649e;font-weight:950;font-size:16px}.install-guide-sheet-row b{font-size:10.5px;letter-spacing:.025em}.install-guide-sheet-row.is-active{background:#e8f5ff;box-shadow:0 0 0 4px rgba(8,103,188,.11);animation:guideRowPulse .9s ease-in-out infinite alternate}.install-guide-confirm{opacity:.72}.install-guide-confirm.is-active{opacity:1;background:#eaf8ef;box-shadow:0 0 0 4px rgba(29,143,77,.12)}
.install-guide-finger{position:absolute;z-index:7;font-size:33px;left:95px;top:250px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.16));transition:left .52s ease,top .52s ease,transform .18s ease;animation:guideFingerTap .9s ease-in-out infinite}.install-guide-caption{min-height:50px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.install-guide-caption span{font-size:10px;font-weight:950;letter-spacing:.15em;color:#8a6a2f}.install-guide-caption b{margin-top:3px;font-size:13px;line-height:1.25;color:#173d64;letter-spacing:.025em}
@keyframes guidePulse{from{transform:scale(1)}to{transform:scale(1.08)}}@keyframes guideRowPulse{from{transform:scale(1)}to{transform:scale(1.02)}}@keyframes guideFingerTap{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(4px) scale(.92)}}
@media(max-width:520px){.install-guided-demo{padding:10px}.install-guide-phone{width:180px;height:285px;border-radius:24px}.install-guide-page{height:189px;padding-top:19px}.install-guide-toolbar{height:64px;font-size:25px}.install-guide-share,.install-guide-menu{width:42px;height:42px}.install-guide-sheet.is-open{bottom:70px}.install-guide-sheet-row{height:44px}.install-guide-finger{font-size:29px}.install-guide-caption b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.install-guide-share.is-active,.install-guide-menu.is-active,.install-guide-sheet-row.is-active,.install-guide-finger{animation:none!important}}


/* v1.0.71 / v145 — slower, clearer install walkthrough + final app name */
.install-visual,.install-step-demo{display:none!important}
.install-watch-head{text-align:center;margin-bottom:9px}.install-watch-head span{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#e6f2fd;color:#0a5d9f;font-size:10px;font-weight:950;letter-spacing:.12em}.install-watch-head b{display:block;margin-top:8px;color:#173b5f;font-size:14px;letter-spacing:.025em}.install-watch-head small{display:block;margin-top:4px;color:#6a8094;font-size:12px;line-height:1.35}
.install-guide-progress{display:flex;align-items:center;justify-content:center;gap:7px;min-height:15px;margin:0 0 9px}.install-guide-progress i{width:7px;height:7px;border-radius:999px;background:#d3e0ea;transition:width .2s ease,background .2s ease,transform .2s ease}.install-guide-progress i.is-active{width:25px;background:#0a68b8;transform:scaleY(1.1)}
.install-guided-demo{margin-top:15px;background:linear-gradient(180deg,#f5faff,#fffdf7);box-shadow:0 8px 24px rgba(20,64,103,.06);transition:box-shadow .25s ease,transform .25s ease}.install-guided-demo-emphasis{box-shadow:0 0 0 5px rgba(13,106,197,.13),0 14px 30px rgba(20,64,103,.10);transform:scale(1.008)}
.install-guide-page{position:relative}.install-guide-page-install{position:absolute;left:28px;right:28px;bottom:24px;height:42px;border:0;border-radius:11px;background:linear-gradient(135deg,#071f46,#0a5599);color:#fff;font-size:11px;font-weight:950;letter-spacing:.04em;opacity:.0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease}.install-guide-page-install.is-active{opacity:1;transform:translateY(0);box-shadow:0 0 0 6px rgba(13,106,197,.13),0 7px 18px rgba(7,31,70,.18);animation:guideLargePulse .9s ease-in-out infinite alternate}
.install-guide-sheet{bottom:-205px}.install-guide-sheet.is-open{bottom:82px}.install-guide-webapp-row{display:none!important}.install-guide-webapp-row.is-visible{display:flex!important}.install-guide-webapp-row b{flex:1}.install-guide-toggle{width:38px;height:23px;border-radius:99px;background:#becbd5;position:relative;margin-left:auto;transition:background .2s ease,box-shadow .2s ease}.install-guide-toggle:after{content:"";position:absolute;width:19px;height:19px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:left .2s ease}.install-guide-toggle.is-on{background:#28a65a}.install-guide-toggle.is-on:after{left:17px}.install-guide-toggle.is-active{box-shadow:0 0 0 6px rgba(40,166,90,.13);animation:guideLargePulse .9s ease-in-out infinite alternate}
.install-guide-home-result{position:absolute;inset:25px 18px 76px;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:19px;background:linear-gradient(155deg,#dcedfa,#fff6df);opacity:0;pointer-events:none;transform:scale(.94);transition:opacity .28s ease,transform .28s ease}.install-guide-home-result.is-visible{opacity:1;transform:scale(1)}.install-guide-home-result img{width:66px;height:66px;border-radius:16px;object-fit:cover;box-shadow:0 8px 20px rgba(25,64,100,.18)}.install-guide-home-result b{max-width:150px;text-align:center;color:#173d64;font-size:12px;line-height:1.25}
.install-guide-caption{min-height:72px;padding:2px 4px}.install-guide-caption span{font-size:10.5px;color:#8b672c}.install-guide-caption b{font-size:15px;line-height:1.28;margin-top:5px}.install-guide-caption small{display:block;max-width:330px;margin:5px auto 0;color:#60778d;font-size:12px;line-height:1.4}
.install-guide-share.is-active,.install-guide-menu.is-active,.install-guide-sheet-row.is-active{box-shadow:0 0 0 7px rgba(8,103,188,.13);animation:guideLargePulse .9s ease-in-out infinite alternate}.install-guide-sheet-row.is-active{background:#e8f5ff}.install-guide-confirm.is-active{background:#eaf8ef;box-shadow:0 0 0 7px rgba(29,143,77,.13)}
.install-guide-finger{font-family:Apple Color Emoji,"Segoe UI Emoji",sans-serif;transition:left .55s ease,top .55s ease,opacity .22s ease;animation:guideFingerFriendly 1.15s ease-in-out infinite}
@keyframes guideLargePulse{from{transform:scale(1)}to{transform:scale(1.04)}}
@keyframes guideFingerFriendly{0%,100%{transform:translateY(-2px) scale(1)}52%{transform:translateY(6px) scale(.9)}}
@media(max-width:520px){.install-guided-demo{margin-top:12px}.install-watch-head b{font-size:12px}.install-watch-head small{font-size:11px}.install-guide-progress{gap:5px}.install-guide-progress i.is-active{width:20px}.install-guide-page-install{left:23px;right:23px;bottom:20px;height:36px;font-size:9.5px}.install-guide-sheet{bottom:-190px}.install-guide-sheet.is-open{bottom:70px}.install-guide-caption{min-height:68px}.install-guide-caption b{font-size:13.5px}.install-guide-caption small{font-size:11px}.install-guide-home-result{inset:22px 15px 66px}.install-guide-home-result img{width:58px;height:58px}.install-guide-home-result b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.install-guide-page-install.is-active,.install-guide-toggle.is-active,.install-guide-share.is-active,.install-guide-menu.is-active,.install-guide-sheet-row.is-active,.install-guide-finger{animation:none!important}}

.install-guide-name-row{display:none!important}.install-guide-name-row.is-visible{display:flex!important}.install-guide-name-row b{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-guide-name-row.is-active{background:#fff7df!important;box-shadow:0 0 0 7px rgba(191,139,38,.13)!important}

/* v1.0.72 / v147 — returning member PIN-only sign in */
.remembered-member-box{border:1px solid #cfe0ee;border-radius:17px;background:linear-gradient(145deg,#f4f9fd,#fffdf7);padding:14px 15px 12px;box-shadow:0 7px 18px rgba(20,65,103,.07)}
.remembered-member-welcome{display:flex;align-items:center;gap:12px;text-align:left}.remembered-member-welcome>span{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dceeff,#edf7ff);color:#0a4e8b;font-size:19px;border:1px solid #c7deef}.remembered-member-welcome div{min-width:0;display:flex;flex-direction:column;gap:2px}.remembered-member-welcome small{font-size:.67rem;font-weight:950;letter-spacing:.12em;color:#6c8398}.remembered-member-welcome strong{font-size:1.08rem;line-height:1.2;color:#082f67;overflow-wrap:anywhere}
.remembered-member-change{display:block;margin:10px auto 0;padding:7px 10px;border:0;background:transparent;color:#3b719f;font-size:.79rem;font-weight:850;text-decoration:underline;text-underline-offset:2px;border-radius:9px}.remembered-member-change:hover{background:#eaf4fb}.remembered-member-change:focus-visible{outline:3px solid rgba(49,125,186,.2);outline-offset:2px}
@media(max-width:640px){.remembered-member-box{padding:12px 12px 10px}.remembered-member-welcome>span{width:40px;height:40px;flex-basis:40px}.remembered-member-welcome strong{font-size:1rem}.remembered-member-change{font-size:.76rem}}

/* v1.0.74 / v150 — Member Login footer lowered slightly while keeping both lines visible */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{
  padding-bottom:14px;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-login-redesign{
  padding-bottom:0;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
  position:relative;
  z-index:2;
  margin-top:-4px;
  padding:0 16px 14px;
  transform:translateY(-4px);
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{
    padding-bottom:7px;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
    margin-top:-5px;
    padding:0 12px max(12px,env(safe-area-inset-bottom));
    transform:translateY(-7px);
  }
}

/* v1.0.75 / v151 — Member Login footer moved a little further down */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
  margin-top:0;
  padding:0 16px 8px;
  transform:translateY(3px);
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{
    padding-bottom:4px;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
    margin-top:0;
    padding:0 12px max(8px,env(safe-area-inset-bottom));
    transform:translateY(2px);
  }
}

/* v1.0.76 / v152 — Member Login footer moved further down */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
  margin-top:0;
  padding:0 16px 5px;
  transform:translateY(11px);
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .shell{
    padding-bottom:1px;
  }
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
    margin-top:0;
    padding:0 12px max(5px,env(safe-area-inset-bottom));
    transform:translateY(9px);
  }
}


/* v1.0.71 / v153 — Member Portal logo position: centered at login, left after sign-in */
.member-login-sanctuary-page .member-logo-bar{
  display:flex!important;
  width:100%!important;
  align-items:center!important;
}
.member-login-sanctuary-page .member-logo-brand img{
  display:block!important;
  position:static!important;
  transform:none!important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-bar{
  justify-content:center!important;
  text-align:center!important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-brand{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0 auto!important;
  text-align:center!important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-brand img{
  margin-left:auto!important;
  margin-right:auto!important;
}
.member-login-sanctuary-page:has(#memberApp:not(.hidden)) .member-logo-bar{
  justify-content:flex-start!important;
  text-align:left!important;
}
.member-login-sanctuary-page:has(#memberApp:not(.hidden)) .member-logo-brand{
  display:flex!important;
  width:auto!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:0!important;
  text-align:left!important;
}
.member-login-sanctuary-page:has(#memberApp:not(.hidden)) .member-logo-brand img{
  margin:0!important;
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberApp:not(.hidden)) .member-logo-bar{padding-left:2px!important}
}


/* v1.0.78 / v154 — logged-in member header: logo left, Sign Out right on the same line */
.member-login-sanctuary-page:has(#memberApp:not(.hidden)) > .shell > .member-logo-bar{
  display:none!important;
}
.member-app-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  margin:20px 0 10px;
  min-height:58px;
}
.member-app-header-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0;
}
.member-app-header-brand img{
  display:block;
  width:132px;
  max-height:68px;
  object-fit:contain;
  margin:0;
}
.member-app-header .member-app-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin:0;
}
@media(max-width:640px){
  .member-app-header{margin:16px 0 8px;min-height:50px}
  .member-app-header-brand img{width:104px;max-height:56px}
  .member-app-header .member-top-logout{font-size:13px;padding:7px 12px}
}

/* v1.0.78 / v154 — login copyright + website moved further down */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
  margin-top:0;
  padding:0 16px 3px;
  transform:translateY(22px);
}
@media(max-width:640px){
  .member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .portal-copyright{
    margin-top:0;
    padding:0 12px max(3px,env(safe-area-inset-bottom));
    transform:translateY(18px);
  }
}


/* v1.0.79 / v155 — Member programme card + convention-grouped Travel and Accommodation */
.member-login-sanctuary-page #memberApp .member-programme-simple{
  position:relative;
  overflow:hidden;
  margin-top:16px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 15%,rgba(255,222,145,.30),transparent 24%),
    linear-gradient(135deg,#072b61 0%,#0b4f93 62%,#1376bd 100%);
  box-shadow:0 16px 34px rgba(8,54,108,.20);
}
.member-login-sanctuary-page #memberApp .member-programme-simple::after{
  content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-28px;bottom:-34px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 24px rgba(255,255,255,.06);pointer-events:none
}
.member-login-sanctuary-page #memberApp .member-programme-simple h3{
  position:relative;z-index:1;margin:0!important;color:#fff;font-size:1.42rem;font-weight:950;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.10)
}
.member-login-sanctuary-page #memberApp .member-programme-simple #programmeMeta{
  position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;margin-top:9px!important;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);color:#eef7ff!important;font-size:.86rem;font-weight:850;backdrop-filter:blur(6px)
}
.member-convention-group{margin:0 0 18px;border:1px solid #dbe7f2;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 27px rgba(19,58,96,.08)}
.member-convention-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;background:linear-gradient(135deg,#edf7ff,#fffaf0);border-bottom:1px solid #e2eaf1}
.member-convention-group-head>div{min-width:0}.member-convention-kicker{display:block;margin-bottom:3px;color:#5d7c98;font-size:.64rem;font-weight:950;letter-spacing:.13em}.member-convention-group-head h3{margin:0;color:#082f67;font-size:1.16rem;line-height:1.2;font-weight:950}.member-convention-group-head small{display:block;margin-top:4px;color:#6f8191;font-size:.76rem;font-weight:750}
.member-convention-mark{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#0b5eaa;border:1px solid #d8e7f3;box-shadow:0 5px 14px rgba(19,68,108,.08);font-size:18px}
.member-convention-group-body{padding:13px}.member-convention-group-body>.card{margin:0}.member-convention-group-body>.card+.card{margin-top:12px}
.member-convention-travel .member-convention-group-head{background:linear-gradient(135deg,#eaf5ff,#f8fcff 64%,#fff8e8)}
.member-convention-accommodation .member-convention-group-head{background:linear-gradient(135deg,#eef9f4,#fbfdfb 62%,#fff7e7)}
.member-convention-accommodation .member-convention-mark{color:#1a7557;background:#f7fffb;border-color:#d8eee3}
@media(max-width:620px){
  .member-login-sanctuary-page #memberApp .member-programme-simple{padding:18px 15px;border-radius:19px}.member-login-sanctuary-page #memberApp .member-programme-simple h3{font-size:1.2rem}.member-login-sanctuary-page #memberApp .member-programme-simple #programmeMeta{font-size:.76rem;padding:6px 10px}
  .member-convention-group{border-radius:17px;margin-bottom:15px}.member-convention-group-head{padding:13px 14px}.member-convention-group-head h3{font-size:1.03rem}.member-convention-group-body{padding:9px}.member-convention-mark{width:34px;height:34px;flex-basis:34px;border-radius:10px}
}


/* v1.0.80 / v158 — optional passkey / secure device member login */
.secure-login-wrap{margin-top:2px}.secure-login-divider{display:flex;align-items:center;gap:10px;margin:3px 0 12px;color:#8aa0b4}.secure-login-divider span{height:1px;background:#dce6ef;flex:1}.secure-login-divider b{font-size:.64rem;letter-spacing:.12em;color:#8096aa}
.secure-device-login-btn{width:100%;min-height:52px;border:1px solid #c9ddec;border-radius:15px;background:linear-gradient(145deg,#f5faff,#fffdf8);color:#0a3768;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;box-shadow:0 6px 17px rgba(15,66,108,.07);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.secure-device-login-btn>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#dceeff;color:#0b5c9f;font-size:17px}.secure-device-login-btn:active{transform:scale(.99)}.secure-device-login-btn:disabled{opacity:.6}
.secure-login-backdrop{z-index:12000}.secure-login-modal{width:min(420px,calc(100vw - 28px));padding:30px 27px 25px;text-align:center;border-radius:27px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #d5e4f0;box-shadow:0 28px 75px rgba(8,47,103,.22)}.secure-login-symbol{width:68px;height:68px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;font-size:35px;color:#0b5c9f;background:linear-gradient(145deg,#dceeff,#f2f8fd);border:1px solid #c6dfef;box-shadow:0 10px 25px rgba(11,92,159,.12)}.secure-login-modal h2{margin:0;color:#071f46;font-size:1.65rem;line-height:1.12}.secure-login-modal>p{margin:11px auto 17px;color:#60778d;line-height:1.5;max-width:340px}.secure-login-benefit{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:13px 15px;border-radius:14px;background:#edf7ff;color:#3f617e}.secure-login-benefit strong{color:#0a4e8b}.secure-login-benefit span{font-size:.88rem;line-height:1.4}.secure-login-modal .gospel-primary-btn{margin-top:0}.secure-login-later{width:100%;margin-top:9px;min-height:44px}.secure-login-modal>small{display:block;margin-top:15px;color:#788b9e;font-size:.72rem;line-height:1.45}.secure-login-modal>small.secure-login-error{color:#a84040;font-weight:800;background:#fff1f1;padding:9px;border-radius:10px}
@media(max-width:520px){.secure-login-modal{padding:25px 19px 21px}.secure-login-symbol{width:60px;height:60px;font-size:30px}.secure-login-modal h2{font-size:1.42rem}.secure-device-login-btn{font-size:.9rem}}


/* v1.0.81 / v159 — secure device login is the default returning-member method */
.secure-login-primary{margin-top:4px}
.secure-device-login-primary{
  min-height:58px;border:0;background:linear-gradient(135deg,#071f46,#0a5599);color:#fff;
  box-shadow:0 12px 25px rgba(7,31,70,.18);font-size:1rem
}
.secure-device-login-primary>span{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.18)}
.secure-device-login-primary:hover{box-shadow:0 15px 30px rgba(7,31,70,.23)}
.secure-login-primary .secure-login-divider{margin:15px 0 10px}
.pin-login-fallback-btn{width:100%;min-height:44px;border:1px solid #d4e1eb;border-radius:13px;background:#fff;color:#41617c;font-weight:900;box-shadow:0 4px 12px rgba(18,61,99,.045)}
.pin-login-fallback-btn:active{transform:scale(.99)}
@media(max-width:520px){.secure-device-login-primary{min-height:55px;font-size:.92rem}.pin-login-fallback-btn{font-size:.88rem}}


/* v1.0.82 / v160 — Member top-right Menu with secure-login control */
.member-menu-wrap{position:relative}
.member-top-menu{min-width:76px;min-height:42px;padding:8px 16px;border-radius:12px;font-weight:900;background:#fff;color:#123d68;border:1px solid #d4e2ee;box-shadow:0 5px 14px rgba(19,61,99,.06)}
.member-account-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:90;width:min(310px,calc(100vw - 32px));padding:8px;border:1px solid #d7e4ee;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(8,47,103,.18);backdrop-filter:blur(14px)}
.member-account-menu-item{width:100%;min-height:50px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:0;border-radius:13px;background:transparent;color:#173d63;text-align:left;font-weight:850}
.member-account-menu-item:hover{background:#f1f7fc}.member-account-menu-item:active{transform:scale(.99)}
.member-account-menu-item>span{width:31px;height:31px;flex:0 0 31px;border-radius:10px;display:grid;place-items:center;background:#e7f2fb;color:#0a5d9f;font-size:16px}
.member-account-menu-item.is-enabled{color:#23704e;background:#f1fbf6}.member-account-menu-item.is-enabled>span{background:#dff5e9;color:#257653}.member-account-menu-item:disabled{opacity:.78;cursor:default}
.member-signout-menu-item{margin-top:4px;color:#8b3131;border-top:1px solid #edf1f5;border-radius:0 0 13px 13px}.member-signout-menu-item>span{background:#fff0f0;color:#a23d3d}.member-signout-menu-item:hover{background:#fff5f5}
.member-menu-status{margin:7px 5px 4px;padding:9px 10px;border-radius:10px;font-size:.75rem;line-height:1.35;font-weight:800}.member-menu-status.success{background:#edf9f2;color:#27684c}.member-menu-status.error{background:#fff1f1;color:#9b3e3e}
@media(max-width:640px){.member-top-menu{min-width:68px;min-height:39px;padding:7px 13px;font-size:13px}.member-account-menu{top:calc(100% + 7px);width:min(285px,calc(100vw - 22px))}.member-account-menu-item{min-height:48px;font-size:.86rem}}


/* v1.0.83 / v161 — Admin security, activity, readiness, announcements */
.security-dashboard-head,.announce-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.security-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:18px}.security-summary-card{border:1px solid #d7e4ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff);padding:15px 13px;display:flex;align-items:center;gap:10px;text-align:left;color:#173a5d;box-shadow:0 7px 18px rgba(22,60,96,.06)}.security-summary-card>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eaf4fd;color:#0a579b;font-weight:950}.security-summary-card small{display:block;color:#6c8195;font-weight:800;font-size:.72rem}.security-summary-card strong{display:block;font-size:1.45rem;color:#082f67;margin-top:2px}.security-work-grid,.announce-admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:15px;margin-bottom:16px}.security-panel,.security-member-panel{border:1px solid rgba(167,193,216,.66);background:rgba(255,255,255,.94);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(19,59,102,.07)}.security-panel h3,.security-member-panel h3{margin:0 0 12px;color:#082f67}.readiness-list{display:grid;gap:11px;margin-top:13px}.readiness-row{border:1px solid #e1e9f1;border-radius:15px;padding:12px;background:#fbfdff}.readiness-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.readiness-title strong{font-size:.88rem;color:#123e6a}.readiness-title small{color:#71869a}.readiness-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px}.readiness-bars>div{display:grid;grid-template-columns:88px 1fr 48px;align-items:center;gap:7px;font-size:.72rem;color:#587188}.readiness-bars i{height:7px;border-radius:8px;background:#e8eef4;overflow:hidden}.readiness-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d5fb8,#56a0df)}.readiness-bars em{font-style:normal;text-align:right;color:#36556f;font-weight:800}.recent-admin-list{display:grid;gap:8px}.recent-admin-list>div{padding:10px 11px;border:1px solid #e3eaf1;border-radius:12px;background:#fbfdff}.recent-admin-list span,.recent-admin-list strong,.recent-admin-list small{display:block}.recent-admin-list span{font-weight:850;color:#173e65}.recent-admin-list strong{font-size:.78rem;color:#587087;margin-top:2px}.recent-admin-list small{font-size:.68rem;color:#8a9aaa;margin-top:3px}.security-member-tools{display:grid;grid-template-columns:1fr 260px;gap:12px;margin-bottom:8px}.security-member-tools label{display:block;font-size:.75rem;font-weight:900;color:#516c84;margin-bottom:5px}.security-table th,.security-table td{vertical-align:top}.member-security-detail h3{margin:20px 0 10px;color:#082f67}.member-security-profile{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border-radius:16px;background:linear-gradient(135deg,#eaf5ff,#fff8e8);border:1px solid #d9e6f2}.member-security-profile small,.member-security-profile strong,.member-security-profile span{display:block}.member-security-profile small{font-size:.65rem;letter-spacing:.12em;font-weight:900;color:#69839b}.member-security-profile strong{font-size:1.25rem;color:#092e5b}.member-security-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px}.member-security-facts>div{border:1px solid #e0e8ef;border-radius:13px;padding:11px;background:#fbfdff}.member-security-facts span,.member-security-facts strong,.member-security-facts small{display:block}.member-security-facts span{font-size:.68rem;font-weight:900;color:#778b9d;text-transform:uppercase}.member-security-facts strong{margin-top:3px;color:#193e61}.member-security-facts small{margin-top:3px;color:#7a8d9d}.member-security-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.auth-history-list{display:grid;gap:7px}.auth-history-list>div{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #edf1f4;padding:8px 2px}.auth-event-dot{width:9px;height:9px;border-radius:50%;background:#a7b8c7}.auth-event-dot.ok{background:#21a464}.auth-event-dot.bad{background:#d84b51}.auth-history-list strong,.auth-history-list small{display:block}.auth-history-list strong{font-size:.84rem;color:#264762}.auth-history-list small{font-size:.7rem;color:#7b8d9d}.auth-history-list time{font-size:.68rem;color:#8293a2;text-align:right}.announcement-list{display:grid;gap:10px;margin-top:12px}.announcement-admin-card{display:flex;justify-content:space-between;gap:15px;border:1px solid #dfe8f0;border-radius:15px;padding:14px;background:#fbfdff}.announcement-admin-card h4{margin:7px 0 4px;color:#173d64}.announcement-admin-card p{margin:0 0 5px;color:#5c7185;white-space:pre-wrap}.announcement-admin-card small{color:#8a99a7}
@media(max-width:1100px){.security-summary-grid{grid-template-columns:repeat(3,1fr)}.security-work-grid,.announce-admin-grid{grid-template-columns:1fr}.security-member-tools{grid-template-columns:1fr 220px}}
@media(max-width:700px){.security-summary-grid{grid-template-columns:repeat(2,1fr)}.security-member-tools{grid-template-columns:1fr}.readiness-bars{grid-template-columns:1fr}.announcement-admin-card{flex-direction:column}.member-security-facts{grid-template-columns:1fr}.security-panel,.security-member-panel{padding:13px}}


/* v1.0.83 / v161 — Member announcements, help and forced PIN security */
.member-announcement-area{display:grid;gap:9px;margin:13px 0}.member-announcement-area:empty{display:none}.member-announcement-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;padding:13px 15px;border-radius:17px;border:1px solid #ead8ad;background:linear-gradient(135deg,#fff9e9,#fff);box-shadow:0 7px 18px rgba(96,70,23,.06)}.member-announcement-card>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff1c8}.member-announcement-card strong{display:block;color:#173f66}.member-announcement-card p{margin:4px 0 0;color:#5d7081;line-height:1.45;white-space:pre-wrap}.member-help-menu-item>span{background:#edf5fb!important;color:#225f94!important}.member-help-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:15px;border:1px solid #dce7ef;background:#f8fbfe}.member-help-card>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f3fd;color:#0b5b9e;font-weight:950}.member-help-card strong{color:#173f65}.member-help-card p{margin:5px 0 0;color:#607486;line-height:1.45}.member-help-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.force-pin-modal{max-width:460px}.force-pin-backdrop{z-index:12000}
@media(max-width:600px){.member-announcement-card{grid-template-columns:36px minmax(0,1fr);padding:11px 12px}.member-announcement-card>span{width:34px;height:34px}.member-help-actions .btn{width:100%}}

.security-tracking-note{margin-top:7px;font-size:.7rem;color:#7b8d9d;max-width:760px}

/* v1.0.84 / v162 — Member announcement red attention glow */
.member-announcement-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fff8f9 0%,#fff 76%)!important;
  border:2px solid #ef9aa6!important;
  box-shadow:0 7px 18px rgba(183,47,66,.10),0 0 0 1px rgba(217,74,94,.04)!important;
  animation:memberAnnouncementAttention 1.9s ease-in-out infinite;
}
.member-announcement-card>span{
  background:#ffe6ea!important;
  color:#a52c40!important;
  box-shadow:0 0 0 1px rgba(217,74,94,.10);
}
.member-announcement-card strong{color:#9b3040!important;font-weight:950}
.member-announcement-card p{color:#5d4c51!important}
.member-announcement-card::after{
  content:"IMPORTANT";
  position:absolute;
  top:8px;
  right:10px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff0f2;
  border:1px solid #f2b5be;
  color:#a22e40;
  font-size:.58rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
}
@keyframes memberAnnouncementAttention{
  0%,100%{
    border-color:#ef9aa6;
    box-shadow:0 7px 18px rgba(183,47,66,.10),0 0 0 1px rgba(217,74,94,.04);
  }
  50%{
    border-color:#db4a5e;
    box-shadow:0 8px 22px rgba(183,47,66,.16),0 0 0 5px rgba(217,74,94,.22),0 0 24px rgba(217,74,94,.28);
  }
}
@media(max-width:600px){
  .member-announcement-card::after{top:7px;right:8px;font-size:.52rem;padding:3px 6px}
  .member-announcement-card strong{padding-right:68px}
}
@media(prefers-reduced-motion:reduce){
  .member-announcement-card{animation:none!important;box-shadow:0 8px 22px rgba(183,47,66,.14),0 0 0 3px rgba(217,74,94,.15)!important}
}


/* v1.0.85 / v163 — reliable Member announcement flash, JS-driven like Planning alert */
.member-announcement-card{
  animation:none!important;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.member-announcement-card.announcement-flash-phase{
  background:linear-gradient(135deg,#ffd9df 0%,#fff1f3 58%,#ffffff 100%)!important;
  border-color:#c91f3c!important;
  box-shadow:0 10px 28px rgba(173,23,49,.28),0 0 0 5px rgba(223,47,76,.25),0 0 34px rgba(223,47,76,.42)!important;
}
.member-announcement-card.announcement-flash-phase>span{
  background:#c91f3c!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(201,31,60,.13)!important;
}
.member-announcement-card.announcement-flash-phase::after{
  background:#c91f3c!important;
  border-color:#c91f3c!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(153,15,39,.24)!important;
}

/* v1.0.86 / v164 — softer Member announcement flash */
.member-announcement-card{
  background:linear-gradient(135deg,#fffafb 0%,#ffffff 82%)!important;
  border-color:#f3bcc4!important;
  box-shadow:0 6px 15px rgba(183,47,66,.07),0 0 0 1px rgba(217,74,94,.025)!important;
}
.member-announcement-card>span{
  background:#fff0f2!important;
  color:#b23f51!important;
  box-shadow:0 0 0 1px rgba(217,74,94,.07)!important;
}
.member-announcement-card::after{
  background:#fff5f6!important;
  border-color:#f2c7cd!important;
  color:#aa4051!important;
  box-shadow:none!important;
}
.member-announcement-card.announcement-flash-phase{
  background:linear-gradient(135deg,#fff0f2 0%,#fff8f9 64%,#ffffff 100%)!important;
  border-color:#e88795!important;
  box-shadow:0 7px 18px rgba(183,47,66,.10),0 0 0 3px rgba(223,47,76,.09),0 0 14px rgba(223,47,76,.11)!important;
}
.member-announcement-card.announcement-flash-phase>span{
  background:#f8cfd5!important;
  color:#983548!important;
  box-shadow:0 0 0 2px rgba(201,31,60,.06)!important;
}
.member-announcement-card.announcement-flash-phase::after{
  background:#fbe3e7!important;
  border-color:#edabb5!important;
  color:#9d3748!important;
  box-shadow:none!important;
}


/* v1.0.87 / v165 — Member Portal convention-first hub */
.member-convention-hub{scroll-margin-top:18px}
.member-convention-hub-heading{margin-bottom:13px;padding:0 2px}
.member-convention-hub-heading span{display:block;color:#6b8298;font-size:.68rem;font-weight:950;letter-spacing:.15em}
.member-convention-hub-heading h2{margin:3px 0 3px;color:#082f67;font-size:1.42rem;letter-spacing:-.025em}
.member-convention-hub-heading p{margin:0;color:#74889a;font-size:.84rem;line-height:1.45}
.member-convention-hub-list{display:grid;gap:13px}
.member-convention-hub-card{scroll-margin-top:16px;border:1px solid #d9e6f1;border-radius:21px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(18,58,96,.075)}
.member-convention-hub-toggle{width:100%;min-height:92px;border:0;padding:15px 16px;display:grid;grid-template-columns:50px minmax(0,1fr) auto 28px;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,#edf7ff 0%,#fbfdff 57%,#fff7e7 100%);color:#163b61}
.member-convention-hub-toggle:focus-visible{outline:3px solid rgba(28,105,175,.23);outline-offset:-3px}
.member-convention-hub-toggle[aria-expanded="true"]{background:linear-gradient(135deg,#e5f3ff 0%,#f9fcff 55%,#fff1cf 100%);border-bottom:1px solid #dce8f2}
.member-convention-hub-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff;color:#0b5d9f;border:1px solid #d9e8f4;box-shadow:0 6px 15px rgba(21,71,112,.08);font-size:20px;font-weight:950}
.member-convention-hub-main{min-width:0}.member-convention-hub-main>span{display:block;color:#6d879d;font-size:.59rem;font-weight:950;letter-spacing:.13em;margin-bottom:3px}.member-convention-hub-main h2{margin:0;color:#062d5d;font-size:1.08rem;line-height:1.18;font-weight:950}.member-convention-hub-main small{display:block;margin-top:5px;color:#708497;font-size:.72rem;font-weight:750;white-space:normal}
.member-convention-hub-summary{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:190px}.member-convention-hub-summary span{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid #dbe7f0;color:#587188;font-size:.61rem;font-weight:850;white-space:nowrap}
.member-convention-hub-chevron{display:grid;place-items:center;width:26px;height:26px;color:#507493;font-size:22px;font-weight:900;transition:transform .2s ease}.member-convention-hub-toggle[aria-expanded="true"] .member-convention-hub-chevron{transform:rotate(180deg)}
.member-convention-hub-panel{padding:14px;background:linear-gradient(180deg,#fff,#fbfdff)}
.member-convention-venue{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 12px;border-radius:14px;border:1px solid #e2e9ef;background:#f8fbfd}.member-convention-venue>div{min-width:0}.member-convention-venue strong,.member-convention-venue span{display:block}.member-convention-venue strong{color:#244661;font-size:.82rem}.member-convention-venue span{margin-top:2px;color:#76899a;font-size:.72rem}.member-convention-venue .btn{flex:0 0 auto;padding:8px 10px;font-size:.72rem}
.member-convention-detail-section{border:1px solid #e1e9ef;border-radius:17px;background:#fff;overflow:hidden}.member-convention-detail-section+.member-convention-detail-section{margin-top:12px}.member-convention-detail-title{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid #e8edf2;background:#f8fbfe}.member-convention-detail-title>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#eaf4fc;color:#0a5a9b}.member-convention-detail-title h3{margin:0;color:#173f65;font-size:.82rem;letter-spacing:.04em;font-weight:950}.member-convention-detail-body{padding:11px}.member-convention-detail-body>.card{margin:0}.member-convention-detail-body>.card+.card{margin-top:10px}.member-convention-detail-accommodation .member-convention-detail-title{background:#f4fbf7}.member-convention-detail-accommodation .member-convention-detail-title>span{background:#e7f5ed;color:#1f7858}.member-convention-detail-food .member-convention-detail-title{background:#fffaf0}.member-convention-detail-food .member-convention-detail-title>span{background:#fff0c9;color:#9a6a12}.member-convention-empty{padding:13px;border-radius:12px;background:#f8fafc;color:#75889a;font-size:.78rem;text-align:center}
.member-convention-bottom-nav a{min-width:0}
@media(max-width:700px){
  .member-convention-hub-toggle{grid-template-columns:43px minmax(0,1fr) 24px;padding:13px 12px;gap:9px;min-height:84px}.member-convention-hub-icon{width:41px;height:41px;border-radius:13px;font-size:17px}.member-convention-hub-main h2{font-size:.98rem}.member-convention-hub-main small{font-size:.67rem}.member-convention-hub-summary{grid-column:2/3;justify-content:flex-start;max-width:none;margin-top:-3px}.member-convention-hub-chevron{grid-column:3;grid-row:1/3}.member-convention-hub-panel{padding:9px}.member-convention-venue{align-items:flex-start;flex-direction:column}.member-convention-venue .btn{width:100%}.member-convention-detail-body{padding:8px}.member-convention-hub-heading h2{font-size:1.25rem}.member-convention-hub-heading p{font-size:.78rem}
}
@media(max-width:390px){.member-convention-hub-summary span{font-size:.56rem;padding:4px 6px}.member-convention-hub-main h2{font-size:.91rem}.member-convention-hub-toggle{padding:11px 9px}.member-convention-hub-icon{width:38px;height:38px}}


/* v1.0.88 / v166 — simpler convention cards + persistent open state */
.member-convention-hub-icon{border-radius:50%!important;font-size:19px!important;color:#0b5d9f!important;background:#f8fcff!important;border-color:#cfe2f1!important}
.member-convention-hub-heading h2{margin-top:0}

/* v1.0.70 / v167 — clearer, friendlier Member Convention cards */
.member-convention-hub-heading{padding:2px 3px 3px}
.member-convention-hub-heading h2{font-size:1.5rem;color:#062d5d}
.member-convention-hub-heading p{max-width:620px;color:#5f7589;font-size:.9rem}
.member-convention-hub-list{gap:15px}
.member-convention-hub-card{border:1px solid #cddfeb;border-radius:23px;box-shadow:0 12px 30px rgba(15,56,92,.09)}
.member-convention-hub-toggle{
  min-height:108px;padding:18px 18px;
  grid-template-columns:58px minmax(0,1fr) auto 32px;gap:14px;
  background:linear-gradient(135deg,#e5f4ff 0%,#f7fbff 54%,#fff6df 100%);
  border-left:5px solid #1c73b8;
}
.member-convention-hub-toggle[aria-expanded="true"]{
  background:linear-gradient(135deg,#d9efff 0%,#f5fbff 55%,#ffefc7 100%);
  border-left-color:#d0a044;
}
.member-convention-hub-icon{
  width:54px!important;height:54px!important;border-radius:50%!important;
  background:linear-gradient(145deg,#ffffff,#e9f5ff)!important;
  color:#0b5d9f!important;border:2px solid #c4dff1!important;
  box-shadow:0 7px 17px rgba(12,78,127,.12)!important;font-size:23px!important;
}
.member-convention-hub-main>span{color:#557793;font-size:.62rem;letter-spacing:.14em;margin-bottom:5px}
.member-convention-hub-main h2{font-size:1.18rem;color:#062b58;letter-spacing:.01em}
.member-convention-hub-main small{font-size:.76rem;color:#5e7487;line-height:1.45;margin-top:7px;font-weight:760}
.member-convention-hub-summary{max-width:225px;gap:6px}
.member-convention-hub-summary span{padding:6px 9px;border-radius:999px;font-size:.64rem;font-weight:900;background:#fff;border:1px solid #d6e3ec}
.member-convention-hub-summary span.ready{background:#eef9f3;border-color:#c7ead6;color:#24714f}
.member-convention-hub-summary span.pending{background:#f7f9fb;border-color:#e0e7ed;color:#80909e}
.member-convention-hub-chevron{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.78);border:1px solid #d7e5ef;color:#3f6c91}
.member-convention-hub-panel{padding:16px;background:linear-gradient(180deg,#fbfdff 0%,#ffffff 100%)}

.member-convention-venue{
  display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;
  margin-bottom:15px;padding:14px 15px;border-radius:17px;
  border:1px solid #cfe0ee;background:linear-gradient(135deg,#eef8ff,#ffffff);
}
.member-convention-venue-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dcefff;border:1px solid #bddcf2;font-size:21px}
.member-convention-venue-copy{min-width:0}
.member-convention-venue-copy .member-convention-venue-kicker{margin:0 0 3px;color:#2670aa;font-size:.61rem;font-weight:950;letter-spacing:.13em}
.member-convention-venue-copy strong{font-size:.94rem;color:#153b5d;line-height:1.3}
.member-convention-venue-copy small{display:block;margin-top:3px;color:#627b8f;font-size:.72rem;font-weight:760}
.member-convention-venue-copy>span:last-child{margin-top:5px;color:#566f83;font-size:.76rem;line-height:1.42}
.member-convention-directions{min-height:42px;padding:9px 12px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#0a5798,#0b72bd)!important;color:#fff!important;font-size:.75rem!important;font-weight:900!important;white-space:nowrap}

.member-convention-detail-section{border-radius:19px;box-shadow:0 8px 21px rgba(19,59,90,.055)}
.member-convention-detail-title{gap:11px;padding:14px 15px;align-items:center}
.member-convention-detail-title>span{width:40px;height:40px;border-radius:13px;font-size:19px;flex:0 0 auto}
.member-convention-detail-title>div{min-width:0}
.member-convention-detail-title h3{font-size:.9rem;letter-spacing:.035em}
.member-convention-detail-title p{margin:3px 0 0;font-size:.72rem;line-height:1.4;font-weight:700;color:#62798c}
.member-convention-detail-body{padding:12px}

.member-convention-detail-travel{border-color:#bddbf3;background:#fbfdff}
.member-convention-detail-travel .member-convention-detail-title{background:linear-gradient(135deg,#e6f4ff,#f6fbff);border-bottom-color:#cfe5f6}
.member-convention-detail-travel .member-convention-detail-title>span{background:#cfe9ff;color:#0b5fac}
.member-convention-detail-travel .member-convention-detail-title h3{color:#0b4f8f}

.member-convention-detail-accommodation{border-color:#c9e4d7;background:#fcfffd}
.member-convention-detail-accommodation .member-convention-detail-title{background:linear-gradient(135deg,#eaf8f1,#f8fdf9);border-bottom-color:#d2eadf}
.member-convention-detail-accommodation .member-convention-detail-title>span{background:#d5f0e2;color:#257454}
.member-convention-detail-accommodation .member-convention-detail-title h3{color:#246547}

.member-convention-detail-food{border-color:#ecdcae;background:#fffefa}
.member-convention-detail-food .member-convention-detail-title{background:linear-gradient(135deg,#fff5d9,#fffaf0);border-bottom-color:#efe0ba}
.member-convention-detail-food .member-convention-detail-title>span{background:#ffebba;color:#91620b}
.member-convention-detail-food .member-convention-detail-title h3{color:#80580b}
.member-convention-empty{background:#f6f9fb;color:#6b8193;font-size:.8rem;padding:15px}

@media(max-width:700px){
  .member-convention-hub-toggle{grid-template-columns:48px minmax(0,1fr) 28px;padding:15px 12px;gap:10px;min-height:96px;border-left-width:4px}
  .member-convention-hub-icon{width:46px!important;height:46px!important;font-size:20px!important}
  .member-convention-hub-main h2{font-size:1.03rem}
  .member-convention-hub-main small{font-size:.69rem}
  .member-convention-hub-summary{grid-column:2/3;justify-content:flex-start;max-width:none;margin-top:-1px}
  .member-convention-hub-summary span{font-size:.59rem;padding:5px 7px}
  .member-convention-hub-chevron{grid-column:3;grid-row:1/3;width:27px;height:27px}
  .member-convention-hub-panel{padding:10px}
  .member-convention-venue{grid-template-columns:42px minmax(0,1fr);padding:12px;gap:10px}
  .member-convention-venue-icon{width:40px;height:40px;font-size:19px}
  .member-convention-directions{grid-column:1/-1;width:100%;text-align:center}
  .member-convention-detail-title{padding:12px}.member-convention-detail-title>span{width:36px;height:36px;border-radius:11px;font-size:17px}
  .member-convention-detail-title h3{font-size:.84rem}.member-convention-detail-title p{font-size:.68rem}
  .member-convention-detail-body{padding:9px}
}


/* v1.0.71 / v168 — simpler convention badges and open/close controls */
.member-convention-hub-icon{
  border-radius:50%!important;
  width:54px!important;height:54px!important;
  display:grid!important;place-items:center!important;
  background:linear-gradient(145deg,#ffffff,#e9f5ff)!important;
  border:2px solid #c4dff1!important;
  box-shadow:0 7px 17px rgba(12,78,127,.12)!important;
  color:#0b5d9f!important;
  font-family:inherit!important;
}
.member-convention-hub-icon>span{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:#0b5d9f;color:#fff;font-size:16px;font-weight:950;line-height:1;
  box-shadow:0 4px 10px rgba(11,93,159,.18)
}
.member-convention-hub-chevron{
  position:relative!important;width:34px!important;height:34px!important;border-radius:50%!important;
  background:#fff!important;border:1px solid #cbddea!important;color:#235f8f!important;
  box-shadow:0 4px 10px rgba(21,71,112,.07)!important;
  font-size:0!important;transform:none!important;transition:background .18s ease,border-color .18s ease!important
}
.member-convention-hub-chevron>span{position:absolute;inset:0;display:grid;place-items:center;font-size:21px;font-weight:900;line-height:1}
.member-convention-close-symbol{display:none!important}
.member-convention-hub-toggle[aria-expanded="true"] .member-convention-open-symbol{display:none!important}
.member-convention-hub-toggle[aria-expanded="true"] .member-convention-close-symbol{display:grid!important}
.member-convention-hub-toggle[aria-expanded="true"] .member-convention-hub-chevron{background:#f5f9fc!important;border-color:#bcd2e2!important}
.member-convention-venue-copy small{display:none!important}
@media(max-width:700px){
  .member-convention-hub-icon{width:46px!important;height:46px!important}
  .member-convention-hub-icon>span{width:28px;height:28px;font-size:14px}
  .member-convention-hub-chevron{width:30px!important;height:30px!important}
  .member-convention-hub-chevron>span{font-size:19px}
}


/* v1.0.72 / v169 — neutral convention mark + functional member bottom navigation */
.member-convention-hub-icon>span{
  width:25px!important;height:25px!important;border-radius:50%!important;
  background:transparent!important;border:6px solid #0b5d9f!important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.95),0 3px 9px rgba(11,93,159,.13)!important;
  color:transparent!important;font-size:0!important;
}
.member-convention-bottom-nav{
  position:sticky!important;bottom:10px!important;z-index:35!important;
  margin-top:22px!important;padding:7px!important;gap:5px!important;
  background:rgba(255,255,255,.96)!important;border:1px solid #d7e5f0!important;
  border-radius:20px!important;color:#47637c!important;
  box-shadow:0 12px 30px rgba(20,57,91,.14)!important;
  backdrop-filter:blur(16px)!important;
}
.member-convention-bottom-nav .member-bottom-nav-item{
  min-width:0;min-height:58px;border:0;background:transparent;color:#60778d;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border-radius:14px;padding:6px 3px;font:inherit;font-size:.68rem;font-weight:850;
  transition:background .16s ease,color .16s ease,transform .12s ease;
}
.member-convention-bottom-nav .member-bottom-nav-item:active{transform:scale(.97)}
.member-convention-bottom-nav .member-bottom-nav-icon{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:#eef4f8;border:1px solid #dbe7ef;color:#496980;
  font-size:15px;font-weight:900;line-height:1;
}
.member-convention-bottom-nav .member-bottom-nav-item.active{
  background:#edf6ff!important;color:#0b4f8f!important;
  box-shadow:inset 0 0 0 1px #d4e8f7!important;
}
.member-convention-bottom-nav .member-bottom-nav-item.active .member-bottom-nav-icon{
  background:#0b5d9f;border-color:#0b5d9f;color:#fff;
}
.member-convention-detail-section{scroll-margin-top:18px}
.member-convention-hub-card,#conventions,#memberApp{scroll-margin-top:16px}
@media(max-width:520px){
  .member-convention-bottom-nav{bottom:7px!important;padding:6px 4px!important;gap:2px!important;border-radius:17px!important}
  .member-convention-bottom-nav .member-bottom-nav-item{min-height:55px;font-size:.61rem;padding:5px 1px}
  .member-convention-bottom-nav .member-bottom-nav-icon{width:26px;height:26px;font-size:14px}
  .member-convention-hub-icon>span{width:22px!important;height:22px!important;border-width:5px!important}
}

/* v1.0.73 / v170 — restore dark-blue Member navigation with clearer matching icons */
.member-convention-bottom-nav{
  position:sticky!important;bottom:10px!important;z-index:35!important;
  margin-top:22px!important;padding:8px!important;gap:5px!important;
  background:linear-gradient(135deg,#05275f 0%,#073473 56%,#063e87 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:22px!important;
  color:#fff!important;box-shadow:0 14px 32px rgba(2,30,75,.28)!important;
  backdrop-filter:blur(14px)!important;
}
.member-convention-bottom-nav .member-bottom-nav-item{
  min-width:0;min-height:60px;border:0;background:transparent!important;color:#dceaff!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border-radius:15px;padding:6px 3px;font:inherit;font-size:.68rem;font-weight:850;
  transition:background .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease;
}
.member-convention-bottom-nav .member-bottom-nav-item:active{transform:scale(.97)}
.member-convention-bottom-nav .member-bottom-nav-icon{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.17)!important;
  color:#fff!important;font-size:16px;font-weight:900;line-height:1;
}
.member-convention-bottom-nav .member-bottom-nav-item.active{
  background:#0b66d8!important;color:#fff!important;
  box-shadow:0 7px 17px rgba(0,22,58,.26),inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.member-convention-bottom-nav .member-bottom-nav-item.active .member-bottom-nav-icon{
  background:#fff!important;border-color:#fff!important;color:#073473!important;
  box-shadow:0 4px 10px rgba(0,25,72,.18)!important;
}
@media(max-width:520px){
  .member-convention-bottom-nav{bottom:7px!important;padding:6px 4px!important;gap:2px!important;border-radius:18px!important}
  .member-convention-bottom-nav .member-bottom-nav-item{min-height:56px;font-size:.61rem;padding:5px 1px}
  .member-convention-bottom-nav .member-bottom-nav-icon{width:28px;height:28px;font-size:15px}
}

/* v1.0.74 / v172 — small solid dark-blue convention icon */
.member-convention-hub-icon{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.member-convention-hub-icon>span{
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:#082f67!important;
  border:0!important;
  box-shadow:0 3px 8px rgba(8,47,103,.18)!important;
}
@media(max-width:700px){
  .member-convention-hub-icon{width:34px!important;height:34px!important}
  .member-convention-hub-icon>span{width:16px!important;height:16px!important}
}

/* v1.0.76 / v174 — professional convention event badge */
.member-convention-hub-icon{
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,#06295c,#0b4f91)!important;
  border:1px solid rgba(5,38,78,.18)!important;
  box-shadow:0 6px 14px rgba(8,47,103,.18),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.member-convention-hub-icon>span{
  position:relative!important;
  display:block!important;
  width:19px!important;
  height:17px!important;
  border-radius:4px!important;
  background:transparent!important;
  border:2px solid rgba(255,255,255,.96)!important;
  box-shadow:none!important;
}
.member-convention-hub-icon>span::before{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  top:4px;
  height:2px;
  border-radius:2px;
  background:rgba(255,255,255,.96);
}
.member-convention-hub-icon>span::after{
  content:"";
  position:absolute;
  left:4px;
  top:-4px;
  width:7px;
  height:4px;
  border-left:2px solid rgba(255,255,255,.96);
  border-right:2px solid rgba(255,255,255,.96);
}
@media(max-width:700px){
  .member-convention-hub-icon{width:36px!important;height:36px!important}
  .member-convention-hub-icon>span{width:17px!important;height:15px!important;border-width:2px!important}
}

/* v176 — stacked My Travel Status heading */
.member-status-heading-block{min-width:0}
.member-status-heading{margin:0!important;color:#fff!important}
.member-status-convention{margin-top:7px;color:#fff;font-size:1.02rem;line-height:1.25;font-weight:950;letter-spacing:.04em}
.member-status-route{margin-top:5px;color:rgba(255,255,255,.88);font-size:.86rem;line-height:1.4;font-weight:800}
@media(max-width:640px){
  .member-status-convention{font-size:.94rem;letter-spacing:.025em}
  .member-status-route{font-size:.79rem}
}


/* v1.0.80 — simplified Travel Journey driver sections */
.journey-transfer-drivers{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:2px}
.journey-transfer-drivers>.journey-section-title{grid-column:span 1;margin:0}
.journey-transfer-drivers>.planning-field{grid-column:span 1}
.journey-driver-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
.journey-driver-summary>div{min-width:160px;padding:8px 10px;border:1px solid #dbe7f2;border-radius:12px;background:#f7fbff}
.journey-driver-summary span{display:block;font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#6a8197}
.journey-driver-summary strong{display:block;margin-top:2px;color:#173d68;font-size:.86rem}
@media(max-width:640px){.journey-transfer-drivers{grid-template-columns:1fr}.journey-transfer-drivers>.journey-section-title,.journey-transfer-drivers>.planning-field{grid-column:1}.journey-driver-summary{display:grid;grid-template-columns:1fr 1fr}.journey-driver-summary>div{min-width:0}}

/* v1.0.81 / v179 — Home Stay property + separate DATE allocations */
.home-accommodation-card{overflow:hidden;border:1px solid rgba(143,171,202,.5);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.home-accommodation-head{align-items:flex-start;gap:18px;padding-bottom:16px;border-bottom:1px solid #e4ebf3}
.home-accommodation-head>div:first-child{min-width:0;flex:1}
.home-add-date-btn{flex:0 0 auto;min-width:112px;border-radius:14px!important;box-shadow:0 9px 20px rgba(8,47,103,.14)!important}
.home-summary-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.home-summary-chips span{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #dce7f1;border-radius:999px;background:#f6faff;color:#557089;font-size:.77rem;font-weight:800}.home-summary-chips span strong{color:#123f72;font-size:.9rem}.home-summary-chips .published{background:#effaf4;border-color:#ccebd9;color:#397557}.home-summary-chips .published strong{color:#167047}
.home-date-section{margin-top:17px;padding:17px;border:1px solid #dfe8f2;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#fff)}
.home-date-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.home-date-section-head>div{display:flex;flex-direction:column;gap:3px}.home-date-section-head strong{color:#153d68;font-size:1rem}.home-date-section-head span{color:#6b8197;font-size:.82rem;line-height:1.4}
.home-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.home-date-card{min-width:0;border:1px solid #dce7f1;border-radius:18px;padding:15px;background:#fff;box-shadow:0 8px 22px rgba(22,62,99,.06)}
.home-date-card.tone-blue{background:linear-gradient(180deg,#fff,#f5faff)}.home-date-card.tone-lilac{background:linear-gradient(180deg,#fff,#faf8ff)}.home-date-card.tone-mint{background:linear-gradient(180deg,#fff,#f5fcf8)}.home-date-card.tone-sand{background:linear-gradient(180deg,#fff,#fffaf2)}
.home-date-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.home-date-date{display:flex;align-items:center;gap:10px;min-width:0}.home-date-calendar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e9f3fc;font-size:19px}.home-date-date>div{display:flex;flex-direction:column;gap:2px;min-width:0}.home-date-date small{font-size:.66rem;letter-spacing:.1em;font-weight:950;color:#7890a6}.home-date-date strong{font-size:1rem;color:#123d6b;line-height:1.2}
.home-date-members{margin-top:13px;padding:12px;border:1px solid #e4ebf2;border-radius:14px;background:rgba(255,255,255,.78)}.home-date-members-head{display:flex;gap:9px;align-items:flex-start}.home-date-members-head>span{font-size:17px}.home-date-members-head>div{display:flex;flex-direction:column;gap:2px}.home-date-members-head strong{color:#274a6d;font-size:.87rem}.home-date-members-head small{color:#74889d;font-size:.72rem;line-height:1.35}.home-date-member-list{display:flex;flex-direction:column;gap:5px;margin-top:10px}.home-date-member-list span{display:flex;align-items:center;gap:7px;color:#415d77;font-size:.78rem;line-height:1.3}.home-date-member-list b{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:#edf4fa;color:#35658e;font-size:.65rem}.home-date-empty{margin-top:9px;color:#7a8da0;font-size:.77rem}.home-date-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.home-date-actions .btn{min-height:38px;padding:7px 10px;font-size:.74rem;border-radius:10px}
.home-date-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 12px;border:1px dashed #cfddea;border-radius:16px;background:#fff;color:#71869a}.home-date-empty-state>div{font-size:24px;margin-bottom:5px}.home-date-empty-state strong{color:#365b7d}.home-date-empty-state span{font-size:.78rem;margin-top:3px}
.home-date-form-intro{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:13px 14px;border:1px solid #dce7f1;border-radius:15px;background:#f6faff}.home-date-form-intro>div:first-child{font-size:22px}.home-date-form-intro>div:last-child{display:flex;flex-direction:column;gap:3px}.home-date-form-intro strong{color:#153f6b}.home-date-form-intro span{font-size:.8rem;color:#6d8296}.home-create-info{margin-top:12px}
@media(max-width:780px){.home-date-grid{grid-template-columns:1fr}.home-accommodation-head{align-items:center}.home-add-date-btn{min-width:98px;padding-left:11px!important;padding-right:11px!important}.home-date-section{padding:12px}.home-date-actions .btn{flex:1 1 calc(50% - 7px)}}
@media(max-width:460px){.home-accommodation-head{align-items:flex-start}.home-add-date-btn{min-width:88px;font-size:.82rem}.home-date-actions .btn{flex:1 1 100%}}

/* v1.0.82 — Motel rooms can be reused for different family stays */
.motel-room-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.motel-room-add-stay-btn{min-height:40px;padding:9px 12px!important;border-radius:12px!important;font-size:11px!important;white-space:nowrap}
.motel-room-stays-section{padding:14px 16px 3px}
.motel-room-stays-section-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.motel-room-stays-section-head strong{font-size:13px;color:#1d476f}
.motel-room-stays-section-head span{font-size:10.5px;line-height:1.45;color:#71869a}
.motel-room-stay-list{display:grid;gap:11px}
.motel-room-stay-allocation{border:1px solid rgba(54,93,137,.14);border-radius:15px;background:rgba(255,255,255,.76);overflow:hidden;box-shadow:0 5px 15px rgba(26,66,107,.05)}
.motel-room-stay-allocation-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 9px;border-bottom:1px solid rgba(55,94,137,.09);background:linear-gradient(180deg,rgba(247,251,255,.98),rgba(255,255,255,.88))}
.motel-room-stay-allocation-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.motel-room-stay-allocation-kicker{font-size:8.5px;font-weight:950;letter-spacing:.11em;color:#6f88a0}
.motel-room-stay-allocation-head strong{font-size:11px;line-height:1.4;color:#204b73;overflow-wrap:anywhere}
.motel-room-stay-allocation-head strong span{color:#88a0b8;padding:0 2px}
.motel-room-stay-family-count{flex:0 0 auto;padding:6px 8px;border-radius:10px;background:#edf5fd;color:#56728e;font-size:9.5px;font-weight:850}
.motel-room-stay-family-count b{font-size:12px;color:#173f69}
.motel-room-stay-allocation .motel-room-stay-v2{padding-top:10px}
.motel-room-stay-allocation .motel-room-note-v2{margin-top:8px}
.motel-room-stay-allocation .motel-room-members-v2{margin-top:9px}
.motel-room-stay-actions{display:grid;grid-template-columns:1.25fr 1fr auto;gap:7px;padding:11px 12px 12px;margin-top:10px;border-top:1px solid rgba(55,94,137,.09);background:rgba(248,251,254,.65)}
.motel-room-stay-actions .btn{min-height:38px;margin:0;padding:8px 9px;font-size:10.5px}
.motel-room-stay-empty{display:flex;align-items:center;gap:10px;padding:13px;border:1px dashed #b9cee1;border-radius:13px;background:rgba(255,255,255,.62);color:#6f8498}
.motel-room-stay-empty>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf5fd;font-size:17px}
.motel-room-stay-empty>div{display:flex;flex-direction:column;gap:2px}.motel-room-stay-empty strong{font-size:12px;color:#315775}.motel-room-stay-empty small{font-size:10px;line-height:1.4}
.room-level-note{margin-top:12px}
.motel-room-actions-v2.room-level-actions{grid-template-columns:1fr auto;padding-top:11px;margin-top:13px}
.motel-room-form-info,.motel-room-stay-overlap-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:13px;background:#f2f8fd;border:1px solid #d5e5f2;color:#52708a}
.motel-room-form-info>span,.motel-room-stay-overlap-note>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:#fff;border:1px solid #d9e7f2}
.motel-room-form-info>div,.motel-room-stay-overlap-note>div{min-width:0}.motel-room-form-info strong,.motel-room-stay-overlap-note strong{display:block;color:#214c72;font-size:12px;margin-bottom:2px}.motel-room-form-info p{margin:0;font-size:11px;line-height:1.5}.motel-room-stay-overlap-note small{display:block;font-size:10.5px;line-height:1.45}
.motel-room-stay-overlap-note{background:#f4fbf7;border-color:#d6ebdf}.motel-room-stay-overlap-note>span{color:#16834b;background:#fff;border-color:#d8eee1}
@media(max-width:760px){.motel-room-card-head-v2{display:grid;grid-template-columns:1fr}.motel-room-head-actions{justify-content:flex-start}.motel-room-add-stay-btn{width:100%}.motel-room-stays-section{padding-left:14px;padding-right:14px}.motel-room-stay-actions{grid-template-columns:1fr 1fr}.motel-room-stay-actions .btn:first-child{grid-column:1/-1}.motel-room-stay-actions .btn:last-child{grid-column:1/-1}.motel-room-actions-v2.room-level-actions{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.motel-room-stay-allocation-head{align-items:flex-start;flex-direction:column}.motel-room-stay-actions,.motel-room-actions-v2.room-level-actions{grid-template-columns:1fr}.motel-room-stay-actions .btn:first-child,.motel-room-stay-actions .btn:last-child{grid-column:auto}}


/* v1-83 — Road Journey multi-vehicle allocation */
.journey-road-vehicles{display:grid;gap:14px}.road-vehicle-list{display:grid;gap:12px}.road-vehicle-editor{border:1px solid #d7e3ef;background:#f8fbfe;border-radius:16px;padding:14px}.road-vehicle-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.road-vehicle-editor-head>div{display:grid;gap:2px}.road-vehicle-number{font-size:11px;letter-spacing:.08em;font-weight:800;color:#56728e}.road-vehicle-editor-head strong{font-size:17px;color:#183b5d}.road-vehicle-remove{border:0;background:#fff0f0;color:#a52828;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.road-vehicle-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.road-add-vehicle{justify-self:start}.road-journey-summary{margin:15px 0 2px;display:grid;gap:9px}.road-journey-vehicle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #dbe7f1;border-radius:14px;background:#f8fbfe}.road-journey-vehicle-main{display:flex;align-items:center;gap:10px;min-width:0}.road-vehicle-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f1fa;font-size:20px}.road-journey-vehicle-main>div{display:grid;gap:2px;min-width:0}.road-journey-vehicle-main strong{color:#173b5c}.road-journey-vehicle-main small,.road-journey-vehicle-main span{font-size:12px;color:#637b90}.road-seat-count{min-width:85px;text-align:center;display:grid}.road-seat-count strong{font-size:16px;color:#173b5c}.road-seat-count span{font-size:11px;color:#637b90}.road-seat-count.over strong{color:#b42318}.road-assign-btn{white-space:nowrap}.road-unallocated-warning{padding:10px 12px;border-radius:12px;background:#fff7df;color:#765512;font-size:13px;font-weight:700}.road-vehicle-empty{padding:13px;border:1px dashed #b8cad9;border-radius:12px;display:grid;gap:3px;color:#36556f}.road-vehicle-empty span{font-size:12px;color:#6b8194}.traveller-result.disabled{opacity:.55;cursor:not-allowed}.traveller-result.disabled input{pointer-events:none}.road-member-vehicle small{display:block;margin-top:3px;color:#6e8191;font-size:12px}
@media(max-width:720px){.road-vehicle-editor-grid{grid-template-columns:1fr}.road-journey-vehicle{grid-template-columns:1fr}.road-seat-count{text-align:left;display:flex;gap:6px;align-items:baseline}.road-assign-btn{width:100%}}


/* v1-87 linked Travel Journey / Pick-up & Drop-off */
.transport-linked-chip{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#e8f1fb;color:#173a63;font-size:11px;font-weight:800;vertical-align:middle}
.transport-linked-notice{grid-column:1/-1;margin-bottom:4px;background:#eef6ff;border-color:#bfd8f2;color:#173a63}

/* v1.89 — organized flight transfer sections + searchable all-member driver selector */
.flight-driver-section{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px;
  margin-top:4px;
  border:1px solid #dbe6f2;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 8px 20px rgba(23,58,99,.06);
}
.flight-driver-section + .flight-driver-section{margin-top:18px}
.flight-driver-section .journey-section-title{margin:0 0 2px}
.driver-search-field{min-width:0}
.driver-search-control{position:relative;display:flex;align-items:center}
.driver-search-control>span{position:absolute;left:14px;z-index:1;font-size:18px;color:#5f7894;pointer-events:none}
.driver-search-control input[type="search"]{
  width:100%;
  min-height:46px;
  padding-left:42px;
  border:1px solid #cbd9e7;
  border-radius:12px;
  background:#fff;
  font:inherit;
}
.driver-search-control input[type="search"]:focus{
  outline:none;
  border-color:#2c6faf;
  box-shadow:0 0 0 3px rgba(44,111,175,.13);
}
.driver-search-field small{display:block;margin-top:6px}
@media(max-width:700px){.flight-driver-section{grid-template-columns:1fr;padding:14px}.driver-search-control input[type="search"]{font-size:16px}}


/* v1.0.90 — Planning logo centered + announcement management moved from Admin */
.planning-page .topbar{
  position:relative!important;
  min-height:94px;
  justify-content:flex-end!important;
}
.planning-page .topbar .brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  margin:0!important;
}
.planning-page .topbar .brand img{width:150px;max-height:78px}
.planning-announcement-card{
  margin-top:18px;
  margin-bottom:16px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,255,.98));
  border:1px solid rgba(160,190,216,.65);
  box-shadow:0 10px 28px rgba(19,59,102,.07);
}
.planning-announcement-head{margin-bottom:16px}
.planning-announcement-title{display:flex;align-items:center;gap:13px}
.planning-announcement-title h3{margin:2px 0 3px;color:#082f67;font-size:1.28rem}
.planning-announcement-title p{margin:0;color:#607589}
.planning-announcement-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff1c8;font-size:1.35rem;box-shadow:inset 0 0 0 1px #f1dfaf}
.planning-announcement-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px}
.planning-announcement-compose,.planning-announcement-existing{border:1px solid #dfe8f0;border-radius:18px;background:#fff;padding:16px}
.planning-announcement-compose h4,.planning-announcement-existing h4{margin:0 0 11px;color:#173d64}
@media(max-width:800px){
  .planning-page .topbar{min-height:78px;padding:8px 10px}
  .planning-page .topbar .brand img{width:118px;max-height:62px}
  .planning-page .menu-btn{min-width:92px;padding:10px 13px}
  .planning-announcement-card{padding:14px;border-radius:18px}
  .planning-announcement-grid{grid-template-columns:1fr}
  .planning-announcement-title{align-items:flex-start}
}


/* v1.0.91 — Planning General Information Sheet + logo restored left */
.planning-page .topbar{
  position:relative!important;
  min-height:unset!important;
  justify-content:space-between!important;
}
.planning-page .topbar .brand{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
}
.planning-page .topbar .brand img{width:142px;max-height:78px}
.planning-general-info-card{
  margin-top:18px;
  margin-bottom:16px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  border:1px solid rgba(137,181,218,.68);
  box-shadow:0 10px 28px rgba(19,59,102,.07);
}
.planning-general-info-head{gap:14px;margin-bottom:16px}
.planning-general-info-title{display:flex;align-items:center;gap:13px;min-width:0}
.planning-general-info-title h3{margin:2px 0 3px;color:#082f67;font-size:1.28rem}
.planning-general-info-title p{margin:0;color:#607589}
.planning-general-info-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e9f4ff;font-size:1.35rem;box-shadow:inset 0 0 0 1px #cfe3f4;flex:0 0 auto}
.planning-general-info-actions{display:flex;gap:9px;flex-wrap:wrap}
.general-info-admin-list{display:grid;gap:11px}
.general-info-admin-item{display:flex;justify-content:space-between;gap:15px;border:1px solid #dfe8f0;border-radius:17px;padding:15px;background:#fff}
.general-info-admin-copy{min-width:0}
.general-info-admin-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.general-info-admin-item h4{margin:8px 0 4px;color:#173d64;font-size:1rem}
.general-info-admin-item p{margin:0 0 8px;color:#516a80;white-space:pre-wrap;line-height:1.45}
.general-info-recipient-line{font-size:.78rem;color:#667d91;margin:7px 0;line-height:1.4}
.general-info-recipient-line strong{color:#274c6e}
.general-info-admin-item small{color:#8a99a7}
.general-info-admin-buttons{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.general-info-member-search{margin-top:7px}
.general-info-picker-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:9px 0}
.general-info-member-list{max-height:340px;overflow:auto;border:1px solid #dfe8f0;border-radius:14px;background:#fbfdff;padding:6px}
.member-general-info-area{margin:10px 0 14px}
.member-general-info-area:empty{display:none}
.member-general-info-card{border:1px solid #cfe0ee;border-radius:18px;background:linear-gradient(180deg,#f8fcff,#fff);overflow:hidden;box-shadow:0 7px 20px rgba(28,73,111,.07)}
.member-general-info-toggle{width:100%;border:0;background:transparent;padding:13px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto 32px;align-items:center;gap:10px;text-align:left;color:#173f66;cursor:pointer}
.member-general-info-toggle-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e8f4fe}
.member-general-info-toggle small{display:block;font-size:.62rem;letter-spacing:.11em;color:#6d8599;font-weight:900}
.member-general-info-toggle strong{display:block;margin-top:1px;font-size:.9rem;color:#123f68}
.member-general-info-count{min-width:28px;height:28px;border-radius:999px;background:#e7f2fb;color:#14598f;display:grid;place-items:center;font-size:.76rem}
.member-general-info-chevron{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#123f68;color:#fff;font-size:1.05rem;font-weight:900}
.member-general-info-content{border-top:1px solid #e2ebf2;padding:4px 13px 12px}
.member-general-info-content article{padding:12px 2px 10px;border-bottom:1px solid #edf2f6}
.member-general-info-content article:last-child{border-bottom:0}
.member-general-info-content h4{margin:0 0 5px;color:#173f66;font-size:.96rem}
.member-general-info-content p{margin:0;color:#596f82;line-height:1.48;white-space:pre-wrap}
@media(max-width:800px){
  .planning-page .topbar{min-height:unset!important;padding:8px 10px}
  .planning-page .topbar .brand img{width:112px;max-height:62px}
  .planning-general-info-card{padding:14px;border-radius:18px}
  .planning-general-info-head{align-items:flex-start}
  .planning-general-info-actions{width:100%}
  .planning-general-info-actions .btn{flex:1}
  .general-info-admin-item{flex-direction:column}
  .general-info-admin-buttons{justify-content:flex-start}
  .member-general-info-toggle{grid-template-columns:36px minmax(0,1fr) auto 30px;padding:11px 12px}
  .member-general-info-toggle-icon{width:34px;height:34px}
}


/* v1.0.92 — General Information Add All + bottom member placement */
.general-info-picker-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.member-general-info-bottom-area{margin-top:18px;margin-bottom:8px}
@media(max-width:720px){
  .general-info-picker-tools{align-items:flex-start;flex-direction:column}
  .general-info-picker-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .general-info-picker-actions .btn{width:100%}
  .member-general-info-bottom-area{margin-top:14px;margin-bottom:6px}
}


/* v1.0.95 — Calvary Journey two-line member headings */
.calvary-journey-heading>span{display:block}
.gospel-login-intro .calvary-journey-heading>span+span{margin-top:.12em;font-size:.62em;line-height:1.08;letter-spacing:-.025em}
.member-modern-title.calvary-journey-heading>span+span{margin-top:.14em;font-size:.58em;line-height:1.1;letter-spacing:-.025em}
@media(max-width:640px){
  .gospel-login-intro .calvary-journey-heading>span+span{font-size:.68em}
  .member-modern-title.calvary-journey-heading>span+span{font-size:.64em}
}
