*{box-sizing:border-box}html{color:#27373b;background:#f6f4e9;font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}button,input{font:inherit}a{color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #a0ab9e;border-radius:12px;padding:10px 16px;background:#fffdf5;color:#27373b;cursor:pointer;text-decoration:none;font-weight:650}button:hover,.button:hover{background:#eeeee3}button:disabled{opacity:.55;cursor:wait}.primary{background:#dbbf76;border-color:#b69b59}.primary:hover{background:#d4b569}.danger{color:#9b3b2e;border-color:#d1aca5}input{width:100%;padding:12px;border:1px solid #b7c0b3;border-radius:10px;background:#fffef9;color:inherit;min-height:46px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #4578a2;outline-offset:2px}label{display:grid;gap:6px;font-weight:600}label small{font-weight:400;color:#68766b}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.15;letter-spacing:-.5px}h2{font-size:21px}.muted,small{color:#63716b}.kicker{font-size:12px;letter-spacing:1.5px;font-weight:750;color:#68796a}.login-page{min-height:100svh;display:grid;place-items:center;padding:24px 16px;background-image:linear-gradient(#64725209 1px,transparent 1px),linear-gradient(90deg,#64725209 1px,transparent 1px);background-size:28px 28px}.login-card{width:100%;max-width:420px;padding:30px 26px;border:1px solid #adb9a3;border-radius:20px;background:#fffdf5;box-shadow:0 12px 40px #27372a0a;display:grid;gap:24px}.login-card form,.stack{display:grid;gap:18px}.password-wrap{display:flex;align-items:stretch;gap:6px}.password-wrap input{min-width:0}.password-wrap button{font-size:12px;padding:6px 10px}.error{color:#a4392b;background:#f9e9e2;padding:10px 12px;border-radius:10px;font-size:14px}.error:empty{display:none}.notice{padding:12px 16px;border-radius:12px;background:#e3edda;border:1px solid #c0cfb1}.notice:empty{display:none}.admin-shell{max-width:1060px;margin:auto;padding:28px 24px 64px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.admin-header nav,.actions{display:flex;gap:8px;flex-wrap:wrap}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px}.account-list{display:grid;gap:12px}.account{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:20px;border:1px solid #bbc3b1;border-radius:16px;background:#fffdf5}.account h2{overflow-wrap:anywhere}.account-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:14px}.account-status{display:inline-block;font-size:13px;padding:3px 8px;border-radius:7px;background:#e2ecd8;color:#3b6336}.account-status.expired,.account-status.disabled{background:#eee3db;color:#884b32}.empty{padding:32px 20px;text-align:center;border:1px dashed #a8b39f;border-radius:16px}.empty p{margin:10px 0 20px}.toolbar-link{border:0;background:transparent;text-decoration:underline}.account-dialog{border:1px solid #acb7a4;border-radius:20px;width:calc(100% - 24px);max-width:500px;max-height:calc(100dvh - 32px);padding:0;color:inherit;background:#fffdf5}.account-dialog::backdrop{background:#27372a66}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #d8dfcf}.dialog-heading button{font-size:24px;line-height:1;min-width:44px;padding:4px;border:0;background:transparent}.dialog-body{padding:22px;overflow:auto}.dialog-body form{display:grid;gap:16px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.dialog-actions button{flex:1}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:20px;min-height:20px;height:20px}.admin-footer{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}#accountCount{font-size:14px;color:#63716b}.audit{font-size:13px;overflow-wrap:anywhere}.audit p{padding:8px 0;border-bottom:1px solid #e1e5d9}@media(max-width:600px){.admin-shell{padding:20px 14px 36px}.admin-header{display:block;margin-bottom:24px}.admin-header nav{margin-top:16px}.admin-header nav a,.admin-header nav button{flex:1}.account{grid-template-columns:1fr;padding:16px;gap:12px}.account .actions button{width:100%}.admin-toolbar{align-items:flex-start}.admin-toolbar h2{font-size:19px}.admin-toolbar button{padding:10px 12px}.dialog-heading,.dialog-body{padding:18px}.login-card{padding:26px 20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}[hidden]{display:none!important}
