:root{--primary:#4f46e5;--primary-dark:#4338ca;--bg:#f4f5f9;--card:#ffffff;--text:#1f2330;--muted:#6b7280;--border:#e3e5ee}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.card{width:100%;max-width:480px;background:var(--card);border-radius:16px;box-shadow:0 10px 30px rgba(20,20,43,.08);padding:32px}.card h1{font-size:22px;margin:0 0 4px}.card p.subtitle{color:var(--muted);margin:0 0 24px;font-size:14px}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;margin-top:16px;color:#374151}label:first-of-type{margin-top:0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fbfbfd}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff}textarea{resize:vertical;min-height:70px}button.submit{margin-top:24px;width:100%;background:var(--primary);color:#fff;border:none;padding:12px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer}button.submit:hover{background:var(--primary-dark)}button.submit:disabled{opacity:.6;cursor:not-allowed}.required{color:#dc2626}.message{margin-top:16px;padding:10px 12px;border-radius:8px;font-size:14px}.message.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.message.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.admin-wrap{max-width:1100px;margin:0 auto;padding:32px 16px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.admin-header h1{font-size:20px;margin:0}.admin-header .count{color:var(--muted);font-size:14px}.btn{background:var(--primary);color:#fff;border:none;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.table-wrap{background:var(--card);border-radius:12px;box-shadow:0 10px 30px rgba(20,20,43,.06);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{background:#fafafe;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.empty-state,th{color:var(--muted)}.empty-state{text-align:center;padding:60px 20px}