:root{--sage:#a9c47f;--green:#115740;--bg:#0b100e;--panel:#141c18;--muted:#a0ada5;--line:#29352e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f3f5ef;font:15px/1.5 system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:#1b2720;border-radius:10px;padding:10px 15px;transition:background .2s,transform .2s}button:hover{background:#2d4134;transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline:2px solid var(--sage);outline-offset:4px}a{color:inherit;text-decoration:none}aside{width:245px;position:fixed;height:100dvh;padding:32px 22px;border-right:1px solid var(--line);background:#101713;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:750;letter-spacing:1px}.brand img{width:38px}.brand small{display:block;letter-spacing:4px;font-size:10px;color:var(--sage);margin-top:3px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:45px 10px 16px}nav a{display:flex;gap:15px;padding:13px 15px;margin:5px 0;border-radius:10px;color:var(--muted)}nav a.active{background:var(--green);color:white}nav svg{width:20px;height:20px}.aside-bottom{margin-top:auto;font-size:11px;color:var(--muted)}.aside-bottom p{margin:6px 0 18px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sage);margin-right:7px}main{margin-left:245px;padding:0 44px;max-width:1550px}header{height:95px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);color:var(--muted)}header>div{display:flex;gap:12px}.avatar{background:var(--sage);color:#112517;border-radius:50%;width:42px;padding:8px;font-size:12px;font-weight:750}#page{padding:35px 0;min-height:calc(100vh - 165px);animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}h1{font-size:clamp(28px,4vw,43px);letter-spacing:-1.7px;font-weight:550;margin:8px 0}h2{font-size:20px;letter-spacing:-.4px;font-weight:550}h3{font-size:16px;margin:7px 0}p{color:var(--muted)}.kicker{color:var(--sage);font-size:11px;font-weight:650;letter-spacing:1.7px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.intro p{margin:8px 0}.pill{font-size:11px;border-radius:30px;padding:6px 11px;background:#263b2c;color:#c2d8a5}.alert{display:flex;align-items:center;gap:18px;border:1px solid #46603b;background:linear-gradient(110deg,#1f3323,#18231b);padding:20px 24px;border-radius:15px;margin-bottom:28px}.alert p{margin:4px 0;color:#c2cdbf}.alert button{margin-left:auto;white-space:nowrap}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:23px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.card-head h2{margin:0}.subtle{font-size:12px;color:var(--muted)}.row{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.time{font-size:12px;color:var(--muted);width:60px;flex-shrink:0}.row p{font-size:13px;margin:3px 0}.row .pill{margin-left:auto}.iconbox{width:44px;height:44px;display:grid;place-items:center;background:#253b2d;color:var(--sage);border-radius:12px;font-size:20px}.stack{display:grid;gap:24px}.primary{background:var(--sage);color:#142619;border:0;font-weight:650}.primary:hover{background:#bbd397}.full{width:100%}.section{margin-top:28px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday{text-align:center;color:var(--muted);font-size:12px;padding:8px}.day{min-height:65px;text-align:left;background:transparent}.day.selected{background:var(--green);border-color:var(--sage)}.day.event:after{content:'';display:block;width:5px;height:5px;background:var(--sage);border-radius:50%;margin-top:9px}.mapviewport{overflow:auto;border-radius:12px;background:#e9eade;max-height:570px}.mapviewport img{display:block;width:100%;min-width:620px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}input,select{width:100%;padding:12px;border-radius:9px;border:1px solid #46564a;background:#111a15;color:white;margin:7px 0 17px}label{display:block;font-size:13px}.chat{min-height:250px}.bubble{background:#24372a;border-radius:14px 14px 14px 3px;padding:13px 17px;max-width:85%;margin:12px 0}.bubble.mine{margin-left:auto;background:var(--green);border-radius:14px 14px 3px 14px}.chat-form{display:flex;gap:10px}.chat-form input{margin:0}.chat-form button{flex-shrink:0}footer{border-top:1px solid var(--line);padding:22px 0;font-size:10px;letter-spacing:1.2px;color:var(--muted);display:flex;justify-content:space-between}dialog{max-width:430px;width:calc(100% - 32px);background:#16211b;color:white;border:1px solid #476144;border-radius:22px;padding:32px}dialog::backdrop{background:#030905c9;backdrop-filter:blur(12px)}.close{float:right}.close+img{margin-top:8px}#loginStatus{font-size:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--sage);color:#122717;padding:12px 20px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}#toast.show{opacity:1}@media(max-width:1000px){aside{width:200px;padding:25px 15px}main{margin-left:200px;padding:0 25px}.grid{grid-template-columns:1fr}.brand{font-size:11px}}@media(max-width:640px){aside{height:70px;bottom:0;z-index:10;width:100%;padding:5px;background:#142019ed;backdrop-filter:blur(18px);border-top:1px solid var(--line)}aside .brand,aside .eyebrow,.aside-bottom{display:none}nav{display:flex;justify-content:space-around}nav a{flex-direction:column;align-items:center;font-size:10px;padding:6px 12px;gap:3px;margin:0}main{margin:0;padding:0 18px 75px}header{height:74px;font-size:12px}header button{font-size:11px}#page{padding-top:24px}.intro{display:block}.intro>.pill{display:inline-block;margin-top:10px}.alert{align-items:flex-start;padding:16px;flex-wrap:wrap;gap:8px}.alert button{margin-left:0}.card{padding:18px}.day{min-height:48px;padding:8px}.row{gap:10px}.mapviewport img{min-width:540px}footer{font-size:9px}#toast{bottom:85px;width:85%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.person{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:8px 0}.person small{display:block;color:var(--muted)}.profile-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--green);display:grid;place-items:center;flex-shrink:0}.profile-large{width:90px;height:90px;font-size:25px;margin:12px 0}.person.selected{border-color:var(--sage)}.message-time{font-size:10px;color:#b1c0b6;display:block;margin-top:5px}.chat{max-height:430px;overflow:auto}.error{color:#f1bdab}.roster{margin:18px 0}.roster li{padding:9px 0}.form-status{font-size:13px;min-height:20px}.empty{padding:20px 0;color:var(--muted)}
@media(max-width:700px){#page>.grid{grid-template-columns:1fr!important}}
[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.6;transform:none}.signed-out>aside,.signed-out>main{display:none}#authLanding{display:none}.signed-out #authLanding{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:#0b100e}.welcome-panel{padding:55px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 10% 40%,#174e39 0%,#103728 42%,#10261c 90%);position:relative;overflow:hidden}.welcome-panel:after{content:'';width:550px;height:550px;position:absolute;border:1px solid #a9c47f16;border-radius:50%;right:-250px;bottom:-180px;box-shadow:0 0 0 75px #a9c47f06,0 0 0 150px #a9c47f04;pointer-events:none}.welcome-copy{margin:auto 0;padding:70px 0;position:relative;z-index:1}.welcome-copy h1{font-size:clamp(38px,4.7vw,68px);line-height:1.12;letter-spacing:-2px;margin:22px 0}.welcome-copy p{font-size:17px;max-width:330px;color:#b2c6b8;line-height:1.75}.welcome-features{display:flex;flex-direction:column;gap:15px;margin-top:35px;font-size:13px;color:#dae7d4}.welcome-features span:before{content:'↗';margin-right:14px;color:var(--sage)}.welcome-footer{color:#8caa97;font-size:10px;letter-spacing:2px}.auth-panel{padding:50px 35px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-card{width:100%;max-width:420px;animation:enter .3s ease both}.auth-card h2{font-size:32px;letter-spacing:-1px;margin:10px 0}.auth-card>p{margin:8px 0 25px}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.role-choice button{text-align:left;background:#141d18;padding:17px;border-radius:13px}.role-choice button[aria-pressed=true]{border-color:var(--sage);background:#203528}.role-choice span{display:block;color:var(--sage);font-size:20px;margin-bottom:8px}.role-choice strong{display:block;font-size:14px;font-weight:550}.role-choice small{color:var(--muted);font-size:11px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:25px 0}.auth-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:12px}.auth-tabs button[aria-pressed=true]{color:var(--sage);border-color:var(--sage)}.email-field,.password-field{display:flex;align-items:center;border:1px solid #3c4d41;border-radius:9px;background:#111a15;margin:7px 0 18px;overflow:hidden}.email-field:focus-within,.password-field:focus-within{outline:2px solid var(--sage);outline-offset:2px}.email-field input,.password-field input{margin:0;border:0;outline:none;min-width:0;background:transparent}.email-field span{padding-right:12px;color:#bac9be;white-space:nowrap;font-size:13px}.password-field button{border:0;background:transparent;font-size:12px;padding:10px}.password-actions{display:flex;gap:12px}.password-actions button{background:transparent;border:0;color:var(--sage);padding:0;font-size:12px}.auth-card .primary{padding:14px;margin-top:14px}.owner-access{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.owner-access p{font-size:12px;margin:8px 0}.owner-access .toolbar{margin-bottom:0}.owner-access button{flex:1;font-size:12px}.setup-note{font-size:12px;background:#1c281e;border-radius:9px;padding:12px;color:#c8d8b7}.auth-footer{font-size:11px;margin-top:32px;color:#738579}.code-input{font-size:30px;letter-spacing:12px;text-align:center}#page{animation-duration:.22s}.calendar .day{transition:background .16s,border-color .16s}button{transition:background .16s,transform .16s,border-color .16s}.event-form{margin-top:25px}.event-time{font-variant-numeric:tabular-nums}.auth-card input{font-size:16px}.app-loading{color:var(--muted)}@media(max-width:850px){.signed-out #authLanding{grid-template-columns:1fr}.welcome-panel{padding:25px 25px 30px}.welcome-copy{padding:25px 0 0}.welcome-copy h1{font-size:36px;margin:12px 0}.welcome-copy h1 br{display:none}.welcome-copy p,.welcome-features,.welcome-footer{display:none}.welcome-copy .kicker{font-size:9px}.auth-panel{padding:30px 24px}.auth-card h2{font-size:28px}.welcome-panel .brand img{width:30px}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}}
