:root{--color-primary: #1B2A4A;--color-primary-light: #2F4373;--color-accent: #FF7A00;--color-accent-dark: #E66A00;--color-teal: #0EA5A5;--color-bg: #F7F7F5;--color-surface: #FFFFFF;--color-text: #1A1A2E;--color-text-muted: #6B7280;--color-border: #E6E7EB;--color-success: #16A34A;--color-warning: #F59E0B;--color-danger: #DC2626;--font-display: "Sora", sans-serif;--font-body: "Inter", sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--container-width: 1200px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-primary);margin:0 0 .5em;line-height:1.25}a{color:var(--color-primary);text-decoration:none}p{margin:0 0 1em}img{max-width:100%;display:block}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 20px}.section{padding:56px 0}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.section-header h2{font-size:28px;margin:0}.section-header p{color:var(--color-text-muted);margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;border-radius:var(--radius-md);padding:12px 22px;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-dark)}.btn-secondary{background:var(--color-primary);color:#fff}.btn-secondary:hover{background:var(--color-primary-light)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn-outline:hover{border-color:var(--color-primary);background:#1b2a4a0a}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-primary)}.btn-block{width:100%}.btn-sm{padding:8px 14px;font-size:13px;border-radius:var(--radius-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:18px}.form-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--color-text)}.form-control{width:100%;padding:12px 14px;font-size:15px;font-family:var(--font-body);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color .12s ease,box-shadow .12s ease}.form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #ff7a0026}textarea.form-control{resize:vertical;min-height:100px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted)}.badge-verified{background:#0ea5a51f;color:var(--color-teal)}.badge-featured{background:#ff7a001f;color:var(--color-accent-dark)}.badge-success{background:#16a34a1f;color:var(--color-success)}.badge-pending{background:#f59e0b1f;color:var(--color-warning)}.badge-rejected{background:#dc26261f;color:var(--color-danger)}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state i{font-size:42px;margin-bottom:12px;color:var(--color-border)}.spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 992px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:36px 0}.section-header h2{font-size:22px}}
