:root{--paper:#f2eee3;--paper-2:#eae4d3;--paper-3:#e1d9c3;--ink:#141210;--ink-2:#2b2621;--ink-3:#6b6458;--ink-4:#9a9284;--rust:#b8442a;--rust-deep:#8a2e1a;--sage:#5f7054;--sage-soft:#98a58b;--gold:#c08b2a;--line:#1412101a;--line-strong:#14121033;--shadow:0 1px 0 #14121012,0 2px 8px #14121008}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--paper);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}body{background:radial-gradient(1200px 600px at 85% -10%,#e9e1cc55,transparent 60%),radial-gradient(900px 500px at -10% 110%,#d8cfb855,transparent 60%),var(--paper);min-height:100vh;background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.07  0 0 0 0 0.06  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:multiply;opacity:.55}.serif{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-variation-settings:"SOFT" 30,"WONK" 0}.mono{font-family:JetBrains Mono,ui-monospace,monospace}a{color:inherit}.wrap{max-width:1440px;margin:0 auto;padding:22px 28px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1.5px solid var(--ink)}.brand{display:flex;align-items:baseline;gap:14px}.logo{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border-radius:50%;font-weight:800;font-style:italic;font-size:22px;transform:translateY(6px)}.brandname,.logo{font-family:Fraunces,serif}.brandname{font-weight:500;font-size:32px;letter-spacing:-.02em;line-height:1}.brandname em{font-style:italic;color:var(--rust);font-variation-settings:"SOFT" 80,"WONK" 1}.brandmeta{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}.topnav{display:flex;gap:2px}.topnav a{padding:8px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;border-bottom:2px solid transparent}.topnav a.active{border-bottom-color:var(--rust);color:var(--ink)}.topnav a:hover{color:var(--rust)}.user-pill{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fffbf0}.user-pill .role{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);font-weight:600}.user-pill .name{font-size:12.5px;font-weight:500}.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#c08b2a,#b8442a);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600}.panel{background:var(--paper);border:1px solid var(--line-strong);position:relative}.panel>header{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--line-strong)}.panel>header h3{font-family:Fraunces,serif;font-weight:500;font-size:20px;letter-spacing:-.01em}.panel>header .eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.form-card{max-width:440px;margin:80px auto;background:var(--paper);border:1.5px solid var(--ink);padding:40px 44px;box-shadow:var(--shadow);position:relative}.form-card:before{content:"";position:absolute;top:-1.5px;left:-1.5px;right:-1.5px;height:6px;background:linear-gradient(90deg,var(--ink),var(--rust),var(--gold))}.form-card h1{font-family:Fraunces,serif;font-weight:400;font-size:40px;line-height:.95;letter-spacing:-.02em;margin-bottom:6px}.form-card h1 em{font-style:italic;color:var(--rust);font-variation-settings:"SOFT" 100,"WONK" 1}.form-card .sub{color:var(--ink-3);font-size:13px;margin-bottom:28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.field input,.field select{background:#fffbf0;border:1px solid var(--line-strong);padding:10px 12px;font:inherit;font-size:14px;color:var(--ink);border-radius:0;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--rust)}.btn{background:var(--ink);color:var(--paper);border:0;padding:12px 18px;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;width:100%;transition:background .15s}.btn:hover{background:var(--rust)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn.small{padding:6px 12px;width:auto;font-size:11px}.btn.danger{background:var(--rust-deep)}.btn.danger:hover{background:var(--rust)}.alt-link{text-align:center;margin-top:18px;font-size:12px;color:var(--ink-3)}.alt-link a{color:var(--rust);text-decoration:none;border-bottom:1px solid var(--rust)}.errbox{background:#b8442a15;border-left:3px solid var(--rust);color:var(--rust-deep)}.errbox,.okbox{padding:10px 14px;margin-bottom:14px;font-size:12.5px}.okbox{background:#5f705415;border-left:3px solid var(--sage);color:#3c4a36}.tbl{width:100%;border-collapse:collapse;background:var(--paper)}.tbl td,.tbl th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}.tbl th{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:500;background:#1412100a}.tbl tr:hover td{background:#fffbf0}.badge{display:inline-block;padding:2px 8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-strong)}.badge.pending{background:#c08b2a22;color:var(--gold);border-color:var(--gold)}.badge.approved{background:#5f705422;color:var(--sage);border-color:var(--sage)}.badge.blocked{background:#b8442a22;color:var(--rust);border-color:var(--rust)}.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{display:inline}.row-actions select{font:inherit;font-size:11px;padding:4px 6px;border:1px solid var(--line-strong);background:#fffbf0}.footer{margin-top:40px;padding-top:16px;border-top:1.5px solid var(--ink);display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}