:root{--bg:#f7f8fa;--surface:#fff;--border:#e2e5ea;--text:#1a1d23;--text-muted:#6b7280;--accent:#4f46e5;--accent-hover:#4338ca;--success:#16a34a;--error:#dc2626;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:14px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.btn:hover{background:var(--bg)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;padding:8px 10px;font-family:inherit;font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.badge{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.badge-success{color:var(--success);background:#dcfce7;border-color:#bbf7d0}.badge-error{color:var(--error);background:#fee2e2;border-color:#fecaca}.badge-pending{color:#92650c;background:#fef9c3;border-color:#fde68a}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:20px 12px}.sidebar h1{margin:0 0 20px 8px;font-size:16px}.sidebar nav a{border-radius:var(--radius);color:var(--text);margin-bottom:2px;padding:8px 12px;display:block}.sidebar nav a:hover{background:var(--bg);text-decoration:none}.main{flex:1;max-width:960px;padding:32px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}th{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:500}.form-field{margin-bottom:16px}.form-field label{margin-bottom:4px;font-weight:500;display:block}.form-field .field-description{color:var(--text-muted);margin-top:4px;font-size:12px}
