:root{--primary:#1a56db;--primary-dark:#1e3a8a;--accent:#0d9488;--success:#059669;--danger:#dc2626;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--font:'Inter',system-ui,sans-serif;--radius:10px;--shadow:0 4px 6px -1px rgb(0 0 0/.07)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--gray-800);background:var(--gray-50);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button,input,select,textarea{font-family:inherit}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.25rem}
.site-header{background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.25rem;color:var(--gray-900);text-decoration:none}.logo span{color:var(--primary)}
.nav{display:flex;align-items:center;gap:.25rem}.nav a{padding:.5rem .85rem;border-radius:6px;color:var(--gray-600);font-weight:500;font-size:.925rem;text-decoration:none}.nav a:hover,.nav a.active{background:var(--gray-100);color:var(--primary);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .15s;text-decoration:none}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff;text-decoration:none}
.btn-outline{background:transparent;border:1.5px solid var(--gray-300);color:var(--gray-700)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.btn-success{background:var(--success);color:#fff}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed}
.hero{background:linear-gradient(135deg,#1e3a8a 0%,#1a56db 50%,#0d9488 100%);color:#fff;padding:3.5rem 0;text-align:center}
.hero h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin-bottom:1rem}.hero p{font-size:1.1rem;opacity:.92;max-width:600px;margin:0 auto 1.5rem}
.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.hero .btn-primary{background:#fff;color:var(--primary)}.hero .btn-outline{border-color:rgba(255,255,255,.6);color:#fff}
.section{padding:2.5rem 0}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.section-sub{color:var(--gray-500);margin-bottom:1.5rem}
.card{background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200);box-shadow:var(--shadow);overflow:hidden}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.resource-card{padding:1.25rem;display:flex;flex-direction:column;height:100%}
.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;margin-bottom:.6rem}
.badge-free{background:#d1fae5;color:#065f46}.badge-paid{background:#dbeafe;color:#1e40af}.badge-membership{background:#fce7f3;color:#9d174d}.badge-premium{background:#fef3c7;color:#92400e}
.resource-card h3{font-size:1.05rem;font-weight:600;margin-bottom:.4rem;line-height:1.35}
.resource-card p{font-size:.85rem;color:var(--gray-500);flex:1;margin-bottom:1rem}
.resource-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--gray-500);margin-bottom:1rem}
.resource-card .actions{display:flex;gap:.5rem;margin-top:auto}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.plan-card{padding:1.75rem 1.5rem;text-align:center;position:relative}
.plan-card.popular{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}
.plan-card .plan-name{font-size:1.15rem;font-weight:700}.plan-card .plan-price{font-size:2rem;font-weight:800;color:var(--primary);margin:.5rem 0}
.plan-card .plan-price span{font-size:.9rem;font-weight:500;color:var(--gray-500)}
.plan-card ul{list-style:none;text-align:left;margin:1.25rem 0;font-size:.875rem;color:var(--gray-600)}
.plan-card ul li{padding:.3rem 0;padding-left:1.4rem;position:relative}.plan-card ul li::before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:700}
.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-weight:500;font-size:.875rem;margin-bottom:.35rem;color:var(--gray-700)}
.form-control{width:100%;padding:.65rem .85rem;border:1.5px solid var(--gray-300);border-radius:8px;font-size:.95rem;background:#fff}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.12)}
.site-footer{background:var(--gray-900);color:var(--gray-400);padding:2.5rem 0 1.5rem;margin-top:auto;font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;margin-bottom:1.5rem}
.footer-grid h4{color:#fff;font-size:.95rem;margin-bottom:.75rem}.footer-grid a{display:block;color:var(--gray-400);padding:.2rem 0;text-decoration:none}.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--gray-700);padding-top:1rem;text-align:center;font-size:.8rem}
.text-center{text-align:center}.mt-2{margin-top:1rem}.mb-2{margin-bottom:1rem}.hidden{display:none!important}
.spinner{display:inline-block;width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.mobile-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-700)}
@media(max-width:768px){.mobile-toggle{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:1rem;border-bottom:1px solid var(--gray-200)}.nav.open{display:flex}.nav a{width:100%;padding:.75rem 1rem}.resource-grid{grid-template-columns:1fr}}
.dash-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}
.dash-sidebar{background:#fff;border-right:1px solid var(--gray-200);padding:1.25rem 0}
.dash-sidebar a{display:flex;align-items:center;gap:.55rem;padding:.65rem 1.1rem;color:var(--gray-600);font-weight:500;text-decoration:none;font-size:.9rem}
.dash-sidebar a:hover,.dash-sidebar a.active{background:var(--gray-100);color:var(--primary)}
.dash-content{padding:1.5rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.1rem}
.stat-card .value{font-size:1.5rem;font-weight:700}.stat-card .label{font-size:.8rem;color:var(--gray-500)}
@media(max-width:900px){.dash-layout{grid-template-columns:1fr}.dash-sidebar{display:flex;overflow-x:auto;padding:.5rem;border-right:none;border-bottom:1px solid var(--gray-200)}.dash-sidebar a{white-space:nowrap}}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;opacity:0;visibility:hidden;transition:all .2s}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background:#fff;border-radius:12px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:1.5rem;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.modal h2{font-size:1.2rem;margin-bottom:1rem}.modal-close{float:right;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--gray-400)}
.alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}
.alert-success{background:#d1fae5;color:#065f46}.alert-error{background:#fee2e2;color:#991b1b}.alert-info{background:#dbeafe;color:#1e40af}
.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.table th{font-weight:600;color:var(--gray-600);background:var(--gray-50)}
