:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d302c;background:#f6f7f3;line-height:1.5;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}
.shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:88px;border-bottom:1px solid #dde6dd;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:0 max(5%,calc((100vw - 1240px)/2));background:#fff}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#21463e}
.brand-mark{height:42px;width:42px;display:grid;place-items:center;border-radius:13px;background:#254d43;color:#e5d9aa;font-size:28px}
.brand strong{font-family:Georgia,serif;font-size:22px;display:block;line-height:1.1;font-weight:600}.brand small{display:block;letter-spacing:.24em;font-size:9px;margin-top:6px;font-weight:750}
.environment{font-size:10px;font-weight:750;letter-spacing:.15em;padding:8px 12px;background:#fff4d8;color:#7b602d;border-radius:99px}
main{width:min(1240px,90%);margin:auto;flex:1;padding:48px 0 64px}
.auth-layout{display:grid;grid-template-columns:1.2fr 430px;gap:9%;align-items:center;min-height:calc(100vh - 230px)}
.intro{padding:20px 0}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:800;color:#8b8656}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.12;letter-spacing:-.032em;margin:12px 0 16px}
h1{font-size:clamp(38px,5vw,66px)}h1 em{color:#668575;font-weight:400}h2{font-size:30px}
p{color:#697770;max-width:580px}.intro>p{font-size:18px}.intro-foot{font-size:13px;color:#6c7d71;margin-top:38px}
.login-card,.panel{border:1px solid #e0e7df;border-radius:20px;background:#fff;box-shadow:0 18px 50px #21463e0b}
.login-card{padding:36px}.login-card h2{font-size:33px;margin-bottom:8px}.login-card>p{font-size:14px;margin:0 0 25px}
label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#314a41;margin:17px 0}
input,select,textarea{width:100%;background:#fff;border:1px solid #d7e1da;border-radius:9px;padding:12px 13px;color:#1f3e33;outline:none;transition:.2s}
input:focus,select:focus,textarea:focus{border-color:#487462;box-shadow:0 0 0 3px #48746224}
textarea{resize:vertical}
.primary,.outline,.ghost{border-radius:9px;font-weight:750;font-size:13px;padding:12px 16px;border:1px solid #2a5847}
.primary{width:100%;background:#2d604e;color:#fff}.primary:hover{background:#1d4738}
.outline{background:#fff;color:#2c5949}.outline:hover{background:#f2f8f3}.ghost{background:transparent;border-color:transparent;color:#405f53}
button:disabled{opacity:.55;cursor:wait}
.subtle{font-size:12px;color:#8a968f}
.hero{padding:12px 0 20px}.hero h1{font-size:clamp(34px,4vw,49px)}.hero p{margin-top:0}
.row-between,.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.filter{min-width:180px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 42px}
.stat{padding:22px;border-radius:15px;background:#fff;border:1px solid #e1e9e2;display:flex;flex-direction:column}
.stat small{font-size:12px;color:#78867c}.stat strong{font-family:Georgia,serif;font-weight:500;font-size:40px;color:#254d43;margin:8px 0}.stat span{font-size:11px;color:#839187}
.section-head{margin-bottom:17px}.section-head h2{font-size:27px;margin:4px 0}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.day{min-height:130px;padding:15px;border:1px solid #e1e7df;border-radius:14px;background:#fff}
.day strong{font-size:23px;font-family:Georgia,serif;font-weight:500}.day small{display:block;font-size:11px;color:#87958b}.day .status{display:inline-flex;border-radius:50px;font-size:10px;font-weight:750;margin-top:12px;padding:5px 8px}
.day.published .status{background:#dfefe6;color:#236243}.day.scheduled .status{background:#fff0d2;color:#8b6827}.day.empty .status{background:#f1f2ef;color:#76837a}
.day.today{outline:2px solid #396852;outline-offset:0}
.alerts{display:grid;gap:10px}.alert{background:#fff7e2;color:#785d27;border:1px solid #ecdba9;padding:12px 16px;border-radius:10px;font-size:13px}
.workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:45px;align-items:start}
.panel{padding:27px}.panel h2{font-size:28px}.entries{display:grid;gap:10px;margin-top:19px}
.entry{display:block;width:100%;text-align:left;background:#f8faf7;border:1px solid #e2e9e0;border-radius:10px;padding:13px}
.entry strong{display:block;color:#2e4d3f;font-size:14px}.entry small{display:block;margin-top:5px;color:#84948a}
.entry.active{border-color:#356a52;background:#eef6ee}
.revision-actions{display:grid;gap:10px}.revision-actions p{margin:4px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.divider{height:1px;background:#e3e9e2;margin:14px 0}
#message{position:fixed;bottom:22px;right:22px;z-index:5;max-width:min(420px,90vw);border-radius:12px;padding:13px 18px;background:#2d604e;color:#fff;box-shadow:0 10px 28px #0002;display:none}
#message.error{background:#943f3f}#message.visible{display:block}
footer{display:flex;justify-content:space-between;gap:10px;background:#edf2ed;padding:24px max(5%,calc((100vw - 1240px)/2));font-size:12px;color:#6d8373}
[hidden]{display:none!important}
@media(max-width:950px){.auth-layout{grid-template-columns:1fr;gap:25px}.intro{padding:10px 0}.stats{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(4,1fr)}.environment{display:none}}
@media(max-width:520px){main{width:92%;padding:22px 0 42px}.topbar{padding:0 4%;height:74px}.brand strong{font-size:18px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:34px}.calendar-grid{grid-template-columns:repeat(2,1fr);gap:8px}.day{min-height:105px}.login-card,.panel{padding:20px}.hero{display:block}.filter{width:100%}footer span{display:none}}

.team-panel{margin-top:24px}
.team-members{display:grid;gap:10px;margin:18px 0}
.team-member{padding:15px;background:#f8faf7;border:1px solid #e2e9e0;border-radius:12px;display:flex;align-items:start;justify-content:space-between;gap:15px}
.team-person strong,.team-person small{display:block;overflow-wrap:anywhere}.team-person small{font-size:12px;color:#768a7c}
.team-grants{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.team-role{font-size:11px;border-radius:7px;padding:8px 10px;background:#e7f0e9;color:#2a5442}
.team-revoke{font-size:11px;padding:7px 10px}
.team-form{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:12px;align-items:end}
.team-form label{margin:0}.team-form .primary{height:47px;white-space:nowrap}
@media(max-width:950px){.team-form{grid-template-columns:1fr 1fr}.team-member{flex-direction:column}}
@media(max-width:520px){.team-form{grid-template-columns:1fr}.team-form .primary{width:100%}}

#access-open{display:block;margin:0 auto 20px}#access-activation{max-width:650px;margin:0 auto 24px}#access-mfa-confirmation code{display:block;padding:12px;background:#f2f4f0;word-break:break-all}.team-grants select{max-width:180px}

#access-one-time-code{display:block;word-break:break-all;padding:12px;background:#f4f6f2;border-radius:9px}#access-activation details{margin:18px 0}#access-activation summary{cursor:pointer}#access-invitation-token{padding:12px 0}