:root{color-scheme:light;--ink:#17243a;--muted:#66758b;--blue:#246cf5;--blue-deep:#1455d8;--blue-soft:#eaf1ff;--ice:#f3f7fc;--paper:#fff;--line:#e0e7f0;--line-strong:#cad6e6;--pink:#e4498b;--purple:#8560df;--teal:#30a9b8;--green:#169c69;--red:#cb5061;--amber:#ba8519;--shadow:0 16px 42px rgba(35,63,103,.08);font-family:Inter,"Segoe UI","Microsoft YaHei",Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f7f9fc 0,#f4f7fb 450px,#f7f9fc 100%);color:var(--ink);font-family:inherit;font-size:14px;transition:background-color .35s ease,color .35s ease}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.legacy-hidden{display:none!important}.shell{max-width:1320px;margin:auto;padding:0 36px 34px}
.topbar{height:78px;display:flex;align-items:center;gap:42px;border-bottom:1px solid rgba(203,215,231,.72)}.brand{display:flex;align-items:center;gap:12px;min-width:235px;color:var(--ink);font-size:16px;font-weight:750;letter-spacing:.015em;text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{height:39px;width:39px;border-radius:12px;display:grid;place-items:center;color:white;font-size:17px;font-weight:800;background:linear-gradient(145deg,#4d91ff,#2868ee);box-shadow:0 7px 17px #2868ee32}.brand small{display:block;margin-top:3px;color:#8997ab;font-size:10px;font-weight:500;letter-spacing:.02em}.topbar nav{height:100%;display:flex;align-items:stretch;gap:28px;flex:1}.nav{position:relative;border:0;background:none;padding:0 2px;color:#62738b;font-size:13px;font-weight:600;white-space:nowrap}.nav:hover{color:var(--blue)}.nav.active{color:var(--blue)}.nav.active:after{position:absolute;content:"";height:3px;left:0;right:0;bottom:0;border-radius:3px;background:var(--blue)}.account{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:150px;color:#52637a;font-size:11px}.account button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 10px;color:#425875;font-size:11px}.account button:hover{border-color:#a9c2ef;background:#f8fbff}.account span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pending{color:var(--muted)}
.hero{position:relative;min-height:174px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 0 22px;overflow:visible}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:7px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.eyebrow i{height:7px;width:7px;border-radius:50%;background:#5a99ff}.eyebrow.muted{color:#8390a3}.hero h1{margin:11px 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:-.045em;font-weight:780}.hero p{margin:0;color:#6a7a91;font-size:14px;line-height:1.6}.presence{position:relative;z-index:2;display:flex;align-items:center;gap:11px;min-width:190px;padding:12px 17px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px #314c700c}.presence-dot{height:11px;width:11px;border-radius:50%;background:#8ea0b7;box-shadow:0 0 0 5px #8ea0b71a}.presence-dot.near{background:#ec5195;box-shadow:0 0 0 5px #ec51951e}.presence-dot.apart{background:#7188a7;box-shadow:0 0 0 5px #7188a71b}.presence div{display:grid;gap:3px}.presence b{font-size:11px;font-weight:700}.presence small{font-size:9px;color:#94a0b1}.nearby-friends{position:absolute;right:225px;top:8px;width:min(46vw,490px);height:152px;object-fit:contain;object-position:center;pointer-events:none;opacity:.96;z-index:0}.notice{margin:0 0 17px;padding:12px 15px;border:1px solid #d5e4ff;border-radius:11px;background:#edf4ff;color:#355b9a;font-size:12px;display:flex;gap:9px;align-items:center;box-shadow:0 5px 16px #314c7009}.notice>span:first-child{color:var(--blue)}.notice button{margin-left:auto;border:0;background:none;font-size:20px;color:#8290a3}
.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(335px,.88fr);gap:20px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.calendar-card{padding:24px 25px 19px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-head h2,.form-card h2,.host-tools h2,.list-card h2{margin:5px 0 0;font-size:24px;line-height:1.24;letter-spacing:-.025em;font-weight:730}.section-head .intro{max-width:650px}.month-controls{display:flex;align-items:center;gap:7px;margin-top:3px}.month-controls button{min-width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#536780;font-size:17px}.month-controls button:hover{background:#f3f7ff;border-color:#b9cbed}.month-controls .today-button{width:auto;padding:0 12px;font-size:11px}.legend{display:flex;align-items:center;gap:19px;min-height:22px;margin:17px 0 12px;color:#8491a3;font-size:10px}.legend>span{display:flex;align-items:center;gap:6px}.dot{height:8px;width:8px;border-radius:50%;background:var(--blue)}.dot.rest{background:var(--pink)}.calendar-note{margin:-2px 0 10px;color:#8795a8;font-size:10px;line-height:1.6}.calendar-note:empty{display:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.weekday{height:34px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#8a97aa;background:#f5f8fc}.weekday.weekend-text{color:#6783aa}.day-cell{position:relative;min-height:72px;text-align:left;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 7px 5px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow:hidden}.day-cell:hover{background:#f5f8ff}.day-cell.weekend{background:#fbfcfe}.day-cell.holiday{background:#fff8fb}.day-cell.outside{opacity:.36}.day-cell.selected{box-shadow:inset 0 0 0 2px var(--blue);background:#edf4ff;z-index:1}.day-number{font-size:12px;color:#455973;font-weight:620}.today .day-number{height:23px;min-width:23px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#fff;margin-top:-3px;margin-left:-3px}.day-label{font-size:9px;color:#c0788e;line-height:1.2}.work-label{color:#547fb6}.event-pill{background:#eaf1ff;color:#4f70a7;font-size:9px;border-radius:5px;padding:3px 5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-events{font-size:9px;color:#7588a2}.calendar-foot{margin-top:16px;display:flex;align-items:center;gap:11px;color:#718198;font-size:11px}.calendar-foot small{display:block;color:#98a3b3;font-size:10px;margin-top:4px}.calendar-foot-mark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-size:16px}.side-column{display:grid;gap:16px}.form-card{padding:23px 23px 20px}.form-card h2{margin-top:6px}.intro{font-size:12px;color:#78889e;margin:7px 0 17px;line-height:1.65}.form{display:grid;gap:12px}.form label,.field-label{display:grid;gap:6px;color:#52657e;font-size:11px;font-weight:650}.form input,.form textarea,.form select,.field-label select,.icloud-panel input,.picker-search input{width:100%;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s}.form input:focus,.form textarea:focus,.form select:focus,.field-label select:focus,.picker-search input:focus{border-color:#7ba8f7;box-shadow:0 0 0 3px #246cf51a}.form textarea{resize:vertical;min-height:78px}.form input::placeholder,.form textarea::placeholder,.picker-search input::placeholder{color:#a7b1bf}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.time-fields input{padding:9px 7px;font-size:10px}.timezone-note{font-size:10px;color:#8997a9;margin-top:-5px}.primary,.secondary{border:0;border-radius:9px;background:var(--blue);color:white;font-size:12px;font-weight:680;padding:11px 15px;text-align:center;transition:background .15s,transform .15s,box-shadow .15s}.primary:hover,.secondary:hover{background:var(--blue-deep);box-shadow:0 6px 15px #246cf52c}.primary:active,.secondary:active{transform:translateY(1px)}.secondary{width:100%;cursor:pointer;background:#eaf1ff;color:#285cae}.secondary:hover{background:#dfeaff;color:#174b9d}.signin-box{text-align:center;padding:17px 6px 8px}.signin-icon{height:44px;width:44px;border-radius:14px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;margin:auto;font-size:20px}.signin-box h3{font-size:16px;margin:13px 0 7px;font-weight:700}.signin-box p{font-size:11px;color:#8190a4;line-height:1.7;margin:0 auto 15px;max-width:270px}.signin-box .primary{display:block;width:100%}.privacy-note{text-align:center;font-size:10px;color:#98a4b3;margin:0}.tiny-note{display:flex;align-items:center;gap:12px;padding:7px 12px;color:#8291a5}.tiny-note>span{height:31px;min-width:31px;border-radius:10px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);font-size:17px}.tiny-note p{font-size:10px;line-height:1.6;margin:0}.tiny-note b{color:#5f728c;font-size:11px;font-weight:650}
.list-card{padding:25px 28px;min-height:350px}.list-card>.section-head{margin-bottom:16px}.section-actions{display:flex;align-items:center;gap:8px}.soft{border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:8px 11px;color:#506885;font-size:11px;font-weight:600}.soft:hover{background:#f4f7fc;border-color:#b4c6df}.trip-section{margin-top:22px}.trip-section>h3{margin:0 0 11px;font-size:14px;font-weight:700;color:#40536e}.legacy-compatible{display:none!important}.booking-list{border-top:1px solid var(--line)}.booking-row{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.booking-date{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;color:var(--blue)}.booking-date b{font-size:18px;letter-spacing:-.02em;font-weight:720}.booking-date small{font-size:10px;color:#8b98aa}.booking-title{font-size:14px;font-weight:700;color:#31445d}.booking-info p{margin:6px 0;font-size:11px;color:#78899f}.booking-info>small{font-size:10px;color:#8c9aad}.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;max-width:270px}.status{white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:10px;background:#eff3f8;color:#718199}.status-approved,.status-joined{background:#e7f7f0;color:#148258}.status-rejected,.status-cancelled{background:#f8ecee;color:#a35c68}.status-pending,.status-creator{background:#eef3ff;color:#4c6ca1}.status-waiting,.status-membership-pending{background:#fff6e4;color:#a47a22}.text-button{border:0;background:none;color:#73839a;font-size:10px;padding:6px}.text-button:hover{color:#385a8a}.approve{border:0;border-radius:8px;background:var(--blue);color:white;padding:7px 10px;font-size:10px}.manage-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.83fr);gap:19px;align-items:start}.host-tools{padding:24px 22px}.host-tools h2{margin:0 0 15px}.host-tools>.form{padding-bottom:17px;border-bottom:1px solid var(--line)}.rest-list{padding:15px 0;border-bottom:1px solid var(--line)}.rest-list h3,.icloud-panel h3,.accounts-panel h3,.grant-list-section h3,.notification-panel h3{font-size:14px;font-weight:700;margin:0 0 9px;color:#40536e}.rest-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;color:#718199;font-size:10px}.rest-row button{border:0;background:none;color:#6c7e96;font-size:10px}.accounts-panel{padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}.accounts-panel .rest-row,.grant-form .rest-row{align-items:flex-start}.accounts-panel .rest-row span,.grant-form .rest-row span{min-width:0;overflow-wrap:anywhere}.accounts-panel small,.grant-form small{display:block;color:#8593a7;margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.account-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(170px,1.2fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f6}.account-identity{min-width:0;display:grid;gap:4px}.account-identity b{overflow-wrap:anywhere;color:#52657d;font-size:10px;font-weight:650}.account-identity small{color:#98a4b4;font-size:9px}.account-display-name{display:flex;align-items:center;gap:5px;width:100%;min-width:0;border:0;padding:0}.account-display-name input{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#fff;padding:8px;color:#32465f;font-size:10px}.account-display-name button{white-space:nowrap}.member-remove{border:0;border-left:1px solid #e0e8f4;background:transparent;color:#7188a7;padding:2px 0 2px 6px;font-size:9px}.account-row-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.account-row-actions button{font-size:10px}.grant-list-section,.notification-panel{padding-top:17px;margin-top:15px;border-top:1px solid var(--line)}.notification-panel .compact{align-items:center}.mail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.mail-row span{min-width:0;font-size:10px;color:#5f7189;overflow-wrap:anywhere}.mail-row small{display:block;color:#9aa6b4;margin-top:3px}.status-mail-failed{color:#c34f5c!important}.status-mail-pending{color:#ab7c19!important}.icloud-panel{padding-top:17px;margin-top:17px;border-top:1px solid var(--line)}.icloud-panel h3{margin-top:7px}.privacy-copy{font-size:10px;line-height:1.7;color:#8795a8;margin:0 0 11px}.consent-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-weight:550!important}.consent-line input{width:15px!important;height:15px;padding:0!important}.icloud-status{font-size:11px;line-height:1.7;border:1px solid var(--line);background:#f7f9fc;border-radius:9px;padding:10px 12px;margin:10px 0}.icloud-actions{display:flex;align-items:center;gap:9px;margin-top:12px}.icloud-actions .soft{flex:1}.icloud-actions .text-button{white-space:nowrap}.session-settings{padding:13px 0 0;margin-top:13px;border-top:1px solid var(--line)}.location-card{border:1px solid #d8e5fa;background:#f3f7ff;border-radius:10px;padding:12px 13px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.location-card div{display:grid;gap:5px}.location-card b{font-size:11px;color:#3f5f8d}.location-card span{font-size:9px;color:#7e8da1}.location-card a{font-size:10px;color:#3569bd;white-space:nowrap}.booking-row .location-button{margin-top:5px}.trip-sharing{display:grid;gap:4px;margin:8px 0}.trip-sharing label{display:flex;align-items:center;gap:6px;color:#5b708d;font-size:10px;font-weight:600}.trip-sharing input{accent-color:var(--blue)}.trip-sharing small{font-size:9px;color:#94a1b1;line-height:1.5}.trip-sharing.admin-share{display:flex;align-items:center;gap:7px;flex:1 0 100%;color:#5b708d;font-size:10px}.trip-sharing.admin-share span{display:grid;gap:3px}.trip-sharing.admin-share small{font-weight:400}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.page-info,.page-size{font-size:11px;color:#8291a4}.page-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.page-controls .soft{padding:6px 9px;font-size:10px}.page-controls .soft[disabled]{opacity:.5;cursor:default}.page-size{display:flex;align-items:center;gap:5px}.page-size select{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px;padding:4px 6px}
.map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.75fr);gap:19px;align-items:stretch}.map-card{padding:22px}.map-side{padding:22px}.map-side h3{font-size:17px;margin:5px 0 14px}.map-controls{display:flex;align-items:center;gap:8px}.admin-map-filter{min-width:130px}.map-wrap{position:relative;margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#eaf0f6}.owner-map{width:100%;height:min(60vh,580px);min-height:390px;background:#eef2f7}.map-fallback{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border:1px solid #e3c98c;border-radius:9px;background:#fff9e8;color:#806b3a;font-size:10px}.map-attribution{font-size:9px;color:#9aa5b3;margin:10px 0 0}.map-status{display:grid;gap:8px}.loc-card{border:1px solid #dfe8f6;background:#f7faff;border-radius:10px;padding:11px 12px;display:grid;gap:6px;margin-bottom:9px}.loc-card b{font-size:11px;color:#425c7f}.loc-card span{font-size:10px;color:#7d8da2;line-height:1.5}.loc-card a{font-size:10px;color:#3569bd;white-space:nowrap}.loc-card.empty-loc{background:#f8fafc;border-color:#e7edf4}.loc-card.empty-loc span{color:#9aa6b4}.map-pin{display:grid;place-items:center;width:34px!important;height:34px!important;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:#2875f2;border:2px solid white;box-shadow:0 5px 14px #245fb34f}.map-pin span{transform:rotate(45deg);color:#fff;font-size:13px;font-weight:750}.map-pin.partner{background:#865ee1}.map-pin.scope-partner{background:#e4498b}.map-status .map-empty{padding:28px 12px;text-align:center;color:#8b99ab;font-size:11px}
.member-list{display:flex;align-items:center;gap:6px;max-width:100%;margin-top:9px}.member-chip[data-collapsed="true"]{display:none}.member-chips{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}.member-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;max-width:180px;padding:4px 8px;border:1px solid #e2eaf5;border-radius:999px;background:#f4f7fc;color:#526987;font-size:10px}.member-chip .avatar{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#deebff;color:#2869ce;font-size:9px;font-weight:700}.member-remove{border:0;border-left:1px solid #e0e8f4;background:transparent;color:#7188a7;padding:2px 0 2px 6px;font-size:9px}.member-chip:nth-child(4n+2) .avatar{background:#efe9ff;color:#7652ce}.member-chip:nth-child(4n+3) .avatar{background:#e3f5ee;color:#2c8a66}.member-chip:nth-child(4n+4) .avatar{background:#fce9f1;color:#c2477d}.member-more{flex:0 0 auto;border:1px solid #dbe7fa;border-radius:999px;background:#eff5ff;color:#386cb9;padding:5px 9px;font-size:10px;font-weight:650}.member-list.is-expanded{flex-wrap:wrap}.member-list.is-expanded .member-chips{white-space:normal;overflow:visible;flex-wrap:wrap}.member-list.is-expanded .member-chip{max-width:100%}.join-request-box{margin:11px 0;padding:11px;border:1px solid #e7edf5;border-radius:10px;background:#f9fbfe}.join-request-box h4{margin:0 0 5px;font-size:11px;color:#50647e}.request-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #e8edf4}.request-row>span{font-size:10px;color:#5b6f88}.request-actions{display:flex;gap:5px}.request-actions button{font-size:10px;padding:5px 8px}
.empty{text-align:center;padding:43px 15px;color:#8c9aac}.empty>span{font-size:25px;color:#9db7dd}.empty h3{margin:9px 0 6px;font-size:16px;font-weight:700;color:#52667f}.empty p{font-size:11px;margin:0 auto 14px;max-width:310px;line-height:1.7}.text-button:hover{color:#385a8a}.status{line-height:1.3}.share-window{display:block;margin-top:7px;font-size:9px;color:#8b99ab;line-height:1.55}
.tiny-note,.share-window{color:#8795a8}.reg-hint{font-size:11px;color:#8795a8;line-height:1.7;margin:0 0 10px}.reg-actions{display:flex;gap:8px;margin-top:10px}.reg-actions .soft{flex:1}.gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#12213a9c;backdrop-filter:blur(6px)}.gate-card{width:min(470px,100%);max-height:min(90vh,900px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 24px 90px #0b1a3038}.gate-card h2{font-size:24px;margin:7px 0}.gate-sub,.gate-email{font-size:12px;color:#718198;line-height:1.7}.gate-actions{display:flex;gap:8px;margin-top:14px}.gate-actions>*{flex:1}.field-hint{font-size:10px;color:#8997a8;line-height:1.6;margin:0}.dialog-message{font-size:11px;color:#315fa4;margin-top:12px;min-height:16px}.dialog-message.error{color:#bd4050}.dialog-message.ok{color:#16845d}
footer{display:flex;justify-content:space-between;gap:10px;padding:22px 2px 0;margin-top:28px;border-top:1px solid var(--line);color:#98a4b4;font-size:9px;letter-spacing:.02em}dialog{position:fixed;width:min(420px,calc(100% - 30px));max-height:min(90vh,850px);overflow:auto;padding:25px 26px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #14253d3c}dialog.wide-dialog{width:min(560px,calc(100% - 30px))}dialog::backdrop{background:#12213a80;backdrop-filter:blur(3px)}dialog h2{font-size:23px;letter-spacing:-.02em;margin:7px 0}dialog>p,.dialog-intro{font-size:12px;color:#7e8da1;line-height:1.7}.dialog-close{position:absolute;right:12px;top:10px}.dialog-close button{border:0;background:none;font-size:21px;color:#8593a6}.dialog-links{display:flex;justify-content:space-between;gap:7px;margin-top:14px}.link-button{border:0;background:none;color:#4e70a0;font-size:10px;padding:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.dialog-actions>*{min-width:92px}.picker-search{margin:13px 0}.member-picker-list{display:grid;gap:4px;max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:7px}.member-picker-row{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:9px;padding:8px;border-radius:8px}.member-picker-row:hover{background:#f4f7fc}.member-picker-row span{display:grid;gap:3px;font-size:11px;color:#52657d}.member-picker-row small{font-size:9px;color:#98a4b4}.dialog-close button:hover{color:var(--blue)}
.account-pending{color:#8997a9;font-size:11px}.icloud-locations{display:grid;gap:9px;margin:10px 0 4px}.icloud-locations:empty{display:none}.map-toolbar label{display:grid;gap:4px}.map-toolbar select{border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:#516580;padding:8px 10px;font-size:11px}.consent-line input[type=checkbox]{accent-color:var(--blue)}#login-dialog button[disabled],#apple-login-form button[disabled],#apple-verify-form button[disabled],#otp-send-form button[disabled],#otp-verify-form button[disabled]{opacity:.55;cursor:progress}.pagination.hidden{display:none!important}
/* Near mode is a small accent shift; the source image is only requested after the server explicitly reports near. */
body{transition:background-color .4s ease,color .4s ease}body.theme-near{--ink:#28273d;--muted:#847d98;--blue:#795de2;--blue-deep:#6248c8;--blue-soft:#f0eaff;--ice:#faf7ff;--paper:#fff;--line:#e8def5;--line-strong:#d7c9ea;--pink:#df4e99;--shadow:0 16px 42px rgba(104,63,147,.09);background:linear-gradient(180deg,#fff9fc 0,#f9f7ff 480px,#f8faff 100%)}body.theme-near .brand-mark{background:linear-gradient(145deg,#9a73eb,#e74d9b);box-shadow:0 6px 17px #b85fc334}body.theme-near .nav.active,body.theme-near .hero h1{color:#6c56c7}body.theme-near .nav.active:after{background:linear-gradient(90deg,#8c6be6,#e74d9b)}body.theme-near .presence{border-color:#eadcf4;background:#fffafd}body.theme-near .presence-dot.near{background:#e64993;box-shadow:0 0 0 5px #e649931e}body.theme-near .card{box-shadow:0 10px 28px #8a63b214}body.theme-near .calendar-foot-mark{background:#f2ecff;color:#8060dc}body.theme-near .day-cell.selected{background:#f3edff;box-shadow:inset 0 0 0 2px #8a6be3}body.theme-near .today .day-number{background:linear-gradient(145deg,#8b67e3,#df4f97)}body.theme-near .event-pill{background:#f3eaff;color:#7255bd}body.theme-near .primary,body.theme-near .approve{background:linear-gradient(100deg,#8365e4,#e44892)}body.theme-near .primary:hover{background:linear-gradient(100deg,#7050d2,#cf347c)}body.theme-near .secondary{background:#f2edff;color:#7155c3}body.theme-near .secondary:hover{background:#e8ddff}body.theme-near .member-chip .avatar{background:#f0e8ff;color:#7351c9}body.theme-near .nearby-friends{opacity:.98}
@media(max-width:1000px){.shell{padding:0 24px 28px}.topbar{gap:24px}.brand{min-width:200px}.topbar nav{gap:19px}.layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);gap:14px}.calendar-card{padding:21px 17px 17px}.day-cell{min-height:65px;padding:7px 5px}.manage-layout{grid-template-columns:minmax(0,1.25fr) minmax(270px,.8fr)}.booking-row{grid-template-columns:80px minmax(0,1fr)}.row-actions{grid-column:2;justify-content:flex-start;max-width:none}.booking-date{grid-row:span 2}.map-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}.nearby-friends{right:185px;width:39vw}}
@media(max-width:720px){.shell{padding:0 15px 20px}.topbar{height:auto;min-height:68px;gap:10px;flex-wrap:wrap;padding:10px 0 0}.brand{font-size:14px;min-width:0;flex:1}.brand-mark{height:34px;width:34px}.brand small{font-size:8px}.account{min-width:auto}.topbar nav{order:3;width:100%;height:43px;flex:0 0 100%;justify-content:space-between;gap:9px}.nav{font-size:11px}.hero{min-height:148px;padding:25px 0 20px;gap:8px}.hero h1{font-size:31px}.hero p{max-width:310px;font-size:11px;line-height:1.7}.presence{min-width:0;margin:0;padding:8px 9px;max-width:145px}.presence b{font-size:9px}.presence small{font-size:8px}.nearby-friends{right:100px;top:2px;width:min(45vw,280px);height:125px;opacity:.65}.layout,.manage-layout,.map-layout{grid-template-columns:1fr}.calendar-card{padding:19px 12px 15px}.section-head h2,.form-card h2,.host-tools h2,.list-card h2{font-size:21px}.legend{gap:10px;font-size:9px}.day-cell{min-height:57px;padding:6px 4px}.weekday{height:30px}.day-number{font-size:11px}.day-label{font-size:8px}.event-pill{padding:2px 3px;font-size:7px}.calendar-foot{font-size:10px}.side-column{gap:11px}.form-card,.host-tools{padding:20px 17px}.list-card{padding:20px 16px}.section-actions{flex-wrap:wrap}.section-actions .primary{padding:9px 10px}.trip-section{margin-top:18px}.booking-row{gap:9px;grid-template-columns:62px minmax(0,1fr);padding:13px 0}.booking-date b{font-size:15px}.booking-info p{font-size:10px}.booking-title{font-size:12px}.row-actions{gap:5px}.row-actions>*{font-size:9px}.member-chip{font-size:9px;padding:3px 6px}.map-card,.map-side{padding:17px}.map-card .section-head{flex-direction:column}.map-controls{width:100%;flex-wrap:wrap}.admin-map-filter{flex:1}.owner-map{height:53vh;min-height:320px}.account-row{grid-template-columns:minmax(0,1fr) minmax(92px,.8fr)}.account-row-actions{grid-column:1/-1;justify-content:flex-start}.time-fields{gap:7px}footer{margin-top:21px;gap:8px;line-height:1.6;flex-direction:column}.dialog-actions>*{flex:1}.gate-card{padding:22px 18px}}
@media(max-width:420px){.shell{padding-left:11px;padding-right:11px}.topbar nav{gap:6px}.nav{font-size:10px}.hero{align-items:flex-start;min-height:140px}.hero h1{font-size:28px}.presence{max-width:124px;padding:7px}.presence small{max-width:78px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nearby-friends{right:70px;width:53vw;height:110px;top:15px}.calendar-card{padding-left:9px;padding-right:9px}.day-cell{min-height:52px;padding:5px 3px}.weekday{height:27px}.day-number{font-size:10px}.section-head{gap:9px}.section-actions{justify-content:flex-end}.section-actions #refresh-mine{padding:8px}.time-fields{grid-template-columns:1fr}.booking-row{grid-template-columns:54px minmax(0,1fr)}.booking-date b{font-size:14px}.member-more{padding:4px 7px}.dialog-links{flex-wrap:wrap}.map-wrap{margin-top:10px}.owner-map{min-height:290px}.request-row{align-items:flex-start;flex-direction:column}.account-row{grid-template-columns:1fr}.account-display-name{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Registration is a separate waiting page; its background cannot expose the site. */
body.gate-active main, body.gate-active .hero, body.gate-active footer,
body.gate-active .topbar nav, body.gate-active #account, body.gate-active #notice { display:none!important; }
.gate { position:static; min-height:calc(100vh - 140px); background:transparent; backdrop-filter:none; padding:40px 16px; }
.gate-card { max-height:none; }
body { background-color:#f7f9fc; }
body.theme-near { background-color:#fff2f8; --paper:#fffafd; }
