:root{--paper:#f6f5f0;--white:#fffefa;--ink:#273b31;--muted:#777e71;--line:#dddcd2;--green:#2e4c3b;--soft:#e9ede3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b57958;outline-offset:3px}.auth-header{max-width:1180px;margin:auto;height:100px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px;gap:20px}.auth-brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:39px;line-height:1.2}.auth-brand span{font:650 17px/1.5 system-ui,sans-serif;letter-spacing:2px}.auth-brand small{display:block;font-size:7px;letter-spacing:1.3px;color:var(--muted)}.header-note{font:italic 15px/1.4 Georgia,serif;color:#89937d}.auth-shell{width:min(510px,calc(100% - 36px));margin:56px auto 65px}.auth-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:33px}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#839075;margin:0 0 12px}h1{font-size:29px;font-weight:500;line-height:1.25;letter-spacing:-.8px;margin:0 0 14px}h2{font-size:19px;font-weight:550;margin:0 0 12px}p{margin:0 0 18px}.intro,.hint{font-size:12px;line-height:1.8;color:var(--muted)}label.field{display:block;margin:20px 0 0;font-size:12px;font-weight:550}.field input{display:block;width:100%;margin:7px 0 0;border:1px solid #d2d7c8;border-radius:6px;background:#fafbf6;padding:12px;color:var(--ink);min-width:0;outline-offset:2px}.field small{display:block;color:#9b9e8e;font-size:10px;font-weight:400;margin-top:5px}.otp-input{letter-spacing:8px;font-size:22px;text-align:center}.primary{display:block;border:1px solid var(--green);background:var(--green);color:white;padding:12px 17px;border-radius:6px;font-size:12px;font-weight:550}.auth-form>.primary{margin-top:23px;width:100%}.secondary{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 12px;border-radius:5px;font-size:11px}.error{color:#9b493b;background:#fbf0e9;border-left:2px solid #c18e6c;padding:10px 12px;font-size:12px;margin:16px 0 0}.error:empty{display:none}.auth-bottom{font-size:11px;color:#939986;line-height:1.8;margin:18px 5px 0}.auth-footer{text-align:center;font-size:10px;color:#9b9e8e;padding:20px}.timer{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce2d1;background:#eef2e6;padding:9px 13px;border-radius:5px;font-size:11px;color:#70825d;margin-bottom:22px}.timer strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.timer.urgent{background:#f8eee1;color:#a8734a;border-color:#e8d9c5}.steps{display:flex;gap:9px;margin:20px 0;color:#a1a58f;font-size:10px}.steps span{flex:1;border-bottom:2px solid #e2e5d9;padding-bottom:7px}.steps .current{border-color:#708660;color:#546f48}.qr-box{display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:8px;margin:20px auto 13px;width:min(260px,100%)}.qr-box svg{display:block;width:100%;height:auto}.secret-box{border:1px solid #d6ddca;border-radius:5px;padding:13px;display:flex;align-items:center;gap:10px;background:#f5f7ee}.secret-box code{font-family:ui-monospace,monospace;font-size:13px;overflow-wrap:anywhere;user-select:all;flex:1;letter-spacing:.7px}.secret-box button{flex-shrink:0;border:0;background:none;color:#789066;font-size:10px;padding:5px}.secret-caption{font-size:10px;color:var(--muted);margin:10px 0 6px}.open-app{display:block;text-align:center;font-size:11px;color:#728960;margin:13px 0 15px}.setup-nickname{overflow-wrap:anywhere;font-weight:550}.role-pill{font-size:9px;border:1px solid #d3ddc8;border-radius:4px;padding:3px 7px;background:#eff4e7;color:#6e855c;white-space:nowrap}.back-link{font-size:12px;text-decoration:none}.admin-shell{max-width:1120px;margin:35px auto 55px;padding:0 25px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.admin-heading h1{margin-bottom:5px}.admin-panel{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:24px;margin-bottom:23px}.admin-invite{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:18px}.admin-invite .field{margin:0}.checkbox{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;padding:12px 0}.checkbox input{accent-color:var(--green);width:16px;height:16px}.invite-result{margin:20px 0 0;background:#edf2e5;border:1px solid #d6e0ca;border-radius:6px;padding:17px}.invite-result:empty{display:none}.invite-result p{font-size:12px;margin-bottom:8px}.invite-result .invite-link{display:flex;gap:9px}.invite-result input{font:11px ui-monospace,monospace;flex:1;width:100%;min-width:0;border:1px solid #cbd6be;border-radius:4px;padding:10px;background:white;color:var(--ink)}.invite-result .hint{margin:9px 0 0;font-size:10px}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px;min-width:660px}.admin-table th{text-align:left;color:#929985;font-size:10px;letter-spacing:.5px;font-weight:500;border-bottom:1px solid var(--line);padding:10px 8px}.admin-table td{padding:14px 8px;border-bottom:1px solid #ebece3;vertical-align:top}.admin-table td:first-child{max-width:280px;overflow-wrap:anywhere;font-weight:500}.admin-table tr:last-child td{border-bottom:0}.actions{display:flex;gap:6px;flex-wrap:wrap;min-width:250px}.actions button{font-size:10px;border:1px solid #dbe1cf;background:#f7f9f1;color:#6b8159;border-radius:4px;padding:5px 8px}.actions .danger{color:#a9765a;background:#faf2eb;border-color:#e9dace}.muted{color:#909883;font-size:11px}.status{font-size:10px;color:#75915f}.status.off{color:#b0896b}.empty-row{padding:20px;color:#929985;font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{margin:0}.section-heading+.hint{margin-top:9px;margin-bottom:15px}.admin-panel details>summary{cursor:pointer;font-size:12px}.audit-list{margin-top:16px;font:10px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;color:#87927a}#auth-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;padding:10px 18px;border-radius:5px;font-size:12px;background:var(--green);color:white;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10}#auth-toast.show{opacity:1}.nickname-counter{float:right;color:#a0a790;font-size:10px;font-weight:400}
@media(max-width:650px){.auth-header{height:82px;padding:0 20px}.auth-brand{font-size:30px;gap:8px}.auth-brand span{font-size:14px}.auth-brand small{font-size:6px}.header-note{font-size:12px}.auth-shell{margin-top:30px}.auth-card{padding:25px 23px}h1{font-size:26px}.secret-box{padding:10px}.secret-box code{font-size:11px}.admin-shell{padding:0 18px;margin-top:24px}.admin-heading{display:block}.admin-heading .secondary{margin-top:9px}.admin-panel{padding:18px}.admin-invite{grid-template-columns:1fr;gap:9px}.admin-invite>.primary{width:100%}.checkbox{padding:4px 0}.invite-result .invite-link{flex-wrap:wrap}.invite-result .invite-link .secondary{width:100%}.admin-heading h1{font-size:25px}.back-link{font-size:11px}.admin-table{min-width:620px}.qr-box{max-width:240px}}
