:root{color-scheme:dark;font-family:"Segoe UI",system-ui,sans-serif;color:#eee;background:#141414}
*{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
.auth-shell{max-width:500px;margin:8vh auto 32px;padding:32px;border:1px solid #3c3c3c;border-radius:12px;background:#1c1c1c}
.auth-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.auth-brand{font-size:18px;letter-spacing:1px;font-weight:650;white-space:nowrap}
.auth-brand>span{color:#b9e69b}
.auth-brand small{font-size:9px;letter-spacing:1.8px;color:#b0b0b0;font-weight:500}
.auth-shell a{color:#b9e69b;text-underline-offset:4px;font-size:12px;min-height:40px;display:inline-flex;align-items:center;gap:8px}
.auth-intro{margin:42px 0 24px}
.auth-eyebrow{font-size:10px;letter-spacing:1.7px;color:#b9e69b}
.auth-shell h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;font-weight:550;margin:12px 0}
.auth-intro>p:last-child{color:#b0b0b0;line-height:1.6;font-size:14px;max-width:38ch}
.auth-shell form{display:grid;gap:18px;margin:24px 0 0}
.auth-shell label{display:grid;gap:8px;font-size:12px;color:#ddd}
.auth-shell input{padding:12px;background:#141414;color:#eee;border:1px solid #525252;border-radius:5px;font:inherit;font-size:15px;width:100%;min-width:0}
.auth-shell button{min-height:44px;padding:11px 16px;background:#b9e69b;color:#141414;border:1px solid #b9e69b;border-radius:5px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.auth-shell button:hover{background:#cdebb5}
#login-form>button{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.auth-shell button:disabled{opacity:.5;cursor:wait}
.auth-shell :focus-visible{outline:2px solid #b9e69b;outline-offset:4px}
.auth-shell [role=status]{min-height:1.3em;color:#b0b0b0;line-height:1.6;font-size:12px;overflow-wrap:anywhere}
.auth-shell summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:12px;padding:8px 12px;border:1px solid #3c3c3c;border-radius:5px}
.auth-shell summary::after{content:"+";margin-left:16px;color:#b9e69b}
.auth-shell details[open] summary::after{content:"−"}
.auth-shell .auth-secondary{background:transparent;color:#ddd;border-color:#525252;font-weight:400}
.auth-shell .auth-secondary:hover{background:#262626}
#password-help{color:#b0b0b0;line-height:1.5}
.auth-identity{display:flex;align-items:center;gap:8px;font-size:12px;overflow-wrap:anywhere;min-width:0}
.auth-dot{width:6px;height:6px;border-radius:50%;background:#b9e69b;flex-shrink:0}
#wedding-root{max-width:1480px;margin:0 auto;padding:0 28px 40px}
.is-authenticated .auth-shell{max-width:1424px;margin:20px auto 24px;padding:16px 20px;border-radius:8px}
.is-authenticated .auth-intro{display:none}
.is-authenticated #auth-notice{margin:6px 0}
#account-controls{display:flex;gap:12px;align-items:start;flex-wrap:wrap}
#account-controls details{margin-left:auto;min-width:190px}
#account-controls details[open]{width:min(100%,400px)}
#account-controls #password-form{margin:16px 0}
@media(max-width:650px){.auth-shell{margin:24px 16px;padding:24px}.auth-intro{margin-top:28px}.auth-shell h1{font-size:27px}.is-authenticated .auth-shell{margin:12px;padding:14px}.is-authenticated .auth-heading{gap:8px}#wedding-root{padding:0 12px 24px}#account-controls{gap:8px}.auth-identity{width:100%;margin:4px 0}#account-controls details{margin-left:0;flex:1}#account-controls details[open]{flex-basis:100%}}
@media print{.auth-shell{display:none!important}}
