: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,.82) 0 4%,rgba(255,225,160,.22) 18%,transparent 34%),
    linear-gradient(155deg,#c5e3f8 0%,#dceefa 52%,#f9f1df 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}
}

/* v1.97 Admin password reset + Planning backup */
.admin-password-reset-head{margin-bottom:16px}.admin-password-reset-list{display:grid;gap:12px}.admin-password-reset-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #dce4ee;border-radius:16px;background:#fff}.planning-backup-bar{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px}.planning-backup-copy{display:flex;align-items:flex-start;gap:14px}.planning-backup-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#eaf1fb;font-size:22px}.planning-backup-copy h3{margin:1px 0 5px}.planning-backup-copy p{margin:0;color:#607086;max-width:680px}.planning-backup-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.admin-password-reset-card,.planning-backup-bar{align-items:stretch;flex-direction:column}.planning-backup-actions{justify-content:stretch}.planning-backup-actions .btn,.planning-backup-actions label{width:100%;text-align:center}}

/* v1.98 secure administrator password reset links */
.admin-reset-link-box{display:grid;gap:12px}.admin-reset-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.admin-reset-link-row .input{font-size:13px}.admin-self-reset-card{max-width:620px}.admin-self-reset-card .reset-pin-input{font-size:16px;letter-spacing:0}.admin-password-self-reset-page .reset-pin-icon{font-size:26px}@media(max-width:680px){.admin-reset-link-row{grid-template-columns:1fr}.admin-reset-link-row .btn{width:100%}}


/* v1.99 - Member host/duty cards and hidden account PIN */
.home-host-summary{margin-top:8px;font-size:.78rem;color:#587085}.home-host-summary strong{color:#244f73}
.member-duty-bottom-area{margin-top:10px;margin-bottom:8px}
.member-duty-card.guest-home-card{border-color:#cfe4d8;background:linear-gradient(180deg,#f7fcf9,#fff)}
.member-duty-card.guest-home-card .member-general-info-toggle-icon{background:#e7f6ed}
.member-duty-card.transport-duty-card{border-color:#d6dff0;background:linear-gradient(180deg,#f8faff,#fff)}
.member-duty-card.transport-duty-card .member-general-info-toggle-icon{background:#eaf0fb}
.member-duty-entry{padding:12px 2px!important}.member-duty-entry-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.member-duty-entry-head>span{width:34px;height:34px;border-radius:10px;background:#f0f5f9;display:grid;place-items:center;flex:0 0 auto}.member-duty-entry-head h4{margin:0 0 2px!important}.member-duty-entry-head small{color:#6b8092}.member-duty-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-duty-grid>div{background:#f7fafc;border:1px solid #e5edf3;border-radius:11px;padding:9px 10px}.member-duty-grid>div.full{grid-column:1/-1}.member-duty-grid span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:#7890a3;font-weight:800;margin-bottom:3px}.member-duty-grid strong{font-size:.84rem;color:#274b69;line-height:1.35;display:block}.member-duty-empty{padding:15px 2px 6px;color:#718697;font-size:.87rem}
.gospel-input-wrap.pin-visibility-wrap{grid-template-columns:47px minmax(0,1fr) 48px}.pin-eye-toggle{border:0;border-left:1px solid #e0e9f1;background:#f7fafc;color:#58758f;display:grid;place-items:center;cursor:pointer;font-size:1rem;padding:0;min-width:48px}.pin-eye-toggle:hover,.pin-eye-toggle:focus-visible,.pin-eye-toggle.is-visible{background:#eaf3fa;color:#174f7d;outline:none}.pin-eye-toggle:focus-visible{box-shadow:inset 0 0 0 2px #4b8fc8}
@media(max-width:600px){.member-duty-grid{grid-template-columns:1fr}.member-duty-grid>div.full{grid-column:auto}.gospel-input-wrap.pin-visibility-wrap{grid-template-columns:44px minmax(0,1fr) 46px}.pin-eye-toggle{min-width:46px}}

/* v177-25 — Home Owner assignment inside Add/Edit Home */
.home-owner-picker{
  border:1px solid #d7e3ea;
  border-radius:15px;
  padding:12px;
  background:#f8fbfd;
}
.home-owner-search{
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 11px;
  background:#fff;
  border:1px solid #cfdae3;
  border-radius:11px;
}
.home-owner-search span{font-size:1.05rem;color:#60798a}
.home-owner-search input{
  width:100%;
  min-height:46px;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
  color:#17364b;
}
.home-owner-selected{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:31px;
  padding:10px 0 8px;
}
.home-owner-selected span{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#e8f3fb;
  color:#124f75;
  font-size:.78rem;
  font-weight:850;
}
.home-owner-selected small{color:#788b99}
.home-owner-list{
  max-height:230px;
  overflow:auto;
  display:grid;
  gap:6px;
  padding:3px 1px;
}
.home-owner-row{
  display:grid;
  grid-template-columns:24px 24px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #e0e8ee;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}
.home-owner-row input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.home-owner-check{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid #b9cad6;
  border-radius:7px;
  color:transparent;
  font-weight:950;
  background:#fff;
}
.home-owner-row.selected{
  border-color:#70a8cc;
  background:#f1f8fd;
}
.home-owner-row.selected .home-owner-check{
  background:#176b9c;
  border-color:#176b9c;
  color:#fff;
}
.home-owner-row strong,.home-owner-row small{display:block}
.home-owner-row strong{color:#17364b}
.home-owner-row small{margin-top:2px;color:#708796}
.home-generated-name{
  margin-top:11px;
  padding:11px 12px;
  border-radius:11px;
  background:#fff8e8;
  border:1px solid #ead6a4;
}
.home-generated-name span{
  display:block;
  margin-bottom:3px;
  color:#80652d;
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.home-generated-name strong{
  display:block;
  color:#503b15;
  font-size:1.08rem;
}
.home-stay-range-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:620px){
  .home-stay-range-fields{grid-template-columns:1fr}
  .home-owner-list{max-height:200px}
}

/* v177-27 — ordered Home Owners + proper PIN visibility icon */
.home-owner-selected span{
  gap:6px;
}
.home-owner-selected span b{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#176b9c;
  color:#fff;
  font-size:.66rem;
  line-height:1;
}
.pin-eye-toggle{
  position:relative;
  color:#58758f;
}
.pin-eye-toggle .pin-eye-icon{
  width:21px;
  height:21px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pin-eye-toggle .pin-eye-closed{
  display:none;
}
.pin-eye-toggle.is-visible .pin-eye-open{
  display:none;
}
.pin-eye-toggle.is-visible .pin-eye-closed{
  display:block;
}

/* v177-28 SAFE — Fixed Member bottom navigation */
.member-login-sanctuary-page #memberApp{
  padding-bottom:112px!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:calc(8px + env(safe-area-inset-bottom, 0px))!important;
  transform:translateX(-50%)!important;
  width:min(760px,calc(100% - 28px))!important;
  margin:0!important;
  z-index:120!important;
  box-shadow:0 16px 36px rgba(2,30,75,.34)!important;
}
.member-inline-copyright{
  width:100%;
  margin:18px auto 0;
  padding:18px 12px 8px;
  text-align:center;
  color:#748696;
  font-size:.68rem;
  font-weight:700;
  line-height:1.55;
}
.member-inline-copyright a{
  color:#47697f;
  text-decoration:underline;
  text-underline-offset:2px;
}
body:has(#memberApp:not(.hidden)) > .portal-copyright{
  display:none!important;
}
@media(max-width:520px){
  .member-login-sanctuary-page #memberApp{padding-bottom:104px!important}
  .member-login-sanctuary-page #memberApp .member-convention-bottom-nav{
    width:calc(100% - 16px)!important;
    bottom:calc(6px + env(safe-area-inset-bottom, 0px))!important;
    border-radius:18px!important;
  }
  .member-inline-copyright{margin-top:14px;padding:14px 8px 6px;font-size:.62rem}
}

/* ==========================================================
   v177-28 SAFE + Planning Maintenance Mode
   Full supplied artwork only — no extra page text.
   ========================================================== */
.planning-maintenance-screen{
  position:fixed;
  inset:0;
  z-index:10000;
  overflow:auto;
  padding:18px!important;
  display:grid;
  place-items:center;
  background:#eef3f7!important;
}
.planning-maintenance-screen.hidden{display:none!important}
.planning-maintenance-image-only{
  position:relative;
  width:min(1440px,100%);
  max-height:calc(100vh - 36px);
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 68px rgba(16,47,78,.18);
}
.planning-maintenance-image-only>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:calc(100vh - 36px)!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}
.planning-maintenance-image-only #planningMaintenanceMessage{display:none!important}
.planning-maintenance-image-only .planning-maintenance-draft{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 28px);
  margin:0!important;
  padding:9px 12px!important;
  border:1px solid rgba(147,205,165,.85)!important;
  border-radius:10px!important;
  background:rgba(239,250,243,.96)!important;
  box-shadow:0 6px 18px rgba(22,63,38,.12);
  color:#24633a!important;
  font-size:.72rem!important;
  text-align:center;
}
body.planning-maintenance-active{overflow:hidden!important}

/* Admin maintenance control */
.maintenance-admin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.maintenance-admin-head h2{margin:4px 0 7px}
.maintenance-admin-head p{margin:0;max-width:760px;color:#66798a}
.maintenance-admin-state{
  padding:9px 12px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.05em;
}
.maintenance-admin-state.on{background:#ffe7e9;color:#a32431;border:1px solid #efb2b8}
.maintenance-admin-state.off{background:#eaf8ef;color:#24653a;border:1px solid #b8dfc4}
.maintenance-admin-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:18px;
}
.maintenance-control-card,.maintenance-preview-card{
  padding:18px;
  border:1px solid #dce6ed;
  border-radius:18px;
  background:#fff;
}
.maintenance-control-card.active{border-color:#efb2b8;background:#fffafa}
.maintenance-control-status{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.maintenance-control-status>span{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:13px;
  background:#eef5fb;
  font-size:1.2rem;
}
.maintenance-control-status strong,.maintenance-control-status small{display:block}
.maintenance-control-status small{margin-top:3px;color:#758794}
.maintenance-safety-note{
  display:grid;
  gap:4px;
  margin:5px 0 14px;
  padding:12px;
  border-radius:12px;
  background:#f5f8fa;
  color:#536a7b;
  font-size:.82rem;
}
.maintenance-safety-note strong{color:#29485d}
.maintenance-preview-card{padding:0;overflow:hidden}
.maintenance-preview-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.maintenance-preview-card>div{padding:14px 16px}
.maintenance-preview-card p{margin:5px 0 0;color:#6c7f8c;font-size:.82rem}

@media(max-width:820px){
  .planning-maintenance-screen{padding:8px!important}
  .planning-maintenance-image-only{
    width:100%!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:14px!important;
  }
  .planning-maintenance-image-only>img{max-height:calc(100vh - 16px)!important}
  .maintenance-admin-grid{grid-template-columns:1fr}
}

/* ==========================================================
   v177-28 SAFE + Maintenance + Online Members
   ========================================================== */
.planning-online-row{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:10px 0 18px!important;
}
.planning-online-panel.planning-online-below-alerts{
  grid-column:5!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:12px!important;
  min-height:0!important;
  border:1px solid #d7e5ef!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 9px 24px rgba(14,62,99,.08)!important;
}
.planning-online-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  margin-bottom:7px!important;
}
.planning-online-head h3{
  margin:2px 0 0;
  color:#123f63;
  font-size:.9rem!important;
}
.planning-online-head .small{
  font-size:.58rem!important;
}
.planning-online-count{
  min-width:27px!important;
  height:27px!important;
  display:grid;
  place-items:center;
  padding:0 7px;
  border-radius:999px;
  background:#e9f8ee;
  border:1px solid #bfe3ca;
  color:#23713c;
  font-size:.7rem!important;
  font-weight:950;
}
.planning-online-list{
  display:grid;
  gap:5px!important;
  max-height:132px!important;
  overflow:auto!important;
}
.planning-online-member{
  display:grid;
  grid-template-columns:9px minmax(0,1fr)!important;
  align-items:center;
  gap:7px!important;
  padding:7px 8px!important;
  border:1px solid #e2eaf0;
  border-radius:10px;
  background:#fbfdfe;
}
.planning-online-member.me{
  background:#f4fbf7;
  border-color:#d4eadb;
}
.planning-online-dot{
  width:8px!important;
  height:8px!important;
  border-radius:50%;
  background:#28b45b;
  box-shadow:0 0 0 3px rgba(40,180,91,.12)!important;
}
.planning-online-member strong{
  display:block;
  color:#24485f;
  font-size:.72rem!important;
  line-height:1.25;
}
.planning-online-member strong small{
  color:#78909f;
  font-size:.62rem;
  font-weight:750;
}
.planning-online-member div>span{
  display:block;
  margin-top:2px;
  color:#738896;
  font-size:.61rem!important;
}
.planning-online-empty{
  padding:10px;
  border-radius:9px;
  background:#f6f9fb;
  color:#748895;
  font-size:.68rem;
  text-align:center;
}
@media(max-width:1100px){
  .planning-online-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .planning-online-panel.planning-online-below-alerts{grid-column:3!important}
}
@media(max-width:780px){
  .planning-online-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .planning-online-panel.planning-online-below-alerts{grid-column:2!important}
}
@media(max-width:520px){
  .planning-online-row{grid-template-columns:1fr!important}
  .planning-online-panel.planning-online-below-alerts{grid-column:1!important}
}

/* v177-34 — Smart Action Needed */
.action-needed-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f9fb;
  color:#687d8c;
  font-size:.76rem;
}
.action-needed-row{
  align-items:center!important;
}
.action-needed-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
  max-width:280px;
}
.compact-btn{
  min-height:32px!important;
  padding:6px 10px!important;
  border-radius:9px!important;
  font-size:.7rem!important;
}
@media(max-width:620px){
  .action-needed-row{
    grid-template-columns:1fr!important;
  }
  .action-needed-actions{
    justify-content:flex-start;
    max-width:none;
    margin-top:8px;
  }
}

/* ==========================================================
   v177-35 — Copy Accommodation
   ========================================================== */
.copy-accommodation-intro{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:15px;
  border-radius:15px;
  background:#f5f9fc;
  border:1px solid #deebf3;
}
.copy-accommodation-icon{
  width:44px;height:44px;flex:0 0 44px;
  display:grid;place-items:center;
  border-radius:13px;
  background:#e7f1fb;
  color:#174f78;
  font-size:1.25rem;
  font-weight:900;
}
.copy-accommodation-intro strong{color:#244d68;font-size:1rem}
.copy-accommodation-intro p{margin:5px 0 0;color:#6c7f8d;font-size:.8rem;line-height:1.5}
.copy-accommodation-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.copy-accommodation-summary span{
  padding:10px;
  border:1px solid #e1e9ef;
  border-radius:11px;
  background:#fff;
  color:#687e8d;
  font-size:.7rem;
  text-align:center;
}
.copy-accommodation-summary b{display:block;color:#214e6d;font-size:1.05rem;margin-bottom:2px}
.copy-accommodation-date-note,.copy-accommodation-safety{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0;
  padding:12px 13px;
  border-radius:12px;
  background:#f7fbf8;
  border:1px solid #dcecdf;
  color:#62796c;
  font-size:.76rem;
}
.copy-accommodation-date-note>span{font-size:1.05rem}
.copy-accommodation-date-note strong,.copy-accommodation-safety strong{display:block;color:#335c45}
.copy-accommodation-date-note p{margin:3px 0 0;line-height:1.45}
.copy-accommodation-target-heading{
  display:flex;align-items:end;justify-content:space-between;gap:10px;
  margin:18px 0 8px;
}
.copy-accommodation-target-heading strong{color:#244d68;font-size:.92rem}
.copy-accommodation-target-heading span{color:#80909b;font-size:.7rem}
.copy-accommodation-targets{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:330px;
  overflow:auto;
  padding-right:3px;
}
.copy-target-group{
  border:1px solid #dde7ee;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.copy-target-group h4{
  margin:0;
  padding:9px 11px;
  background:#f4f8fb;
  color:#2a526d;
  font-size:.76rem;
  border-bottom:1px solid #e3ebf0;
}
.copy-target-row{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:9px 11px;
  cursor:pointer;
  border-bottom:1px solid #eef2f5;
}
.copy-target-row:last-child{border-bottom:0}
.copy-target-row:hover{background:#f9fcfe}
.copy-target-row input{width:16px;height:16px}
.copy-target-row strong,.copy-target-row small{display:block}
.copy-target-row strong{color:#294d65;font-size:.76rem}
.copy-target-row small{margin-top:2px;color:#7a8b97;font-size:.66rem}
.copy-target-row.disabled{cursor:not-allowed;opacity:.5;background:#fafafa}
.copy-accommodation-safety{display:grid;gap:3px;background:#fff9ed;border-color:#f1ddb4;color:#7c6944}
.copy-accommodation-safety strong{color:#725728}
.copy-accommodation-success{
  text-align:center;
  padding:22px 14px;
}
.copy-accommodation-success>div{
  width:54px;height:54px;margin:0 auto 10px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eaf8ef;
  color:#258148;
  font-size:1.5rem;
  font-weight:950;
}
.copy-accommodation-success h3{margin:0;color:#244d68}
.copy-accommodation-success p{margin:7px 0 0;color:#6c7e8a}
.copy-result-errors{
  display:grid;gap:5px;
  padding:12px;
  border-radius:12px;
  background:#fff4f4;
  border:1px solid #f0cccc;
  color:#8c4545;
  font-size:.73rem;
}
.copy-result-errors strong{margin-bottom:3px}
@media(max-width:760px){
  .copy-accommodation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .copy-accommodation-targets{grid-template-columns:1fr}
}

/* ==========================================================
   v177-37 — Member bottom navigation flush to screen bottom
   Malaysia Airlines app used only as layout reference.
   Existing icons, labels and blue visual design are preserved.
   ========================================================== */
.member-login-sanctuary-page #memberApp{
  padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px))!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:22px 22px 0 0!important;
  padding-bottom:calc(7px + env(safe-area-inset-bottom, 0px))!important;
  z-index:120!important;
}
@media(max-width:520px){
  .member-login-sanctuary-page #memberApp{
    padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px))!important;
  }
  .member-login-sanctuary-page #memberApp .member-convention-bottom-nav{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    border-radius:19px 19px 0 0!important;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px))!important;
  }
}

/* v177-38 — optional accommodation capacity fields */
.accommodation-home-date .planning-field small,
.motel-room-form-grid .planning-field small{
  display:block;
  margin-top:5px;
}

/* ==========================================================
   v177-39 — Administrator Portal redesign
   New tone: deep slate + teal + soft aqua + warm gold
   ========================================================== */
.admin-page{
  --admin-deep:#123f46;
  --admin-deeper:#0b3036;
  --admin-teal:#0b7474;
  --admin-teal-2:#13928b;
  --admin-aqua:#e7f8f5;
  --admin-aqua-2:#d9f2ed;
  --admin-gold:#d4a84f;
  --admin-canvas:#f3f8f7;
  --admin-card:#ffffff;
  --admin-line:#d8e8e4;
  --admin-ink:#183b40;
  --admin-muted:#6c8180;
  background:
    radial-gradient(circle at 7% 0%,rgba(33,157,148,.14),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(212,168,79,.10),transparent 24%),
    linear-gradient(180deg,#edf7f5 0%,#f7faf9 32%,#f4f8f7 100%)!important;
  color:var(--admin-ink);
}
.admin-page .shell{
  width:min(1500px,100%);
  margin:0 auto;
}
.admin-page .topbar{
  margin-top:12px;
  padding:12px 15px;
  border:1px solid rgba(120,164,158,.20);
  border-radius:22px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 30px rgba(22,68,71,.07);
}
.admin-page .menu-btn{
  border:0!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,var(--admin-deeper),var(--admin-teal))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(8,70,70,.20)!important;
}

/* Sign-in */
.admin-auth-layout{
  min-height:calc(100vh - 175px);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr);
  gap:30px;
  align-items:center;
  padding:34px 8px 52px;
}
.admin-auth-brand-panel{
  position:relative;
  overflow:hidden;
  min-height:560px;
  padding:62px 58px;
  border-radius:34px;
  background:
    radial-gradient(circle at 80% 16%,rgba(255,255,255,.16),transparent 22%),
    linear-gradient(145deg,#0a3038 0%,#0e5860 53%,#0c7775 100%);
  color:#fff;
  box-shadow:0 28px 65px rgba(13,58,62,.22);
}
.admin-auth-brand-panel:before,
.admin-control-hero:before{
  content:"";
  position:absolute;
  width:310px;height:310px;
  right:-105px;top:-110px;
  border-radius:50%;
  border:54px solid rgba(255,255,255,.055);
  pointer-events:none;
}
.admin-auth-brand-panel:after,
.admin-control-hero:after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  right:30px;bottom:-118px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,168,79,.28),rgba(212,168,79,0) 66%);
  pointer-events:none;
}
.admin-auth-eyebrow{
  position:relative;z-index:1;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.18em;
  color:#bde9e4;
}
.admin-auth-mark{
  position:relative;z-index:1;
  width:66px;height:66px;
  display:grid;place-items:center;
  margin:28px 0 24px;
  border-radius:21px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 16px 30px rgba(0,0,0,.12);
  font-size:1.65rem;font-weight:950;
}
.admin-auth-brand-panel h1{
  position:relative;z-index:1;
  max-width:700px;
  margin:0;
  font-size:clamp(3rem,5.5vw,5.7rem);
  line-height:.92;
  letter-spacing:-.055em;
  color:#fff;
}
.admin-auth-brand-panel p{
  position:relative;z-index:1;
  max-width:660px;
  margin:24px 0 0;
  color:#d6efed;
  font-size:1.02rem;
  line-height:1.65;
}
.admin-auth-feature-list{
  position:relative;z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}
.admin-auth-feature-list span{
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#f2fffd;
  font-size:.73rem;
  font-weight:850;
}
.admin-auth-card-wrap{
  display:flex;
  justify-content:center;
}
.admin-page .admin-auth-card{
  width:min(100%,520px);
  margin:0;
  padding:28px;
  border:1px solid var(--admin-line)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 28px 65px rgba(18,66,67,.13)!important;
}
.admin-auth-card-head{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:18px;
}
.admin-auth-card-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:15px;
  background:linear-gradient(145deg,var(--admin-aqua),#fff);
  border:1px solid #cfe9e4;
  box-shadow:0 8px 18px rgba(24,116,110,.08);
}
.admin-auth-card-kicker{
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.13em;
  color:var(--admin-teal);
}
.admin-auth-card-head h2{
  margin:3px 0 0;
  color:var(--admin-deep);
  font-size:1.7rem;
  letter-spacing:-.025em;
}
.admin-page .admin-auth-card label{
  color:#365b5e;
  font-size:.76rem;
  font-weight:900;
}
.admin-page .admin-auth-card .input{
  min-height:50px;
  border:1px solid #d7e6e2!important;
  border-radius:13px!important;
  background:#fbfdfd!important;
}
.admin-page .admin-auth-card .input:focus{
  border-color:#60aaa5!important;
  box-shadow:0 0 0 4px rgba(32,139,132,.10)!important;
}
.admin-primary-btn{
  min-height:50px!important;
  width:100%;
}
.admin-setup-notice{
  border-radius:13px!important;
  background:#f4faf8!important;
  border-color:#d8ebe6!important;
  color:#53716f!important;
}
.admin-first-admin{
  padding:12px 14px;
  border:1px solid #dfebe8;
  border-radius:13px;
  background:#fafdfc;
}
.admin-first-admin summary{
  color:#426464;
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
}

/* Main hero */
.admin-control-hero{
  position:relative;
  overflow:hidden;
  margin:24px 0 20px;
  padding:30px 34px;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-radius:30px;
  background:
    radial-gradient(circle at 70% 8%,rgba(255,255,255,.12),transparent 24%),
    linear-gradient(130deg,#0b3037 0%,#0c565d 55%,#0c7774 100%);
  color:#fff;
  box-shadow:0 24px 56px rgba(14,63,66,.18);
}
.admin-control-hero-copy{
  position:relative;z-index:1;
  max-width:800px;
}
.admin-control-kicker{
  color:#aee5df;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.18em;
}
.admin-control-hero h1{
  margin:7px 0 8px;
  color:#fff;
  font-size:clamp(2.2rem,4vw,4.2rem);
  line-height:.96;
  letter-spacing:-.048em;
}
.admin-control-hero p{
  margin:0;
  color:#d6eeee;
  font-size:.93rem;
}
.admin-control-welcome{
  display:inline-flex;
  margin-top:17px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:.74rem;
  font-weight:850;
}
.admin-control-status-card{
  position:relative;z-index:1;
  flex:0 0 260px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.admin-control-status-orb{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
}
.admin-control-status-orb span{
  width:12px;height:12px;
  border-radius:50%;
  background:#70e59b;
  box-shadow:0 0 0 6px rgba(112,229,155,.12),0 0 18px rgba(112,229,155,.44);
}
.admin-control-status-card small,
.admin-control-status-card strong,
.admin-control-status-card>div:last-child>span{
  display:block;
}
.admin-control-status-card small{
  color:#9ed8d3;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.11em;
}
.admin-control-status-card strong{
  margin-top:3px;
  color:#fff;
  font-size:.86rem;
}
.admin-control-status-card>div:last-child>span{
  margin-top:3px;
  color:#c9e7e4;
  font-size:.67rem;
}

/* Dashboard layout */
.admin-dashboard-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.admin-nav-rail{
  position:sticky;
  top:14px;
  overflow:hidden;
  padding:12px;
  border:1px solid #d5e6e2;
  border-radius:24px;
  background:rgba(255,255,255,.90);
  box-shadow:0 14px 34px rgba(18,69,70,.08);
  backdrop-filter:blur(14px);
}
.admin-rail-title{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 7px 13px;
  border-bottom:1px solid #e4efec;
}
.admin-rail-title-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  background:linear-gradient(145deg,var(--admin-deeper),var(--admin-teal));
  color:#fff;
  font-weight:900;
}
.admin-rail-title small,.admin-rail-title strong{display:block}
.admin-rail-title small{
  color:#7e9291;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.10em;
}
.admin-rail-title strong{
  margin-top:2px;
  color:var(--admin-deep);
  font-size:.9rem;
}
.admin-page .admin-main-tabs{
  display:grid!important;
  gap:5px!important;
  margin:10px 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.admin-page .admin-main-tabs .tab{
  width:100%!important;
  min-height:54px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:0!important;
  align-items:center!important;
  margin:0!important;
  padding:8px 9px!important;
  text-align:left!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#496666!important;
  box-shadow:none!important;
}
.admin-page .admin-main-tabs .tab>span{
  grid-row:1/3!important;
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#eef6f4;
  border:1px solid #e0eeea;
  font-size:.95rem!important;
}
.admin-page .admin-main-tabs .tab>b{
  display:block;
  color:#355658;
  font-size:.75rem;
  line-height:1.15;
}
.admin-page .admin-main-tabs .tab>small{
  display:block;
  margin-top:2px;
  color:#8b9b9a;
  font-size:.58rem;
  font-weight:750;
}
.admin-page .admin-main-tabs .tab:hover{
  background:#f4faf8!important;
  border-color:#dbece8!important;
}
.admin-page .admin-main-tabs .tab.active{
  background:linear-gradient(135deg,#e2f6f2,#f6fbfa)!important;
  border-color:#bfdfd9!important;
  box-shadow:inset 4px 0 0 var(--admin-teal)!important;
  color:var(--admin-deep)!important;
}
.admin-page .admin-main-tabs .tab.active>span{
  background:linear-gradient(145deg,var(--admin-deep),var(--admin-teal))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 7px 14px rgba(15,105,102,.16);
}
.admin-page .admin-main-tabs .tab.active>b{color:var(--admin-deep)!important}
.admin-page .admin-main-tabs .tab.active>small{color:#65817f!important}
.admin-rail-note{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:11px;
  border-radius:13px;
  background:#f7faf9;
  border:1px solid #e2ecea;
}
.admin-rail-note>span{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:8px;
  background:#e7f5f1;
  font-size:.72rem;
}
.admin-rail-note strong,.admin-rail-note small{display:block}
.admin-rail-note strong{color:#42615f;font-size:.68rem}
.admin-rail-note small{margin-top:2px;color:#8b9998;font-size:.58rem;line-height:1.35}

.admin-dashboard-main{min-width:0}
.admin-overview-section{
  padding:18px;
  border:1px solid #d8e8e4;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 34px rgba(20,67,68,.065);
}
.admin-section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.admin-section-heading small{
  display:block;
  color:#779290;
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.13em;
}
.admin-section-heading h2{
  margin:2px 0 0;
  color:var(--admin-deep);
  font-size:1.25rem;
}
.admin-overview-live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#eef9f4;
  border:1px solid #d0eadc;
  color:#4d7966;
  font-size:.65rem;
  font-weight:850;
}
.admin-overview-live i{
  width:7px;height:7px;
  border-radius:50%;
  background:#44bb75;
  box-shadow:0 0 0 4px rgba(68,187,117,.10);
}
.admin-page .admin-overview-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}
.admin-page .admin-stat-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:14px!important;
  border:1px solid #dce9e6!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#fff,#fbfdfc)!important;
  box-shadow:none!important;
}
.admin-page .admin-stat-card:after{
  content:"";
  position:absolute;
  width:72px;height:72px;
  right:-28px;bottom:-35px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(21,144,137,.10),rgba(21,144,137,0) 70%);
}
.admin-stat-top{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:31px;
}
.admin-stat-icon{
  width:29px;height:29px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#e8f5f2;
  border:1px solid #d7ebe6;
  color:var(--admin-teal);
  font-size:.75rem;
  font-weight:950;
}
.admin-page .admin-stat-card .muted{
  color:#69827f!important;
  font-size:.65rem;
  font-weight:900;
}
.admin-page .admin-stat-card .n{
  margin:10px 0 3px!important;
  color:var(--admin-deep)!important;
  font-size:2rem!important;
  letter-spacing:-.04em;
}
.admin-page .admin-stat-card .stat-hint{
  color:#638581!important;
  font-size:.61rem!important;
}
.admin-page .admin-stat-card:hover{
  transform:translateY(-2px)!important;
  border-color:#a8d5cd!important;
  box-shadow:0 12px 24px rgba(21,92,89,.08)!important;
}
.admin-page .admin-stat-card.metric-selected{
  background:linear-gradient(145deg,var(--admin-deep),var(--admin-teal))!important;
  border-color:transparent!important;
  box-shadow:0 13px 28px rgba(13,87,85,.20)!important;
}
.admin-page .admin-stat-card.metric-selected .muted,
.admin-page .admin-stat-card.metric-selected .n,
.admin-page .admin-stat-card.metric-selected .stat-hint{
  color:#fff!important;
}
.admin-page .admin-stat-card.metric-selected .admin-stat-icon{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.admin-workspace-section{margin-top:16px}
.admin-workspace-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 4px 8px;
  color:#506d6b;
  font-size:.72rem;
}
.admin-workspace-label>span{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--admin-gold);
  box-shadow:0 0 0 4px rgba(212,168,79,.12);
}
.admin-page .admin-workspace-panel{
  margin-top:0!important;
  min-height:390px;
  padding:20px!important;
  border:1px solid #d8e8e4!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 15px 36px rgba(19,66,67,.07)!important;
}

/* Admin content treatment */
.admin-page .section-title{
  color:var(--admin-deep)!important;
  letter-spacing:-.02em;
}
.admin-page .btn{
  border-radius:11px!important;
  font-weight:850!important;
}
.admin-page .btn:not(.secondary):not(.ghost):not(.red):not(.green){
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--admin-deep),var(--admin-teal))!important;
  color:#fff!important;
}
.admin-page .btn.secondary{
  border-color:#c9e0db!important;
  background:#eff8f6!important;
  color:#245e5f!important;
}
.admin-page .btn.ghost{
  border-color:#dde9e7!important;
  background:#fff!important;
  color:#4e6c6b!important;
}
.admin-page .btn.red{
  border-color:#f0d2d2!important;
  background:#fff3f3!important;
  color:#9b3c43!important;
}
.admin-page .admin-search{
  padding:12px;
  border:1px solid #e0ece9;
  border-radius:15px;
  background:#f7fbfa;
}
.admin-page .admin-search label{
  color:#597371;
  font-size:.69rem;
  font-weight:900;
}
.admin-page input,.admin-page select,.admin-page textarea{
  border-color:#d6e6e2!important;
  border-radius:11px!important;
}
.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{
  border-color:#69aea8!important;
  box-shadow:0 0 0 3px rgba(27,137,130,.09)!important;
  outline:0;
}
.admin-page .table-wrap{
  border:1px solid #e1ece9;
  border-radius:15px;
  overflow:auto;
}
.admin-page .table thead th{
  background:#f0f7f5!important;
  color:#486664!important;
  border-bottom-color:#dce9e6!important;
}
.admin-page .table tbody tr:hover{
  background:#f8fcfb;
}
.admin-page .panel:not(.admin-stat-card):not(.admin-workspace-panel):not(.admin-auth-card){
  border-color:#dce9e6;
}
.admin-page .notice{
  border-radius:12px;
}
.admin-page .programme-admin-card{
  border-color:#dbe9e5!important;
  background:linear-gradient(145deg,#fff,#f9fcfb)!important;
}
.admin-page .programme-admin-icon{
  background:#e6f5f1!important;
  color:var(--admin-teal)!important;
}
.admin-page .maintenance-admin-state.off{
  background:#e8f7f1!important;
  border-color:#c5e5d7!important;
  color:#326a55!important;
}

/* Responsive admin */
@media(max-width:1180px){
  .admin-page .admin-overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-dashboard-layout{grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:900px){
  .admin-auth-layout{grid-template-columns:1fr;padding-top:24px}
  .admin-auth-brand-panel{min-height:auto;padding:40px 34px}
  .admin-auth-brand-panel h1{font-size:clamp(2.8rem,9vw,4.8rem)}
  .admin-dashboard-layout{grid-template-columns:1fr}
  .admin-nav-rail{
    position:static;
    padding:10px;
  }
  .admin-rail-title,.admin-rail-note{display:none}
  .admin-page .admin-main-tabs{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    gap:7px!important;
    padding-bottom:2px!important;
  }
  .admin-page .admin-main-tabs::-webkit-scrollbar{display:none}
  .admin-page .admin-main-tabs .tab{
    width:auto!important;
    min-width:160px!important;
    flex:0 0 auto!important;
  }
  .admin-control-status-card{display:none}
}
@media(max-width:720px){
  .admin-page .topbar{margin-top:6px;border-radius:17px}
  .admin-auth-layout{padding:18px 0 34px}
  .admin-auth-brand-panel{padding:30px 22px;border-radius:24px}
  .admin-auth-brand-panel h1{font-size:clamp(2.5rem,13vw,3.7rem)}
  .admin-auth-brand-panel p{font-size:.88rem}
  .admin-page .admin-auth-card{padding:20px;border-radius:22px!important}
  .admin-control-hero{
    margin:16px 0 13px;
    padding:25px 21px;
    min-height:160px;
    border-radius:24px;
  }
  .admin-control-hero h1{font-size:2.45rem}
  .admin-control-hero p{font-size:.8rem}
  .admin-overview-section{padding:13px;border-radius:20px}
  .admin-page .admin-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-page .admin-stat-card{min-height:120px}
  .admin-page .admin-workspace-panel{padding:14px!important;border-radius:20px!important}
}
@media(max-width:430px){
  .admin-page .admin-overview-stats{grid-template-columns:1fr 1fr!important}
  .admin-page .admin-stat-card{min-height:112px;padding:11px!important}
  .admin-page .admin-stat-card .n{font-size:1.7rem!important}
  .admin-page .admin-main-tabs .tab{min-width:146px!important}
}

/* ==========================================================
   v177-39 — Modern element for MEMBER bottom blue bar ONLY
   Existing blue tone, icons, labels and bottom placement preserved.
   ========================================================== */
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav{
  isolation:isolate;
  overflow:hidden!important;
  border-top:1px solid rgba(255,255,255,.20)!important;
  background:
    radial-gradient(circle at 16% -55%,rgba(70,166,255,.36),transparent 34%),
    radial-gradient(circle at 82% 130%,rgba(21,105,213,.30),transparent 34%),
    linear-gradient(112deg,#04255b 0%,#073879 48%,#0750a2 100%)!important;
  box-shadow:
    0 -12px 28px rgba(4,40,91,.10),
    0 15px 34px rgba(2,30,75,.26),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:7%;right:7%;top:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 0%,rgba(104,190,255,.85) 24%,rgba(242,198,93,.95) 50%,rgba(104,190,255,.85) 76%,transparent 100%);
  box-shadow:0 0 15px rgba(96,181,255,.36);
  pointer-events:none;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:170px;height:78px;
  top:-48px;right:8%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.13),rgba(255,255,255,0) 70%);
  transform:rotate(-8deg);
  pointer-events:none;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav .member-bottom-nav-item{
  position:relative;
  z-index:1;
  border:1px solid transparent!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav .member-bottom-nav-icon{
  position:relative;
  background:rgba(255,255,255,.095)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav .member-bottom-nav-item.active{
  background:
    linear-gradient(145deg,rgba(21,117,226,.98),rgba(6,82,177,.96))!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:
    0 8px 18px rgba(0,23,67,.28),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,27,85,.20)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav .member-bottom-nav-item.active:before{
  content:"";
  position:absolute;
  left:24%;right:24%;top:3px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#ffe39b,transparent);
  opacity:.9;
}
.member-login-sanctuary-page #memberApp .member-convention-bottom-nav .member-bottom-nav-item.active .member-bottom-nav-icon{
  background:linear-gradient(145deg,#fff,#eaf5ff)!important;
  border-color:rgba(255,255,255,.95)!important;
  color:#06417f!important;
  box-shadow:
    0 5px 12px rgba(0,31,79,.22),
    0 0 0 4px rgba(255,255,255,.06)!important;
}

/* ==========================================================
   v177-40 — Administrator colour tone reverted to v177-38
   Layout remains the v177-39 redesigned Administrator Portal.
   ========================================================== */
.admin-page{
  --admin-deep:#082d63!important;
  --admin-deeper:#06275a!important;
  --admin-teal:#0c5ca8!important;
  --admin-teal-2:#0d6abb!important;
  --admin-aqua:#e9f4ff!important;
  --admin-aqua-2:#dceeff!important;
  --admin-gold:#c99b43!important;
  --admin-canvas:#f8fcff!important;
  --admin-card:#ffffff!important;
  --admin-line:#d9e6f2!important;
  --admin-ink:#142d4f!important;
  --admin-muted:#66798f!important;
  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%)!important;
  color:#142d4f!important;
}
.admin-page .topbar{
  background:rgba(255,255,255,.72)!important;
  border-color:rgba(255,255,255,.9)!important;
  box-shadow:0 10px 30px rgba(26,64,103,.08)!important;
}
.admin-page .menu-btn{
  background:linear-gradient(145deg,#082d63,#0d5ca8)!important;
  box-shadow:0 9px 20px rgba(8,45,99,.20)!important;
}

/* Sign-in hero keeps new layout, old visual tone */
.admin-auth-brand-panel{
  background:
    radial-gradient(circle at 89% 12%,rgba(246,204,108,.25),transparent 21%),
    linear-gradient(135deg,#06275a 0%,#0a3f82 56%,#0d5ca8 100%)!important;
  box-shadow:0 24px 55px rgba(7,43,92,.23)!important;
}
.admin-auth-brand-panel:after,
.admin-control-hero:after{
  background:radial-gradient(circle,rgba(214,173,88,.28),rgba(214,173,88,0) 66%)!important;
}
.admin-auth-eyebrow{
  color:#f2dba8!important;
}
.admin-auth-mark{
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07))!important;
  border-color:rgba(255,255,255,.22)!important;
}
.admin-auth-brand-panel p{
  color:#dce9f7!important;
}
.admin-auth-feature-list span{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.admin-page .admin-auth-card{
  border-color:#d9e6f2!important;
  box-shadow:0 20px 52px rgba(17,53,91,.12)!important;
  border-top:4px solid #c99b43!important;
}
.admin-auth-card-icon{
  background:#eaf4ff!important;
  border-color:#d4e6f7!important;
  color:#0b5ca8!important;
}
.admin-auth-card-kicker{
  color:#9b4a5d!important;
}
.admin-auth-card-head h2{
  color:#082d63!important;
}
.admin-page .admin-auth-card label{
  color:#365f8d!important;
}
.admin-page .admin-auth-card .input{
  background:#fff!important;
  border-color:#c7d8e8!important;
}
.admin-page .admin-auth-card .input:focus{
  border-color:#0c5ca8!important;
  box-shadow:0 0 0 4px rgba(12,92,168,.10)!important;
}
.admin-setup-notice{
  background:#f0f6ff!important;
  border-color:#d9e8fb!important;
  color:#526b85!important;
}
.admin-first-admin{
  background:#fbfdff!important;
  border-color:#e1eaf3!important;
}
.admin-first-admin summary{
  color:#082d63!important;
}

/* Main Admin hero — old blue/gold tone */
.admin-control-hero{
  background:
    radial-gradient(circle at 89% 12%,rgba(246,204,108,.25),transparent 21%),
    linear-gradient(135deg,#06275a 0%,#0a3f82 56%,#0d5ca8 100%)!important;
  box-shadow:0 24px 55px rgba(7,43,92,.23)!important;
}
.admin-control-kicker{
  color:#f2dba8!important;
}
.admin-control-hero p{
  color:#e1edf8!important;
}
.admin-control-welcome{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.15)!important;
}
.admin-control-status-card{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.admin-control-status-card small{
  color:#d5e7f7!important;
}
.admin-control-status-card>div:last-child>span{
  color:#dceaf6!important;
}

/* New navigation layout, old palette */
.admin-nav-rail{
  border-color:rgba(163,189,216,.60)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 12px 30px rgba(22,61,102,.08)!important;
}
.admin-rail-title{
  border-bottom-color:#e1eaf3!important;
}
.admin-rail-title-icon{
  background:linear-gradient(145deg,#082e68,#0c5ca8)!important;
}
.admin-rail-title small{
  color:#7c8fa4!important;
}
.admin-rail-title strong{
  color:#173e69!important;
}
.admin-page .admin-main-tabs .tab{
  color:#2e5278!important;
}
.admin-page .admin-main-tabs .tab>span{
  background:#eaf4ff!important;
  border-color:#d4e6f7!important;
}
.admin-page .admin-main-tabs .tab>b{
  color:#274f78!important;
}
.admin-page .admin-main-tabs .tab>small{
  color:#7b8da0!important;
}
.admin-page .admin-main-tabs .tab:hover{
  background:#edf6ff!important;
  border-color:#d4e6f7!important;
}
.admin-page .admin-main-tabs .tab.active{
  color:#fff!important;
  background:linear-gradient(145deg,#082e68,#0c5ca8)!important;
  border-color:#0b4d95!important;
  box-shadow:0 9px 18px rgba(8,47,103,.20)!important;
}
.admin-page .admin-main-tabs .tab.active>span{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.15)!important;
  color:#fff!important;
}
.admin-page .admin-main-tabs .tab.active>b,
.admin-page .admin-main-tabs .tab.active>small{
  color:#fff!important;
}
.admin-rail-note{
  background:#f7fbff!important;
  border-color:#dfeaf4!important;
}
.admin-rail-note>span{
  background:#eaf4ff!important;
}
.admin-rail-note strong{
  color:#3d5f82!important;
}
.admin-rail-note small{
  color:#7d8ea0!important;
}

/* Overview cards */
.admin-overview-section{
  border-color:#d9e6f2!important;
  background:rgba(255,255,255,.80)!important;
  box-shadow:0 12px 30px rgba(22,61,102,.07)!important;
}
.admin-section-heading small{
  color:#71879c!important;
}
.admin-section-heading h2{
  color:#173e69!important;
}
.admin-overview-live{
  background:#edf6ff!important;
  border-color:#d4e6f7!important;
  color:#426b94!important;
}
.admin-page .admin-stat-card{
  border-color:rgba(163,191,220,.64)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.96))!important;
}
.admin-stat-icon{
  background:#eaf4ff!important;
  border-color:#d4e6f7!important;
  color:#0b5ca8!important;
}
.admin-page .admin-stat-card .muted{
  color:#526b85!important;
}
.admin-page .admin-stat-card .n{
  color:#082d63!important;
}
.admin-page .admin-stat-card .stat-hint{
  color:#517aa4!important;
}
.admin-page .admin-stat-card:hover{
  border-color:#9abede!important;
  box-shadow:0 17px 35px rgba(13,57,104,.14)!important;
}
.admin-page .admin-stat-card.metric-selected{
  background:
    radial-gradient(circle at 88% 12%,rgba(244,204,108,.22),transparent 26%),
    linear-gradient(145deg,#062d68,#0b58a7)!important;
  border-color:#0b4d95!important;
  box-shadow:0 17px 36px rgba(7,49,106,.28)!important;
}
.admin-page .admin-stat-card.metric-selected .admin-stat-icon{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.15)!important;
  color:#fff!important;
}

/* Workspace and content */
.admin-workspace-label{
  color:#526b85!important;
}
.admin-workspace-label>span{
  background:#c99b43!important;
  box-shadow:0 0 0 4px rgba(201,155,67,.12)!important;
}
.admin-page .admin-workspace-panel{
  border-color:#d9e6f2!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 15px 36px rgba(18,58,101,.075)!important;
}
.admin-page .section-title{
  color:#173e69!important;
}
.admin-page .btn:not(.secondary):not(.ghost):not(.red):not(.green){
  background:linear-gradient(145deg,#082f69,#0b5aa7)!important;
}
.admin-page .btn.secondary{
  background:#fff!important;
  border-color:#bed1e4!important;
  color:#164b81!important;
}
.admin-page .btn.ghost{
  background:#eef5fb!important;
  border-color:#d6e3ef!important;
  color:#164b81!important;
}
.admin-page .admin-search{
  background:#f6faff!important;
  border-color:#dbe8f3!important;
}
.admin-page .admin-search label{
  color:#526b85!important;
}
.admin-page input,.admin-page select,.admin-page textarea{
  border-color:#c7d8e8!important;
}
.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{
  border-color:#0c5ca8!important;
  box-shadow:0 0 0 3px rgba(12,92,168,.09)!important;
}
.admin-page .table-wrap{
  border-color:#dce7f1!important;
}
.admin-page .table thead th{
  background:#eef5fb!important;
  color:#486582!important;
  border-bottom-color:#dce7f1!important;
}
.admin-page .table tbody tr:hover{
  background:#f8fbff!important;
}
.admin-page .programme-admin-card{
  border-color:#d9e6f1!important;
  background:linear-gradient(145deg,#fff 0%,#f7fbff 72%,#fff8e8 100%)!important;
}
.admin-page .programme-admin-icon{
  background:#eaf4ff!important;
  color:#0b5ca8!important;
  border-color:#d4e6f7!important;
}
.admin-page .maintenance-admin-state.off{
  background:#edf6ff!important;
  border-color:#d4e6f7!important;
  color:#245d94!important;
}

/* ==========================================================
   v177-41 — Road Journey Notes + None driver option
   ========================================================== */
.road-journey-notes{
  margin-top:14px;
  padding-top:4px;
}
.road-journey-notes .road-note-title{
  margin-bottom:10px;
}
.road-journey-notes textarea{
  min-height:102px;
  resize:vertical;
}
.road-journey-note-display{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid #dbe7f1;
  border-radius:12px;
  background:#f8fbfe;
}
.road-journey-note-display>span{
  flex:0 0 auto;
  font-size:.9rem;
}
.road-journey-note-display strong{
  display:block;
  color:#294f72;
  font-size:.72rem;
}
.road-journey-note-display p{
  margin:3px 0 0;
  color:#657b8f;
  font-size:.72rem;
  line-height:1.45;
  white-space:pre-wrap;
}

/* ==========================================================
   v177-42 — Road Journey Note in Member Portal
   ========================================================== */
.member-road-journey-note{
  margin-top:12px;
  padding:12px 13px;
  border:1px solid #d7e5f2;
  border-radius:13px;
  background:
    linear-gradient(135deg,rgba(238,247,255,.98),rgba(255,252,243,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.member-road-journey-note-head{
  display:flex;
  align-items:center;
  gap:7px;
}
.member-road-journey-note-head span{
  font-size:.88rem;
}
.member-road-journey-note-head strong{
  color:#244e77;
  font-size:.72rem;
}
.member-road-journey-note p{
  margin:6px 0 0;
  color:#5d7388;
  font-size:.73rem;
  line-height:1.5;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

/* ==========================================================
   v177-44 — Member LOGIN PAGE ONLY visual polish
   ========================================================== */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-bar{
  display:flex!important;
  width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-brand{
  display:flex!important;
  width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto!important;
  text-align:center!important;
}
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .member-logo-brand img{
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
  position:static!important;
  transform:none!important;
}

/* Member Portal role pill removed; rebalance login intro only. */
.member-login-sanctuary-page:has(#memberAuth:not(.hidden)) .gospel-login-divider{
  margin-top:24px!important;
}

/* v177-47 — Security & Activity registration/login reporting */
.security-export-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.security-summary-card.registered{
  border-color:#bfe1d0!important;
  background:linear-gradient(145deg,#f5fcf8,#ffffff)!important;
}
.security-summary-card.logged-in{
  border-color:#c6ddf3!important;
  background:linear-gradient(145deg,#f5faff,#ffffff)!important;
}
.security-table td:nth-child(2){
  min-width:120px;
}
@media(max-width:720px){
  .security-export-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .security-export-actions .btn{
    width:100%;
    text-align:center;
  }
}

/* v177-48 — unified Road Manage Members + Driver Notes */
.road-manage-allocation-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid #d9e6f1;
  border-radius:15px;
  background:#f8fbfe;
}
.road-manage-allocation-head{
  margin-bottom:10px;
}
.road-manage-allocation-head strong,
.road-manage-allocation-head small{
  display:block;
}
.road-manage-allocation-head strong{
  color:#244f73;
  font-size:.82rem;
}
.road-manage-allocation-head small{
  margin-top:3px;
  color:#71869a;
  font-size:.69rem;
}
.road-manage-allocation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);
  gap:10px;
  align-items:center;
  padding:9px 0;
  border-top:1px solid #e3edf4;
}
.road-manage-allocation-row:first-child{
  border-top:0;
}
.road-manage-allocation-row strong{
  color:#294f72;
  font-size:.76rem;
}
.road-manage-allocation-row select{
  min-height:42px;
}
.driver-note-field textarea{
  min-height:92px;
  resize:vertical;
}
.driver-note-field small{
  display:block;
  margin-top:5px;
}
.member-driver-note{
  background:linear-gradient(145deg,#fff9e9,#fffdf6)!important;
  border-color:#edddb1!important;
}
.member-driver-note span{
  color:#8a6a29!important;
}
.member-driver-note strong{
  white-space:pre-wrap;
  line-height:1.45;
}
@media(max-width:640px){
  .road-manage-allocation-row{
    grid-template-columns:1fr;
  }
}

/* v177-49 — Flight Journey driver notes */
.flight-driver-note-field{
  margin-top:2px;
}
.flight-driver-note-field textarea{
  min-height:90px;
  resize:vertical;
}
.flight-driver-note-field small{
  display:block;
  margin-top:5px;
}



/* v177-50 — Member Accommodation: consistent green colour family */
.member-login-sanctuary-page #memberApp .member-colour-accommodation{
  background:linear-gradient(145deg,#f2fbf5,#e4f5e9)!important;
  border-color:#b9dec5!important;
}
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box,
.member-login-sanctuary-page #memberApp .member-colour-accommodation .member-room-details>div,
.member-login-sanctuary-page #memberApp .member-colour-accommodation .member-accommodation-note{
  background:rgba(255,255,255,.72)!important;
  border-color:#c7e4d0!important;
}
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box span,
.member-login-sanctuary-page #memberApp .member-colour-accommodation .member-room-details span{
  color:#4d7b5c!important;
}
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box strong{color:#285a39!important}
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box b,
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-arrow{color:#2e7a49!important}
.member-login-sanctuary-page #memberApp .member-colour-accommodation .member-accommodation-note span{color:#466f53!important}
.member-login-sanctuary-page #memberApp .compact-transport-row{grid-template-columns:34px minmax(0,1fr)!important}

/* v177-51 — Duplicate Member Merge + DOB help */
.gospel-field-help{
  display:block;
  margin:6px 2px 0;
  color:#71869a;
  font-size:.68rem;
  line-height:1.4;
}
.member-merge-warning{
  padding:14px 16px;
  border:1px solid #ecd8a3;
  border-radius:15px;
  background:linear-gradient(145deg,#fffaf0,#fffdf8);
  color:#5e4c25;
}
.member-merge-warning strong{display:block;color:#6c5220}
.member-merge-warning p{margin:6px 0 0;font-size:.78rem;line-height:1.5}
.member-merge-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);
  gap:12px;
  align-items:end;
  margin-top:16px;
}
.member-merge-arrow{
  display:grid;
  place-items:center;
  min-height:48px;
  color:#2b6eab;
  font-size:1.35rem;
  font-weight:900;
}
.member-merge-summary{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #dce8f2;
  border-radius:14px;
  background:#f8fbfe;
}
.member-merge-preview{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
}
.member-merge-preview>div{
  padding:10px;
  border:1px solid #d8e6f0;
  border-radius:12px;
  background:#fff;
}
.member-merge-preview span,
.member-merge-preview strong,
.member-merge-preview small{display:block}
.member-merge-preview span{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#70889d}
.member-merge-preview strong{margin-top:3px;color:#1c496f}
.member-merge-preview small{margin-top:4px;color:#718498}
.member-merge-preview>b{font-size:.68rem;color:#718498;text-align:center}
.member-merge-confirm{margin-top:14px}
@media(max-width:760px){
  .member-merge-grid{grid-template-columns:1fr}
  .member-merge-arrow{min-height:22px;transform:rotate(90deg)}
  .member-merge-preview{grid-template-columns:1fr}
}



/* v177-56 — Member My Accommodation: clearer Location button */
.member-login-sanctuary-page #memberApp .member-accommodation-location-row{
  margin-top:14px;
  display:block;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-btn{
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:11px;
  align-items:center;
  padding:9px 12px;
  border:1px solid #b9dec5;
  border-radius:15px;
  background:rgba(255,255,255,.82);
  color:#285a39;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(40,90,57,.08);
  -webkit-tap-highlight-color:transparent;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-btn:active{
  transform:scale(.99);
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e4f5e9;
  font-size:1.3rem;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:left;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-copy strong{
  font-size:.92rem;
  color:#285a39;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-copy small{
  font-size:.7rem;
  color:#5f8069;
  line-height:1.3;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-arrow{
  justify-self:end;
  color:#2e7a49;
  font-size:1.45rem;
  font-weight:800;
}


/* v177-57 — centred Location buttons + black accommodation date/time */

/* Shared user-friendly Location button for My Accommodation + Food & Service */
.member-login-sanctuary-page #memberApp .member-map-location-btn{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 16px;
  border-radius:15px;
  text-decoration:none;
  text-align:center;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease,box-shadow .12s ease;
}
.member-login-sanctuary-page #memberApp .member-map-location-btn:active{
  transform:scale(.99);
}
.member-login-sanctuary-page #memberApp .member-map-location-icon{
  flex:0 0 auto;
  font-size:1.3rem;
  line-height:1;
}
.member-login-sanctuary-page #memberApp .member-map-location-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-align:center;
}
.member-login-sanctuary-page #memberApp .member-map-location-copy strong{
  font-size:.92rem;
  line-height:1.2;
}
.member-login-sanctuary-page #memberApp .member-map-location-copy small{
  font-size:.7rem;
  line-height:1.25;
}

/* My Accommodation Location */
.member-login-sanctuary-page #memberApp .member-accommodation-location-btn{
  width:100%;
  border:1px solid #b9dec5;
  background:rgba(255,255,255,.82);
  color:#285a39;
  box-shadow:0 6px 16px rgba(40,90,57,.08);
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-btn .member-map-location-copy strong{
  color:#285a39;
}
.member-login-sanctuary-page #memberApp .member-accommodation-location-btn .member-map-location-copy small{
  color:#5f8069;
}

/* Food & Service Location — same layout, matching food colour family */
.member-login-sanctuary-page #memberApp .member-food-location-btn{
  min-width:150px;
  border:1px solid #e7d19a;
  background:rgba(255,255,255,.82);
  color:#735314;
  box-shadow:0 6px 16px rgba(115,83,20,.08);
}
.member-login-sanctuary-page #memberApp .member-food-location-btn .member-map-location-copy strong{
  color:#735314;
}
.member-login-sanctuary-page #memberApp .member-food-location-btn .member-map-location-copy small{
  color:#88714a;
}

/* My Accommodation check-in / check-out date and time: black */
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box strong,
.member-login-sanctuary-page #memberApp .member-colour-accommodation .stay-time-box b{
  color:#111!important;
}

/* Keep mobile Food Location full width and centred */
@media(max-width:720px){
  .member-login-sanctuary-page #memberApp .member-food-location-btn{
    width:100%;
  }
}


/* v177-58 — Member App modern visual refresh */

/* Location buttons: icon/text aligned to the left for faster scanning */
.member-login-sanctuary-page #memberApp .member-map-location-btn{
  justify-content:flex-start!important;
  text-align:left!important;
}
.member-login-sanctuary-page #memberApp .member-map-location-copy{
  align-items:flex-start!important;
  text-align:left!important;
}

/* Convention venue now uses the same Location button language */
.member-login-sanctuary-page #memberApp .member-convention-location-btn{
  flex:0 0 auto;
  min-width:166px;
  border:1px solid #c9dced;
  background:linear-gradient(135deg,#ffffff,#f4f9ff);
  color:#174a75;
  box-shadow:0 6px 16px rgba(23,74,117,.08);
}
.member-login-sanctuary-page #memberApp .member-convention-location-btn .member-map-location-copy strong{color:#174a75}
.member-login-sanctuary-page #memberApp .member-convention-location-btn .member-map-location-copy small{color:#627f98}

/* Modern gradient cards */
.member-login-sanctuary-page #memberApp .member-colour-flight{
  background:linear-gradient(135deg,#e8f3ff 0%,#dbeafe 48%,#eef2ff 100%)!important;
  border-color:#b8d4f3!important;
  box-shadow:0 12px 28px rgba(37,99,235,.09)!important;
}
.member-login-sanctuary-page #memberApp .member-colour-accommodation{
  background:linear-gradient(135deg,#ecfdf5 0%,#dcfce7 48%,#e6fffb 100%)!important;
  border-color:#b8e2cb!important;
  box-shadow:0 12px 28px rgba(22,163,74,.08)!important;
}
.member-login-sanctuary-page #memberApp .member-colour-food{
  background:linear-gradient(135deg,#fff9e8 0%,#fef3c7 48%,#fff1e6 100%)!important;
  border-color:#ead39b!important;
  box-shadow:0 12px 28px rgba(180,120,20,.08)!important;
}

/* Modern gradient section headers + small accent element */
.member-login-sanctuary-page #memberApp .member-convention-detail-title{
  position:relative;
  overflow:hidden;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-title::after{
  content:"";
  margin-left:auto;
  width:42px;
  height:8px;
  flex:0 0 42px;
  border-radius:999px;
  opacity:.9;
  box-shadow:0 4px 12px rgba(34,64,96,.10);
}
.member-login-sanctuary-page #memberApp .member-convention-detail-travel{
  border-color:#bfd6ef!important;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-travel .member-convention-detail-title{
  background:linear-gradient(135deg,#dbeafe 0%,#eef2ff 54%,#e0f2fe 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-travel .member-convention-detail-title::after{
  background:linear-gradient(90deg,#2563eb,#38bdf8);
}
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation{
  border-color:#bfe0cf!important;
  background:linear-gradient(180deg,#fcfffd,#f5fcf8)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation .member-convention-detail-title{
  background:linear-gradient(135deg,#dcfce7 0%,#ecfdf5 52%,#ccfbf1 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation .member-convention-detail-title::after{
  background:linear-gradient(90deg,#16a34a,#14b8a6);
}
.member-login-sanctuary-page #memberApp .member-convention-detail-food{
  border-color:#ead7ad!important;
  background:linear-gradient(180deg,#fffefa,#fffaf3)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-food .member-convention-detail-title{
  background:linear-gradient(135deg,#fef3c7 0%,#fff7ed 52%,#ffedd5 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-food .member-convention-detail-title::after{
  background:linear-gradient(90deg,#f59e0b,#fb7185);
}

@media(max-width:700px){
  .member-login-sanctuary-page #memberApp .member-convention-location-btn{
    width:100%;
  }
  .member-login-sanctuary-page #memberApp .member-convention-detail-title::after{
    width:34px;
    flex-basis:34px;
  }
}


/* v177-59 — card-by-card Guest Home + Transport Duties */

/* Convention venue Location button: centred inside its box */
.member-login-sanctuary-page #memberApp .member-convention-location-btn{
  justify-content:center!important;
  text-align:center!important;
}
.member-login-sanctuary-page #memberApp .member-convention-location-btn .member-map-location-copy{
  align-items:center!important;
  text-align:center!important;
}

/* Give each expanded duty/stay item its own strong visual card */
.member-login-sanctuary-page #memberApp .member-duty-content{
  display:grid;
  gap:12px;
  padding-top:12px!important;
}
.member-login-sanctuary-page #memberApp .member-duty-entry{
  margin:0!important;
  padding:14px!important;
  border:1px solid #dce7ef;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 18px rgba(33,62,89,.07);
}
.member-login-sanctuary-page #memberApp .member-duty-entry + .member-duty-entry{
  border-top-width:1px!important;
}

/* Guest staying at my home — ONE guest per card */
.member-login-sanctuary-page #memberApp .member-guest-person-card{
  border-color:#cde5d6;
  background:linear-gradient(145deg,#ffffff 0%,#f2fbf5 100%);
  box-shadow:0 8px 20px rgba(35,104,62,.07);
}
.member-login-sanctuary-page #memberApp .member-guest-person-head{
  margin-bottom:11px;
  align-items:center;
}
.member-login-sanctuary-page #memberApp .member-guest-person-head>span{
  background:linear-gradient(135deg,#dcfce7,#ccfbf1);
  border:1px solid #bee5cd;
}
.member-login-sanctuary-page #memberApp .member-guest-person-head small{
  display:block;
  color:#4d7b5c;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:2px;
}
.member-login-sanctuary-page #memberApp .member-guest-person-head h4{
  color:#1f5131;
  font-size:.98rem;
}
.member-login-sanctuary-page #memberApp .member-guest-person-grid>div{
  background:rgba(255,255,255,.82);
  border-color:#d3eadb;
}

/* My Pick-up & Drop-off Duties — ONE transport job per card */
.member-login-sanctuary-page #memberApp .member-transport-job-card{
  position:relative;
  overflow:hidden;
}
.member-login-sanctuary-page #memberApp .member-transport-job-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:17px 0 0 17px;
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup{
  border-color:#c9dff5;
  background:linear-gradient(145deg,#ffffff 0%,#f0f7ff 100%);
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup::before{
  background:linear-gradient(180deg,#2563eb,#38bdf8);
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff{
  border-color:#e0d7f3;
  background:linear-gradient(145deg,#ffffff 0%,#f7f3ff 100%);
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff::before{
  background:linear-gradient(180deg,#7c3aed,#a78bfa);
}
.member-login-sanctuary-page #memberApp .member-transport-job-other{
  border-color:#d7e5df;
  background:linear-gradient(145deg,#ffffff 0%,#f4faf7 100%);
}
.member-login-sanctuary-page #memberApp .member-transport-job-other::before{
  background:linear-gradient(180deg,#0f766e,#34d399);
}
.member-login-sanctuary-page #memberApp .member-transport-job-head{
  align-items:center;
}
.member-login-sanctuary-page #memberApp .member-transport-job-head>span{
  background:linear-gradient(135deg,#eaf2fb,#f5f8fc);
  border:1px solid #dae5ef;
}
.member-login-sanctuary-page #memberApp .member-transport-job-head small{
  display:block;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#657d91;
  margin-bottom:2px;
}
.member-login-sanctuary-page #memberApp .member-transport-job-head h4{
  font-size:.98rem;
  color:#254c6b;
}
.member-login-sanctuary-page #memberApp .member-transport-job-meta{
  margin-top:3px;
  color:#70859a;
  font-size:.74rem;
  font-weight:700;
}
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-duty-grid>div{
  background:rgba(255,255,255,.84);
}

/* Mobile: cards stay clearly separated and easy to scan */
@media(max-width:600px){
  .member-login-sanctuary-page #memberApp .member-duty-content{
    gap:11px;
  }
  .member-login-sanctuary-page #memberApp .member-duty-entry{
    padding:13px!important;
    border-radius:16px;
  }
}


/* v177-60 — Revert Guests Staying at My Home to v177-58 layout only */
.member-login-sanctuary-page #memberApp .member-guest-person-card{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry{
  padding:12px 2px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry + .member-duty-entry{
  border-top:1px solid #e5edf3!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-content{
  display:block;
  padding-top:0!important;
}


/* v177-61 — Travel Journey traveller names */
.planning-page .journey-traveller-names{
  display:grid;
  gap:3px;
  max-width:760px;
}
.planning-page .journey-traveller-names>span{
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#73879a;
}
.planning-page .journey-traveller-names>strong{
  font-size:.82rem;
  line-height:1.45;
  color:#284d6d;
  font-weight:800;
}
.planning-page .journey-traveller-names>small{
  color:#708397;
  font-size:.69rem;
}


/* v177-62 — Who Else Is Travelling With Me */
.member-login-sanctuary-page #memberApp .member-co-travellers{
  margin-top:12px;
  padding:13px;
  border:1px solid #c7dcf0;
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(242,248,255,.90));
  box-shadow:0 5px 14px rgba(28,78,126,.06);
}
.member-login-sanctuary-page #memberApp .member-co-travellers-head{
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:10px;
  margin-bottom:9px;
  border-bottom:1px solid #dbe8f4;
}
.member-login-sanctuary-page #memberApp .member-co-travellers-head>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:linear-gradient(135deg,#dbeafe,#e0f2fe);
  font-size:1rem;
}
.member-login-sanctuary-page #memberApp .member-co-travellers-head strong,
.member-login-sanctuary-page #memberApp .member-co-travellers-head small{
  display:block;
}
.member-login-sanctuary-page #memberApp .member-co-travellers-head strong{
  color:#214f78;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.025em;
  line-height:1.3;
}
.member-login-sanctuary-page #memberApp .member-co-travellers-head small{
  margin-top:2px;
  color:#71879a;
  font-size:.67rem;
}
.member-login-sanctuary-page #memberApp .member-co-traveller-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.member-login-sanctuary-page #memberApp .member-co-traveller-list>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 9px;
  border:1px solid #d5e4f1;
  border-radius:999px;
  background:#fff;
  color:#315c7f;
  font-size:.75rem;
  font-weight:800;
}
.member-login-sanctuary-page #memberApp .member-co-traveller-list b{
  font-size:.78rem;
  line-height:1;
}

@media(max-width:600px){
  .member-login-sanctuary-page #memberApp .member-co-traveller-list{
    display:grid;
    grid-template-columns:1fr;
  }
  .member-login-sanctuary-page #memberApp .member-co-traveller-list>span{
    border-radius:11px;
  }
}


/* v177-64 — richer modern gradients + subtle graphical background elements */

/* Shared section canvas */
.member-login-sanctuary-page #memberApp .member-convention-detail-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:22px!important;
  box-shadow:0 18px 38px rgba(35,61,89,.08);
}
.member-login-sanctuary-page #memberApp .member-convention-detail-section>.member-convention-detail-title,
.member-login-sanctuary-page #memberApp .member-convention-detail-section>.member-convention-detail-body{
  position:relative;
  z-index:2;
}

/* soft modern background orb */
.member-login-sanctuary-page #memberApp .member-convention-detail-section::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-72px;
  top:48px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  opacity:.82;
}

/* small glass ring / graphical element */
.member-login-sanctuary-page #memberApp .member-convention-detail-section::after{
  content:"";
  position:absolute;
  width:76px;
  height:76px;
  right:22px;
  bottom:18px;
  border-radius:50%;
  border:13px solid rgba(255,255,255,.42);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.32),
    0 12px 30px rgba(24,56,90,.06);
  pointer-events:none;
  z-index:1;
  opacity:.75;
}

/* TRAVEL — blue / indigo / cyan mesh gradient */
.member-login-sanctuary-page #memberApp .member-convention-detail-travel{
  background:
    radial-gradient(circle at 4% 10%,rgba(125,211,252,.42),transparent 30%),
    radial-gradient(circle at 96% 88%,rgba(129,140,248,.34),transparent 31%),
    linear-gradient(135deg,#f8fbff 0%,#edf6ff 37%,#eef2ff 72%,#f7fbff 100%)!important;
  border-color:#b6d5f1!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-travel::before{
  background:
    radial-gradient(circle at 32% 30%,rgba(255,255,255,.92) 0 10%,transparent 11%),
    radial-gradient(circle at 68% 66%,rgba(255,255,255,.58) 0 8%,transparent 9%),
    linear-gradient(145deg,rgba(56,189,248,.34),rgba(99,102,241,.24));
}
.member-login-sanctuary-page #memberApp .member-convention-detail-travel .member-convention-detail-title{
  background:
    linear-gradient(110deg,rgba(219,234,254,.94),rgba(224,242,254,.82) 48%,rgba(238,242,255,.90))!important;
  backdrop-filter:blur(10px);
}

/* ACCOMMODATION — emerald / teal glass gradient */
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation{
  background:
    radial-gradient(circle at 7% 14%,rgba(110,231,183,.34),transparent 29%),
    radial-gradient(circle at 94% 85%,rgba(45,212,191,.28),transparent 32%),
    linear-gradient(135deg,#f8fffb 0%,#ecfdf5 38%,#e9fbf6 72%,#f8fffc 100%)!important;
  border-color:#b8dfca!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation::before{
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.92) 0 11%,transparent 12%),
    radial-gradient(circle at 70% 65%,rgba(255,255,255,.60) 0 8%,transparent 9%),
    linear-gradient(145deg,rgba(52,211,153,.28),rgba(20,184,166,.22));
}
.member-login-sanctuary-page #memberApp .member-convention-detail-accommodation .member-convention-detail-title{
  background:
    linear-gradient(110deg,rgba(220,252,231,.94),rgba(204,251,241,.78) 48%,rgba(236,253,245,.91))!important;
  backdrop-filter:blur(10px);
}

/* FOOD — amber / peach / rose gradient */
.member-login-sanctuary-page #memberApp .member-convention-detail-food{
  background:
    radial-gradient(circle at 7% 13%,rgba(253,224,71,.27),transparent 29%),
    radial-gradient(circle at 94% 88%,rgba(251,146,60,.26),transparent 31%),
    linear-gradient(135deg,#fffdf8 0%,#fff7e6 38%,#fff1e8 72%,#fffaf4 100%)!important;
  border-color:#ead3a5!important;
}
.member-login-sanctuary-page #memberApp .member-convention-detail-food::before{
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.94) 0 11%,transparent 12%),
    radial-gradient(circle at 70% 65%,rgba(255,255,255,.62) 0 8%,transparent 9%),
    linear-gradient(145deg,rgba(245,158,11,.27),rgba(251,113,133,.20));
}
.member-login-sanctuary-page #memberApp .member-convention-detail-food .member-convention-detail-title{
  background:
    linear-gradient(110deg,rgba(254,243,199,.94),rgba(255,237,213,.82) 50%,rgba(255,241,230,.92))!important;
  backdrop-filter:blur(10px);
}

/* Inner member cards — stronger premium gradient, glass surface */
.member-login-sanctuary-page #memberApp .member-colour-flight{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(147,197,253,.40),transparent 27%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(226,240,255,.90) 54%,rgba(236,233,255,.88))!important;
  border-color:#b6d4f1!important;
  box-shadow:0 14px 30px rgba(37,99,235,.10)!important;
}
.member-login-sanctuary-page #memberApp .member-colour-accommodation{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(110,231,183,.34),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(226,250,235,.90) 54%,rgba(225,250,246,.88))!important;
  border-color:#b9dfca!important;
  box-shadow:0 14px 30px rgba(22,163,74,.09)!important;
}
.member-login-sanctuary-page #memberApp .member-colour-food{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(253,186,116,.36),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,246,214,.91) 54%,rgba(255,233,219,.88))!important;
  border-color:#ead1a1!important;
  box-shadow:0 14px 30px rgba(180,110,20,.09)!important;
}

/* small diagonal glass mark inside each card */
.member-login-sanctuary-page #memberApp .member-colour-flight::after,
.member-login-sanctuary-page #memberApp .member-colour-accommodation::after,
.member-login-sanctuary-page #memberApp .member-colour-food::after{
  content:"";
  position:absolute;
  width:84px;
  height:22px;
  right:-22px;
  top:21px;
  border-radius:999px;
  transform:rotate(-35deg);
  background:rgba(255,255,255,.52);
  box-shadow:0 8px 20px rgba(43,70,98,.05);
  pointer-events:none;
}

/* header icon gets a cleaner floating glass treatment */
.member-login-sanctuary-page #memberApp .member-convention-detail-title>span:first-child{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 8px 20px rgba(34,64,96,.08);
  backdrop-filter:blur(8px);
}

@media(max-width:700px){
  .member-login-sanctuary-page #memberApp .member-convention-detail-section::before{
    width:150px;
    height:150px;
    right:-60px;
    top:58px;
  }
  .member-login-sanctuary-page #memberApp .member-convention-detail-section::after{
    width:58px;
    height:58px;
    right:14px;
    bottom:14px;
    border-width:10px;
  }
}


/* v177-66 — Guests Staying at My Home: one card per stay/date */
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-content{
  display:grid!important;
  gap:12px!important;
  padding-top:12px!important;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  position:relative;
  overflow:hidden;
  margin:0!important;
  padding:14px!important;
  border:1px solid #cfe5d8!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 94% 8%,rgba(110,231,183,.20),transparent 26%),
    linear-gradient(145deg,#ffffff 0%,#f4fbf6 100%)!important;
  box-shadow:0 8px 20px rgba(35,104,62,.07)!important;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#16a34a,#2dd4bf);
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card + .member-guest-stay-card{
  border-top:1px solid #cfe5d8!important;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head{
  position:relative;
  z-index:1;
  align-items:center;
  margin-bottom:11px;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#dcfce7,#ccfbf1);
  border:1px solid #bfe3cb;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head h4{
  color:#214f32;
  font-size:.97rem;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head small{
  color:#63806d;
  font-weight:700;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid{
  position:relative;
  z-index:1;
}

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(255,255,255,.86);
  border-color:#d6e9dd;
}

@media(max-width:600px){
  .member-login-sanctuary-page #memberApp .guest-home-card .member-duty-content{
    gap:11px!important;
  }
  .member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
    padding:13px!important;
    border-radius:16px!important;
  }
}


/* v177-67 — fix Guests Staying open/close */
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-content.hidden{
  display:none!important;
}
.member-login-sanctuary-page #memberApp .transport-duty-card .member-duty-content.hidden{
  display:none!important;
}

/* -----------------------------------------------------------------
   GUESTS STAYING AT MY HOME
   Unique MAUVE / BERRY / PEARL palette — intentionally not the
   Travel blue, Accommodation green, or Food amber palette.
   ----------------------------------------------------------------- */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dfc7dc!important;
  background:
    radial-gradient(circle at 92% 6%,rgba(190,140,182,.22),transparent 28%),
    linear-gradient(135deg,#fffafd 0%,#f7edf5 48%,#f3eef8 100%)!important;
  box-shadow:0 16px 34px rgba(109,65,104,.09)!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-82px;
  top:-76px;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(155,87,146,.18),rgba(211,166,202,.08));
  pointer-events:none;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  position:relative;
  z-index:2;
  background:linear-gradient(110deg,rgba(255,250,253,.92),rgba(247,235,245,.88))!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#f3dcea,#eadff3)!important;
  border:1px solid #ddc2d8;
  box-shadow:0 7px 17px rgba(123,71,116,.10);
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#7a4d73!important;
  color:#fff!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:#dec8dc!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(199,154,190,.24),transparent 26%),
    radial-gradient(circle at 8% 92%,rgba(185,166,215,.18),transparent 28%),
    linear-gradient(145deg,#fffafd 0%,#f8eef6 54%,#f3eef9 100%)!important;
  box-shadow:0 10px 24px rgba(104,62,99,.08)!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#9b5d91,#c08cb5)!important;
}
.member-login-sanctuary-page #memberApp .member-guest-graphic{
  position:absolute;
  display:block;
  pointer-events:none;
  z-index:0;
}
.member-login-sanctuary-page #memberApp .member-guest-graphic-one{
  width:74px;
  height:74px;
  right:-20px;
  bottom:-22px;
  border-radius:50%;
  border:12px solid rgba(255,255,255,.46);
  box-shadow:0 0 0 1px rgba(144,90,136,.06);
}
.member-login-sanctuary-page #memberApp .member-guest-graphic-two{
  width:64px;
  height:17px;
  right:35px;
  top:19px;
  border-radius:999px;
  transform:rotate(-30deg);
  background:linear-gradient(90deg,rgba(255,255,255,.68),rgba(213,176,207,.22));
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid{
  position:relative;
  z-index:2;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#f1dbe9,#e8def2)!important;
  border-color:#dcc4d7!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head h4{
  color:#5d3a58!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head small{
  color:#7b6177!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(255,255,255,.76)!important;
  border-color:#e6d7e3!important;
  backdrop-filter:blur(6px);
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid span{
  color:#8b6a85!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid strong{
  color:#573b53!important;
}

/* -----------------------------------------------------------------
   MY PICK-UP & DROP-OFF DUTIES
   Separate "Aurora Operations" visual family.
   Not the same design as Travel / Accommodation / Food.
   ----------------------------------------------------------------- */
.member-login-sanctuary-page #memberApp .member-duty-card.transport-duty-card{
  position:relative;
  overflow:hidden;
  border:1px solid #cfd5de!important;
  background:
    radial-gradient(circle at 94% 8%,rgba(101,116,139,.20),transparent 31%),
    linear-gradient(135deg,#f8fafc 0%,#eef1f6 48%,#f7f8fa 100%)!important;
  box-shadow:0 16px 36px rgba(38,49,64,.10)!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.transport-duty-card::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-118px;
  top:-118px;
  border-radius:50%;
  border:26px solid rgba(255,255,255,.36);
  pointer-events:none;
}
.member-login-sanctuary-page #memberApp .member-duty-card.transport-duty-card .member-general-info-toggle{
  position:relative;
  z-index:2;
  background:linear-gradient(110deg,rgba(248,250,252,.96),rgba(232,236,242,.90))!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.transport-duty-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#e2e8f0,#f8fafc)!important;
  border:1px solid #cbd5e1;
  box-shadow:0 7px 18px rgba(51,65,85,.10);
}
.member-login-sanctuary-page #memberApp .member-duty-card.transport-duty-card .member-general-info-count{
  background:#334155!important;
  color:#fff!important;
}

.member-login-sanctuary-page #memberApp .member-transport-job-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:18px!important;
  padding:15px!important;
  box-shadow:0 12px 28px rgba(31,41,55,.11)!important;
  border-width:1px!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-card::before{
  width:5px!important;
  z-index:4;
}
.member-login-sanctuary-page #memberApp .member-duty-graphic{
  position:absolute;
  display:block;
  pointer-events:none;
  z-index:0;
}
.member-login-sanctuary-page #memberApp .member-duty-graphic-one{
  width:115px;
  height:115px;
  right:-48px;
  top:-42px;
  border-radius:50%;
  filter:blur(.1px);
}
.member-login-sanctuary-page #memberApp .member-duty-graphic-two{
  width:76px;
  height:22px;
  right:22px;
  bottom:18px;
  border-radius:999px;
  transform:rotate(-34deg);
  background:rgba(255,255,255,.34);
  box-shadow:0 0 0 1px rgba(255,255,255,.18);
}
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-transport-job-head,
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-duty-grid{
  position:relative;
  z-index:2;
}

/* Airport Pick-up: electric cyan + midnight slate */
.member-login-sanctuary-page #memberApp .member-transport-job-pickup{
  border-color:#9fdce6!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(34,211,238,.28),transparent 30%),
    linear-gradient(135deg,#f7fcfd 0%,#dff5f7 52%,#e6eef4 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup::before{
  background:linear-gradient(180deg,#0891b2,#164e63)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup .member-duty-graphic-one{
  background:linear-gradient(145deg,rgba(6,182,212,.22),rgba(15,23,42,.06));
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup .member-transport-job-head>span{
  background:linear-gradient(135deg,#cffafe,#e2e8f0)!important;
  border-color:#9edce6!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-pickup .member-transport-job-head h4{
  color:#164e63!important;
}

/* Airport Drop-off: aubergine + magenta smoke */
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff{
  border-color:#d8b4cf!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(217,70,239,.20),transparent 30%),
    linear-gradient(135deg,#fff9fd 0%,#f4e5f1 52%,#eee8f3 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff::before{
  background:linear-gradient(180deg,#a21caf,#6b214f)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff .member-duty-graphic-one{
  background:linear-gradient(145deg,rgba(192,38,211,.18),rgba(91,33,68,.06));
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff .member-transport-job-head>span{
  background:linear-gradient(135deg,#fae8ff,#f3e8f0)!important;
  border-color:#dfbed6!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-dropoff .member-transport-job-head h4{
  color:#702459!important;
}

/* Other duty types: graphite + copper accent */
.member-login-sanctuary-page #memberApp .member-transport-job-other{
  border-color:#d6c7b5!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(180,83,9,.15),transparent 30%),
    linear-gradient(135deg,#fcfbf9 0%,#f3eee8 52%,#eceff1 100%)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-other::before{
  background:linear-gradient(180deg,#b45309,#57534e)!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-other .member-duty-graphic-one{
  background:linear-gradient(145deg,rgba(180,83,9,.15),rgba(68,64,60,.06));
}
.member-login-sanctuary-page #memberApp .member-transport-job-other .member-transport-job-head>span{
  background:linear-gradient(135deg,#ffedd5,#e7e5e4)!important;
  border-color:#dccab6!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-other .member-transport-job-head h4{
  color:#5f4634!important;
}

/* glass detail cells inside duty cards */
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-duty-grid>div{
  background:rgba(255,255,255,.72)!important;
  border-color:rgba(255,255,255,.86)!important;
  box-shadow:0 5px 13px rgba(33,43,54,.05);
  backdrop-filter:blur(7px);
}
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-duty-grid span{
  color:#6e7784!important;
}
.member-login-sanctuary-page #memberApp .member-transport-job-card .member-duty-grid strong{
  color:#293746!important;
}

@media(max-width:600px){
  .member-login-sanctuary-page #memberApp .member-transport-job-card{
    padding:14px!important;
    border-radius:17px!important;
  }
  .member-login-sanctuary-page #memberApp .member-duty-graphic-one{
    width:96px;
    height:96px;
  }
}


/* v177-68 — Guests Staying at My Home
   Unique CRIMSON / PEARL / COOL-GREY palette + BLACK text */

/* Outer guest section */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  border-color:#d8c9c9!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(153,27,27,.12),transparent 30%),
    radial-gradient(circle at 8% 92%,rgba(100,116,139,.10),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f7f4f4 46%,#eef1f4 100%)!important;
  box-shadow:0 16px 34px rgba(60,40,40,.08)!important;
}

/* Decorative orb — crimson/grey, no pink/mauve */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  background:
    linear-gradient(145deg,rgba(127,29,29,.16),rgba(100,116,139,.08))!important;
}

/* Guest section header */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  background:
    linear-gradient(110deg,rgba(255,255,255,.96),rgba(242,239,239,.94),rgba(238,241,244,.94))!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle *{
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#f1e7e7,#e8ecef)!important;
  border-color:#d5caca!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#8b1e1e!important;
  color:#fff!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-chevron{
  color:#000!important;
}

/* Individual stay/date cards */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#d9cccc!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(153,27,27,.11),transparent 27%),
    radial-gradient(circle at 8% 92%,rgba(100,116,139,.09),transparent 28%),
    linear-gradient(145deg,#ffffff 0%,#f8f5f5 52%,#eef1f4 100%)!important;
  box-shadow:0 10px 24px rgba(62,43,43,.07)!important;
}

/* Accent rail */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#991b1b,#64748b)!important;
}

/* Background graphical elements */
.member-login-sanctuary-page #memberApp .member-guest-graphic-one{
  border-color:rgba(255,255,255,.55)!important;
  box-shadow:0 0 0 1px rgba(127,29,29,.05)!important;
}
.member-login-sanctuary-page #memberApp .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(127,29,29,.10))!important;
}

/* Date icon */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#f2e8e8,#e7ecef)!important;
  border-color:#d7cccc!important;
  color:#000!important;
}

/* ALL guest section text black */
.member-login-sanctuary-page #memberApp .guest-home-card,
.member-login-sanctuary-page #memberApp .guest-home-card *{
  color:#000!important;
}

/* Keep count readable on crimson */
.member-login-sanctuary-page #memberApp .guest-home-card .member-general-info-count{
  color:#fff!important;
}

/* Glass detail boxes */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(255,255,255,.82)!important;
  border-color:#ddd4d4!important;
  backdrop-filter:blur(6px);
}


/* v177-69 — Guests Staying at My Home
   SILVER / PEARL / ICE-GREY only — no red, pink, mauve or purple */

/* Outer section */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  border-color:#cfd5dc!important;
  background:
    radial-gradient(circle at 91% 9%,rgba(148,163,184,.18),transparent 29%),
    radial-gradient(circle at 8% 91%,rgba(203,213,225,.20),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f5f7f9 45%,#e9eef3 100%)!important;
  box-shadow:0 16px 34px rgba(30,41,59,.08)!important;
}

/* neutral graphical orb */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  background:
    linear-gradient(145deg,rgba(71,85,105,.12),rgba(203,213,225,.12))!important;
}

/* Header */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  background:
    linear-gradient(110deg,rgba(255,255,255,.98),rgba(241,245,249,.96),rgba(226,232,240,.94))!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#f8fafc,#dfe5eb)!important;
  border-color:#cbd5e1!important;
  color:#000!important;
  box-shadow:0 7px 17px rgba(51,65,85,.09)!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#e2e8f0!important;
  border:1px solid #cbd5e1!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-chevron{
  color:#000!important;
}

/* Stay/date cards */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#cfd6dd!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(148,163,184,.15),transparent 27%),
    radial-gradient(circle at 9% 90%,rgba(226,232,240,.26),transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f7f9fb 52%,#e9eef3 100%)!important;
  box-shadow:0 10px 24px rgba(30,41,59,.07)!important;
}

/* Graphite accent rail */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#475569,#94a3b8)!important;
}

/* neutral graphical details */
.member-login-sanctuary-page #memberApp .member-guest-graphic-one{
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 0 0 1px rgba(71,85,105,.06)!important;
}
.member-login-sanctuary-page #memberApp .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(148,163,184,.14))!important;
}

/* date icon */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;
  border-color:#cbd5e1!important;
  color:#000!important;
}

/* detail boxes */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(255,255,255,.88)!important;
  border-color:#d6dce2!important;
  backdrop-filter:blur(6px);
}

/* FORCE EVERY PIECE OF TEXT IN GUEST SECTION TO BLACK */
.member-login-sanctuary-page #memberApp .guest-home-card,
.member-login-sanctuary-page #memberApp .guest-home-card button,
.member-login-sanctuary-page #memberApp .guest-home-card span,
.member-login-sanctuary-page #memberApp .guest-home-card strong,
.member-login-sanctuary-page #memberApp .guest-home-card small,
.member-login-sanctuary-page #memberApp .guest-home-card h1,
.member-login-sanctuary-page #memberApp .guest-home-card h2,
.member-login-sanctuary-page #memberApp .guest-home-card h3,
.member-login-sanctuary-page #memberApp .guest-home-card h4,
.member-login-sanctuary-page #memberApp .guest-home-card p,
.member-login-sanctuary-page #memberApp .guest-home-card b,
.member-login-sanctuary-page #memberApp .guest-home-card div{
  color:#000!important;
}

/* explicit overrides for older coloured rules */
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head h4,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head small,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid span,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-general-info-toggle strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-general-info-toggle small,
.member-login-sanctuary-page #memberApp .guest-home-card .member-general-info-count,
.member-login-sanctuary-page #memberApp .guest-home-card .member-general-info-chevron{
  color:#000!important;
}


/* v177-70 — Action Needed bulk select / Not Required */
.action-needed-toolbar-v17770{
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.action-needed-bulk-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.action-needed-selected-count{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 10px;
  border:1px solid #d9e1e8;
  border-radius:999px;
  background:#f7f9fb;
  color:#40566a;
  font-size:.72rem;
  font-weight:900;
}
.action-needed-bulk-ignore{
  background:#263f54!important;
  border-color:#263f54!important;
  color:#fff!important;
}
.action-needed-bulk-ignore:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.action-needed-selectable-list .action-needed-row{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.action-needed-selectable-list .action-needed-row.selected{
  border-color:#7ba3c2!important;
  background:linear-gradient(135deg,#f6fbff,#edf6fd)!important;
  box-shadow:0 0 0 2px rgba(73,124,164,.08);
}
.action-needed-copy{
  min-width:0;
}
.action-needed-selector{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  cursor:pointer;
  user-select:none;
}
.action-needed-selector.disabled{
  cursor:not-allowed;
  opacity:.35;
}
.action-needed-selector input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.action-needed-selector-box{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border:2px solid #9aabb9;
  border-radius:7px;
  background:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.8);
  transition:all .15s ease;
}
.action-needed-selector input:checked + .action-needed-selector-box{
  border-color:#245f8a;
  background:#245f8a;
  box-shadow:0 4px 10px rgba(36,95,138,.22);
}
.action-needed-selector input:checked + .action-needed-selector-box::after{
  content:"✓";
  color:#fff;
  font-size:.82rem;
  line-height:1;
  font-weight:950;
}
.action-needed-selector input:focus-visible + .action-needed-selector-box{
  outline:3px solid rgba(36,95,138,.18);
  outline-offset:2px;
}

@media(max-width:760px){
  .action-needed-bulk-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
  .action-needed-selectable-list .action-needed-row{
    grid-template-columns:34px minmax(0,1fr);
  }
  .action-needed-selectable-list .action-needed-row .action-needed-actions{
    grid-column:2;
    justify-content:flex-start;
  }
}


/* v177-71 — Guests Staying at My Home
   Unique CITRON / CHARTREUSE / SMOKE-GREY palette.
   No white card background. All text remains black. */

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  border-color:#b4b96c!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(190,242,100,.34),transparent 31%),
    radial-gradient(circle at 8% 92%,rgba(148,163,184,.20),transparent 29%),
    linear-gradient(135deg,#e9f29a 0%,#dce77c 46%,#c8d274 100%)!important;
  box-shadow:0 16px 36px rgba(74,85,25,.13)!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  background:
    linear-gradient(145deg,rgba(163,230,53,.26),rgba(71,85,105,.13))!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  background:
    linear-gradient(110deg,rgba(232,241,139,.96),rgba(214,226,112,.95),rgba(196,207,105,.94))!important;
  color:#000!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#dff17a,#cbd86e)!important;
  border-color:#aab45f!important;
  color:#000!important;
  box-shadow:0 7px 17px rgba(74,85,25,.14)!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#b7c85a!important;
  border:1px solid #96a348!important;
  color:#000!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-chevron{
  color:#000!important;
}

/* Individual stay/date cards */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#abb361!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(190,242,100,.34),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(100,116,139,.15),transparent 30%),
    linear-gradient(145deg,#e6ef93 0%,#d7e47b 50%,#c6d173 100%)!important;
  box-shadow:0 10px 25px rgba(74,85,25,.12)!important;
}

/* dark graphite accent rail */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#3f4a24,#68722f)!important;
}

/* decorative graphics */
.member-login-sanctuary-page #memberApp .member-guest-graphic-one{
  border-color:rgba(63,74,36,.22)!important;
  box-shadow:0 0 0 1px rgba(63,74,36,.08)!important;
  background:rgba(214,230,120,.20)!important;
}

.member-login-sanctuary-page #memberApp .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(240,248,175,.48),rgba(71,85,105,.15))!important;
}

/* Date icon */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#dff17a,#c4cf68)!important;
  border-color:#a9b35a!important;
  color:#000!important;
}

/* Non-white detail boxes */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(236,242,166,.76)!important;
  border-color:#b7c06e!important;
  backdrop-filter:blur(6px);
}

/* FORCE every text element in the Guest section to black */
.member-login-sanctuary-page #memberApp .guest-home-card,
.member-login-sanctuary-page #memberApp .guest-home-card button,
.member-login-sanctuary-page #memberApp .guest-home-card span,
.member-login-sanctuary-page #memberApp .guest-home-card strong,
.member-login-sanctuary-page #memberApp .guest-home-card small,
.member-login-sanctuary-page #memberApp .guest-home-card h1,
.member-login-sanctuary-page #memberApp .guest-home-card h2,
.member-login-sanctuary-page #memberApp .guest-home-card h3,
.member-login-sanctuary-page #memberApp .guest-home-card h4,
.member-login-sanctuary-page #memberApp .guest-home-card p,
.member-login-sanctuary-page #memberApp .guest-home-card b,
.member-login-sanctuary-page #memberApp .guest-home-card div,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid span,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head h4,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head small{
  color:#000!important;
}


/* v177-72 — Guests Staying at My Home
   LIGHT BROWN / BEIGE / SAND palette.
   All text black. Softer/lighter than v177-71. */

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  border-color:#d8c6ad!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(214,185,145,.22),transparent 30%),
    radial-gradient(circle at 8% 92%,rgba(230,218,200,.26),transparent 30%),
    linear-gradient(135deg,#f6eadb 0%,#eddcc7 48%,#e3cfb6 100%)!important;
  box-shadow:0 16px 34px rgba(104,78,47,.09)!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  background:
    linear-gradient(145deg,rgba(186,144,95,.18),rgba(226,211,191,.18))!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  background:
    linear-gradient(110deg,rgba(247,235,220,.96),rgba(238,219,197,.95),rgba(229,207,180,.94))!important;
  color:#000!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:linear-gradient(135deg,#f1dfc8,#e2c9aa)!important;
  border-color:#d3b997!important;
  color:#000!important;
  box-shadow:0 7px 17px rgba(104,78,47,.10)!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#d7bb97!important;
  border:1px solid #c2a57f!important;
  color:#000!important;
}

.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-chevron{
  color:#000!important;
}

/* Individual stay/date cards */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#d5c0a4!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(214,185,145,.22),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(236,224,207,.26),transparent 30%),
    linear-gradient(145deg,#f7ecdf 0%,#eddcc8 52%,#e1cbb0 100%)!important;
  box-shadow:0 10px 24px rgba(104,78,47,.08)!important;
}

/* warm brown accent rail */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#9a7652,#b9946b)!important;
}

/* decorative graphics */
.member-login-sanctuary-page #memberApp .member-guest-graphic-one{
  border-color:rgba(154,118,82,.18)!important;
  box-shadow:0 0 0 1px rgba(154,118,82,.06)!important;
  background:rgba(238,220,196,.25)!important;
}

.member-login-sanctuary-page #memberApp .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(250,241,230,.58),rgba(154,118,82,.12))!important;
}

/* Date icon */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#f0dec5,#e0c5a3)!important;
  border-color:#d1b58f!important;
  color:#000!important;
}

/* Light beige detail boxes */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(249,239,225,.82)!important;
  border-color:#dcc7aa!important;
  backdrop-filter:blur(6px);
}

/* FORCE every text element in the Guest section to black */
.member-login-sanctuary-page #memberApp .guest-home-card,
.member-login-sanctuary-page #memberApp .guest-home-card button,
.member-login-sanctuary-page #memberApp .guest-home-card span,
.member-login-sanctuary-page #memberApp .guest-home-card strong,
.member-login-sanctuary-page #memberApp .guest-home-card small,
.member-login-sanctuary-page #memberApp .guest-home-card h1,
.member-login-sanctuary-page #memberApp .guest-home-card h2,
.member-login-sanctuary-page #memberApp .guest-home-card h3,
.member-login-sanctuary-page #memberApp .guest-home-card h4,
.member-login-sanctuary-page #memberApp .guest-home-card p,
.member-login-sanctuary-page #memberApp .guest-home-card b,
.member-login-sanctuary-page #memberApp .guest-home-card div,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid span,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head h4,
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-entry-head small{
  color:#000!important;
}


/* =========================================================
   v177-73 — Planning efficiency suite
   ========================================================= */

/* Global Search */
.planning-global-search{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:14px 0 16px;
  padding:12px 14px!important;
  border:1px solid #cbd9e4;
  background:linear-gradient(135deg,#f8fbfd,#edf4f8);
  box-shadow:0 10px 26px rgba(38,71,96,.07);
  z-index:45;
}
.planning-global-search-icon{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#dfeaf2,#f6fafc);
  border:1px solid #c8d7e2;color:#294f6b;font-size:1.25rem;font-weight:900;
}
.planning-global-search-main{min-width:0}
.planning-global-search-main label{display:block;font-size:.68rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:#526f84;margin-bottom:3px}
.planning-global-search-main input{width:100%;border:0;background:transparent;outline:none;color:#17364b;font:inherit;font-size:.92rem;padding:5px 0}
.planning-global-search-results{
  position:absolute;left:12px;right:12px;top:calc(100% + 6px);
  max-height:480px;overflow:auto;padding:8px;
  border:1px solid #cbd8e2;border-radius:16px;background:#fff;
  box-shadow:0 22px 50px rgba(26,52,73,.20);z-index:250;
}
.planning-global-search-result{
  width:100%;display:grid;grid-template-columns:110px minmax(0,1fr) 24px;gap:10px;align-items:center;
  padding:10px;border:0;border-bottom:1px solid #edf1f4;background:transparent;text-align:left;cursor:pointer;border-radius:10px;
}
.planning-global-search-result:hover{background:#f2f7fa}
.planning-search-type{display:inline-flex;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#e8f0f6;color:#31546d;font-size:.62rem;font-weight:950;text-transform:uppercase}
.planning-search-copy{min-width:0;display:grid;gap:2px}.planning-search-copy strong{color:#17364b}.planning-search-copy small{color:#6c8090}.planning-search-copy em{color:#536b7c;font-style:normal;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planning-search-arrow{font-size:1.2rem;color:#6b8294}
.planning-global-search-empty{padding:16px;text-align:center;color:#718393}

/* Day Planning Complete lock */
.planning-day-lock-bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:12px 0 14px;padding:12px 14px;border:1px solid #cfdbe4;border-radius:14px;
  background:linear-gradient(135deg,#f8fafc,#edf3f7);
}
.planning-day-lock-bar.locked{
  border-color:#d1b574;
  background:linear-gradient(135deg,#fff9e9,#f5e8c8);
  box-shadow:0 8px 18px rgba(113,82,28,.08);
}
.planning-day-lock-copy{display:flex;align-items:center;gap:11px;min-width:0}
.planning-day-lock-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.72);border:1px solid rgba(109,126,140,.18)}
.planning-day-lock-copy strong,.planning-day-lock-copy small{display:block}.planning-day-lock-copy strong{color:#1d3b50;font-size:.82rem}.planning-day-lock-copy small{margin-top:2px;color:#667b8b;font-size:.72rem;line-height:1.4}
.planning-lock-btn{background:#243f54!important;border-color:#243f54!important;color:#fff!important}
.day-lock-badge{display:inline-flex;margin-top:4px;padding:3px 6px;border-radius:999px;background:#f3e3b8;color:#72571e!important;font-size:.58rem;font-weight:950;text-transform:uppercase}

/* Readiness by Convention */
.planning-readiness-section,.planning-internal-notes-section{margin-top:16px;padding:16px!important}
.planning-readiness-head h3,.planning-internal-notes-head h3{margin:3px 0 4px;color:#17364b}.planning-readiness-head p,.planning-internal-notes-head p{margin:0;color:#6b7f90;font-size:.82rem}
.planning-readiness-list{display:grid;gap:10px;margin-top:13px}
.planning-readiness-card{
  width:100%;display:grid;grid-template-columns:68px minmax(0,1fr) 24px;gap:13px;align-items:center;
  text-align:left;border:1px solid #d9e3ea;border-radius:16px;padding:12px;background:linear-gradient(135deg,#fff,#f7fafc);cursor:pointer;
}
.planning-readiness-card:hover,.planning-readiness-card.active{border-color:#8eb4cf;box-shadow:0 8px 20px rgba(48,90,120,.08)}
.planning-readiness-card.ready{background:linear-gradient(135deg,#f5fbf7,#eff8f2)}
.planning-readiness-card.progress{background:linear-gradient(135deg,#fffdf5,#faf6e8)}
.planning-readiness-card.attention{background:linear-gradient(135deg,#fff8f8,#fbefef)}
.planning-readiness-ring{
  --readiness:0;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#335f7f calc(var(--readiness)*1%),#dce5eb 0);
  position:relative;
}
.planning-readiness-ring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.planning-readiness-ring span{position:relative;z-index:1;color:#23465f;font-size:.72rem;font-weight:950}
.planning-readiness-main{min-width:0}.planning-readiness-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.planning-readiness-title strong{color:#17364b}.planning-readiness-title>span{color:#718698;font-size:.68rem}.planning-readiness-locked{font-size:.62rem;padding:3px 6px;border-radius:999px;background:#f0dfb5;color:#6b521d}
.planning-readiness-checks{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.planning-readiness-checks span{padding:4px 6px;border-radius:8px;font-size:.62rem;font-weight:850}.planning-readiness-checks .ok{background:#e7f3ea;color:#2f6540}.planning-readiness-checks .missing{background:#f5eeee;color:#875050}
.planning-readiness-main>small{color:#718395}.planning-readiness-arrow{font-size:1.3rem;color:#71889a}

/* Internal Notes */
.planning-note-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:13px 0}
.planning-note-composer textarea{min-height:74px;resize:vertical;border:1px solid #cfdbe4;border-radius:13px;padding:10px 12px;font:inherit;color:#17364b;background:#fbfdfe;outline:none}
.planning-note-composer textarea:focus{border-color:#78a7c6;box-shadow:0 0 0 3px rgba(63,121,161,.10)}
.planning-internal-notes-list{display:grid;gap:9px}.planning-internal-note{padding:11px 12px;border:1px solid #dbe4ea;border-radius:13px;background:#f9fbfc}.planning-internal-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.planning-internal-note-head strong,.planning-internal-note-head small{display:block}.planning-internal-note-head strong{color:#23485f;font-size:.78rem}.planning-internal-note-head small{margin-top:2px;color:#7a8b98;font-size:.65rem}.planning-internal-note p{margin:8px 0 0;color:#324d60;font-size:.82rem;white-space:pre-wrap;line-height:1.45}.planning-note-delete{width:28px;height:28px;border:1px solid #d8e0e6;border-radius:9px;background:#fff;color:#7a5555;cursor:pointer}

/* Action Needed filters */
.action-needed-filter-panel{padding:11px 12px;margin-bottom:10px;border:1px solid #d8e2e9;border-radius:14px;background:linear-gradient(135deg,#f9fbfc,#f1f6f9)}
.action-needed-filter-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:9px}.action-needed-filter-head strong{color:#26465c}.action-needed-filter-head small{color:#708392}
.action-needed-filter-buttons{display:flex;flex-wrap:wrap;gap:7px}
.action-needed-filter-btn{border:1px solid #cfdbe4;background:#fff;color:#466276;border-radius:999px;padding:6px 9px;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}
.action-needed-filter-btn b{margin-left:4px;padding:2px 5px;border-radius:999px;background:#edf2f5;color:#5d7485;font-size:.58rem}
.action-needed-filter-btn.active{background:#294d68;border-color:#294d68;color:#fff}.action-needed-filter-btn.active b{background:rgba(255,255,255,.18);color:#fff}

@media(max-width:760px){
  .planning-global-search{grid-template-columns:40px minmax(0,1fr)}.planning-global-search>button{grid-column:1/-1;width:100%}.planning-global-search-results{left:4px;right:4px}
  .planning-global-search-result{grid-template-columns:82px minmax(0,1fr) 18px}
  .planning-day-lock-bar{align-items:stretch;flex-direction:column}.planning-day-lock-bar .btn{width:100%}
  .planning-readiness-card{grid-template-columns:58px minmax(0,1fr) 18px}.planning-readiness-ring{width:52px;height:52px}
  .planning-note-composer{grid-template-columns:1fr}.planning-note-composer .btn{width:100%}
}


/* v177-75 — Missing member affected-record drill-down */
.planning-integrity-details-btn{
  background:#334f64!important;
  border-color:#334f64!important;
  color:#fff!important;
}
.planning-member-integrity-intro{
  padding:13px 14px;
  border:1px solid #e5c5c8;
  border-radius:14px;
  background:linear-gradient(135deg,#fff8f8,#fbefef);
  color:#4b3940;
  margin-bottom:12px;
}
.planning-member-integrity-intro strong{display:block;color:#7b3340}
.planning-member-integrity-intro p{margin:7px 0 0;font-size:.8rem;line-height:1.45;color:#66525a}
.planning-member-integrity-list{display:grid;gap:9px}
.planning-member-integrity-record{
  display:grid;
  grid-template-columns:130px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #dbe4ea;
  border-radius:14px;
  background:#fbfdfe;
}
.planning-member-integrity-area{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:#e8f0f5;
  color:#35566c;
  font-size:.65rem;
  font-weight:950;
}
.planning-member-integrity-copy{min-width:0}
.planning-member-integrity-copy strong,.planning-member-integrity-copy small,.planning-member-integrity-copy em{display:block}
.planning-member-integrity-copy strong{color:#213f54}
.planning-member-integrity-copy small{margin-top:2px;color:#758896}
.planning-member-integrity-copy p{margin:6px 0 3px;color:#4a6172;font-size:.78rem;line-height:1.4}
.planning-member-integrity-copy em{font-style:normal;color:#8b99a4;font-size:.64rem}
@media(max-width:760px){
  .planning-member-integrity-record{grid-template-columns:1fr}
  .planning-member-integrity-record .btn{width:100%}
}


/* v177-77 — Action Needed category filters
   Rows use display:grid!important, so hidden rows need an equally explicit rule. */
.action-needed-selectable-list .action-needed-row.hidden,
.action-needed-selectable-list .action-needed-row[hidden]{
  display:none!important;
}


/* v177-79 — transparent Action Needed evidence */
.action-needed-detail{
  color:#4c6171;
  line-height:1.45;
}
.action-needed-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 9px;
  margin-top:9px;
}
.action-needed-fact{
  min-width:0;
  padding:7px 9px;
  border:1px solid #e1e9ef;
  border-radius:10px;
  background:#f8fbfd;
}
.action-needed-fact span{
  display:block;
  margin-bottom:2px;
  color:#718695;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.action-needed-fact strong{
  display:block;
  margin:0;
  color:#263f52;
  font-size:.72rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .action-needed-facts{grid-template-columns:1fr}
}


/* v177-81 — Action Needed readability + plain-language guidance */
.action-needed-selectable-list{
  gap:14px!important;
}
.action-needed-selectable-list .action-needed-row{
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  padding:18px!important;
  border-radius:18px!important;
  border-width:1.5px!important;
  box-shadow:0 5px 16px rgba(35,66,88,.05);
}
.action-needed-selectable-list .action-needed-row .action-needed-actions{
  grid-column:2!important;
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start!important;
  padding-top:4px;
}
.action-needed-selectable-list .action-needed-row .action-needed-actions .btn{
  min-height:40px;
  padding:9px 13px;
  font-size:.78rem;
  font-weight:850;
}
.action-needed-copy{
  min-width:0;
}
.action-needed-title-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.action-needed-title{
  font-size:1.05rem!important;
  line-height:1.32!important;
  color:#172f42!important;
  letter-spacing:-.01em;
}
.action-needed-inline-badge{
  flex:0 0 auto;
  font-size:.68rem!important;
  padding:5px 8px!important;
}
.action-needed-meta{
  margin-top:5px;
  color:#607687;
  font-size:.82rem;
  font-weight:750;
  line-height:1.4;
}
.action-needed-explain{
  display:grid;
  gap:9px;
  margin-top:13px;
}
.action-needed-why,
.action-needed-fix-guide{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:12px 13px;
  border-radius:14px;
}
.action-needed-why{
  border:1px solid #efd49d;
  background:linear-gradient(135deg,#fffaf0,#fff6df);
}
.action-needed-fix-guide{
  border:1px solid #b9dcc9;
  background:linear-gradient(135deg,#f4fbf7,#ebf8f1);
}
.action-needed-explain-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:1rem;
  font-weight:950;
}
.action-needed-why .action-needed-explain-icon{
  background:#f9df9d;
  color:#6f5008;
}
.action-needed-fix-guide .action-needed-explain-icon{
  background:#cbead8;
  color:#175a36;
}
.action-needed-explain h4,
.action-needed-current-details h4{
  margin:0 0 5px;
  font-size:.8rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.action-needed-why h4{color:#6d520d}
.action-needed-fix-guide h4{color:#1e6741}
.action-needed-explain p{
  margin:0;
  color:#344b5b;
  font-size:.9rem;
  line-height:1.55;
  font-weight:560;
}
.action-needed-current-details{
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid #e2eaf0;
}
.action-needed-current-details>h4{
  color:#516b7d;
  margin-bottom:8px;
}
.action-needed-facts{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}
.action-needed-fact{
  padding:10px 11px!important;
  border-radius:12px!important;
  background:#f7fafc!important;
}
.action-needed-fact span{
  font-size:.66rem!important;
  margin-bottom:4px!important;
}
.action-needed-fact strong{
  font-size:.82rem!important;
  line-height:1.45!important;
  color:#274154!important;
}
.action-needed-selector{
  margin-top:2px;
}
.action-needed-selector-box{
  width:25px!important;
  height:25px!important;
}
.action-needed-filter-panel{
  padding:14px!important;
}
.action-needed-filter-head strong{
  font-size:.92rem;
}
.action-needed-filter-head small{
  font-size:.78rem;
}
.action-needed-filter-btn{
  padding:8px 11px!important;
  font-size:.76rem!important;
}
.action-needed-filter-btn b{
  font-size:.64rem!important;
}
#actionNeededFilterSummary,
.action-needed-selected-count{
  font-size:.78rem!important;
  font-weight:800;
}
@media(max-width:760px){
  .action-needed-selectable-list .action-needed-row{
    grid-template-columns:34px minmax(0,1fr)!important;
    padding:14px 12px!important;
  }
  .action-needed-title{font-size:.98rem!important}
  .action-needed-meta{font-size:.78rem}
  .action-needed-explain p{font-size:.86rem}
  .action-needed-facts{grid-template-columns:1fr!important}
  .action-needed-why,.action-needed-fix-guide{
    grid-template-columns:32px minmax(0,1fr);
    padding:11px;
  }
  .action-needed-explain-icon{width:29px;height:29px}
  .action-needed-selectable-list .action-needed-row .action-needed-actions .btn{
    flex:1 1 145px;
    min-height:42px;
  }
}


/* v177-82 — standalone Action Needed cards */
.action-needed-card-list{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-top:16px;
}
.action-needed-card-list .action-needed-card{
  display:block!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #dbe5ec!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 9px 26px rgba(27,54,74,.09)!important;
}
.action-needed-card-list .action-needed-card.hidden,
.action-needed-card-list .action-needed-card[hidden]{
  display:none!important;
}
.action-needed-card-list .action-needed-card::before{
  content:"";
  display:block;
  height:5px;
  background:#63859d;
}
.action-needed-card-list .action-needed-card[data-alert-tone="flight"]::before{background:#3f82bd}
.action-needed-card-list .action-needed-card[data-alert-tone="stay"]::before{background:#4f8f72}
.action-needed-card-list .action-needed-card[data-alert-tone="transport"]::before{background:#9a7241}
.action-needed-card-list .action-needed-card[data-alert-tone="food"]::before{background:#b27f39}
.action-needed-card-list .action-needed-card[data-alert-tone="publishing"]::before{background:#7769a0}
.action-needed-card-list .action-needed-card[data-alert-tone="member"]::before{background:#527f88}
.action-needed-card-list .action-needed-card[data-alert-tone="travel"]::before{background:#5078a3}
.action-needed-card-list .action-needed-card[data-alert-tone="critical"]::before,
.action-needed-card-list .action-needed-card.action-needed-card-critical::before{background:#b95d5d}

.action-needed-card-header{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:18px;
  border-bottom:1px solid #edf2f5;
}
.action-needed-category-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid #e1e9ee;
  border-radius:15px;
  background:#f4f7f9;
  font-size:1.65rem;
  line-height:1;
}
.action-needed-card-heading{min-width:0}
.action-needed-card-pills{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}
.action-needed-category-pill{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef4f7;
  color:#496474;
  font-size:.68rem;
  font-weight:900;
}
.action-needed-card .action-needed-title{
  margin:0!important;
  color:#163146!important;
  font-size:1.12rem!important;
  line-height:1.35!important;
  font-weight:900!important;
}
.action-needed-card .action-needed-meta{
  margin-top:6px;
  color:#607888;
  font-size:.85rem;
  line-height:1.4;
  font-weight:750;
}
.action-needed-card-select{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-height:39px;
  padding:7px 10px!important;
  border:1px solid #dce6eb;
  border-radius:11px;
  background:#fafcfd;
  cursor:pointer;
}
.action-needed-card-select em{
  color:#5f7585;
  font-size:.72rem;
  font-style:normal;
  font-weight:850;
}
.action-needed-card-select .action-needed-selector-box{
  width:23px!important;
  height:23px!important;
}

.action-needed-card-body{
  padding:16px 18px 18px;
}
.action-needed-card .action-needed-explain{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0;
}
.action-needed-card .action-needed-why,
.action-needed-card .action-needed-fix-guide{
  display:block;
  padding:14px 15px;
  border-radius:15px;
}
.action-needed-card .action-needed-explain-icon{
  display:block;
  width:auto;
  height:auto;
  margin:0 0 8px;
  background:transparent!important;
  font-size:1.4rem;
  line-height:1;
}
.action-needed-card .action-needed-explain h4{
  margin:0 0 6px;
  font-size:.79rem;
  line-height:1.2;
}
.action-needed-card .action-needed-explain p{
  margin:0;
  color:#344b5b;
  font-size:.91rem;
  line-height:1.56;
}
.action-needed-card .action-needed-why{
  border:1px solid #eed5a1;
  background:#fff9ed;
}
.action-needed-card .action-needed-fix-guide{
  border:1px solid #bcdcca;
  background:#f1faf5;
}

.action-needed-card .action-needed-current-details{
  margin-top:14px;
  padding:14px;
  border:1px solid #e0e8ed;
  border-radius:15px;
  background:#f9fbfc;
}
.action-needed-section-heading{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
}
.action-needed-section-heading>span{font-size:1.1rem}
.action-needed-section-heading h4{
  margin:0!important;
  color:#506979!important;
  font-size:.79rem!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.action-needed-card .action-needed-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.action-needed-card .action-needed-fact{
  padding:10px 11px!important;
  border:1px solid #e3eaf0!important;
  border-radius:11px!important;
  background:#fff!important;
}
.action-needed-card .action-needed-fact span{
  color:#708694;
  font-size:.65rem!important;
  font-weight:900;
}
.action-needed-card .action-needed-fact strong{
  color:#294254!important;
  font-size:.85rem!important;
  line-height:1.46!important;
}

.action-needed-card-actions{
  display:flex!important;
  grid-column:auto!important;
  flex-wrap:wrap;
  justify-content:flex-start!important;
  gap:9px;
  padding:13px 18px 17px!important;
  border-top:1px solid #edf2f5;
  background:#fbfcfd;
}
.action-needed-card-actions .btn{
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:11px!important;
  font-size:.79rem!important;
  font-weight:850!important;
}
.action-needed-card.selected{
  border-color:#8bb2cd!important;
  box-shadow:0 0 0 3px rgba(66,124,164,.13),0 9px 26px rgba(27,54,74,.09)!important;
}
.action-needed-card.action-needed-card-critical{
  border-color:#e3c0c0!important;
}

@media(max-width:820px){
  .action-needed-card-list{gap:15px}
  .action-needed-card-header{
    grid-template-columns:46px minmax(0,1fr);
    gap:11px;
    padding:14px 13px 13px;
  }
  .action-needed-category-icon{
    width:44px;
    height:44px;
    border-radius:13px;
    font-size:1.4rem;
  }
  .action-needed-card-select{
    grid-column:1 / -1;
    justify-self:start;
  }
  .action-needed-card-body{padding:13px}
  .action-needed-card .action-needed-explain{grid-template-columns:1fr}
  .action-needed-card .action-needed-title{font-size:1.01rem!important}
  .action-needed-card .action-needed-meta{font-size:.8rem}
  .action-needed-card .action-needed-explain p{font-size:.88rem}
  .action-needed-card .action-needed-facts{grid-template-columns:1fr!important}
  .action-needed-card-actions{padding:12px 13px 15px!important}
  .action-needed-card-actions .btn{flex:1 1 150px}
}

/* v177-83 specific alert guidance */
.action-needed-card .action-needed-explain p{
  overflow-wrap:anywhere;
}


/* v177-85 — Day planning completion + Action Needed rule */
.day-manage-card.planning-complete{
  border-color:#9bc9ad!important;
  background:linear-gradient(135deg,#f2fbf5,#e8f7ee)!important;
  box-shadow:0 7px 20px rgba(38,111,68,.10)!important;
}
.day-manage-card.planning-complete .day{
  background:transparent!important;
}
.day-manage-card.planning-complete .day strong{
  color:#195c36!important;
}
.day-manage-card.planning-complete .day-number,
.day-manage-card.planning-complete .day-date{
  color:#47755a!important;
}
.day-planning-complete-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:7px;
  padding:4px 8px;
  border:1px solid #abd2b9;
  border-radius:999px;
  background:#dcf2e4;
  color:#176239;
  font-size:.68rem;
  font-weight:900;
}
.day-card-actions .complete-planning{
  color:#176239!important;
  background:#e8f7ee!important;
  border-color:#abd3b9!important;
  font-weight:900!important;
}
.day-card-actions .complete-planning:hover{
  background:#d9f0e2!important;
}
.day-card-actions .reopen-planning{
  color:#536a58!important;
  background:#f3f7f4!important;
  border-color:#cad8cd!important;
  font-weight:850!important;
}
.action-needed-complete-rule{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid #bcdcca;
  border-radius:14px;
  background:#f1faf5;
}
.action-needed-complete-rule>span{
  font-size:1.25rem;
  line-height:1.2;
}
.action-needed-complete-rule strong{
  display:block;
  color:#205f3c;
  font-size:.86rem;
}
.action-needed-complete-rule small{
  display:block;
  margin-top:3px;
  color:#4f6c5b;
  font-size:.76rem;
  line-height:1.45;
}
@media(max-width:760px){
  .day-card-actions .complete-planning,
  .day-card-actions .reopen-planning{
    flex-basis:100%;
  }
}


/* v177-86 — completed Day card: black text + standard action buttons */
.day-manage-card.planning-complete .day,
.day-manage-card.planning-complete .day strong,
.day-manage-card.planning-complete .day .day-number,
.day-manage-card.planning-complete .day .day-date,
.day-manage-card.planning-complete .day .day-check{
  color:#111!important;
}

/* Keep the green completed card/background, but make the completed label easy to read */
.day-manage-card.planning-complete .day-planning-complete-badge{
  color:#111!important;
  font-weight:800!important;
}



/* v177-87 — Complete Planning is a proper boxed day action button */
.day-card-actions .complete-planning,
.day-card-actions .reopen-planning{
  border:0!important;
  background:#f7faff!important;
  color:#22578f!important;
  padding:9px!important;
  font-weight:850!important;
  cursor:pointer!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:normal!important;
  min-height:auto!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.day-card-actions .complete-planning:hover,
.day-card-actions .reopen-planning:hover{
  background:#eef5fc!important;
  color:#22578f!important;
}
.day-card-actions .complete-planning:active,
.day-card-actions .reopen-planning:active{
  transform:scale(.98);
}

/* With three actions, give each action its own equal boxed cell */
.day-card-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.day-card-actions .complete-planning,
.day-card-actions .reopen-planning{
  border-left:1px solid #e4eaf2!important;
}
@media(max-width:760px){
  .day-card-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .day-card-actions .complete-planning,
  .day-card-actions .reopen-planning{
    flex-basis:auto!important;
  }
}


/* v177-88 — Guests Staying at My Home
   Keep the SECTION / HEADER neutral.
   ONLY the individual guest stay cards are light brown. */

/* Outer section is neutral, not brown */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card{
  border-color:#cfe0ee!important;
  background:linear-gradient(180deg,#f8fcff,#ffffff)!important;
  box-shadow:0 7px 20px rgba(28,73,111,.07)!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card::before{
  display:none!important;
}

/* Header remains neutral */
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle{
  background:transparent!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-toggle-icon{
  background:#e8f4fe!important;
  border-color:#d3e4f0!important;
  color:#000!important;
  box-shadow:none!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-count{
  background:#e7f2fb!important;
  border-color:#d2e3ef!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .member-duty-card.guest-home-card .member-general-info-chevron{
  background:#123f68!important;
  color:#fff!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-content{
  background:#fff!important;
}

/* ONLY the individual stay cards use light brown / beige */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#d5c0a4!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(214,185,145,.18),transparent 28%),
    linear-gradient(145deg,#f8eee2 0%,#efdfcd 52%,#e6d1b7 100%)!important;
  box-shadow:0 10px 24px rgba(104,78,47,.08)!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#9a7652,#b9946b)!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:#f1dfc8!important;
  border-color:#d3b997!important;
  color:#000!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:#f8ead8!important;
  border-color:#dcc7aa!important;
}

/* Guest card text stays black */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card *{
  color:#000!important;
}


/* v177-89 — Guests Staying at My Home
   Lighter inner guest card only. All text inside guest card is solid black. */

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#e2d2bd!important;
  background:
    radial-gradient(circle at 92% 10%,rgba(225,204,176,.14),transparent 31%),
    radial-gradient(circle at 8% 92%,rgba(245,237,226,.34),transparent 32%),
    linear-gradient(145deg,#fffaf4 0%,#f8eee2 54%,#f2e3d1 100%)!important;
  box-shadow:0 9px 22px rgba(104,78,47,.065)!important;
}

/* Softer warm accent rail */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#c5a781,#d4b996)!important;
}

/* Lighter date icon */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#fbf1e5,#f0dfca)!important;
  border-color:#dfcab0!important;
  color:#000!important;
}

/* Lighter inner detail boxes */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:#fff7ee!important;
  border-color:#e6d5c0!important;
}

/* Decorative graphics kept very subtle */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-graphic-one{
  border-color:rgba(181,145,103,.10)!important;
  background:rgba(250,241,230,.16)!important;
  box-shadow:none!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(194,160,119,.07))!important;
}

/* FORCE every visible text element inside each guest stay card to black */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card *,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h1,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h2,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h3,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h4,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card span,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card small,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card p,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card div{
  color:#000!important;
}


/* v177-90 — Guests Staying at My Home
   Solid black text + more visible light beige/brown effect */

.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card{
  border-color:#d9c2a4!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(205,166,116,.24),transparent 30%),
    radial-gradient(circle at 10% 90%,rgba(246,230,208,.52),transparent 34%),
    linear-gradient(145deg,#fff8ef 0%,#f4e4d1 48%,#ead2b5 100%)!important;
  box-shadow:0 10px 24px rgba(110,80,45,.10)!important;
}

/* Make the warm visual effect clearly visible */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card::before{
  background:linear-gradient(180deg,#b88c5f,#d0ad82)!important;
  width:5px!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-guest-graphic-one{
  border-color:rgba(167,120,72,.20)!important;
  background:rgba(236,210,179,.30)!important;
  box-shadow:0 0 0 1px rgba(167,120,72,.09)!important;
}
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-guest-graphic-two{
  background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(184,140,95,.18))!important;
}

/* Date icon remains light but visible */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-entry-head>span{
  background:linear-gradient(135deg,#f8ead8,#e9cfb1)!important;
  border-color:#d8b98f!important;
  color:#000!important;
}

/* Inner info boxes slightly distinct from the card */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card .member-duty-grid>div{
  background:rgba(255,248,239,.94)!important;
  border-color:#dec5a5!important;
}

/* ABSOLUTE BLACK: all visible text inside every individual guest card */
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card *,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h1,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h2,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h3,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h4,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h5,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card h6,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card p,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card span,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card small,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card strong,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card b,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card em,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card div,
.member-login-sanctuary-page #memberApp .guest-home-card .member-guest-stay-card label{
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  opacity:1!important;
}


/* v177-91 — compact stay-gap evidence */
.action-needed-card .action-needed-fact span{
  line-height:1.25;
}


/* v177-93 — small alert button on affected planning cards */
.inline-card-alert-btn{
  background:#fff3d6!important;
  border:1px solid #e7b84f!important;
  color:#6b4700!important;
  font-weight:900!important;
  white-space:nowrap;
}
.inline-card-alert-btn:hover{background:#ffe8ad!important;color:#563800!important}
.inline-card-alert-btn b{
  display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;
  border-radius:999px;background:#a52a2a;color:#fff;font-size:.68rem;
}
.has-inline-alert{border-color:#e7c276!important;box-shadow:0 9px 24px rgba(154,100,10,.10)!important}
.inline-alert-modal-list{display:grid;gap:13px}
.inline-alert-modal-card{border:1px solid #ead6a7;border-radius:17px;background:#fffdf8;overflow:hidden}
.inline-alert-modal-title{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-bottom:1px solid #f0e2bd;background:#fff8e7}
.inline-alert-modal-title>span{font-size:1.2rem}.inline-alert-modal-title strong{display:block;color:#2b251a}.inline-alert-modal-title small{display:block;margin-top:3px;color:#75684e}
.inline-alert-why,.inline-alert-current{padding:13px 14px}.inline-alert-why>span,.inline-alert-current>span{display:block;font-size:.67rem;font-weight:950;letter-spacing:.06em;color:#84610e;margin-bottom:6px}
.inline-alert-why p{margin:0;color:#111;line-height:1.5;font-weight:750}
.inline-alert-current{border-top:1px solid #f1e7ce;display:grid;gap:8px}.inline-alert-current>span{margin-bottom:0}.inline-alert-current>div{display:grid;grid-template-columns:minmax(125px,.45fr) minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px dashed #eee2c6}.inline-alert-current>div:first-of-type{border-top:0}.inline-alert-current small{font-weight:850;color:#6f6248}.inline-alert-current strong{color:#111;overflow-wrap:anywhere}
@media(max-width:700px){.inline-alert-current>div{grid-template-columns:1fr;gap:3px}.inline-card-alert-btn{font-size:.78rem!important}}


/* v177-94 — simple Problem / Fix alert presentation */
.action-needed-simple{
  display:grid!important;
  gap:10px!important;
}
.action-needed-simple .action-needed-problem,
.inline-alert-problem{
  border-color:#edc6c0!important;
  background:#fff7f5!important;
}
.action-needed-simple .action-needed-problem h4,
.inline-alert-problem>span{
  color:#8b2e21!important;
}
.action-needed-simple .action-needed-fix-guide,
.inline-alert-fix{
  border:1px solid #bfe0c8;
  border-radius:14px;
  background:#f3fbf5;
}
.inline-alert-fix{
  padding:12px 14px;
  margin-top:9px;
}
.inline-alert-fix>span{
  display:block;
  margin-bottom:5px;
  color:#24643a;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
}
.inline-alert-fix p{
  margin:0;
  color:#17221a;
  font-size:.92rem;
  font-weight:750;
  line-height:1.45;
}
.action-needed-simple p{
  font-size:.94rem!important;
  line-height:1.46!important;
  font-weight:750!important;
}
.action-needed-key-details{
  margin-top:10px!important;
}
.action-needed-key-details .action-needed-facts{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.action-needed-key-details .action-needed-fact strong{
  overflow-wrap:anywhere;
}
.inline-alert-current>span{
  letter-spacing:.08em;
}
@media(max-width:760px){
  .action-needed-key-details .action-needed-facts{
    grid-template-columns:1fr!important;
  }
}


/* v177-95 — inline alert placement is exact-record/member matched in planning.js.
   No broad Home/Motel-name attachment to a child stay card. */


/* v177-100 — inline Alert modal Not Required action */
.inline-alert-footer-actions{
  align-items:center;
}
.inline-alert-not-required-btn{
  border-color:#c6ccd4!important;
  background:#fff!important;
}


/* v177-103 — keep completed/alert state styling but hide the old label */
.day-planning-complete-badge-hidden{
  display:none!important;
}




/* v177-105 — Day 9 title/time layout */
.day9-programme-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin-top:1px;
  width:100%;
}
.day9-programme-name{
  display:block;
  font-size:13px;
  line-height:1.25;
}
.day9-programme-second{
  margin-top:4px;
}
.day9-programme-time{
  display:block;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.day9-arrow{
  font-size:14px;
  line-height:1;
}


/* v177-106 — Day 9 exact title / arrow / time flow */
.day9-programme-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  width:100%!important;
}
.day9-programme-name{
  display:block!important;
  font-weight:800!important;
  -webkit-text-fill-color:currentColor!important;
}
.day9-programme-and{
  display:block!important;
  margin-top:5px!important;
  font-weight:800!important;
  -webkit-text-fill-color:currentColor!important;
}
.day9-arrow{
  display:block!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
}
.day9-programme-time{
  display:block!important;
  margin-top:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

/* Member App — Day 9 is a programme, not a "... CONVENTION" title */
.member-day9-programme-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin:3px 0 5px;
}
.member-day9-programme-title strong{
  display:block;
  font-weight:800!important;
  -webkit-text-fill-color:currentColor!important;
}
.member-day9-programme-title b{
  display:block;
  font-size:12px;
  font-weight:800!important;
  -webkit-text-fill-color:currentColor!important;
}
.member-day9-programme-title .member-day9-and{
  margin-top:5px;
}
.member-day9-arrow{
  display:block;
  font-size:16px;
  line-height:1;
  font-weight:800;
}


/* v177-107 — requested Member App / Day 9 UI cleanup */

/* Day 9: no arrow marks; keep headings and times bold/clear */
.day9-arrow,
.member-day9-arrow{
  display:none!important;
}
.day9-programme-time,
.member-day9-programme-title b{
  font-weight:800!important;
}

/* All convention venue cards: church icon + Location button centred */
.member-login-sanctuary-page #memberApp .member-convention-venue{
  align-items:center!important;
}
.member-login-sanctuary-page #memberApp .member-convention-venue-icon{
  font-size:24px!important;
}
.member-login-sanctuary-page #memberApp .member-convention-venue .member-convention-location-btn{
  grid-column:1 / -1!important;
  justify-self:center!important;
  width:min(100%,220px)!important;
  min-width:0!important;
  margin:5px auto 0!important;
  justify-content:center!important;
  text-align:center!important;
}
.member-login-sanctuary-page #memberApp .member-convention-venue .member-convention-location-btn .member-map-location-copy{
  align-items:center!important;
  text-align:center!important;
}

/* Food & Service: badge directly below the date */
.member-login-sanctuary-page #memberApp .food-day-head.food-day-head-stacked{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:7px!important;
}
.member-login-sanctuary-page #memberApp .food-day-head.food-day-head-stacked .badge{
  align-self:flex-start!important;
}

/* Guest Staying at My Home: guest list uses full width after address removal */
.member-login-sanctuary-page #memberApp .guest-home-card .member-duty-grid>div.full{
  grid-column:1 / -1!important;
}


/* v177-108 — Administrator System Health / reliability pack */
.system-health-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:16px;
}
.system-health-head p{margin:5px 0 0;color:#667f92}
.system-health-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.system-health-card{
  display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;
  padding:15px;border:1px solid #dce7ef;border-radius:17px;background:#fff;
}
.system-health-card.ok{border-color:#bfe3cf;background:#f7fcf9}
.system-health-card.amber{border-color:#ead8a7;background:#fffaf0}
.system-health-card.red,.system-health-card.bad{border-color:#efc4c4;background:#fff7f7}
.system-health-icon{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:#eef5fb;font-size:20px;font-weight:950;
}
.system-health-card small{display:block;color:#71889b;font-weight:900;letter-spacing:.08em;font-size:.65rem}
.system-health-card strong{display:block;margin-top:3px;color:#173e5e;font-size:1rem}
.system-health-card p{margin:5px 0;color:#61788b;font-size:.8rem;line-height:1.4}
.system-health-card span:not(.system-health-icon){display:block;color:#718597;font-size:.72rem}
.system-health-actions{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;
  padding:16px;border:1px solid #d7e4ee;border-radius:17px;
  background:linear-gradient(135deg,#f5faff,#fffaf0);
}
.system-health-actions small{color:#6d8496;font-weight:900;letter-spacing:.08em}
.system-health-actions h3{margin:4px 0 5px;color:#173e5e}
.system-health-actions p{margin:0;max-width:720px;color:#647b8e;line-height:1.5}
.system-health-buttons{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.system-health-note{
  display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:12px 14px;
  border-radius:13px;background:#f7f9fb;border:1px solid #e1e8ee;
  color:#62788a;font-size:.78rem;line-height:1.45
}
.system-health-note strong{color:#244a68;white-space:nowrap}
@media(max-width:760px){
  .system-health-grid{grid-template-columns:1fr}
  .system-health-actions{align-items:flex-start;flex-direction:column}
  .system-health-buttons{width:100%;justify-content:stretch}
  .system-health-buttons .btn{flex:1 1 100%}
  .system-health-note{flex-direction:column}
}


/* v177-109 — Planning Portal targeted Send Notification */
.planning-notification-card{
  margin-top:16px;
  padding:18px;
  border-radius:20px;
  border:1px solid #cadcf0;
  background:linear-gradient(135deg,#f8fbff,#ffffff 55%,#f5f0ff);
}
.planning-notification-head{gap:14px;margin-bottom:14px}
.planning-notification-title{display:flex;align-items:flex-start;gap:12px}
.planning-notification-title h3{margin:2px 0 4px;color:#163e68}
.planning-notification-title p{margin:0;color:#647b90}
.planning-notification-icon{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,#dbeafe,#ede9fe);font-size:21px;flex:0 0 auto
}
.planning-notification-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);
  gap:15px;
}
.planning-notification-compose,.planning-notification-history{
  border:1px solid #dce6ef;border-radius:17px;background:#fff;padding:15px;
}
.planning-notification-compose>h4,.planning-notification-history h4{margin-top:0;color:#173e66}
.planning-notification-note{
  display:flex;gap:9px;align-items:flex-start;padding:10px 11px;margin-bottom:12px;
  border-radius:12px;background:#f5f8fc;border:1px solid #e0e8f0
}
.planning-notification-note>span{font-size:16px}
.planning-notification-note strong,.planning-notification-note small{display:block}
.planning-notification-note strong{color:#355875;font-size:.8rem}
.planning-notification-note small{margin-top:2px;color:#71869a;font-size:.7rem}
.notification-target-choice{
  display:flex;gap:9px;flex-wrap:wrap
}
.notification-target-choice label{
  display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #d8e4ee;
  border-radius:12px;background:#fbfdff;font-weight:800;color:#385b77;cursor:pointer
}
.notification-member-list{max-height:315px;overflow:auto}
.notification-picker-disabled{opacity:.46;pointer-events:none}
.planning-notification-history-list{display:grid;gap:9px;margin-top:12px}
.planning-notification-history-item{
  display:flex;justify-content:space-between;gap:12px;padding:12px;
  border:1px solid #e1e8ef;border-radius:14px;background:#fbfdff
}
.planning-notification-history-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.planning-notification-history-item h4{margin:7px 0 4px!important}
.planning-notification-history-item p{
  margin:0 0 6px;color:#607589;white-space:pre-wrap;line-height:1.42
}
.planning-notification-history-item small{color:#8293a2}
@media(max-width:1000px){
  .planning-notification-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .planning-notification-card{padding:13px}
  .planning-notification-history-item{flex-direction:column}
  .notification-target-choice{display:grid;grid-template-columns:1fr}
}

/* v177-109 — targeted Member App notifications */
.member-notification-area{
  display:grid;gap:9px;margin:12px 0
}
.member-notification-area:empty{display:none}
.member-notification-card{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 32px;
  gap:10px;
  align-items:start;
  padding:13px 12px;
  border:1px solid #bcd5f1;
  border-left:4px solid #377bc2;
  border-radius:17px;
  background:linear-gradient(135deg,#eef7ff,#ffffff 72%,#f5f1ff);
  box-shadow:0 8px 20px rgba(35,83,131,.08)
}
.member-notification-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:#dcecff;font-size:17px
}
.member-notification-copy{min-width:0}
.member-notification-kicker{
  font-size:.58rem;font-weight:950;letter-spacing:.1em;color:#52799d;margin-bottom:2px
}
.member-notification-copy strong{display:block;color:#163f68}
.member-notification-copy p{margin:4px 0 5px;color:#566f84;line-height:1.45;white-space:pre-wrap}
.member-notification-copy small{color:#7f93a5;font-size:.67rem}
.member-notification-dismiss{
  width:30px;height:30px;border-radius:50%;border:1px solid #d3e0eb;background:#fff;
  color:#5f7890;font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer
}
.member-notification-dismiss:hover{background:#edf5fc;color:#244f73}
@media(max-width:600px){
  .member-notification-card{grid-template-columns:36px minmax(0,1fr) 30px;padding:11px 10px}
  .member-notification-icon{width:34px;height:34px}
}


/* v177-110 — lock-screen push permission prompt */
.member-notification-menu-item>span{background:#eaf3ff!important;color:#2768a7!important}
.member-notification-menu-item.is-enabled{color:#23704e;background:#f1fbf6}
.member-notification-menu-item.is-enabled>span{background:#dff5e9!important;color:#257653!important}
.member-push-prompt-backdrop{z-index:13000}
.member-push-prompt{
  max-width:450px;
  text-align:center;
  padding:26px 24px 22px;
}
.member-push-prompt-icon{
  width:68px;height:68px;border-radius:22px;margin:0 auto 13px;
  display:grid;place-items:center;font-size:31px;
  background:linear-gradient(135deg,#dbeafe,#ede9fe);
  box-shadow:0 12px 28px rgba(36,89,150,.14)
}
.member-push-prompt h2{margin:0;color:#123d66}
.member-push-prompt p{margin:9px auto 18px;color:#607589;line-height:1.5;max-width:370px}
.member-push-prompt-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.member-push-prompt #memberPushPromptMsg{margin-top:10px}
@media(max-width:520px){
  .member-push-prompt{margin:14px;padding:22px 17px 18px}
  .member-push-prompt-actions{grid-template-columns:1fr}
}

/* v177-110 — Planning push delivery status */
.notification-push-summary{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:7px
}
.notification-push-summary span{
  display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;
  background:#eef6fd;color:#426a8b;font-size:.64rem;font-weight:850
}
.notification-push-summary .push-failed{background:#fff4e8;color:#9a601e}
.notification-push-summary .push-expired{background:#fff1f1;color:#9c4242}


/* v177-111 — Planning notification Delete */
.notification-delete-btn{
  background:#fff5f5!important;
  border:1px solid #efc8c8!important;
  color:#9a3434!important;
}
.notification-delete-btn:hover{
  background:#ffeaea!important;
  border-color:#e8abab!important;
}

/* v177-111 — Admin Push Notifications status */
.push-admin-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:16px
}
.push-admin-head p{margin:5px 0 0;color:#667f92}
.push-admin-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;margin-bottom:13px
}
.push-admin-summary>div{
  padding:14px;border:1px solid #dce7ef;border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fbfe)
}
.push-admin-summary span{
  display:block;color:#71879a;font-size:.7rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em
}
.push-admin-summary strong{
  display:block;margin-top:4px;color:#123f69;font-size:1.45rem
}
.push-admin-note{
  display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:13px;
  border:1px solid #dce7ef;border-radius:14px;background:#f7faff;
  color:#607589;font-size:.78rem;line-height:1.45
}
.push-admin-note strong{color:#244f73;white-space:nowrap}
.push-admin-table-wrap{border:1px solid #dce5ed;border-radius:16px;background:#fff}
.push-admin-table small{color:#8395a5}
.push-admin-table td{vertical-align:top}
@media(max-width:900px){
  .push-admin-summary{grid-template-columns:repeat(2,1fr)}
  .push-admin-note{flex-direction:column}
}
@media(max-width:520px){
  .push-admin-summary{grid-template-columns:1fr 1fr}
}


/* v177-114 — Administrator Control Centre */
.control-centre-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.control-centre-head p{margin:5px 0 0;color:#667f92;max-width:820px}.control-centre-head-actions{display:flex;gap:9px;flex-wrap:wrap}.control-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.control-summary-grid>div{padding:14px;border:1px solid #d9e5ee;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfe)}.control-summary-grid span,.control-summary-grid strong,.control-summary-grid small{display:block}.control-summary-grid>div>span{font-size:.68rem;color:#71889b;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.control-summary-grid>div>strong{margin-top:5px;color:#133f68;font-size:1.25rem}.control-summary-grid>div>small{margin-top:4px;color:#7b8e9f}.control-panel{padding:16px;border:1px solid #d9e5ee;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(24,63,99,.045);margin-bottom:13px}.control-panel>small,.control-panel-head small{display:block;color:#74899a;font-weight:900;letter-spacing:.08em;font-size:.64rem}.control-panel h3{margin:4px 0 12px;color:#173f67}.control-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.control-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.control-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.control-check-list{display:grid;gap:8px}.control-check-list.compact{gap:6px}.control-check-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;border:1px solid #e0e8ef;border-radius:12px;background:#fbfdff}.control-check-row>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef4f9;font-weight:950}.control-check-row strong,.control-check-row p,.control-check-row small{display:block}.control-check-row p{margin:2px 0;color:#647a8d;font-size:.78rem}.control-check-row small{color:#7d8f9f;line-height:1.4}.control-check-row.pass{border-color:#cce6d8;background:#f8fcfa}.control-check-row.pass>span{background:#e1f5ea;color:#23704e}.control-check-row.warning{border-color:#ecdba9;background:#fffaf0}.control-check-row.warning>span{background:#fff0c9;color:#89601d}.control-check-row.critical{border-color:#efc6c6;background:#fff7f7}.control-check-row.critical>span{background:#ffe1e1;color:#a23b3b}.control-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f4}.control-toggle-row strong,.control-toggle-row small{display:block}.control-toggle-row small{margin-top:2px;color:#75899a;max-width:520px}.control-switch{position:relative;width:52px;height:30px;flex:0 0 52px}.control-switch input{opacity:0;width:0;height:0}.control-switch span{position:absolute;inset:0;border-radius:999px;background:#ccd7df;cursor:pointer;transition:.2s}.control-switch span:before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}.control-switch input:checked+span{background:#2d7a5b}.control-switch input:checked+span:before{transform:translateX(22px)}.control-metric-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:8px 0;border-bottom:1px solid #eef2f5}.control-metric-line:last-child{border-bottom:0}.control-metric-line span{color:#5f7689}.control-metric-line strong{color:#173f66}.control-metric-line small{grid-column:1/-1;color:#8a9aa8;font-size:.68rem}.control-version-list,.control-list{display:grid;gap:7px}.control-version-list>div,.control-list>div{padding:10px 11px;border:1px solid #e2e9ef;border-radius:12px;background:#fbfdff}.control-version-list>div.current{border-color:#b9dfcb;background:#f6fcf8}.control-version-list strong,.control-version-list span,.control-version-list small,.control-list strong,.control-list span,.control-list small{display:block}.control-version-list span,.control-list span{margin-top:2px;color:#61788b}.control-version-list small,.control-list small{margin-top:2px;color:#8a99a7}.control-error-list>div{border-left:4px solid #e1a8a8}.control-diagnostic-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border-radius:12px;background:#f5f8fb}.import-preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}.import-preview-summary>div{padding:11px;border:1px solid #dfe7ee;border-radius:13px;background:#f9fbfd}.import-preview-summary span,.import-preview-summary strong{display:block}.import-preview-summary span{font-size:.68rem;color:#71869a;font-weight:850}.import-preview-summary strong{margin-top:3px;font-size:1.25rem;color:#173f66}.import-preview-summary .ok{background:#f6fcf8;border-color:#cae5d5}.import-preview-summary .warn{background:#fffaf0;border-color:#ead9ab}.import-preview-summary .bad{background:#fff7f7;border-color:#efc6c6}.member-system-alert-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px 14px;border:2px solid #e0a34b;border-radius:17px;background:linear-gradient(135deg,#fff6df,#fff);box-shadow:0 8px 20px rgba(128,85,22,.09)}.member-system-alert-card>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#ffe9b7}.member-system-alert-card small,.member-system-alert-card strong{display:block}.member-system-alert-card small{font-size:.6rem;letter-spacing:.08em;color:#8a621f;font-weight:950}.member-system-alert-card strong{color:#704c14;margin-top:2px}.member-system-alert-card p{margin:4px 0 0;color:#675838;line-height:1.45;white-space:pre-wrap}@media(max-width:1050px){.control-summary-grid{grid-template-columns:repeat(2,1fr)}.control-three-col{grid-template-columns:1fr}.control-two-col{grid-template-columns:1fr}}@media(max-width:650px){.control-summary-grid{grid-template-columns:1fr}.control-centre-head-actions{width:100%;display:grid;grid-template-columns:1fr}.control-centre-head-actions .btn{width:100%}.import-preview-summary{grid-template-columns:1fr 1fr}.control-panel{padding:13px}}


/* v177-118 — Member convention card date/time/address */
.member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-datetime{
  display:block!important;
  margin-top:7px!important;
  color:#405f79!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.35!important;
}
.member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-address{
  display:block!important;
  margin-top:3px!important;
  color:#657b8d!important;
  font-size:.71rem!important;
  font-weight:720!important;
  line-height:1.35!important;
}
@media(max-width:760px){
  .member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-datetime{font-size:.70rem!important}
  .member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-address{font-size:.66rem!important}
}


/* v177-121 — professional calendar + clock metadata icons */
.member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-datetime{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 12px!important;
}
.member-login-sanctuary-page #memberApp .member-convention-meta-item{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.member-login-sanctuary-page #memberApp .member-convention-meta-svg{
  width:13px!important;
  height:13px!important;
  flex:0 0 13px!important;
  color:#55738b!important;
}
@media(max-width:760px){
  .member-login-sanctuary-page #memberApp .member-convention-hub-main .member-convention-hub-datetime{gap:4px 9px!important}
  .member-login-sanctuary-page #memberApp .member-convention-meta-svg{width:12px!important;height:12px!important;flex-basis:12px!important}
}


/* v177-141 — Planning General Information readability + planner quick member add */
.planning-member-add-card{margin:16px 0 20px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d9e7f5;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);box-shadow:0 10px 28px rgba(18,55,92,.07)}
.planning-member-add-copy{display:flex;align-items:center;gap:14px;min-width:0}.planning-member-add-copy h3{margin:2px 0 4px;color:#082f67}.planning-member-add-copy p{margin:0;color:#607589;line-height:1.45;max-width:780px}.planning-member-add-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;background:#0b5fbe;color:#fff;font-size:1.55rem;font-weight:800;box-shadow:0 8px 18px rgba(11,95,190,.18)}
.general-info-admin-item{padding:0;overflow:hidden;border-color:#d9e5ef;box-shadow:0 8px 24px rgba(20,52,84,.055)}
.general-info-admin-item.is-published{border-left:4px solid #1d9a62}.general-info-admin-item.is-draft{border-left:4px solid #4384c5}
.general-info-admin-copy{padding:18px 18px 16px;flex:1}.general-info-admin-buttons{padding:18px 16px;border-left:1px solid #edf1f5;background:#fafcfe;align-content:flex-start}
.general-info-audience-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:#eef3f8;color:#52687d;font-size:.78rem;font-weight:800}.general-info-audience-pill.all-members{background:#e8f7ef;color:#147647}
.general-info-card-heading{display:flex;align-items:center;gap:11px;margin:13px 0 14px}.general-info-card-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef6ff;box-shadow:inset 0 0 0 1px #d7e8f8;flex:0 0 auto}.general-info-card-heading h4{margin:0!important;font-size:1.12rem!important;color:#173d64}.general-info-card-heading span{display:block;margin-top:2px;color:#81909e;font-size:.78rem;font-weight:700}
.general-info-message-list{display:grid;gap:8px}.general-info-message-block{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:#f7f9fb;border:1px solid #edf1f4}.general-info-message-block p{margin:0!important;color:#344d63!important;line-height:1.45!important;white-space:pre-wrap}.general-info-message-dot{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#e7f1fb;color:#1764ad;font-size:.72rem;font-weight:900}
.general-info-recipient-summary{margin-top:13px;padding:10px 12px;border-radius:12px;background:#f1f7fc;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.general-info-recipient-summary>span{color:#75899c;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.general-info-recipient-summary>strong{color:#173d64}.general-info-recipient-summary>small{width:100%;color:#7d8e9c;white-space:normal;line-height:1.4}
.general-info-card-footer{margin-top:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;color:#8a99a7;font-size:.78rem}.general-info-all-note{color:#238157;font-weight:800}
@media(max-width:760px){.planning-member-add-card{align-items:flex-start;flex-direction:column}.planning-member-add-card>.btn{width:100%}.general-info-admin-item{flex-direction:column}.general-info-admin-buttons{border-left:0;border-top:1px solid #edf1f5;padding:12px 16px;justify-content:flex-start}.general-info-admin-buttons .btn{flex:1}.general-info-card-footer{align-items:flex-start;flex-direction:column;gap:4px}}

/* v177-142 – Notes stay inside their matching job or meal. */
.member-meal-note{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.58);grid-column:1/-1;white-space:pre-wrap;}
.member-meal-note strong{font-size:.85rem;}
.compact-transport-main .member-driver-note{margin-top:8px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.62);white-space:pre-wrap;}
.meal-plan-card .food-service-note{width:100%;margin-top:8px;white-space:pre-wrap;}

/* v177-143: clean, readable information cards; limited to member and planning information UI. */
.planning-page .planning-general-info-card{background:#fff;border:1px solid #dbe6ef;border-radius:22px;padding:22px;box-shadow:0 12px 32px rgba(18,46,84,.055)}
.planning-page .planning-general-info-title h3{font-size:1.35rem;letter-spacing:-.025em}
.planning-page .planning-general-info-icon{color:#155ca3;background:#eaf3fd;border-radius:14px;box-shadow:none;font-weight:850}
.planning-page .general-info-admin-list{gap:15px}
.planning-page .general-info-admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;overflow:hidden;border:1px solid #e2eaf3;border-radius:20px;background:#fff;box-shadow:0 6px 24px rgba(13,45,81,.045)}
.planning-page .general-info-admin-item.is-published{border-left:4px solid #159361}
.planning-page .general-info-admin-item.is-draft{border-left:4px solid #6489ba}
.planning-page .general-info-admin-copy{min-width:0;padding:20px 22px 17px}
.planning-page .general-info-admin-top{gap:8px}
.planning-page .general-info-state{display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-size:.77rem;font-weight:800;padding:6px 11px}
.planning-page .general-info-state.published{background:#e9f8ef;color:#18764e}
.planning-page .general-info-state.draft{background:#eff4fa;color:#486784}
.planning-page .general-info-audience-pill{padding:6px 11px;background:#f1f5fa;color:#35546f}
.planning-page .general-info-audience-pill.all-members{background:#e9f4ff;color:#145d9b}
.planning-page .general-info-card-heading{margin:16px 0;gap:12px}
.planning-page .general-info-card-icon{background:#eaf3ff;color:#145b9a;width:42px;height:42px;border:0;box-shadow:none;font-size:1.15rem}
.planning-page .general-info-card-heading h4{font-size:1.16rem!important;line-height:1.3}
.planning-page .general-info-card-heading span{font-weight:500;font-size:.81rem;color:#6b7f90}
.planning-page .general-info-message-section{padding:14px;border:1px solid #e7eef5;background:#f8fafc;border-radius:15px}
.planning-page .general-info-section-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#637a91;letter-spacing:.08em;font-weight:850;font-size:.69rem}
.planning-page .general-info-section-label span{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#e6f0fa;color:#225f95;font-size:.73rem;letter-spacing:normal}
.planning-page .general-info-message-list{display:grid;gap:8px}
.planning-page .general-info-message-block{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border:1px solid #eaf0f5;border-radius:11px;background:#fff}
.planning-page .general-info-message-block p{margin:0!important;color:#29475f!important;line-height:1.55!important;white-space:pre-wrap;overflow-wrap:anywhere}
.planning-page .general-info-message-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e9f2fb;color:#2465a1;font-size:.72rem;font-weight:850}
.planning-page .general-info-more{margin-top:10px;padding-top:8px;border-top:1px solid #e5ecf3}
.planning-page .general-info-more summary{cursor:pointer;list-style:none;padding:6px 2px;color:#175d9d;font-weight:800;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:8px}
.planning-page .general-info-more summary::-webkit-details-marker{display:none}
.planning-page .general-info-more[open] summary span{transform:rotate(180deg)}
.planning-page .general-info-more .general-info-message-list{margin-top:8px}
.planning-page .general-info-recipient-summary{margin-top:14px;border-radius:12px;background:#f0f6fc;padding:11px 13px}
.planning-page .general-info-card-footer{margin-top:12px;font-size:.78rem;color:#75889c}
.planning-page .general-info-admin-buttons{min-width:117px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:9px;padding:20px 15px;border-left:1px solid #e9eff5;background:#fbfcfe}
.planning-page .general-info-admin-buttons .btn{white-space:nowrap;min-width:88px}
.member-general-info-card{box-shadow:0 6px 22px rgba(28,73,111,.065)}
.member-general-info-content{padding:9px 13px 13px}
.member-general-info-content .member-general-info-item{margin-top:8px;padding:13px 14px;border:1px solid #e6edf4;border-radius:13px;background:#f8fafc}
.member-general-info-content .member-general-info-item:last-child{border-bottom:1px solid #e6edf4}
.member-general-info-content .member-general-info-item h4{margin:0 0 10px;color:#173f66}
.member-general-info-reminders{display:grid;gap:8px}
.member-general-info-content .member-general-info-reminder{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;margin:0;padding:10px 11px;border:1px solid #e9eff5;background:#fff;border-radius:10px;color:#345269;line-height:1.48;overflow-wrap:anywhere}
.member-general-info-check{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e6f4ed;color:#26784f;font-size:.7rem;font-weight:900}
@media(max-width:760px){.planning-page .planning-general-info-card{padding:14px}.planning-page .general-info-admin-item{grid-template-columns:minmax(0,1fr)}.planning-page .general-info-admin-copy{padding:16px 14px}.planning-page .general-info-admin-buttons{min-width:0;border-left:0;border-top:1px solid #e9eff5;padding:12px 14px;flex-direction:row;flex-wrap:wrap}.planning-page .general-info-admin-buttons .btn{min-width:0;flex:1}.planning-page .general-info-message-section{padding:10px}}


/* v177-144: Breakfast alone uses a one-column, mobile-safe reading layout.
   Deliberately not .meal-row: the old grid collapses a column beside notes. */
.member-login-sanctuary-page #memberApp .member-food-card .member-breakfast-stack {
  display:flex; flex-direction:column; align-items:stretch; gap:10px;
  width:100%; max-width:100%; min-width:0; box-sizing:border-box;
  padding:17px 0 18px; border-top:1px solid rgba(170,126,32,.18);
  white-space:normal; word-break:normal;
}
.member-login-sanctuary-page #memberApp .member-breakfast-heading {
  display:flex; align-items:flex-start; gap:12px; min-width:0; width:100%;
}
.member-login-sanctuary-page #memberApp .member-breakfast-icon {
  flex:0 0 40px; width:40px; height:40px; border-radius:13px;
  display:grid; place-items:center; background:rgba(255,255,255,.86);
  font-size:1.2rem;
}
.member-login-sanctuary-page #memberApp .member-breakfast-heading-copy {
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  min-width:0; flex:1; max-width:100%;
}
.member-login-sanctuary-page #memberApp .member-breakfast-kicker {
  display:block; font-weight:850; font-size:.72rem; letter-spacing:.08em; color:#7a5411;
}
.member-login-sanctuary-page #memberApp .member-breakfast-place {
  display:block; font-size:1.04rem; line-height:1.38; color:#1b2e46;
  white-space:normal; overflow-wrap:break-word; max-width:100%;
}
.member-login-sanctuary-page #memberApp .member-breakfast-time,
.member-login-sanctuary-page #memberApp .member-breakfast-address {
  display:flex; align-items:flex-start; gap:9px; width:100%; min-width:0;
  font-size:.94rem; line-height:1.48; color:#34445a;
}
.member-login-sanctuary-page #memberApp .member-breakfast-time > :first-child,
.member-login-sanctuary-page #memberApp .member-breakfast-address > :first-child {flex:0 0 22px;}
.member-login-sanctuary-page #memberApp .member-breakfast-address > :last-child {
  min-width:0; max-width:100%; white-space:normal; overflow-wrap:break-word;
}
.member-login-sanctuary-page #memberApp .member-breakfast-open {
  align-self:flex-start; display:inline-flex; justify-content:center; align-items:center;
  min-height:42px; max-width:100%; padding:10px 16px;
  border:1px solid #d6c187; border-radius:12px;
  background:rgba(255,255,255,.9); color:#644b17;
  text-decoration:none; font-weight:800; box-sizing:border-box;
}
.member-login-sanctuary-page #memberApp .member-breakfast-note {
  display:flex; flex-direction:column; gap:6px; width:100%; min-width:0;
  box-sizing:border-box; margin-top:3px; padding:13px 15px;
  border:1px solid #eadfcb; border-radius:13px; background:rgba(255,255,255,.86);
  color:#435062;
}
.member-login-sanctuary-page #memberApp .member-breakfast-note strong {font-size:.88rem; color:#223a55;}
.member-login-sanctuary-page #memberApp .member-breakfast-note p {
  margin:0; line-height:1.55; white-space:pre-wrap; overflow-wrap:break-word;
}
.member-login-sanctuary-page #memberApp .member-assigned-pickup-details {
  display:grid; gap:10px; margin-top:12px; min-width:0;
}
.member-login-sanctuary-page #memberApp .member-assigned-pickup-details > div {
  display:flex; flex-direction:column; gap:3px; min-width:0;
}
.member-login-sanctuary-page #memberApp .member-assigned-pickup-details span {
  color:#56718c; font-size:.78rem;
}
.member-login-sanctuary-page #memberApp .member-assigned-pickup-details strong {
  color:#183a60; overflow-wrap:break-word;
}
.member-login-sanctuary-page #memberApp .member-assigned-pickup-note {
  margin-top:12px; padding:12px 13px; background:rgba(255,255,255,.82);
  border:1px solid rgba(80,132,187,.2); border-radius:12px;
  display:flex; flex-direction:column; gap:5px; white-space:pre-wrap;
}
@media(max-width:720px){
  .member-login-sanctuary-page #memberApp .member-food-card .member-breakfast-stack {gap:9px;}
  .member-login-sanctuary-page #memberApp .member-breakfast-note {width:100%;}
}

/* v177-151 — a note belongs to an individual family/date Home stay. */
.home-stay-note-field{margin-top:14px;min-width:0}
.home-stay-note-field textarea{width:100%;max-width:100%;box-sizing:border-box;resize:vertical;min-height:84px}
.home-date-guest-note{margin:12px 0;padding:12px 14px;border:1px solid #dce7f2;background:#f5f9fe;border-radius:12px;min-width:0;overflow-wrap:break-word}
.home-date-guest-note strong{display:block;color:#24476e;font-size:.85rem;margin-bottom:5px}
.home-date-guest-note p{margin:0;line-height:1.5;color:#26394f;white-space:normal;overflow-wrap:anywhere}
.member-guest-stay-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.85);border:1px solid rgba(58,95,139,.15);color:#1d3655;min-width:0;overflow-wrap:anywhere}
.member-guest-stay-note strong{display:block;font-size:.83rem;margin-bottom:6px}
.member-guest-stay-note p{margin:0;line-height:1.55;white-space:normal;overflow-wrap:anywhere}

/* v177-157: bulk Home City editing in Admin Member Management */
.admin-home-city-select{min-width:145px;max-width:195px;width:100%;font:inherit;padding:8px 26px 8px 9px;border-radius:9px;}
.admin-home-city-select.home-city-pending{border:2px solid #d97706;background:#fffbeb;}
#homeCitySaveStatus{margin:8px 0 12px;}
@media(max-width:780px){.admin-home-city-select{min-width:130px;}}

/* v177-161 — Manage Travellers: accessible Save/Cancel with large bulk selections.
   Scoped to the assignment dialog; other Planning forms and the Member App are unaffected. */
.planning-page .planning-modal.journey-assign-modal{
  display:flex;
  flex-direction:column;
  max-height:min(94dvh,94vh);
  overflow:hidden;
}
.planning-page .journey-assign-modal .planning-modal-head{flex:0 0 auto;position:relative;top:auto;z-index:5}
.planning-page .journey-assign-modal .planning-modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.planning-page .journey-assign-modal .traveller-combobox{position:relative;top:auto}
.planning-page .journey-assign-modal .traveller-chips{
  max-height:105px;
  overflow-y:auto;
  overscroll-behavior:contain;
  align-content:flex-start;
}
.planning-page .journey-assign-modal .traveller-results{max-height:220px;overflow-y:auto}
.planning-page .journey-assign-modal .road-manage-allocation-panel{max-height:250px;overflow-y:auto}
.planning-page .journey-assign-modal .journey-assign-footer{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  width:100%;
  margin:0!important;
  padding:12px 18px max(12px,env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid #dbe7f3;
  box-shadow:0 -6px 24px rgba(13,45,79,.11);
  position:relative;
  z-index:6;
}
.planning-page .journey-assign-modal .journey-assign-summary{
  flex:1 1 auto;
  min-width:100px;
  color:#24486e;
  font-size:.85rem;
  font-weight:700;
}
.planning-page .journey-assign-modal #memberMsg{flex:1 0 100%;order:5;max-height:92px;overflow:auto}
.planning-page .journey-assign-modal #memberMsg:empty{display:none}
@media(max-width:700px){
  .planning-page .planning-modal.journey-assign-modal{max-height:calc(100dvh - 8px)}
  .planning-page .journey-assign-modal .journey-assign-footer{flex-direction:row;gap:8px;padding:10px 12px max(12px,env(safe-area-inset-bottom))}
  .planning-page .journey-assign-modal .journey-assign-footer .btn{width:auto;min-width:0;flex:1 1 125px}
  .planning-page .journey-assign-modal .journey-assign-footer #memberSave{flex:2 1 170px}
  .planning-page .journey-assign-modal .journey-assign-summary{flex:1 0 100%}
}

/* v177-168 Programme Template Library */
.programme-chooser-head{gap:14px}.programme-library-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 16px;padding:6px;border:1px solid #dbe5f0;background:#f7faff;border-radius:16px;width:max-content;max-width:100%}.programme-library-tab{border:0;background:transparent;color:var(--navy);font-weight:900;padding:10px 14px;border-radius:12px;cursor:pointer}.programme-library-tab.active{background:#fff;box-shadow:0 5px 16px rgba(8,43,104,.12)}.programme-template-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:5px;padding:0 7px;border-radius:999px;background:#eaf2ff;font-size:.76rem}.programme-library-tab.active .programme-template-count{background:#dceaff}.template-library-intro{padding:18px 20px;margin-bottom:14px}.template-library-intro h3{margin:3px 0 4px}.template-library-intro p{margin:0;color:#56687a;max-width:850px}.template-tile{border-style:dashed}.template-source{margin-top:2px}.template-counts{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.template-counts span{background:#f1f6fc;border:1px solid #dbe6f1;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:800;color:#486179}.programme-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.programme-card-actions [data-open],.programme-card-actions [data-use-template]{grid-column:1/-1}.template-actions{grid-template-columns:1.5fr .8fr}.template-actions [data-use-template]{grid-column:auto}.template-save-explainer,.template-use-explainer{padding:14px 15px;border:1px solid #dce7f3;background:#f7faff;border-radius:14px;margin-bottom:16px}.template-save-explainer p,.template-use-explainer p{margin:5px 0 12px;color:#53667a}.template-save-explainer p:last-child,.template-use-explainer p:last-child{margin-bottom:0}
@media(max-width:720px){.programme-library-tabs{width:100%}.programme-library-tab{flex:1}.programme-card-actions{grid-template-columns:1fr 1fr}.programme-card-actions [data-open]{grid-column:1/-1}.template-actions{grid-template-columns:1fr}.template-actions [data-use-template]{grid-column:auto}.programme-chooser-head .btn{width:100%}}


/* v177-174 — Monthly Meeting Member UI + Ministry Publishing */
.monthly-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.monthly-admin-head p{max-width:760px;margin:7px 0 0;color:var(--muted,#65758b);line-height:1.55}.monthly-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.monthly-admin-summary>div{padding:15px 17px;border:1px solid #dce5ef;border-radius:16px;background:#f8fbff}.monthly-admin-summary strong{display:block;font-size:24px;color:#102a43}.monthly-admin-summary span{font-size:12px;color:#6b7c93;font-weight:750}.monthly-admin-country{display:flex;align-items:center;gap:8px;margin:8px 0 12px;font-size:14px}.monthly-admin-country span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#edf2f7;color:#34495e;font-size:12px;font-weight:900}.monthly-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.monthly-admin-card{border:1px solid #d9e2ec;border-top:3px solid #8da2b5;background:#fff;border-radius:15px;padding:16px;box-shadow:0 6px 18px rgba(31,55,79,.06)}.monthly-admin-card.is-published{border-top-color:#147d64}.monthly-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.monthly-admin-card-head small{display:block;font-size:10px;letter-spacing:.1em;font-weight:900;color:#8292a6}.monthly-admin-card-head h3{margin:3px 0 0;color:#172b4d}.monthly-admin-detail{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 0;border-top:1px solid #eef2f6}.monthly-admin-detail>span{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef4f7;color:#527487}.monthly-admin-detail b{font-size:12px;color:#2d3748}.monthly-admin-detail p{margin:2px 0;font-size:13px;line-height:1.45;color:#596779}.monthly-admin-detail p strong{color:#344054}.monthly-admin-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #eef2f6;margin-top:3px}.monthly-contact-rows{display:grid;gap:9px;margin-top:8px}.monthly-contact-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:8px;align-items:center}.monthly-contact-remove{width:36px;height:36px;border:0;border-radius:10px;background:#fff0f0;color:#a61b1b;font-size:20px;cursor:pointer}.monthly-meeting-form textarea{resize:vertical}

.member-monthly-meetings-area{margin-top:18px}.member-monthly-meetings{position:relative}.member-monthly-hero{position:relative;overflow:hidden;min-height:86px;margin-bottom:18px;border:1px solid rgba(73,127,179,.68);border-radius:24px;background:linear-gradient(110deg,#0c3770 0%,#0f4e89 60%,#1a6ba2 100%);box-shadow:0 10px 22px rgba(8,48,97,.14),inset 0 1px 0 rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;padding:16px 22px}.member-monthly-hero::after{content:"";position:absolute;left:-110px;bottom:0;width:92px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9),rgba(255,255,255,0));box-shadow:0 0 9px rgba(255,255,255,.5);animation:memberMonthlyHeroLine 4.2s ease-in-out infinite}@keyframes memberMonthlyHeroLine{0%{transform:translateX(0);opacity:.15}18%{opacity:.95}72%{opacity:.85}100%{transform:translateX(calc(100vw + 220px));opacity:.08}}@media(prefers-reduced-motion:reduce){.member-monthly-hero::after{animation:none;left:38%;width:24%;opacity:.45}}.member-monthly-hero h2{position:relative;z-index:2;margin:0;color:#fff;font-size:clamp(1.16rem,2.1vw,1.58rem);line-height:1.1;font-weight:850;letter-spacing:-.01em;text-align:center;text-shadow:none}.member-monthly-hero-ring{position:absolute;border-radius:50%;pointer-events:none}.member-monthly-hero-ring-one{width:168px;height:168px;right:-34px;top:-18px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at center,rgba(255,255,255,.05) 0,rgba(255,255,255,0) 64%)}.member-monthly-hero-ring-two{width:104px;height:104px;right:8px;top:24px;border:1px solid rgba(255,255,255,.20);background:radial-gradient(circle at center,rgba(255,255,255,.06) 0,rgba(255,255,255,0) 68%)}
.member-monthly-meeting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.member-monthly-meeting-card{position:relative;overflow:hidden;border:1px solid var(--city-border,rgba(22,48,78,.12));border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(250,252,255,.97) 100%);padding:0;box-shadow:0 16px 34px rgba(13,30,52,.07),0 2px 6px rgba(13,30,52,.04);backdrop-filter:blur(8px);isolation:isolate}.member-monthly-meeting-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--city-bar,linear-gradient(90deg,#0f4c81 0%,#2c8c7c 100%))}.member-monthly-meeting-glow{position:absolute;top:-28px;right:-28px;width:168px;height:168px;border-radius:50%;background:var(--city-glow,radial-gradient(circle,rgba(15,76,129,.12) 0,rgba(15,76,129,0) 72%));pointer-events:none;z-index:0;opacity:.95}.member-monthly-card-orb{position:absolute;right:18px;bottom:18px;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.72) 0,rgba(255,255,255,.18) 60%,rgba(255,255,255,0) 74%);border:1px solid rgba(255,255,255,.42);opacity:.85;pointer-events:none}.member-monthly-card-line{position:absolute;right:10px;bottom:10px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(255,255,255,.28);opacity:.45;pointer-events:none}
.member-monthly-meeting-card.city-auckland{--city-bar:linear-gradient(90deg,#214d9c 0%,#5f8df2 100%);--city-border:#dce6fb;--city-glow:radial-gradient(circle,rgba(96,141,242,.18) 0,rgba(96,141,242,0) 74%)}.member-monthly-meeting-card.city-hamilton{--city-bar:linear-gradient(90deg,#11664e 0%,#2ca87f 100%);--city-border:#d9eee6;--city-glow:radial-gradient(circle,rgba(44,168,127,.16) 0,rgba(44,168,127,0) 74%)}.member-monthly-meeting-card.city-palmerston-north,.member-monthly-meeting-card.city-palmerston{--city-bar:linear-gradient(90deg,#7441b8 0%,#a97cf0 100%);--city-border:#e7def7;--city-glow:radial-gradient(circle,rgba(135,103,221,.17) 0,rgba(135,103,221,0) 74%)}.member-monthly-meeting-card.city-wellington{--city-bar:linear-gradient(90deg,#0f6381 0%,#4ea6c8 100%);--city-border:#d9edf4;--city-glow:radial-gradient(circle,rgba(78,166,200,.18) 0,rgba(78,166,200,0) 74%)}.member-monthly-meeting-card.city-christchurch{--city-bar:linear-gradient(90deg,#bb6a22 0%,#e6a55e 100%);--city-border:#f0e1d2;--city-glow:radial-gradient(circle,rgba(230,165,94,.18) 0,rgba(230,165,94,0) 74%)}.member-monthly-meeting-card.city-dunedin{--city-bar:linear-gradient(90deg,#934367 0%,#d67aa4 100%);--city-border:#efdeea;--city-glow:radial-gradient(circle,rgba(214,122,164,.18) 0,rgba(214,122,164,0) 74%)}
.member-monthly-meeting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.member-monthly-meeting-head small{font-size:10px;letter-spacing:.12em;font-weight:900;color:#688096}.member-monthly-meeting-head h3{margin:5px 0 0;font-size:20px;color:#18324a;line-height:1.2}.member-monthly-group-count{margin:5px 0 0;font-size:12px;color:#5c7288;font-weight:700}.member-monthly-meeting-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.75);color:#205272;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px rgba(31,69,102,.06)}.member-monthly-meeting-badge svg{width:14px;height:14px;display:block}.member-monthly-group-stack{display:grid;gap:12px}.member-monthly-group-block{padding:10px 0 0;border-top:1px dashed rgba(96,123,149,.22)}.member-monthly-group-block.first{padding-top:0;border-top:0}.member-monthly-subtitle{display:inline-flex;align-items:center;margin:0 0 10px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(225,237,248,.9),rgba(245,249,252,.92));border:1px solid rgba(160,190,214,.66);color:#24405a;font-size:12px;font-weight:800}.member-monthly-meeting-row{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(81,108,134,.13);align-items:start}.member-monthly-group-block .member-monthly-meeting-row:first-of-type{border-top:0;padding-top:0}.member-monthly-meeting-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--city-bar,linear-gradient(135deg,#12395f 0%,#2b628e 100%));color:#fff;box-shadow:0 10px 18px rgba(18,57,95,.14)}.member-monthly-meeting-icon svg{width:18px;height:18px;display:block}.member-monthly-row-copy{background:linear-gradient(135deg,rgba(255,255,255,.92) 0%,rgba(247,250,254,.92) 100%);border:1px solid rgba(205,221,237,.78);border-radius:16px;padding:12px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 6px 18px rgba(31,69,102,.03)}.member-monthly-meeting-row strong{display:block;color:#18344f;font-size:13px;margin-bottom:6px;letter-spacing:.01em;font-weight:800}.member-monthly-meeting-row p,.member-monthly-contact-name,.member-monthly-contact-pill a{margin:2px 0;font-size:14px;line-height:1.6;color:#516474;font-weight:500}.member-monthly-meeting-row p b{color:#1d344b}.member-monthly-location-area{color:#0f4c81!important;font-weight:700}.member-monthly-meeting-row a{color:#155d88;text-decoration:none;font-weight:600}.member-monthly-map{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.84) 0%,rgba(236,246,255,.92) 100%);border:1px solid rgba(166,196,222,.7);font-size:12px!important}.member-monthly-map svg{width:15px;height:15px;display:block}.member-monthly-contact-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.member-monthly-contact-pill{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;padding:6px 0;background:transparent;border:0}.member-monthly-contact-name{color:#20384f}.member-monthly-card-dots{position:absolute;left:18px;bottom:18px;display:flex;gap:6px;opacity:.55;pointer-events:none}.member-monthly-card-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--city-bar,linear-gradient(90deg,#0f4c81 0%,#2c8c7c 100%));box-shadow:0 1px 4px rgba(0,0,0,.08)}
@media(max-width:780px){.monthly-admin-summary{grid-template-columns:1fr}.monthly-admin-grid,.member-monthly-meeting-grid{grid-template-columns:1fr}.monthly-contact-row{grid-template-columns:1fr 1fr 36px}.member-monthly-hero{min-height:72px;border-radius:20px;margin-bottom:14px;padding:14px 18px}.member-monthly-hero h2{font-size:clamp(1.08rem,5vw,1.38rem)}.member-monthly-hero-ring-one{width:138px;height:138px;right:-40px;top:-20px}.member-monthly-hero-ring-two{width:82px;height:82px;right:2px;top:22px}.member-monthly-meeting-card{padding:0}.member-monthly-group-stack{gap:10px}.member-monthly-meeting-row{grid-template-columns:38px 1fr;gap:10px}.member-monthly-meeting-icon{width:34px;height:34px}.member-monthly-row-copy{padding:10px 11px}}
@media(max-width:520px){.monthly-contact-row{grid-template-columns:1fr 36px}.monthly-contact-row [data-monthly-contact-phone]{grid-column:1/2}.monthly-contact-row .monthly-contact-remove{grid-column:2;grid-row:1/3;height:100%}.monthly-admin-actions .btn{flex:1 1 auto}.member-monthly-hero{min-height:84px}.member-monthly-meeting-head{align-items:flex-start}.member-monthly-meeting-badge{padding:6px 8px}.member-monthly-meeting-badge span{display:none}.member-monthly-card-orb{width:46px;height:46px}.member-monthly-card-line{width:72px;height:72px}.member-monthly-card-dots{left:14px;bottom:14px}}


/* v177-186 · Monthly Meetings premium accordion + in-panel WhatsApp share */
.member-monthly-meeting-grid.member-monthly-accordion{grid-template-columns:1fr;gap:13px}
.member-monthly-accordion .member-monthly-meeting-card{padding:0;border-radius:24px;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease,background .22s ease}
.member-monthly-tab-head{display:block;position:relative;z-index:2;padding:0}
.member-monthly-tab-head .member-monthly-tab-button{width:100%}
.member-monthly-accordion .member-monthly-meeting-card.is-open{box-shadow:0 18px 38px rgba(15,37,61,.13);transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(248,251,255,.98) 100%)}
.member-monthly-tab-button{position:relative;z-index:3;width:100%;min-height:92px;border:0;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.18));color:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.member-monthly-tab-button:focus-visible{outline:3px solid rgba(28,107,168,.28);outline-offset:-3px;border-radius:20px}
.member-monthly-tab-title{display:block;min-width:0}.member-monthly-tab-title small{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid rgba(190,206,224,.62);font-size:10px;letter-spacing:.14em;font-weight:900;color:#587088;box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}.member-monthly-tab-title h3{margin:10px 0 4px;font-size:21px;line-height:1.15;color:#18324a;letter-spacing:-.015em}.member-monthly-tab-title .member-monthly-group-count{display:block;margin:0;font-size:12px;color:#62788c;font-weight:700}
.member-monthly-toggle-icon{position:relative;flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(244,248,253,.88));border:1px solid rgba(200,214,230,.86);box-shadow:0 10px 20px rgba(31,69,102,.09),inset 0 1px 0 rgba(255,255,255,.82);color:#204e76}
.member-monthly-toggle-icon svg{width:18px;height:18px;display:block;transition:transform .22s ease}
.member-monthly-meeting-card.is-open .member-monthly-toggle-icon svg{transform:rotate(180deg)}
.member-monthly-panel{position:relative;z-index:2;padding:0 20px 18px;border-top:1px solid rgba(89,122,151,.10)}
.member-monthly-panel .member-monthly-group-stack{padding-top:16px}.member-monthly-accordion .member-monthly-card-dots{opacity:.30}.member-monthly-accordion .member-monthly-card-orb,.member-monthly-accordion .member-monthly-card-line{opacity:.36}
.member-monthly-share-wrap{display:flex;justify-content:flex-end;padding:14px 0 2px}.member-monthly-share-button{position:relative;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 16px;border-radius:16px;border:1px solid rgba(37,211,102,.24);background:linear-gradient(145deg,#ffffff 0%,#effcf4 100%);box-shadow:0 12px 24px rgba(20,110,62,.10),inset 0 1px 0 rgba(255,255,255,.92);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;color:#177b46;font-weight:800;font-size:13px}
.member-monthly-share-button:hover,.member-monthly-share-button:focus-visible{transform:translateY(-1px);box-shadow:0 16px 28px rgba(20,110,62,.14),inset 0 1px 0 rgba(255,255,255,.96);background:linear-gradient(145deg,#ffffff 0%,#e7fff0 100%)}
.member-monthly-share-button:focus-visible{outline:3px solid rgba(28,107,168,.18);outline-offset:2px}
.member-monthly-share-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:linear-gradient(145deg,#21c063 0%,#16a34a 100%);color:#fff;box-shadow:0 8px 16px rgba(22,163,74,.22)}.member-monthly-share-button svg{width:18px;height:18px;display:block}.member-monthly-share-button .member-whatsapp-glyph{width:18px;height:18px}
.member-monthly-share-button span:last-child{display:inline}
@media(max-width:520px){.member-monthly-tab-head{padding-right:0}.member-monthly-tab-button{min-height:84px;padding:18px 16px}.member-monthly-tab-title h3{font-size:19px}.member-monthly-toggle-icon{flex-basis:40px;width:40px;height:40px;border-radius:14px}.member-monthly-share-wrap{padding-top:12px}.member-monthly-share-button{width:100%;justify-content:center;padding:0 14px}.member-monthly-panel{padding:0 14px 15px}}


/* v177-187 · Premium Monthly Meetings visual system */
.member-monthly-meetings-area{margin-top:20px}
.member-monthly-hero{min-height:92px;margin-bottom:20px;border:1px solid rgba(203,170,89,.30);border-radius:26px;background:linear-gradient(118deg,#071c36 0%,#0b3158 56%,#18486d 100%);box-shadow:0 18px 40px rgba(5,28,55,.16),inset 0 1px 0 rgba(255,255,255,.10)}
.member-monthly-hero::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#d8b45d,transparent);opacity:.8}
.member-monthly-hero h2{font-size:clamp(1.18rem,2.15vw,1.55rem);font-weight:800;letter-spacing:.08em}
.member-monthly-hero-ring-one,.member-monthly-hero-ring-two{border-color:rgba(216,180,93,.18)}

.member-monthly-meeting-grid.member-monthly-accordion{gap:14px}
.member-monthly-accordion .member-monthly-meeting-card{--city-accent:#2d5f93;--city-accent-deep:#173f69;--city-header:linear-gradient(112deg,#173f69 0%,#2d5f93 100%);--city-soft:#edf4fb;--city-soft-border:#d9e6f2;border:1px solid var(--city-soft-border);border-radius:22px;background:#fff;box-shadow:0 9px 26px rgba(15,37,61,.075),0 2px 5px rgba(15,37,61,.035);overflow:hidden}
.member-monthly-accordion .member-monthly-meeting-card::before{height:0}
.member-monthly-meeting-card.city-auckland{--city-accent:#3d6bb5;--city-accent-deep:#203f7a;--city-header:linear-gradient(112deg,#203f7a 0%,#3d6bb5 100%);--city-soft:#edf3fd;--city-soft-border:#d9e4f7}
.member-monthly-meeting-card.city-hamilton{--city-accent:#2f8b72;--city-accent-deep:#175e50;--city-header:linear-gradient(112deg,#175e50 0%,#2f8b72 100%);--city-soft:#edf8f4;--city-soft-border:#d9ece6}
.member-monthly-meeting-card.city-palmerston-north,.member-monthly-meeting-card.city-palmerston{--city-accent:#7753a5;--city-accent-deep:#4f3577;--city-header:linear-gradient(112deg,#4f3577 0%,#7753a5 100%);--city-soft:#f4f0fa;--city-soft-border:#e6ddf1}
.member-monthly-meeting-card.city-wellington{--city-accent:#3d7895;--city-accent-deep:#23576f;--city-header:linear-gradient(112deg,#23576f 0%,#3d7895 100%);--city-soft:#eef6f9;--city-soft-border:#d9e9ef}
.member-monthly-meeting-card.city-christchurch{--city-accent:#b47a3d;--city-accent-deep:#7d4e23;--city-header:linear-gradient(112deg,#7d4e23 0%,#b47a3d 100%);--city-soft:#fbf5ed;--city-soft-border:#eee1d1}
.member-monthly-meeting-card.city-dunedin{--city-accent:#a55778;--city-accent-deep:#713750;--city-header:linear-gradient(112deg,#713750 0%,#a55778 100%);--city-soft:#faf0f4;--city-soft-border:#eedde5}

.member-monthly-tab-head{background:var(--city-header)}
.member-monthly-tab-button{min-height:104px;padding:21px 20px 20px;background:transparent}
.member-monthly-tab-title small{padding:0;border:0;background:transparent;box-shadow:none;color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.15em}
.member-monthly-city-mark{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.15);color:#fff}
.member-monthly-city-mark svg{width:13px;height:13px}
.member-monthly-tab-title h3{margin:9px 0 4px;color:#fff;font-size:23px;font-weight:800;letter-spacing:-.015em}
.member-monthly-tab-title .member-monthly-group-count{color:rgba(255,255,255,.72);font-size:11px;font-weight:600;letter-spacing:.01em}
.member-monthly-toggle-icon{flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:#fff}
.member-monthly-toggle-icon svg{width:20px;height:20px}
.member-monthly-meeting-card.is-open .member-monthly-toggle-icon{background:#fff;color:var(--city-accent-deep);border-color:rgba(255,255,255,.85)}
.member-monthly-accordion .member-monthly-meeting-card.is-open{transform:translateY(-1px);box-shadow:0 16px 38px rgba(15,37,61,.13)}

.member-monthly-panel{padding:0 18px 18px;border-top:0;background:#fff}
.member-monthly-panel .member-monthly-group-stack{padding-top:18px}
.member-monthly-group-block{border-top:1px solid #e7edf3}
.member-monthly-group-block.first{border-top:0}
.member-monthly-subtitle{margin-bottom:12px;padding:7px 11px;border-radius:10px;background:var(--city-soft);border:1px solid var(--city-soft-border);color:var(--city-accent-deep);font-size:11px;font-weight:800;letter-spacing:.02em}
.member-monthly-meeting-row{grid-template-columns:42px 1fr;gap:12px;padding:11px 0;border-top:0}
.member-monthly-meeting-icon{width:40px;height:40px;border-radius:13px;background:var(--city-soft);border:1px solid var(--city-soft-border);color:var(--city-accent-deep);box-shadow:none}
.member-monthly-meeting-icon svg{width:18px;height:18px}
.member-monthly-row-copy{padding:12px 14px;border-radius:14px;background:#fafcfe;border:1px solid #e6edf4;box-shadow:none}
.member-monthly-meeting-row strong{margin-bottom:5px;color:#294259;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.member-monthly-meeting-row p,.member-monthly-contact-name,.member-monthly-contact-pill a{font-size:14px;line-height:1.55;color:#465c70}
.member-monthly-location-area{color:var(--city-accent-deep)!important}
.member-monthly-map{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #dbe6f0;color:var(--city-accent-deep)!important;box-shadow:0 4px 12px rgba(31,69,102,.05)}
.member-monthly-contact-list{gap:5px}
.member-monthly-contact-pill{padding:3px 0}
.member-monthly-card-orb,.member-monthly-card-line,.member-monthly-card-dots,.member-monthly-meeting-glow{display:none}

.member-monthly-share-wrap{justify-content:stretch;padding:15px 0 0;border-top:1px solid #edf1f5;margin-top:3px}
.member-monthly-share-button{width:100%;min-height:50px;gap:11px;padding:0 16px;border-radius:14px;border:1px solid #ccebd8;background:linear-gradient(180deg,#f7fff9 0%,#effbf3 100%);color:#177343;font-size:13px;font-weight:800;box-shadow:0 7px 18px rgba(22,163,74,.08)}
.member-monthly-share-button:hover,.member-monthly-share-button:focus-visible{background:#ebf9f0;box-shadow:0 9px 20px rgba(22,163,74,.12)}
.member-monthly-share-icon{width:30px;height:30px;background:#25D366;box-shadow:none}
.member-monthly-share-button .member-whatsapp-glyph{width:17px;height:17px}

@media(max-width:520px){
  .member-monthly-hero{min-height:82px;border-radius:22px;margin-bottom:15px}
  .member-monthly-tab-button{min-height:96px;padding:19px 16px}
  .member-monthly-tab-title h3{font-size:21px}
  .member-monthly-tab-title .member-monthly-group-count{font-size:10.5px}
  .member-monthly-toggle-icon{flex-basis:42px;width:42px;height:42px}
  .member-monthly-panel{padding:0 14px 15px}
  .member-monthly-meeting-row{grid-template-columns:38px 1fr;gap:10px}
  .member-monthly-meeting-icon{width:36px;height:36px;border-radius:12px}
  .member-monthly-row-copy{padding:11px 12px}
}

/* v177-188 — monthly meetings card polish */
.member-monthly-accordion .member-monthly-meeting-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 14px 34px rgba(15,37,61,.08),0 2px 6px rgba(15,37,61,.04);
}
.member-monthly-tab-head{position:relative;overflow:hidden}
.member-monthly-tab-head::before{
  content:"";position:absolute;inset:-30% auto auto -8%;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 70%);pointer-events:none;z-index:1;
}
.member-monthly-tab-head::after{
  content:"";position:absolute;right:66px;top:20px;width:110px;height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));
  pointer-events:none;z-index:1;
}
.member-monthly-card-orb,.member-monthly-card-line,.member-monthly-card-dots,.member-monthly-meeting-glow{display:block}
.member-monthly-meeting-glow{top:auto;right:-40px;bottom:-54px;width:200px;height:200px;opacity:.85}
.member-monthly-card-orb{right:20px;bottom:20px;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(255,255,255,.28) 58%,rgba(255,255,255,0) 74%);border:1px solid rgba(255,255,255,.58);opacity:.72}
.member-monthly-card-line{right:12px;bottom:12px;width:116px;height:116px;border-radius:50%;border:1px solid rgba(210,223,236,.56);opacity:.52}
.member-monthly-card-dots{left:auto;right:28px;bottom:30px;gap:7px;opacity:.46}
.member-monthly-card-dots i{width:6px;height:6px;background:var(--city-accent,#3d6bb5);box-shadow:none}
.member-monthly-tab-button{padding:22px 20px 21px}
.member-monthly-tab-title small{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.78)}
.member-monthly-city-mark{box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.member-monthly-tab-title h3{text-shadow:0 1px 0 rgba(0,0,0,.06)}
.member-monthly-toggle-icon{background:rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 18px rgba(14,32,56,.12)}
.member-monthly-panel{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.member-monthly-row-copy{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #e4ebf3;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 6px 16px rgba(20,48,78,.03);
}
.member-monthly-subtitle{
  background:linear-gradient(180deg,var(--city-soft) 0%,#ffffff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.member-monthly-map{background:linear-gradient(180deg,#ffffff 0%,#f6f9fc 100%)}
.member-monthly-contact-pill{padding:5px 0;border-bottom:1px dashed rgba(206,218,229,.7)}
.member-monthly-contact-pill:last-child{border-bottom:0}
.member-monthly-share-button{
  background:linear-gradient(180deg,#ffffff 0%,#eefaf2 100%);
  box-shadow:0 10px 22px rgba(22,163,74,.10);
}
.member-monthly-share-icon{background:linear-gradient(180deg,#2ad56f 0%,#19b45b 100%)}
@media(max-width:520px){
  .member-monthly-meeting-glow{width:150px;height:150px;right:-32px;bottom:-42px}
  .member-monthly-card-orb{width:54px;height:54px}
  .member-monthly-card-line{width:82px;height:82px}
  .member-monthly-card-dots{right:20px;bottom:22px}
}

/* v177-190 — restore the stronger premium Monthly Meeting card style.
   Keep the slower heading sweep from v177-189, but remove the soft-card overrides. */
.member-monthly-hero::after{animation-duration:10s!important;animation-timing-function:ease-in-out!important}


/* ==========================================================
   v177-193 — Member App permanent tabs + modern meeting hub
   ========================================================== */
.member-login-sanctuary-page #memberApp{padding-bottom:118px!important}
.member-tab-shell{width:100%;max-width:1120px;margin:0 auto;min-height:48vh}
.member-main-view{animation:memberTabEnter .24s ease both}
.member-main-view.hidden{display:none!important}
@keyframes memberTabEnter{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.member-home-welcome{padding:8px 2px 18px}
.member-home-welcome #welcomeName{margin:0!important;font-size:clamp(1.65rem,4.4vw,2.35rem)!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.035em!important;color:#102b47!important;text-align:left!important}
.member-home-next-meeting{margin-top:2px}
.member-next-hero{position:relative;overflow:hidden;border:1px solid #dce7f1;border-radius:28px;padding:28px;background:linear-gradient(145deg,#fff 0%,#f6faff 58%,#edf6ff 100%);box-shadow:0 18px 46px rgba(16,59,102,.11);isolation:isolate}
.member-next-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-105px;top:-130px;background:radial-gradient(circle,rgba(41,123,210,.16),transparent 67%);z-index:-1}
.member-next-hero:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#0b5da9,#4aa8e8)}
.member-next-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.member-next-kicker{font-size:.73rem;font-weight:950;letter-spacing:.16em;color:#0b5da9}
.member-next-date-pill{font-size:.76rem;font-weight:850;color:#38536d;background:#fff;border:1px solid #dce7f1;border-radius:999px;padding:7px 11px;box-shadow:0 4px 12px rgba(29,75,118,.06)}
.member-next-hero h2{margin:20px 0 4px;font-size:clamp(2.1rem,8vw,4.2rem);letter-spacing:-.055em;line-height:.98;color:#102d4b}
.member-next-time{font-size:clamp(1.15rem,3.5vw,1.45rem);font-weight:850;color:#0b65b4;margin-top:9px}
.member-next-place{margin-top:22px;padding-top:18px;border-top:1px solid #dce7f1;display:flex;flex-direction:column;gap:5px;color:#435b70}
.member-next-place strong{font-size:1.02rem;color:#173955}.member-next-place span{font-size:.92rem;line-height:1.5}
.member-next-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.member-next-primary,.member-next-secondary{min-height:46px;border-radius:14px;padding:0 18px;font:inherit;font-size:.88rem;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.member-next-primary{border:0;background:#0a5ca8;color:#fff;box-shadow:0 9px 20px rgba(10,92,168,.19)}
.member-next-secondary{border:1px solid #cbddeb;background:#fff;color:#16486f}
.member-next-hero.is-empty h2{font-size:1.55rem;line-height:1.15;margin-bottom:10px}.member-next-hero.is-empty p{margin:0;color:#65798c}

.member-tab-page-head{margin:2px 0 22px}.member-tab-page-head>span{display:block;font-size:.7rem;font-weight:950;letter-spacing:.17em;color:#0a65b1;margin-bottom:7px}.member-tab-page-head h2{margin:0;color:#102d4b;font-size:clamp(1.85rem,5vw,2.6rem);letter-spacing:-.04em}.member-tab-page-head p{margin:7px 0 0;color:#6b7d8d;line-height:1.5}
.member-special-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-special-card{min-width:0;border:1px solid #dde7ef;background:#fff;border-radius:24px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;box-shadow:0 12px 30px rgba(20,62,101,.08);position:relative;overflow:hidden}.member-special-card:after{content:"";position:absolute;right:-52px;bottom:-74px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(40,112,187,.09),transparent 70%)}.member-special-icon{width:46px;height:46px;border-radius:15px;background:#edf5ff;color:#0a5ea9;display:grid;place-items:center;font-size:20px;font-weight:900}.member-special-kicker{font-size:.65rem;font-weight:950;letter-spacing:.14em;color:#6d7f8f}.member-special-card h3{margin:6px 0 7px;color:#173955;font-size:1.25rem}.member-special-card p{margin:0;color:#6a7b89;font-size:.9rem;line-height:1.48}.member-special-status{grid-column:1/-1;justify-self:start;margin-top:4px;border-radius:999px;background:#f4f7fa;color:#6a7986;border:1px solid #e3e9ee;padding:6px 10px;font-size:.72rem;font-weight:850}

.member-calendar-card{border:1px solid #dde7ef;background:#fff;border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(20,62,101,.08)}.member-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:15px}.member-calendar-toolbar strong{text-align:center;color:#173955;font-size:1.12rem}.member-calendar-toolbar button{height:40px;border-radius:12px;border:1px solid #d9e4ed;background:#f8fbfd;color:#164f7c;font-size:1.45rem;cursor:pointer}.member-calendar-weekdays,.member-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.member-calendar-weekdays{margin-bottom:6px}.member-calendar-weekdays span{text-align:center;font-size:.64rem;font-weight:900;color:#8795a1;padding:5px 0}.member-calendar-day{min-width:0;aspect-ratio:1/1.02;border:1px solid #e6edf2;background:#fbfcfd;border-radius:13px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;color:#3b5368;font:inherit;position:relative}.member-calendar-day:not(:disabled){cursor:pointer}.member-calendar-day>span{font-size:.82rem;font-weight:900}.member-calendar-day i{position:absolute;right:5px;top:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#0b61ad;color:#fff;font-style:normal;font-size:.56rem;font-weight:900;display:grid;place-items:center}.member-calendar-day small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;font-weight:800;color:#0b5d9f;text-align:center;margin-top:auto}.member-calendar-day.has-meeting{background:#f0f7ff;border-color:#bfdaef}.member-calendar-day.is-today{box-shadow:inset 0 0 0 2px #66a8df}.member-calendar-day.is-selected{background:#0b5da9;color:#fff;border-color:#0b5da9}.member-calendar-day.is-selected small{color:#fff}.member-calendar-day.is-blank{border:0;background:transparent}.member-calendar-day-details{margin-top:16px;border-top:1px solid #e4ebf0;padding-top:14px;color:#738493;font-size:.87rem}.member-calendar-event{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f4}.member-calendar-event:last-child{border-bottom:0}.member-calendar-event>div{display:flex;flex-direction:column;gap:2px}.member-calendar-event span{font-size:.72rem;color:#0c65b1;font-weight:900}.member-calendar-event strong{color:#183a57}.member-calendar-event small{color:#748493}.member-calendar-event button{border:1px solid #cbddea;background:#f8fbfd;color:#164f78;border-radius:11px;padding:8px 12px;font:inherit;font-size:.75rem;font-weight:900;cursor:pointer}

.member-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.member-link-card{min-width:0;min-height:88px;border:1px solid #dde7ef;border-radius:20px;background:#fff;padding:15px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;text-decoration:none;box-shadow:0 8px 22px rgba(20,62,101,.06)}.member-link-icon{width:42px;height:42px;border-radius:13px;background:#edf5fd;color:#0b5eaa;display:grid;place-items:center;font-weight:950;font-size:18px}.member-link-card div{display:flex;flex-direction:column;gap:3px;min-width:0}.member-link-card strong{color:#183955}.member-link-card small{color:#748493;line-height:1.3}.member-link-card b{font-size:.68rem;color:#0b61ad;white-space:nowrap}.member-link-card.is-coming{opacity:.73}.member-link-card.is-coming b{color:#8b98a3}.member-links-existing-content{margin-top:24px}.member-links-existing-content:empty{display:none}

.member-monthly-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:16px 18px 4px}.member-monthly-action{min-width:0;min-height:54px;border:1px solid #d8e4ed;border-radius:15px;background:#fff;color:#234963;padding:9px 8px;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;cursor:pointer;box-shadow:0 5px 14px rgba(19,62,100,.05)}.member-monthly-action span{width:25px;height:25px;border-radius:8px;background:#eef6fc;color:#0a62ad;display:grid;place-items:center;font-size:13px;font-weight:950;flex:0 0 auto}.member-monthly-action strong{font-size:.73rem;line-height:1.15}.member-monthly-action-calendar{border-color:#c9dfef;background:#f8fcff}.member-monthly-share-wrap{padding-top:12px!important}.member-monthly-share-button span:last-child{font-weight:900!important}
.member-calendar-choice-actions{display:grid;gap:10px}.member-calendar-choice-card{width:100%;border:1px solid #dbe6ee;border-radius:16px;background:#fff;padding:14px;display:flex;align-items:center;gap:13px;text-align:left;font:inherit;cursor:pointer}.member-calendar-choice-card>span{width:42px;height:42px;border-radius:13px;background:#eef5fb;color:#0a5da7;display:grid;place-items:center;font-size:20px;font-weight:950}.member-calendar-choice-card>div{display:flex;flex-direction:column;gap:3px}.member-calendar-choice-card strong{color:#173955}.member-calendar-choice-card small{color:#718293}

/* Rebuild the permanent navigation as a modern, quiet mobile dock. */
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock{background:rgba(250,252,254,.96)!important;border-top:1px solid #d8e4ed!important;border-radius:22px 22px 0 0!important;box-shadow:0 -10px 35px rgba(15,48,79,.13)!important;backdrop-filter:blur(20px) saturate(1.15)!important;-webkit-backdrop-filter:blur(20px) saturate(1.15)!important;padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px))!important;gap:3px!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock:before,body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock:after{display:none!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{color:#657a8d!important;background:transparent!important;border:0!important;border-radius:15px!important;min-height:61px!important;font-size:.61rem!important;line-height:1.05!important;font-weight:850!important;gap:3px!important;padding:5px 1px!important;box-shadow:none!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon{width:30px!important;height:30px!important;border-radius:10px!important;background:transparent!important;border:0!important;color:#657a8d!important;box-shadow:none!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active{background:#eaf4fd!important;color:#075b9f!important;box-shadow:inset 0 0 0 1px #d4e7f6!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active .member-bottom-nav-icon{background:#fff!important;color:#075b9f!important;box-shadow:0 4px 11px rgba(20,79,127,.09)!important}
@media(max-width:720px){.member-special-grid,.member-links-grid{grid-template-columns:1fr}.member-next-hero{padding:22px;border-radius:24px}.member-monthly-action-grid{grid-template-columns:1fr 1fr}.member-monthly-action-calendar{grid-column:1/-1}.member-calendar-card{padding:12px;border-radius:20px}.member-calendar-weekdays,.member-calendar-grid{gap:4px}.member-calendar-day{border-radius:10px;padding:5px 2px}.member-calendar-day small{font-size:.45rem}.member-link-card{grid-template-columns:40px 1fr}.member-link-card b{grid-column:2;justify-self:start}}
@media(max-width:420px){body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{font-size:.56rem!important}.member-home-welcome #welcomeName{font-size:1.65rem!important}.member-next-date-pill{font-size:.68rem}.member-calendar-day small{display:none}.member-calendar-day{aspect-ratio:1/1}.member-monthly-action-grid{grid-template-columns:1fr}.member-monthly-action-calendar{grid-column:auto}}
\n\n/* ==========================================================\n   v177-194 — modern member dock + branded Links cards\n   ========================================================== */\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock{\n  background:rgba(255,255,255,.97)!important;\n  border-top:1px solid rgba(204,219,231,.9)!important;\n  border-radius:24px 24px 0 0!important;\n  box-shadow:0 -12px 38px rgba(13,46,76,.14)!important;\n  padding:8px 7px calc(8px + env(safe-area-inset-bottom,0px))!important;\n  gap:2px!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{\n  min-height:64px!important;gap:4px!important;color:#6d7e8d!important;border-radius:16px!important;\n  font-size:.6rem!important;font-weight:850!important;letter-spacing:-.01em!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon{\n  width:38px!important;height:34px!important;border-radius:12px!important;\n  display:grid!important;place-items:center!important;background:#f2f6f9!important;color:#607585!important;\n  box-shadow:inset 0 0 0 1px #e5edf3!important;transition:all .2s ease!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon svg{\n  width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active{\n  background:transparent!important;color:#075da8!important;box-shadow:none!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active .member-bottom-nav-icon{\n  background:linear-gradient(145deg,#0d6fc3,#3d98dc)!important;color:#fff!important;\n  box-shadow:0 7px 16px rgba(13,111,195,.24)!important;transform:translateY(-1px)!important;\n}\nbody.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active>span:last-child{color:#075da8!important}\n.member-link-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.member-link-card.is-live:active{transform:scale(.985)}\n.member-link-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\n.member-link-card.link-youtube .member-link-icon{background:#fff0f0;color:#e62117}.member-link-card.link-youtube .link-icon-fill{fill:#e62117;stroke:none}.member-link-card.link-youtube .link-icon-play{fill:#fff;stroke:none}\n.member-link-card.link-convention .member-link-icon{background:#f2efff;color:#6757c7}.member-link-card.link-songs .member-link-icon{background:#fff0f7;color:#c2367c}.member-link-card.link-website .member-link-icon{background:#edf6ff;color:#1672be}.member-link-card.link-whatsapp .member-link-icon{background:#ecfaf1;color:#199d55}\n.member-link-card.is-live:hover{border-color:#c9dce9;box-shadow:0 12px 28px rgba(20,62,101,.09)}\n

/* ==========================================================
   v177-195 — friendly member navigation + refined Links
   ========================================================== */
.member-home-welcome{padding:4px 2px 12px!important}
.member-home-welcome #welcomeName{
  margin:0!important;
  font-size:1.06rem!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
  color:#29445e!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock{
  background:rgba(255,255,255,.985)!important;
  border-top:1px solid #e2eaf0!important;
  border-radius:22px 22px 0 0!important;
  box-shadow:0 -8px 28px rgba(22,58,89,.11)!important;
  padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px))!important;
  gap:3px!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock:before,
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock:after{display:none!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{
  min-height:61px!important;
  padding:5px 2px!important;
  gap:2px!important;
  color:#71808d!important;
  border-radius:14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:.61rem!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  transform:none!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon.member-bottom-nav-emoji{
  width:auto!important;
  height:27px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:22px!important;
  line-height:27px!important;
  color:inherit!important;
  filter:none!important;
  transform:none!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active{
  background:#edf6ff!important;
  color:#075fa9!important;
  box-shadow:inset 0 0 0 1px #d7eaff!important;
  transform:none!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active .member-bottom-nav-icon.member-bottom-nav-emoji{
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  transform:none!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active>span:last-child{
  color:#075fa9!important;
}
.member-link-card{
  border-color:#e1e9ef!important;
  border-radius:18px!important;
  box-shadow:0 7px 20px rgba(20,62,101,.055)!important;
}
.member-link-icon.member-link-emoji{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  background:#f6f8fa!important;
  box-shadow:inset 0 0 0 1px #e9eef2!important;
  font-size:22px!important;
  line-height:1!important;
}
.member-link-card.link-youtube .member-link-icon.member-link-emoji{background:#fff2f2!important}
.member-link-card.link-website .member-link-icon.member-link-emoji{background:#eef7ff!important}
.member-link-card.link-songs .member-link-icon.member-link-emoji{background:#fff2f8!important}
.member-link-card.link-convention .member-link-icon.member-link-emoji{background:#f3f0ff!important}
.member-link-card.link-whatsapp .member-link-icon.member-link-emoji{background:#edfaf2!important}
@media(max-width:420px){
  .member-home-welcome #welcomeName{font-size:1rem!important}
  body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{font-size:.57rem!important}
  body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-icon.member-bottom-nav-emoji{font-size:21px!important}
}


/* ==========================================================
   v177-196 — Home invitation + clear active tab + lean monthly actions
   ========================================================== */
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active>span:last-child{
  color:#111827!important;
  font-weight:950!important;
}
.member-next-invite{
  border-color:#bfe8cf!important;
  background:#f1fbf5!important;
  color:#147a43!important;
}
.member-next-venue{font-weight:750;color:#38566f}
.member-monthly-action-grid-single{grid-template-columns:minmax(0,280px)!important;justify-content:start}
.member-monthly-action-grid-single .member-monthly-action-calendar{grid-column:auto!important;width:100%}
@media(max-width:720px){.member-monthly-action-grid-single{grid-template-columns:1fr!important}}


/* ==========================================================
   v177-197 — older-member-friendly Monthly Meeting details
   ========================================================== */
/* Home: lower the hero slightly so the page feels vertically balanced. */
#memberHomeView .member-home-next-meeting{margin-top:clamp(24px,5.5vh,46px)!important}

/* Expanded Monthly Meeting information: larger, simpler and easier to tap. */
.member-monthly-panel{padding:0 16px 18px!important}
.member-monthly-panel .member-monthly-group-stack{padding-top:16px!important}
.member-monthly-group-block{padding:0 0 10px!important}
.member-monthly-subtitle{
  margin:10px 0 12px!important;padding:11px 14px!important;border-radius:13px!important;
  font-size:15px!important;line-height:1.3!important;font-weight:900!important;letter-spacing:0!important;
}
.member-monthly-meeting-row{
  display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;
  margin:12px 0!important;padding:15px!important;border:1px solid #dce7ef!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 7px 20px rgba(22,58,89,.055)!important;
}
.member-monthly-meeting-icon{
  width:50px!important;height:50px!important;border-radius:15px!important;
  display:grid!important;place-items:center!important;
}
.member-monthly-meeting-icon svg{width:23px!important;height:23px!important}
.member-monthly-row-copy{padding:1px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.member-monthly-meeting-row strong{
  display:block!important;margin:0 0 8px!important;color:#183a57!important;font-size:15px!important;line-height:1.25!important;
  font-weight:900!important;letter-spacing:0!important;text-transform:none!important;
}
.member-monthly-meeting-row p,.member-monthly-contact-name,.member-monthly-contact-pill a{font-size:16px!important;line-height:1.5!important}
.member-monthly-schedule-list{display:grid;gap:7px!important}
.member-monthly-schedule-line{
  margin:0!important;padding:9px 11px!important;border-radius:11px!important;background:#f7fafc!important;border:1px solid #e4ebf1!important;
  color:#344f67!important;font-weight:750!important;
}
.member-monthly-venue-name{margin-bottom:3px!important;color:#233f58!important}
.member-monthly-location-area{font-weight:800!important}
.member-monthly-map{
  min-height:48px!important;margin-top:12px!important;padding:0 14px!important;border-radius:13px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  font-size:15px!important;font-weight:900!important;text-decoration:none!important;
}
.member-monthly-map svg{width:20px!important;height:20px!important}
.member-monthly-contact-list{display:grid!important;gap:9px!important;margin-top:2px!important}
.member-monthly-contact-pill{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;
  padding:11px!important;border:1px solid #e3eaf0!important;border-radius:13px!important;background:#f8fbfd!important;
}
.member-monthly-contact-name{font-weight:850!important;color:#29445d!important}
.member-monthly-call{
  min-height:42px!important;padding:0 12px!important;border-radius:11px!important;background:#eef8f2!important;border:1px solid #cce7d6!important;
  color:#176d3e!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:7px!important;font-weight:900!important;
}
.member-monthly-call svg{width:18px!important;height:18px!important;flex:0 0 auto!important}
.member-monthly-action-grid-single{padding:4px 0 2px!important;grid-template-columns:minmax(0,320px)!important}
.member-monthly-action-calendar{
  min-height:54px!important;border-radius:14px!important;background:#f1f8ff!important;border-color:#c9dff0!important;
  color:#174d76!important;font-size:15px!important;font-weight:900!important;
}
.member-monthly-action-calendar .member-monthly-calendar-icon{
  width:31px!important;height:31px!important;border-radius:9px!important;background:#fff!important;display:grid!important;place-items:center!important;color:#0a62ad!important;
}
.member-monthly-action-calendar .member-monthly-calendar-icon svg{width:19px!important;height:19px!important}
.member-monthly-share-button{min-height:54px!important;font-size:15px!important}
.member-monthly-tab-title .member-monthly-group-count{font-size:12.5px!important}

@media(max-width:520px){
  #memberHomeView .member-home-next-meeting{margin-top:28px!important}
  .member-monthly-panel{padding:0 12px 15px!important}
  .member-monthly-meeting-row{grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;padding:13px!important;border-radius:16px!important}
  .member-monthly-meeting-icon{width:46px!important;height:46px!important;border-radius:14px!important}
  .member-monthly-meeting-row p,.member-monthly-contact-name,.member-monthly-contact-pill a{font-size:15.5px!important}
  .member-monthly-contact-pill{grid-template-columns:1fr!important}
  .member-monthly-call{width:100%!important;justify-content:center!important}
  .member-monthly-action-grid-single{grid-template-columns:1fr!important}
}


/* ==========================================================
   v177-198 — refined Home spacing + professional Monthly details
   ========================================================== */
/* Give the Home hero a little more breathing room below the welcome. */
#memberHomeView .member-home-next-meeting{
  margin-top:clamp(42px,8vh,72px)!important;
}

/* Monthly Meeting details: medium typography, clear hierarchy, generous tap areas. */
.member-monthly-panel{padding:0 16px 18px!important}
.member-monthly-panel .member-monthly-group-stack{padding-top:15px!important}
.member-monthly-subtitle{
  margin:9px 0 11px!important;
  padding:9px 12px!important;
  border-radius:11px!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.member-monthly-meeting-row{
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:12px!important;
  margin:10px 0!important;
  padding:13px!important;
  border:1px solid #e2e9ef!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
  box-shadow:0 4px 13px rgba(22,58,89,.045)!important;
}
.member-monthly-meeting-icon{
  width:42px!important;height:42px!important;border-radius:12px!important;
}
.member-monthly-meeting-icon svg{width:19px!important;height:19px!important}
.member-monthly-row-copy{padding:0!important}
.member-monthly-meeting-row strong{
  margin:0 0 5px!important;
  font-size:13.5px!important;
  line-height:1.3!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#203f59!important;
}
.member-monthly-meeting-row p,
.member-monthly-contact-name,
.member-monthly-contact-pill a{
  font-size:14.5px!important;
  line-height:1.48!important;
}
.member-monthly-schedule-list{gap:5px!important}
.member-monthly-schedule-line{
  padding:7px 9px!important;
  border-radius:9px!important;
  font-weight:700!important;
}
.member-monthly-map{
  min-height:46px!important;
  margin-top:10px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:14px!important;
  font-weight:800!important;
}
.member-monthly-map svg{width:18px!important;height:18px!important}
.member-monthly-contact-list{gap:7px!important}
.member-monthly-contact-pill{
  padding:9px 10px!important;
  border-radius:11px!important;
  background:#f9fbfd!important;
}
.member-monthly-contact-name{font-weight:800!important}
.member-monthly-call{
  min-height:40px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  font-size:13.5px!important;
  font-weight:850!important;
}
.member-monthly-call svg{width:17px!important;height:17px!important}
.member-monthly-action-calendar,
.member-monthly-share-button{
  min-height:50px!important;
  font-size:14px!important;
  border-radius:12px!important;
}
.member-monthly-action-calendar .member-monthly-calendar-icon{
  width:29px!important;height:29px!important;border-radius:8px!important;
}
.member-monthly-action-calendar .member-monthly-calendar-icon svg{width:18px!important;height:18px!important}

@media(max-width:520px){
  #memberHomeView .member-home-next-meeting{margin-top:44px!important}
  .member-monthly-panel{padding:0 12px 15px!important}
  .member-monthly-meeting-row{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  .member-monthly-meeting-icon{width:40px!important;height:40px!important}
  .member-monthly-meeting-row p,
  .member-monthly-contact-name,
  .member-monthly-contact-pill a{font-size:14px!important}
  .member-monthly-meeting-row strong{font-size:13px!important}
}


/* ==========================================================
   v177-200 — lower Home hero + professional medium Monthly details
   ========================================================== */
/* Move Next Meeting further down without creating a huge gap on small screens. */
#memberHomeView .member-home-next-meeting{
  margin-top:clamp(56px,10vh,88px)!important;
}

/* Cleaner, more professional detail cards with medium-size typography. */
.member-monthly-panel{padding:0 15px 17px!important}
.member-monthly-panel .member-monthly-group-stack{padding-top:14px!important}
.member-monthly-subtitle{
  margin:8px 0 10px!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.member-monthly-meeting-row{
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:11px!important;
  margin:9px 0!important;
  padding:12px!important;
  border:1px solid #e5eaf0!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(22,58,89,.04)!important;
}
.member-monthly-meeting-icon{
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
}
.member-monthly-meeting-icon svg{width:18px!important;height:18px!important}
.member-monthly-meeting-row strong{
  margin:0 0 4px!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:800!important;
  color:#203f59!important;
}
.member-monthly-meeting-row p,
.member-monthly-contact-name,
.member-monthly-contact-pill a{
  font-size:13.5px!important;
  line-height:1.45!important;
}
.member-monthly-schedule-list{gap:5px!important}
.member-monthly-schedule-line{
  padding:6px 8px!important;
  border-radius:8px!important;
  font-weight:700!important;
  background:#f8fafc!important;
}
.member-monthly-map{
  min-height:44px!important;
  margin-top:9px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  font-size:13.5px!important;
  font-weight:800!important;
}
.member-monthly-contact-list{gap:6px!important}
.member-monthly-contact-pill{
  padding:8px 9px!important;
  border-radius:10px!important;
  background:#fafbfd!important;
}
.member-monthly-call{
  min-height:40px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:800!important;
}
.member-monthly-action-calendar,
.member-monthly-share-button{
  min-height:48px!important;
  font-size:13.5px!important;
  border-radius:11px!important;
}

@media(max-width:520px){
  #memberHomeView .member-home-next-meeting{margin-top:58px!important}
  .member-monthly-panel{padding:0 11px 14px!important}
  .member-monthly-meeting-row{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    padding:11px!important;
    border-radius:12px!important;
  }
  .member-monthly-meeting-icon{width:36px!important;height:36px!important}
  .member-monthly-meeting-row p,
  .member-monthly-contact-name,
  .member-monthly-contact-pill a{font-size:13px!important}
  .member-monthly-meeting-row strong{font-size:12.75px!important}
}

/* v177-203 House Visiting entry — only revealed after server-authorised access check */
.member-house-visiting-entry{margin:14px 0 6px}.member-house-visiting-card{width:100%;border:1px solid rgba(13,93,184,.2);background:linear-gradient(135deg,#f8fbff,#eef7ff);border-radius:19px;padding:14px 15px;display:grid;grid-template-columns:44px 1fr 24px;gap:11px;align-items:center;text-align:left;color:#0b2a52;box-shadow:0 9px 25px rgba(26,76,125,.08)}.member-house-visiting-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#0b5dab;color:#fff;font-size:22px}.member-house-visiting-copy{min-width:0}.member-house-visiting-copy small{display:block;font-size:9px;letter-spacing:.12em;font-weight:900;color:#6580a0}.member-house-visiting-copy strong{display:block;font-size:15px;margin:2px 0;color:#0b2a52}.member-house-visiting-copy>span{display:block;font-size:11px;color:#66798f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-house-visiting-arrow{font-size:28px;color:#0b5dab;line-height:1}.member-house-visiting-menu-item span{background:#edf6ff!important;color:#0c5daa!important}

/* v177-203 House Visiting administrator workspace */
.hv-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.hv-admin-head p{margin:4px 0 0;color:#68798e;max-width:760px}.hv-admin-tabs{display:flex;gap:7px;overflow:auto;padding:5px;background:#eaf0f6;border-radius:16px;margin-bottom:14px;scrollbar-width:none}.hv-admin-tabs::-webkit-scrollbar{display:none}.hv-admin-tabs button{border:0;background:transparent;border-radius:12px;padding:10px 13px;font-weight:800;color:#5c6c7e;white-space:nowrap}.hv-admin-tabs button.active{background:#fff;color:#092b55;box-shadow:0 3px 12px rgba(34,59,87,.11)}.hv-admin-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px;background:#fff;border:1px solid #dce5ee;border-radius:18px;padding:13px}.hv-admin-toolbar h3{margin:0 0 2px}.hv-admin-toolbar label{display:block;font-size:11px;font-weight:900;color:#52687e;margin-bottom:4px}.hv-admin-toolbar select{min-width:280px}.hv-search-wrap{flex:1;max-width:520px}.hv-toolbar-summary{display:flex;align-items:baseline;gap:7px;padding:6px 11px;border-radius:12px;background:#eef7ff;color:#155696}.hv-toolbar-summary strong{font-size:23px}.hv-toolbar-summary span{font-size:11px;font-weight:800}.hv-overview-session{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#0a315f,#0f68b6);color:#fff;border-radius:20px;padding:16px 18px;margin-bottom:12px}.hv-overview-session small{font-size:9px;letter-spacing:.12em;font-weight:900;opacity:.75}.hv-overview-session h3{font-size:20px;margin:3px 0}.hv-overview-session span{font-size:12px}.hv-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.hv-stat-grid>div{background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:13px;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px}.hv-stat-grid>div>span{grid-row:1/3;width:31px;height:31px;border-radius:10px;background:#edf5fc;display:grid;place-items:center}.hv-stat-grid strong{font-size:20px;color:#102f54}.hv-stat-grid small{font-size:10px;color:#6e7e91}.hv-admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hv-admin-panel{background:#fff;border:1px solid #dce5ee;border-radius:18px;padding:15px;box-shadow:0 8px 26px rgba(30,57,87,.05)}.hv-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.hv-panel-head small{font-size:9px;letter-spacing:.11em;font-weight:900;color:#7890a8}.hv-panel-head h3{margin:2px 0;color:#15385e}.hv-progress-row{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:10px 0;border-top:1px solid #edf1f5}.hv-progress-row:first-of-type{border-top:0}.hv-progress-row strong,.hv-progress-row span{display:block}.hv-progress-row strong{font-size:13px;color:#203c5b}.hv-progress-row span{font-size:10px;color:#718194;margin-top:2px}.hv-progress-row>b{font-size:12px;color:#1762a8}.hv-progress-line{grid-column:1/3;height:7px;background:#edf1f5;border-radius:99px;overflow:hidden}.hv-progress-line i{display:block;height:100%;background:linear-gradient(90deg,#1767b3,#2f91d5);border-radius:99px}.hv-privacy-note{margin-top:12px;background:#f5f8fb;border:1px solid #dce5ee;border-radius:13px;padding:10px 12px;color:#5d6e81;font-size:11px}.hv-access-list{display:grid;gap:8px}.hv-access-card{display:grid;grid-template-columns:minmax(220px,1fr) auto 180px 90px;align-items:center;gap:10px;background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:11px 12px}.hv-access-card.enabled{border-color:#b9d6ef;background:#fbfdff}.hv-access-person{display:flex;align-items:center;gap:10px}.hv-access-person>span{width:38px;height:38px;border-radius:12px;background:#e8f1fa;color:#145793;display:grid;place-items:center;font-weight:900}.hv-access-person strong,.hv-access-person small{display:block}.hv-access-person small{font-size:10px;color:#758497;margin-top:2px}.hv-access-toggle input{display:none}.hv-access-toggle span{display:block;width:42px;height:24px;background:#cbd5df;border-radius:99px;position:relative;cursor:pointer;transition:.2s}.hv-access-toggle span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}.hv-access-toggle input:checked+span{background:#1974bc}.hv-access-toggle input:checked+span:after{left:21px}.hv-area-strip{display:flex;gap:8px;overflow:auto;margin:0 0 10px;padding:2px;scrollbar-width:none}.hv-area-strip button{min-width:160px;text-align:left;background:#fff;border:1px solid #dce5ee;border-radius:14px;padding:10px 12px}.hv-area-strip strong,.hv-area-strip span{display:block}.hv-area-strip strong{color:#183b61}.hv-area-strip span{font-size:10px;color:#708196;margin-top:2px}.hv-export-row{display:flex;align-items:center;gap:7px;margin:0 0 10px}.hv-export-row span{margin-left:auto;font-size:11px;color:#718197}.hv-house-table td{vertical-align:top}.hv-house-table td small{color:#718197}.hv-danger-check{color:#a62d3f!important;font-weight:900!important}.hv-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.hv-import-summary>div{background:#f5f7fa;border-radius:12px;padding:9px;text-align:center}.hv-import-summary strong,.hv-import-summary span{display:block}.hv-import-summary strong{font-size:20px}.hv-import-summary span{font-size:10px}.hv-import-summary .ok{background:#eaf8f0;color:#166b4b}.hv-import-summary .warn{background:#fff5dc;color:#8b6305}.hv-import-summary .bad{background:#fbecef;color:#a13243}.hv-import-issues{max-height:220px;overflow:auto;margin-top:10px;border:1px solid #e1e7ed;border-radius:12px}.hv-import-issues>div{padding:8px 10px;border-top:1px solid #edf1f4;display:grid;grid-template-columns:60px 1fr}.hv-import-issues>div:first-child{border-top:0}.hv-import-issues b{font-size:10px}.hv-import-issues span,.hv-import-issues small{font-size:10px}.hv-import-issues small{grid-column:2;color:#9a3c49}.hv-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hv-team-card{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #dce5ee;border-radius:17px;padding:14px}.hv-team-card.inactive{opacity:.6}.hv-team-card small,.hv-team-card h3,.hv-team-card p,.hv-team-card span{display:block}.hv-team-card small{font-size:9px;letter-spacing:.1em;color:#6f879d}.hv-team-card h3{margin:3px 0;color:#183b61}.hv-team-card p{margin:5px 0;font-size:12px;color:#52657a}.hv-team-card span{font-size:10px;color:#78889a}.hv-member-picker{max-height:290px;overflow:auto;border:1px solid #dbe4ec;border-radius:13px;padding:6px;background:#f8fafc}.hv-member-picker>label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px}.hv-member-picker>label:hover{background:#edf5fc}.hv-member-picker input{width:17px;height:17px}.hv-member-picker strong,.hv-member-picker small{display:block}.hv-member-picker strong{font-size:12px}.hv-member-picker small{font-size:9px;color:#76879a}.hv-session-admin-list{display:grid;gap:10px}.hv-session-admin-card{background:#fff;border:1px solid #dce5ee;border-radius:18px;padding:14px}.hv-session-admin-main{display:flex;justify-content:space-between;gap:12px}.hv-session-admin-main small{font-size:9px;letter-spacing:.11em;color:#6d849b}.hv-session-admin-main h3{margin:3px 0;color:#15385e}.hv-session-admin-main p{font-size:11px;margin:3px 0;color:#60748a}.hv-session-admin-main span{font-size:10px;color:#76899d}.hv-session-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.hv-assign-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0}.hv-assign-tools label{font-size:10px;color:#5d6e80}.hv-assignment-picker{max-height:370px;overflow:auto;border:1px solid #dbe4ec;border-radius:13px;background:#f8fafc;padding:5px}.hv-assignment-picker>label{display:flex;align-items:center;gap:9px;padding:8px;border-top:1px solid #e8edf2}.hv-assignment-picker>label:first-child{border-top:0}.hv-assignment-picker strong,.hv-assignment-picker small{display:block}.hv-assignment-picker strong{font-size:12px}.hv-assignment-picker small{font-size:9px;color:#708196}.hv-progress-layout{margin-bottom:12px}.hv-live-indicator{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#35745b}.hv-live-indicator i{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px rgba(34,160,107,.12);animation:hvAdminPulse 1.5s infinite}@keyframes hvAdminPulse{50%{box-shadow:0 0 0 8px rgba(34,160,107,0)}}.hv-live-feed{max-height:340px;overflow:auto}.hv-live-feed>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #edf1f5}.hv-live-feed>div:first-child{border-top:0}.hv-live-feed strong,.hv-live-feed small{display:block}.hv-live-feed strong{font-size:11px}.hv-live-feed small{font-size:9px;color:#708195}.hv-live-feed time{font-size:9px;color:#8593a2}.hv-status-dot{width:8px;height:8px;border-radius:50%;background:#7e8b99}.hv-status-dot.interested,.hv-status-dot.visit_completed{background:#1b8b5e}.hv-status-dot.not_home{background:#d9a21d}.hv-status-dot.follow_up_required{background:#2d76bd}.hv-status-dot.not_interested,.hv-status-dot.no_further_visits{background:#b44859}.hv-progress-map{height:410px;border-radius:14px;overflow:hidden;background:#edf2f6}
@media(max-width:900px){.hv-stat-grid{grid-template-columns:repeat(2,1fr)}.hv-admin-two-col,.hv-team-grid{grid-template-columns:1fr}.hv-access-card{grid-template-columns:1fr auto}.hv-access-card select{grid-column:1}.hv-access-card button{grid-column:2}.hv-admin-toolbar{align-items:stretch;flex-direction:column}.hv-admin-toolbar select{min-width:0;width:100%}.hv-houses-toolbar .ops-toolbar{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:600px){.hv-admin-head{flex-direction:column}.hv-stat-grid{grid-template-columns:1fr 1fr}.hv-access-card{grid-template-columns:1fr auto}.hv-access-person{min-width:0}.hv-access-card select{grid-column:1/3}.hv-access-card button{grid-column:1/3}.hv-import-summary{grid-template-columns:1fr 1fr}.hv-session-admin-main{flex-direction:column}.hv-progress-map{height:330px}}


/* v177-203 House Visiting visit history */
.hv-history-house{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid #dce6f1;border-radius:14px;background:#f8fbff;margin-bottom:12px}.hv-history-house strong{font-size:14px;color:#0b2b57}.hv-history-house span{font-size:13px;color:#56697d}.hv-history-list{display:grid;gap:10px;max-height:52vh;overflow:auto}.hv-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:13px 14px;border:1px solid #e1e8f0;border-radius:14px;background:#fff}.hv-history-list article strong{font-size:14px;color:#142b44}.hv-history-list article small,.hv-history-list article span{font-size:12.5px;color:#647589}.hv-history-list article p{grid-column:1/-1;margin:2px 0 0;font-size:13px;line-height:1.45;color:#31465b}
/* v177-204 — House Visiting Portal separation */
.house-visiting-portal-page #hvPortalApp{padding-bottom:44px}
.house-visiting-portal-page #houseVisitingView{margin-top:18px}
.house-visiting-portal-page .hv-admin-head{align-items:center}
.house-visiting-portal-page .hv-admin-tabs{position:sticky;top:8px;z-index:10;background:rgba(246,249,252,.96);backdrop-filter:blur(10px);padding:8px;border-radius:16px}
@media(max-width:760px){.house-visiting-portal-page .hv-admin-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.house-visiting-portal-page .hv-admin-tabs button:first-child{grid-column:1/-1}}

/* v177-207 — simplified House Visiting access: Member + Portal only */
.hv-access-card-simple{grid-template-columns:minmax(210px,.9fr) minmax(300px,1.6fr) 112px;align-items:center;gap:14px;padding:14px 15px}
.hv-simple-access-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hv-simple-access-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:11px 12px;border:1px solid #dce5ee;border-radius:14px;background:#f8fafc;cursor:pointer}
.hv-simple-access-option>div{min-width:0}.hv-simple-access-option strong,.hv-simple-access-option small{display:block}.hv-simple-access-option strong{font-size:12px;color:#173b60}.hv-simple-access-option small{font-size:10px;line-height:1.35;color:#718196;margin-top:3px}.hv-simple-access-option .hv-access-toggle{flex:0 0 auto}
.hv-simple-access-save{white-space:nowrap}
@media(max-width:900px){.hv-access-card-simple{grid-template-columns:1fr auto}.hv-simple-access-options{grid-column:1/3}.hv-simple-access-save{grid-column:1/3;width:100%}}
@media(max-width:600px){.hv-simple-access-options{grid-template-columns:1fr}.hv-simple-access-option{min-height:60px}}


/* v177-207 — authorised House Visiting becomes its own bottom navigation destination */
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock.has-house-visiting{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-house-visiting-nav{
  color:#65798c!important;
}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-house-visiting-nav .member-bottom-nav-icon{
  font-size:21px!important;
}
@media(max-width:420px){
  body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock.has-house-visiting .member-bottom-nav-item{font-size:.52rem!important;padding-left:0!important;padding-right:0!important}
  body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock.has-house-visiting .member-bottom-nav-icon.member-bottom-nav-emoji{font-size:20px!important}
}

/* v177-214 — fast, simplified House Visiting + Planning-style portal heading */
.member-bottom-nav-route{font-family:Georgia,"Times New Roman",serif!important;font-size:29px!important;font-weight:900!important;line-height:.8!important;letter-spacing:-.08em;display:inline-grid;place-items:center;transform:rotate(-8deg);transform-origin:center;color:currentColor}
.house-visiting-portal-page .house-visiting-role-heading{
  max-width:none;margin:22px 0 18px;padding:27px 30px 26px;position:relative;overflow:hidden;border-radius:28px;text-align:center;
  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)
}
.house-visiting-portal-page .house-visiting-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}
.house-visiting-portal-page .house-visiting-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%)}
.house-visiting-portal-page .house-visiting-role-heading .portal-role-kicker{color:#f3ddb0;letter-spacing:.18em;position:relative;z-index:1}
.house-visiting-portal-page .house-visiting-role-heading h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.14);position:relative;z-index:1;margin:0;font-size:clamp(2.25rem,5vw,4.3rem)}
.hv-portal-section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.hv-portal-section-cards>button{min-height:108px;border:1px solid #d6e2ef;border-radius:20px;background:#fff;padding:16px;text-align:left;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;color:#15385e;box-shadow:0 8px 22px rgba(20,58,96,.06);cursor:pointer;touch-action:manipulation}
.hv-portal-section-cards>button.active{border-color:#84b4df;background:linear-gradient(145deg,#f7fbff,#eaf5ff);box-shadow:0 10px 26px rgba(11,91,167,.11)}
.hv-section-icon{grid-row:1/3;width:42px;height:42px;border-radius:13px;background:#e9f3fd;color:#0c5eaa;display:grid;place-items:center;font-size:20px;font-weight:900}
.hv-portal-section-cards strong{font-size:16px}.hv-portal-section-cards small{font-size:11px;color:#728397;margin-top:3px}
.hv-team-workspace-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.hv-team-workspace-head>div{min-width:0}.hv-team-workspace-head small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#71889f}.hv-team-workspace-head h2{margin:2px 0 4px;color:#15385e}.hv-team-workspace-head p{margin:0;color:#687c91;font-size:12px}
.hv-team-workspace-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.hv-team-workspace-tools{margin-bottom:10px}.hv-team-workspace-tools .hv-search-wrap{max-width:none}
.staff-role-summary-five{grid-template-columns:repeat(5,minmax(0,1fr))}
button,.btn,a,[role="button"]{touch-action:manipulation}
.staff-access-card,.hv-team-card,.hv-session-admin-card,.monthly-admin-card{content-visibility:auto;contain-intrinsic-size:1px 120px}
@media(max-width:900px){.staff-role-summary-five{grid-template-columns:repeat(2,minmax(0,1fr))}.hv-portal-section-cards{grid-template-columns:1fr}.hv-portal-section-cards>button{min-height:82px}.hv-team-workspace-head{flex-wrap:wrap}}
@media(max-width:600px){.house-visiting-portal-page .house-visiting-role-heading{margin-top:15px;padding:22px 18px;border-radius:22px}.house-visiting-portal-page .house-visiting-role-heading:after{width:50px;height:70px;right:10px;top:12px}.house-visiting-portal-page .house-visiting-role-heading h1{font-size:clamp(2rem,11vw,3.2rem)}.staff-role-summary-five{grid-template-columns:1fr 1fr}.hv-team-workspace-actions>.btn{flex:1 1 calc(50% - 8px)}}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-house-visiting-nav .member-bottom-nav-route{font-size:29px!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:900!important;line-height:.75!important;transform:rotate(-8deg)}
.hv-overview-actions-panel{display:grid;align-content:start;gap:9px}.hv-overview-action{width:100%;display:grid;grid-template-columns:38px 1fr 20px;gap:10px;align-items:center;text-align:left;border:1px solid #dce5ee;border-radius:14px;background:#f8fbfe;padding:11px 12px;color:#173b60;cursor:pointer}.hv-overview-action>span{width:36px;height:36px;border-radius:11px;background:#e8f2fc;display:grid;place-items:center;color:#0e63ad;font-weight:900}.hv-overview-action strong,.hv-overview-action small{display:block}.hv-overview-action strong{font-size:12.5px}.hv-overview-action small{font-size:10px;color:#718296;margin-top:2px}.hv-overview-action>b{font-size:22px;color:#7b91a7}.hv-overview-action:disabled{opacity:.5;cursor:not-allowed}.hv-internal-back{margin-bottom:12px}.hv-review-columns{align-items:start}.hv-review-list{display:grid;gap:12px}.hv-review-card{border:1px solid #dce5ed;border-radius:14px;background:#fff;padding:14px;box-shadow:0 6px 16px rgba(18,55,88,.05)}.hv-review-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.hv-review-card-head>div{display:grid;gap:3px}.hv-review-card p{margin:8px 0;font-size:14px}.hv-review-card>small{display:block;color:#6b7d8e;margin-top:8px}.hv-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.hv-review-actions .btn{min-height:42px}.hv-review-card .planning-field{margin-top:9px}.hv-review-card .planning-field label{font-size:12px}.hv-review-card select,.hv-review-card input,.hv-review-card textarea{width:100%}
/* v177-215 simple House Visiting spreadsheet import */
.hv-auto-map-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.hv-auto-map-summary span{display:inline-flex;gap:5px;align-items:center;padding:8px 10px;border:1px solid rgba(10,70,140,.14);border-radius:10px;background:#f7fbff;color:#24415f;font-size:13px}.hv-auto-map-summary b{color:#0b3f79}.hv-house-table em{color:#7a8794;font-style:normal;font-weight:600}

/* v177-216 House Visiting import repair, faster lists and safe delete */
.hv-house-table .hv-delete-house{color:#a52323;border-color:#e7b9b9;background:#fff7f7}
.hv-house-table td:first-child>strong{font-size:14px;line-height:1.25}
.hv-house-table td:first-child>small{color:#6b7b90}
.hv-auto-map-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:10px 0 14px}
.hv-auto-map-summary span{padding:8px 10px;border:1px solid #d9e5f2;border-radius:10px;background:#f8fbff;font-size:12px}

.hv-delete-all-houses{color:#a52323!important;border-color:#e7b9b9!important;background:#fff7f7!important}
.hv-delete-all-houses:hover{background:#ffecec!important}


/* v177-222 — House Visiting portal professional UI */
.hv-portal-section-cards{gap:14px!important;margin:16px 0 20px!important}.hv-portal-section-cards>button{grid-template-columns:54px minmax(0,1fr) 22px!important;grid-template-rows:1fr!important;min-height:104px!important;padding:17px 18px!important;border-radius:22px!important;background:linear-gradient(145deg,#ffffff,#f8fbfe)!important;border:1px solid #d7e4ef!important;box-shadow:0 10px 28px rgba(18,58,94,.07)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}.hv-portal-section-cards>button:hover{transform:translateY(-1px);border-color:#bcd4e8!important;box-shadow:0 14px 34px rgba(18,58,94,.11)!important}.hv-portal-section-cards>button.active{background:linear-gradient(145deg,#eff8ff,#ffffff)!important;border-color:#72afe0!important;box-shadow:0 14px 34px rgba(11,91,167,.13)!important}.hv-section-icon{grid-row:auto!important;width:52px!important;height:52px!important;border-radius:16px!important;font-size:22px!important;background:linear-gradient(145deg,#e9f5ff,#dceeff)!important;box-shadow:inset 0 0 0 1px #d0e5f5!important}.hv-section-copy{display:block;min-width:0}.hv-section-copy strong,.hv-section-copy small{display:block}.hv-section-copy strong{font-size:17px!important;color:#15395f}.hv-section-copy small{margin-top:5px!important;font-size:12px!important;line-height:1.35;color:#718499!important}.hv-portal-section-cards>button>b{font-size:25px;color:#87a0b7;font-weight:500}.hv-portal-section-cards>button.active>b{color:#0d63ad}
.hv-team-search-card{border:1px solid #d8e5ef;background:linear-gradient(145deg,#ffffff,#f6faff);border-radius:22px;padding:18px;margin-bottom:16px;box-shadow:0 10px 26px rgba(18,58,94,.065)}.hv-team-search-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.hv-team-search-title small{font-size:9px;letter-spacing:.14em;font-weight:950;color:#7890a6}.hv-team-search-title h3{margin:2px 0 3px;color:#15395f;font-size:20px}.hv-team-search-title p{margin:0;color:#718397;font-size:12px}.hv-team-search-count{margin-top:9px;font-size:12px;color:#708196}.hv-team-search-count strong{color:#15406b}.hv-team-grid{gap:13px!important}.hv-team-card-pro{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:16px!important;border-radius:20px!important;border:1px solid #dce6ef!important;background:#fff!important;box-shadow:0 8px 22px rgba(19,58,93,.055)!important}.hv-team-card-avatar{width:56px;height:56px;border-radius:17px;background:linear-gradient(145deg,#e8f4ff,#d9ebfa);display:grid;place-items:center;color:#0d5799;font-weight:950;font-size:17px;box-shadow:inset 0 0 0 1px #cfe2f2}.hv-team-card-copy{min-width:0}.hv-team-card-copy small{font-size:9px!important;letter-spacing:.1em!important;color:#7b8da0!important}.hv-team-card-copy h3{margin:3px 0!important;font-size:19px!important;color:#173a5f}.hv-team-card-copy p{margin:0 0 5px!important;color:#60758a!important}.hv-team-card-copy>span{font-size:12px;color:#728497}.hv-team-card-copy>span b{font-size:14px;color:#0d5799}.hv-team-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hv-programme-toolbar{padding:16px 17px;border:1px solid #d9e5ef;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbfe);box-shadow:0 8px 22px rgba(20,58,96,.055);margin-bottom:15px}.hv-programme-toolbar small{font-size:9px;letter-spacing:.13em;font-weight:950;color:#7890a6}.hv-programme-toolbar h3{margin:3px 0;color:#15395f}.hv-session-admin-card-pro{border-radius:20px!important;border-color:#d8e5ef!important;box-shadow:0 9px 26px rgba(18,58,94,.065)!important}.hv-session-admin-card-pro .hv-session-admin-actions{gap:8px!important}.hv-session-admin-card-pro [data-hv-assign]{background:#eaf5ff!important;color:#0c5798!important;border-color:#c7e0f3!important;font-weight:900!important}
.hv-assign-team-intro{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;border:1px solid #d8e5ef;background:#f6fbff;border-radius:16px;padding:13px;margin-bottom:12px}.hv-assign-team-intro>span{width:46px;height:46px;border-radius:14px;background:#e5f2fc;display:grid;place-items:center;font-size:23px}.hv-assign-team-intro strong{display:block;color:#163d64}.hv-assign-team-intro p{margin:3px 0 0;color:#6c7f92;font-size:12px;line-height:1.4}.hv-assign-team-search{margin-bottom:12px}.hv-assign-team-list{display:grid;gap:9px;max-height:50vh;overflow:auto}.hv-assign-team-card{display:grid;grid-template-columns:28px 44px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dbe5ee;border-radius:15px;background:#fff;padding:11px 12px;cursor:pointer}.hv-assign-team-card input{width:20px;height:20px}.hv-assign-team-card.is-assigned{background:#f2faf5;border-color:#cfe9da}.hv-assign-team-avatar{width:42px;height:42px;border-radius:13px;background:#edf6fd;display:grid;place-items:center}.hv-assign-team-copy strong,.hv-assign-team-copy small,.hv-assign-team-copy b{display:block}.hv-assign-team-copy strong{font-size:14px;color:#173d63}.hv-assign-team-copy small{font-size:11px;color:#728397;margin-top:2px}.hv-assign-team-copy b{font-size:11px;color:#0d609f;margin-top:3px}.hv-assign-team-state{font-size:11px;font-weight:900;color:#6f8295}.hv-assign-team-card.is-assigned .hv-assign-team-state{color:#167a55}
/* Member bottom dock: white labels when idle, black when selected */
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock{background:linear-gradient(180deg,#123d6c,#082b57)!important;border-top-color:#1f4b78!important;box-shadow:0 -9px 30px rgba(5,31,65,.24)!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item{color:#fff!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item>span:last-child{color:#fff!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-house-visiting-nav{color:#fff!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active{background:#fff!important;color:#111!important;box-shadow:0 4px 14px rgba(0,0,0,.14)!important}
body.member-login-sanctuary-page > .member-convention-bottom-nav.cmnz-viewport-dock .member-bottom-nav-item.active>span:last-child{color:#111!important}
@media(max-width:700px){.hv-team-card-pro{grid-template-columns:50px minmax(0,1fr)!important}.hv-team-card-avatar{width:48px;height:48px}.hv-team-card-actions{grid-column:1/-1;justify-content:stretch}.hv-team-card-actions .btn{flex:1}.hv-team-search-title{align-items:flex-start}.hv-team-search-title .btn{white-space:nowrap}.hv-assign-team-card{grid-template-columns:25px 40px minmax(0,1fr)}.hv-assign-team-state{grid-column:3}.hv-portal-section-cards>button{min-height:88px!important;grid-template-columns:48px minmax(0,1fr) 18px!important;padding:14px!important}.hv-section-icon{width:46px!important;height:46px!important}}


/* v177-226 — House Visiting Portal professional management dashboard */
.house-visiting-portal-page #houseVisitingView{background:linear-gradient(180deg,#f8fbfe 0,#f4f8fc 100%);border:1px solid #dbe6ef;box-shadow:0 18px 50px rgba(18,55,90,.09);border-radius:26px;padding:20px}
.house-visiting-portal-page .role-welcome{font-size:14px;color:#5e7287;margin:11px 3px 0}
.hv-overview-dashboard{display:grid;gap:16px}
.hv-overview-controlbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:2px 2px 0}.hv-overview-programme-picker{min-width:0;flex:1;max-width:620px}.hv-overview-programme-picker label{display:block;margin:0 0 6px;font-size:10px;font-weight:950;letter-spacing:.12em;color:#75889b;text-transform:uppercase}.hv-overview-programme-picker select{width:100%;height:46px;border-radius:14px;background:#fff}.hv-overview-refresh{height:46px;white-space:nowrap}
.hv-overview-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:25px;border-radius:24px;background:linear-gradient(125deg,#092f5c,#0d4f89 56%,#116ca9);color:#fff;box-shadow:0 16px 40px rgba(5,51,96,.19);overflow:hidden;position:relative}.hv-overview-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-75px;top:-105px;border:32px solid rgba(255,255,255,.055);pointer-events:none}.hv-overview-hero-copy{position:relative;z-index:1}.hv-overview-eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:950;letter-spacing:.14em;color:#cbe3f7}.hv-live-dot{width:8px;height:8px;border-radius:50%;background:#8ba4ba}.hv-live-dot.is-live{background:#55df9a;box-shadow:0 0 0 5px rgba(85,223,154,.13)}.hv-overview-hero h2{margin:7px 0 5px;font-size:clamp(25px,4vw,36px);line-height:1.08;color:#fff}.hv-overview-hero p{margin:0;color:#d7e7f6;font-size:13px}.hv-overview-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hv-overview-hero-actions .btn{min-height:42px;border-radius:12px}.hv-overview-hero-actions .planning-primary{background:#fff!important;color:#0a4379!important;border-color:#fff!important}.hv-overview-hero-actions .secondary,.hv-overview-hero-actions .ghost{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
.hv-overview-progress-card{position:relative;z-index:1;display:flex;align-items:center;gap:15px;min-width:260px;padding:14px 16px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.10);border-radius:20px;backdrop-filter:blur(5px)}.hv-progress-ring{--hv-progress:0;position:relative;width:92px;height:92px;border-radius:50%;background:conic-gradient(#69e2ae calc(var(--hv-progress)*1%),rgba(255,255,255,.15) 0);display:grid;place-items:center;flex:none}.hv-progress-ring:before{content:"";position:absolute;inset:8px;background:#0c4d84;border-radius:50%}.hv-progress-ring>div{position:relative;z-index:1;text-align:center;display:grid}.hv-progress-ring strong{font-size:22px;color:#fff}.hv-progress-ring span{font-size:9px;color:#cee3f4;text-transform:uppercase;letter-spacing:.08em}.hv-overview-progress-copy{display:grid;gap:4px}.hv-overview-progress-copy strong{font-size:18px}.hv-overview-progress-copy span{font-size:12px;color:#d0e3f3}
.hv-overview-empty-programme{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:15px;align-items:center;padding:20px;border:1px dashed #abc7de;background:#f7fbff;border-radius:20px}.hv-overview-empty-programme>span{width:54px;height:54px;border-radius:16px;background:#e5f2fc;display:grid;place-items:center;font-size:25px;color:#17629d}.hv-overview-empty-programme h3{margin:0 0 4px;color:#173d62}.hv-overview-empty-programme p{margin:0;color:#6c7f91;font-size:12px}
.hv-overview-primary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hv-kpi-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:15px;border-radius:18px;background:#fff;border:1px solid #dbe6ef;box-shadow:0 7px 20px rgba(23,57,88,.045)}.hv-kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:#eef5fb}.hv-kpi-card small{display:block;font-size:9px;letter-spacing:.11em;font-weight:950;color:#718499}.hv-kpi-card strong{display:block;margin-top:1px;font-size:27px;line-height:1;color:#153d64}.hv-kpi-card p{margin:4px 0 0;font-size:10.5px;color:#7a8998}.hv-kpi-remaining .hv-kpi-icon{background:#fff3db}.hv-kpi-completed .hv-kpi-icon{background:#e8f8ef}.hv-kpi-interested .hv-kpi-icon{background:#ebf9f1}.hv-kpi-followup .hv-kpi-icon{background:#eaf4ff}
.hv-overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;align-items:start}.hv-dashboard-card{background:#fff;border:1px solid #dae5ee;border-radius:20px;padding:17px;box-shadow:0 8px 24px rgba(21,56,88,.05)}.hv-dashboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.hv-dashboard-card-head small{display:block;font-size:9px;letter-spacing:.12em;font-weight:950;color:#7890a5}.hv-dashboard-card-head h3{margin:3px 0 0;font-size:19px;color:#173c61}.hv-attention-count,.hv-all-clear{display:inline-grid;place-items:center;min-width:31px;height:31px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:950}.hv-attention-count{background:#fff0e8;color:#ac4f1d}.hv-all-clear{background:#eaf8f0;color:#17734e}
.hv-next-action{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 20px;gap:11px;align-items:center;text-align:left;border-radius:16px;border:1px solid #dce7f0;background:#f7fbff;padding:12px;color:#173b60;cursor:pointer}.hv-next-action>span{width:44px;height:44px;border-radius:13px;background:#e8f3fc;display:grid;place-items:center;font-size:21px}.hv-next-action strong,.hv-next-action small{display:block}.hv-next-action strong{font-size:13px}.hv-next-action small{font-size:10.5px;color:#718397;margin-top:3px;line-height:1.35}.hv-next-action>b{font-size:24px;color:#7790a7}.hv-next-action.has-work{border-color:#c9ddeb;background:linear-gradient(135deg,#f4faff,#fff)}.hv-next-action.is-clear{background:#f2faf6;border-color:#d7eadf;cursor:default}.hv-next-action:disabled{opacity:1}
.hv-attention-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.hv-attention-mini-grid button{min-height:78px;border:1px solid #e0e8ef;border-radius:14px;background:#fff;padding:10px;text-align:left;cursor:pointer;color:#193d60}.hv-attention-mini-grid button>span{font-size:18px}.hv-attention-mini-grid button>strong{display:inline-block;margin-left:6px;font-size:20px}.hv-attention-mini-grid button>small{display:block;margin-top:5px;color:#748698;font-size:10.5px}.hv-attention-mini-grid button:disabled{opacity:.55;cursor:not-allowed}
.hv-quick-action-grid{display:grid;gap:8px}.hv-quick-action-grid button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;border:1px solid #dfe8ef;border-radius:14px;background:#fbfdff;padding:10px 11px;color:#183e64;cursor:pointer}.hv-quick-action-grid button>span{width:40px;height:40px;border-radius:12px;background:#eaf4fc;display:grid;place-items:center;font-size:19px}.hv-quick-action-grid strong,.hv-quick-action-grid small{display:block}.hv-quick-action-grid strong{font-size:12.5px}.hv-quick-action-grid small{font-size:10px;color:#758698;margin-top:2px}.hv-quick-action-grid b{font-size:21px;color:#8299ae}.hv-quick-action-grid button:disabled{opacity:.5;cursor:not-allowed}
.hv-team-progress-card{padding-bottom:12px}.hv-team-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hv-team-progress-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #e0e8ef;border-radius:14px;background:#fbfdff}.hv-team-progress-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#e8f4ff,#d8ebfb);display:grid;place-items:center;color:#145d98;font-size:12px;font-weight:950}.hv-team-progress-main{min-width:0}.hv-team-progress-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.hv-team-progress-title strong{font-size:12px;color:#173d62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hv-team-progress-title span{font-size:11px;font-weight:950;color:#0f649f}.hv-team-progress-bar{height:7px;border-radius:99px;background:#e9eef3;overflow:hidden;margin:6px 0}.hv-team-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c81c4,#42b98a)}.hv-team-progress-main small{font-size:9.5px;color:#748596}
.hv-overview-secondary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hv-overview-secondary-stats>div{display:grid;grid-template-columns:auto auto;justify-content:start;gap:2px 8px;align-items:center;padding:11px 12px;border:1px solid #e1e9f0;background:#fff;border-radius:14px}.hv-overview-secondary-stats>div>span{grid-row:1/3;font-size:18px}.hv-overview-secondary-stats strong{font-size:17px;color:#153c62}.hv-overview-secondary-stats small{font-size:9.5px;color:#778797}
.hv-portal-section-cards>button{position:relative;overflow:hidden}.hv-portal-section-cards>button:after{content:"";position:absolute;inset:auto 14px 0;height:3px;border-radius:99px;background:transparent}.hv-portal-section-cards>button.active:after{background:linear-gradient(90deg,#1c79bd,#45b58b)}
@media(max-width:900px){.hv-overview-primary-stats{grid-template-columns:1fr 1fr}.hv-overview-grid{grid-template-columns:1fr}.hv-team-progress-list{grid-template-columns:1fr}.hv-overview-hero{grid-template-columns:1fr}.hv-overview-progress-card{min-width:0;justify-self:start}}
@media(max-width:620px){.house-visiting-portal-page #houseVisitingView{padding:12px;border-radius:20px}.hv-overview-controlbar{align-items:stretch;flex-direction:column}.hv-overview-refresh{align-self:flex-end}.hv-overview-hero{padding:18px;border-radius:20px;gap:16px}.hv-overview-progress-card{width:100%;box-sizing:border-box}.hv-overview-primary-stats{grid-template-columns:1fr 1fr;gap:8px}.hv-kpi-card{grid-template-columns:40px minmax(0,1fr);padding:11px;gap:9px}.hv-kpi-icon{width:38px;height:38px;font-size:18px;border-radius:11px}.hv-kpi-card strong{font-size:22px}.hv-kpi-card p{display:none}.hv-attention-mini-grid{grid-template-columns:1fr 1fr}.hv-overview-secondary-stats{grid-template-columns:1fr 1fr}.hv-overview-empty-programme{grid-template-columns:48px minmax(0,1fr)}.hv-overview-empty-programme .btn{grid-column:1/-1;width:100%}}

/* v177-229 — accurate login activity */
.audit-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.audit-login-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;margin-bottom:10px}.audit-login-toolbar label{display:block;font-size:.72rem;font-weight:900;color:#557087;margin-bottom:5px}.audit-login-toolbar select{width:100%;min-height:46px;border:1px solid #ccdbe8;border-radius:12px;background:#fff;padding:0 11px}.audit-login-table td,.audit-login-table th{vertical-align:middle}.audit-login-table td:nth-child(2) strong{white-space:nowrap;color:#0b4d89}.audit-mode-tabs .btn.active{box-shadow:0 5px 14px rgba(10,78,140,.14)}
@media(max-width:700px){.audit-login-toolbar{grid-template-columns:1fr}.audit-login-table{min-width:800px}}

/* ==========================================================
   v177-243 — modern typography + visible professional Next Meeting motion
   ========================================================== */
:root{
  --cmnz-modern-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI Variable","Segoe UI","Aptos","Inter",Roboto,"Helvetica Neue",Arial,sans-serif;
}
html,body,button,input,select,textarea{font-family:var(--cmnz-modern-font)!important}
.member-login-sanctuary-page,.member-login-sanctuary-page *{font-family:var(--cmnz-modern-font)}
.member-next-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 88% 14%,rgba(67,153,232,.24),transparent 34%),
    radial-gradient(circle at 8% 100%,rgba(78,184,212,.13),transparent 30%),
    linear-gradient(120deg,#ffffff 0%,#f6fbff 42%,#edf6ff 72%,#f9fcff 100%)!important;
  background-size:160% 160%!important;
  border:1px solid #cfdfee!important;
  box-shadow:0 18px 44px rgba(16,59,102,.13)!important;
  animation:cmnzNextMeetingGradient 10s ease-in-out infinite!important;
}
.member-next-hero::before{
  content:""!important;
  position:absolute!important;
  width:310px!important;height:310px!important;
  right:-125px!important;top:-150px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(31,126,214,.28) 0%,rgba(31,126,214,.10) 35%,rgba(31,126,214,0) 70%)!important;
  filter:blur(2px)!important;
  z-index:-1!important;
  animation:cmnzNextMeetingOrb 8s ease-in-out infinite alternate!important;
}
.member-next-hero::after{
  content:""!important;
  position:absolute!important;
  left:-45%!important;top:-15%!important;
  width:38%!important;height:140%!important;
  background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.10) 72%,rgba(255,255,255,0) 100%)!important;
  transform:skewX(-12deg)!important;
  z-index:0!important;
  pointer-events:none!important;
  animation:cmnzNextMeetingSweep 6.8s cubic-bezier(.45,.05,.55,.95) infinite!important;
}
.member-next-hero>*{position:relative;z-index:2}
.member-next-kicker{letter-spacing:.14em!important;font-weight:900!important}
.member-next-hero h2{font-weight:850!important;letter-spacing:-.045em!important}
.member-next-time{font-weight:800!important}
@keyframes cmnzNextMeetingGradient{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes cmnzNextMeetingOrb{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-38px,34px,0) scale(1.10)}
}
@keyframes cmnzNextMeetingSweep{
  0%,18%{left:-45%;opacity:0}
  28%{opacity:.9}
  62%{left:115%;opacity:.7}
  72%,100%{left:115%;opacity:0}
}
@media(max-width:520px){
  .member-next-hero{box-shadow:0 14px 34px rgba(16,59,102,.12)!important}
  .member-next-hero::before{width:250px!important;height:250px!important;right:-105px!important;top:-125px!important}
  .member-next-hero::after{width:48%!important}
}
@media(prefers-reduced-motion:reduce){
  .member-next-hero,.member-next-hero::before,.member-next-hero::after{animation:none!important}
}

/* v177-244 Monthly Meetings staggered entrance */
.monthly-stagger-enter .member-monthly-hero{
  animation:cmnzMonthlyHeroIn .58s cubic-bezier(.22,.8,.32,1) both;
}
.monthly-stagger-enter .member-monthly-meeting-card{
  opacity:0;
  transform:translateY(18px) scale(.992);
  animation:cmnzMonthlyCityIn .72s cubic-bezier(.2,.72,.22,1) both;
  animation-delay:calc(.22s + (var(--card-index,0) * .20s));
  will-change:opacity,transform;
}
@keyframes cmnzMonthlyHeroIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes cmnzMonthlyCityIn{
  0%{opacity:0;transform:translateY(18px) scale(.992)}
  55%{opacity:.68}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .monthly-stagger-enter .member-monthly-hero,
  .monthly-stagger-enter .member-monthly-meeting-card{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}
