:root{--bg:#f6f1e6;--card:#fdfaf2;--border:#e3d9c4;--fg:#2a2320;--muted:#8a8072;--accent:#7a1f2a;--gold:#b3893a;--danger:#b0492f;--ok:#4a6741;--nav-bg:#571620;--nav-fg:#f5e6c8}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--fg);margin:0 0 12px;font-weight:600;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}h1{font-size:26px;color:var(--accent)}h1:after{content:"";display:block;width:48px;height:2px;background:var(--gold);margin-top:8px}h2{font-size:18px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--nav-bg);border-right:2px solid var(--gold);padding:24px 16px}.nav .brand{font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:19px;letter-spacing:4px;color:var(--nav-fg);margin-bottom:8px}.nav .brand:after{content:"";display:block;width:100%;height:1px;background:var(--gold);margin:14px 0 10px;opacity:.6}.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.nav a{display:block;padding:8px 10px;color:hsla(40,69%,87%,.72);border-radius:4px;font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.nav a.active,.nav a:hover{background:hsla(40,69%,87%,.1);color:var(--nav-fg);text-decoration:none}.nav .user{margin-top:24px;padding-top:16px;border-top:1px solid rgba(179,137,58,.45);color:hsla(40,69%,87%,.66);font-size:12px}.main{padding:24px 32px;min-width:0}.card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:16px;box-shadow:0 1px 2px rgba(42,35,32,.04)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.metric-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.metric-value{font-size:28px;margin-top:4px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;color:var(--accent)}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;background:#f1ead9;border-bottom:2px solid var(--gold)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:rgba(179,137,58,.06)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{background:#fffdf8;color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:14px;width:100%;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}textarea{min-height:80px;resize:vertical}.btn,button{background:var(--accent);color:#f5e6c8;border:none;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;font-family:inherit}.btn:hover,button:hover{background:#641a23;text-decoration:none}.btn.secondary,button.secondary{background:transparent;color:var(--accent);border:1px solid var(--gold);font-weight:500}.btn.secondary:hover,button.secondary:hover{background:rgba(179,137,58,.08)}button:disabled{opacity:.6;cursor:not-allowed}form{gap:12px}form,label{display:flex;flex-direction:column}label{gap:6px;text-transform:uppercase;letter-spacing:1.4px}.badge,label{color:var(--muted);font-size:11px}.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-weight:600;background:#f1ead9;border:1px solid var(--border)}.badge.ok{background:rgba(74,103,65,.12);color:var(--ok);border-color:transparent}.badge.warn{background:rgba(176,73,47,.12)}.badge.danger,.badge.warn{color:var(--danger);border-color:transparent}.badge.danger{background:rgba(176,73,47,.16)}.row-actions{display:flex;gap:8px}.toolbar{display:flex;flex-direction:row;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.toolbar input,.toolbar select{width:auto;flex:0 0 auto}.err{color:var(--danger);font-size:12px}