:root {
  --bg:#f6f2ea; --panel:#fff; --text:#111827; --muted:#4b5563; --green:#2f6f5e; --border:rgba(17,24,39,.12); --danger:#9f1239; --ok:#166534;
}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.admin-header{position:sticky;top:0;z-index:10;background:#111827;color:#fff;min-height:68px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-brand{font-weight:850;text-decoration:none;color:#fff}.admin-header nav{display:flex;gap:18px;flex-wrap:wrap}.admin-header nav a{color:rgba(255,255,255,.82);text-decoration:none;font-weight:700}.admin-header nav a:hover{color:#fff}.admin-main{width:min(1180px,calc(100% - 40px));margin:34px auto 70px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:0 18px 60px rgba(17,24,39,.08);margin-bottom:24px}.panel.wide{max-width:980px}.auth-panel{max-width:640px;margin-inline:auto}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:2.3rem;line-height:1.05;margin:0 0 22px;letter-spacing:-.04em}h2{margin:0 0 12px}.admin-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-weight:850;padding:10px 17px;cursor:pointer;font:inherit}.admin-button.secondary{background:#111827}.admin-form label{display:block;font-weight:800;margin:0 0 16px}.admin-form input,.admin-form textarea,.admin-form select{width:100%;margin-top:7px;border:1px solid var(--border);border-radius:14px;background:#faf8f3;padding:12px 13px;font:inherit}.admin-form textarea{resize:vertical}.codearea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.94rem}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.grid-form .full{grid-column:1/-1}.check{display:flex!important;gap:10px;align-items:center}.check input{width:auto;margin:0}.form-actions{margin-top:12px}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.admin-table th,.admin-table td{border-top:1px solid var(--border);padding:14px 10px;vertical-align:top}.admin-table tr:first-child th{border-top:0}.admin-table code,.notice code{background:#f3f4f6;border:1px solid var(--border);border-radius:10px;padding:4px 7px;display:inline-block;word-break:break-all}.actions{display:flex;gap:12px;align-items:center;justify-content:flex-end}.actions a{font-weight:800;color:var(--green)}.actions form{margin:0}.actions button{border:0;background:transparent;color:var(--danger);font:inherit;font-weight:800;cursor:pointer}.flash{border-radius:16px;padding:13px 15px;margin:0 0 18px;font-weight:750}.flash.success{background:#dcfce7;color:var(--ok)}.flash.error{background:#ffe4e6;color:var(--danger)}.notice{background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:18px;margin:18px 0}.notice p{color:var(--muted);margin:7px 0 12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat{display:block;background:#faf8f3;border:1px solid var(--border);border-radius:20px;padding:22px;text-decoration:none;color:var(--text)}.stat strong{display:block;font-size:2.4rem;line-height:1}.stat span{color:var(--muted);font-weight:800}@media(max-width:760px){.admin-header{align-items:flex-start;flex-direction:column;padding:16px 20px}.grid-form,.stats{grid-template-columns:1fr}.panel-title{display:block}.admin-table{font-size:.92rem}.actions{justify-content:flex-start}}

.qr-setup{text-align:left}.qr-box{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;margin:16px auto;max-width:310px}.qr-box img{display:block;max-width:100%;height:auto}.muted-small{font-size:.92rem;color:var(--muted);margin-top:10px}.qr-setup details{margin-top:12px}.qr-setup summary{cursor:pointer;font-weight:850;color:var(--green)}
