:root{--color-bg:#f5f6fa;--color-card:#fff;--color-primary:#2f6fed;--color-primary-dark:#1e4fd1;--color-success:#22c55e;--color-success-bg:#eafaf0;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--radius-lg:16px;--radius-md:10px;--radius-sm:8px;--shadow-card:0 1px 3px #1018280f, 0 1px 2px #1018280a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}input,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-sans);margin-bottom:12px;padding:10px 12px}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:12px 20px;font-size:14px;font-weight:600}.btn-primary:disabled{cursor:not-allowed;background:#9ca3af}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px 18px;font-size:13px;font-weight:600}.admin-auth-shell{background:linear-gradient(160deg,#eef2ff,#f5f6fa);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-auth-card{background:var(--color-card);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-card);padding:32px}.admin-auth-subtitle{color:var(--color-text-muted);margin-bottom:20px;font-size:13px}.admin-error-text{color:#dc2626;font-size:13px}.admin-success-text{color:var(--color-success);font-size:13px}.admin-shell{min-height:100vh}.admin-header{background:var(--color-card);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.admin-header-right{align-items:center;gap:16px;display:flex}.admin-user-email{color:var(--color-text-muted);font-size:13px}.admin-logo{color:var(--color-primary);font-size:20px;font-weight:800}.admin-main{max-width:900px;margin:0 auto;padding:32px 24px 64px}.admin-page-title{margin-bottom:20px;font-size:22px;font-weight:800}.admin-tabs{border-bottom:1px solid var(--color-border);gap:8px;margin-bottom:20px;display:flex}.admin-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:14px;font-weight:600}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-nav-link{border-radius:var(--radius-sm);color:var(--color-text-muted);padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.admin-nav-link.active{color:var(--color-primary);background:#eef2ff}.admin-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.admin-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-form-row{gap:16px;margin-bottom:4px;display:flex}.admin-field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.admin-textarea{resize:vertical;min-height:160px}.admin-link{color:var(--color-primary);font-size:13px;font-weight:600;text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--color-border);padding:12px;font-size:14px}.admin-table tr:last-child td{border-bottom:none}.admin-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.badge-gray{color:var(--color-text-muted);background:#f1f2f6}.badge-yellow{color:#b45309;background:#fef3c7}.badge-green{background:var(--color-success-bg);color:var(--color-success)}.badge-red{color:#dc2626;background:#fee2e2}
