body.auth-pending{overflow:hidden}
body.auth-pending .app-shell,.app-shell[hidden]{display:none!important}
.auth-gate{position:fixed;inset:0;z-index:100;min-height:100vh;display:grid;place-items:center;overflow-y:auto;padding:24px;background:#f2f5f3;color:#172b24}
.auth-gate[hidden]{display:none}
.auth-card{width:min(100%,430px);padding:34px 34px 30px;background:#fff;border:1px solid #dce3de;border-radius:22px;box-shadow:0 18px 60px #18332612}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px;font-size:15px;letter-spacing:.07em}
.auth-brand b,.auth-brand small{display:block}.auth-brand small{margin-top:2px;color:#809189;font-size:11px;letter-spacing:.16em}
.auth-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #61826c;border-radius:11px;background:#152420;color:#b5ed7c;font-size:23px;font-weight:900}
.auth-eyebrow{margin:0 0 8px;color:#557460;font-size:11px;font-weight:750;letter-spacing:.16em}
.auth-card h1{margin:0 0 10px;font-size:34px;letter-spacing:-.045em}.auth-card h1 span{color:#609d40}
.auth-intro{margin:0 0 24px;color:#66746e;font-size:14px;line-height:1.55}
.auth-form{display:grid;gap:9px}.auth-form label{margin-top:5px;font-size:13px;font-weight:650}.auth-form input{height:48px;border:1px solid #cfdad2;border-radius:9px;padding:0 13px;background:#fcfdfc;color:#172b24;font:inherit}.auth-form input:focus{outline:none;border-color:#5b9252;box-shadow:0 0 0 3px #74a86418}
.auth-submit{height:49px;margin-top:12px;border:0;border-radius:9px;background:#172b24;color:#b5ed7c;font:inherit;font-weight:700;cursor:pointer}.auth-submit:hover{background:#274335}.auth-submit:disabled{opacity:.55;cursor:wait}
.auth-secondary{display:block;width:100%;margin-top:17px;border:0;background:transparent;color:#557460;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-secondary:hover{color:#172b24}
.auth-message{min-height:22px;margin:18px 0 0;color:#557460;font-size:13px;line-height:1.45}.auth-message.error{color:#9b2b24;background:#fff1ef;padding:10px;border-radius:8px}
.owner-tools{position:fixed;right:22px;bottom:22px;z-index:20}.owner-tools>button{border:1px solid #cfdad2;border-radius:999px;background:#fff;color:#172b24;padding:10px 15px;font:inherit;font-size:13px;font-weight:700;box-shadow:0 6px 24px #18332618;cursor:pointer}.owner-tools>button:hover{background:#f0f6ef}
.owner-panel{position:fixed;right:22px;bottom:76px;z-index:21;width:min(420px,calc(100vw - 32px));max-height:min(78vh,760px);overflow:auto;padding:22px;background:#fff;border:1px solid #dce3de;border-radius:17px;box-shadow:0 18px 60px #18332624}.owner-panel[hidden],.owner-tools[hidden]{display:none}
.owner-panel h2{margin:0 0 4px;font-size:20px}.owner-panel>p{margin:0 0 18px;color:#66746e;font-size:13px}.owner-add{display:grid;gap:8px;padding-bottom:18px;border-bottom:1px solid #e4ebe5}.owner-add label{font-size:12px;font-weight:700}.owner-add input{height:42px;border:1px solid #cfdad2;border-radius:8px;padding:0 11px;font:inherit}.owner-add button{height:42px;border:0;border-radius:8px;background:#172b24;color:#b5ed7c;font:inherit;font-weight:700;cursor:pointer}.owner-pin{margin-top:10px;padding:11px;border-radius:8px;background:#eff7e9;color:#345d2d;font-size:13px}.owner-pin strong{font-size:20px;letter-spacing:.15em}.owner-list{display:grid;gap:10px;margin-top:18px}.owner-list h3{margin:0;font-size:12px;letter-spacing:.12em;color:#557460}.owner-item{padding:11px 0;border-bottom:1px solid #edf1ee;font-size:13px}.owner-item strong{display:block}.owner-item small{display:block;color:#66746e;margin-top:2px}.owner-item button{margin-top:8px;border:1px solid #cfdad2;border-radius:7px;background:#fff;color:#557460;padding:6px 9px;font:inherit;font-size:12px;cursor:pointer}.owner-item button:hover{background:#fff1ef;color:#9b2b24}
@media(max-width:600px){.auth-card{padding:28px 22px}.auth-brand{margin-bottom:27px}.auth-card h1{font-size:30px}.owner-tools{right:16px;bottom:16px}.owner-panel{right:16px;bottom:68px}}
