:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;color:#eee6d4;background:#141c19}
*{box-sizing:border-box}
body{min-height:100svh;margin:0;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 90% 5%,#31433380,transparent 60%),#141c19}
.login-card{width:min(100%,500px);padding:44px;border:1px solid #394237;border-radius:8px;background:#1b2520;box-shadow:0 24px 90px #0003}
.brand{display:flex;align-items:center;gap:14px;font-family:Georgia,serif;font-size:46px;line-height:1;color:#d1ab6d}
.brand span{font-family:system-ui,sans-serif;letter-spacing:.17em;font-size:12px;color:#eee6d4}
.eyebrow{margin-top:42px;letter-spacing:.14em;font-size:10px;font-weight:650;color:#b5b5a7}
h1{font-family:Georgia,serif;font-size:clamp(34px,7vw,45px);font-weight:400;line-height:1.14;letter-spacing:-.025em;margin:17px 0 22px}
.intro{font-size:15px;line-height:1.7;color:#b5b5a7}
form{margin-top:30px}
label{display:block;font-size:13px;margin-bottom:9px}
input{width:100%;font:inherit;padding:13px 14px;background:#141c19;color:#eee6d4;border:1px solid #58614e;border-radius:4px}
button{margin-top:16px;width:100%;padding:14px 16px;display:flex;justify-content:space-between;gap:12px;border:1px solid #d1ab6d;border-radius:4px;background:#d1ab6d;color:#141c19;font-size:14px;font-weight:650;cursor:pointer}
button:hover{background:#e1c38d}
input:focus-visible,button:focus-visible{outline:3px solid #b7cfa9;outline-offset:4px}
.login-error{font-size:14px;color:#ffb7a6;line-height:1.5}
.footnote{margin:26px 0 0;color:#b5b5a7;font-size:12px;line-height:1.7}
@media(max-width:520px){.login-card{padding:30px 25px}.eyebrow{margin-top:32px}}

a{color:#d1ab6d;text-underline-offset:4px}a:focus-visible{outline:3px solid #b7cfa9;outline-offset:4px}button:disabled{opacity:.45;cursor:default}h2{font-family:Georgia,serif;font-weight:400;font-size:27px;margin-top:38px}.manage-card{width:min(100%,940px)}.manage-nav{display:flex;justify-content:space-between;align-items:center;gap:20px}.manage-nav form{margin:0}.secondary{width:auto;background:transparent;color:#eee6d4;border-color:#58614e;font-size:12px;margin:0;padding:10px 14px}.secondary:hover{background:#314333}.new-link{border:1px solid #d1ab6d;padding:22px;margin-top:28px;border-radius:6px}.new-link h2{margin-top:0}.new-link p{line-height:1.6}.access-table{overflow-x:auto;margin-top:24px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.6}td,th{padding:14px 12px;border-bottom:1px solid #394237;vertical-align:middle}th{color:#b5b5a7;font-weight:500}td form{margin:0}.access-table td:first-child{overflow-wrap:anywhere}.access-table td:last-child{min-width:150px}

.login-card select{display:block;width:100%;padding:12px;background:#141c19;color:#eee;border:1px solid #526157;border-radius:6px;margin:8px 0 16px;font:inherit}
.access-table td form{margin-top:10px}.access-table td label{font-size:11px}

.access-person{color:#bdcbbd;font-size:12px;line-height:1.6;max-width:240px}.access-details summary{cursor:pointer;color:#d1ab6d;padding:10px 0;font-size:13px;min-height:44px}.access-links{list-style:none;margin:8px 0 0;padding:0;min-width:250px}.access-links li{padding:18px 0;border-top:1px solid #526157}.access-links p{font-size:12px;color:#bdcbbd;line-height:1.7}.access-details select{max-width:330px}.access-details summary:focus-visible{outline:2px solid #e3c899;outline-offset:3px}.access-table td{vertical-align:top}.access-table td:last-child button{margin:0;min-height:44px}

.manage-head{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:2;background:#1b2520;padding:12px 0}.manage-close{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #6c8068;border-radius:6px;color:#eee6d4;text-decoration:none;white-space:nowrap;font-size:14px}.manage-nav>a:first-child{font-weight:650}.manage-close:hover{background:#304333}@media(max-width:600px){.manage-nav{align-items:flex-start;flex-wrap:wrap}.manage-head .brand{font-size:34px}.manage-head .brand span{font-size:10px}}
