@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap";:root{--color-primary-50:#fff8f1;--color-primary-100:#feecdc;--color-primary-200:#fcd9bd;--color-primary-300:#fdba74;--color-primary-400:#fb923c;--color-primary-500:#f97316;--color-primary-600:#ea580c;--color-primary-700:#c2410c;--color-primary-800:#9a3412;--color-primary-900:#7c2d12;--color-grey-50:#fafaf9;--color-grey-100:#f5f5f4;--color-grey-200:#e7e5e4;--color-grey-300:#d6d3d1;--color-grey-400:#a8a29e;--color-grey-500:#78716c;--color-grey-600:#57534e;--color-grey-700:#44403c;--color-grey-800:#292524;--color-grey-900:#1c1917;--color-white:#fff;--color-off-white:#fafaf9;--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-error:#ef4444;--color-error-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--bg-primary:var(--color-white);--bg-secondary:var(--color-grey-50);--bg-tertiary:var(--color-grey-100);--bg-accent:var(--color-primary-50);--bg-dark:var(--color-grey-900);--text-primary:var(--color-grey-900);--text-secondary:var(--color-grey-600);--text-tertiary:var(--color-grey-400);--text-inverse:var(--color-white);--text-accent:var(--color-primary-600);--border-light:var(--color-grey-200);--border-default:var(--color-grey-300);--border-accent:var(--color-primary-300);--btn-primary-bg:var(--color-primary-500);--btn-primary-hover:var(--color-primary-600);--btn-primary-text:var(--color-white);--btn-secondary-bg:var(--color-white);--btn-secondary-hover:var(--color-grey-50);--btn-secondary-text:var(--color-grey-700);--btn-secondary-border:var(--color-grey-300);--link-color:var(--color-primary-600);--link-hover:var(--color-primary-700);--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-xl:0 20px 40px -8px #0000001f, 0 8px 16px -4px #0000000a;--shadow-glow:0 0 20px #f9731626;--shadow-card:0 1px 3px #0000000a, 0 0 0 1px #00000005;--gradient-primary:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-600) 100%);--gradient-hero:linear-gradient(135deg, #1c1917 0%, #292524 50%, #44403c 100%);--gradient-warm:linear-gradient(135deg, var(--color-primary-50) 0%, #fff5eb 50%, var(--color-grey-50) 100%);--gradient-card:linear-gradient(180deg, transparent 0%, #00000005 100%);--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Playfair Display", Georgia, serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-secondary);letter-spacing:-.01em;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:700;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.7}a{color:var(--link-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--link-hover)}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-5);transition:all var(--transition-fast);letter-spacing:-.01em;border:none;font-weight:500}.btn-primary,.btn-secondary{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-5);text-align:center;transition:all var(--transition-fast);letter-spacing:-.01em;border:none;font-weight:500;line-height:1.6;text-decoration:none;display:inline-block}.btn-primary{background:var(--gradient-primary);color:var(--btn-primary-text);font-weight:600;box-shadow:0 1px 2px #ea580c33,0 1px 3px #ea580c1a}.btn-primary:hover{background:var(--btn-primary-hover);color:var(--btn-primary-text);transform:translateY(-1px);box-shadow:0 4px 12px #ea580c4d,0 2px 4px #ea580c26}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #ea580c33}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--btn-secondary-hover);color:var(--btn-secondary-text);border-color:var(--color-grey-400);box-shadow:var(--shadow-sm)}input,textarea,select{font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-3) var(--space-4);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-fast);outline:none;width:100%}input::placeholder,textarea::placeholder{color:var(--color-grey-400)}input:hover,textarea:hover,select:hover{border-color:var(--color-grey-300)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px #f973161a}.container{width:100%;max-width:1200px;padding:0 var(--space-6);margin:0 auto}#root{min-height:100vh}.layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.main-content>*{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::selection{background:var(--color-primary-100);color:var(--color-primary-900)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-grey-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-grey-400)}.page-loader{min-height:60vh;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.navbar{-webkit-backdrop-filter:blur(12px);z-index:100;background:#ffffffd9;border-bottom:1px solid #0000000f;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.navbar-brand{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;text-decoration:none}.navbar-brand:hover{color:var(--color-primary-600)}.navbar-toggle{color:var(--text-primary);padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;display:none}.navbar-toggle:hover{background:var(--bg-tertiary)}.navbar-menu{align-items:center;gap:var(--space-8);display:flex}.navbar-links{gap:var(--space-1);display:flex}.navbar-links a{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:all var(--transition-fast);font-weight:500;text-decoration:none;position:relative}.navbar-links a:hover{color:var(--text-primary);background:var(--bg-tertiary)}.navbar-links a.active{color:var(--color-primary-600);background:var(--color-primary-50)}.navbar-actions{align-items:center;gap:var(--space-3);display:flex}.nav-admin-link{color:var(--color-primary-600);font-size:var(--text-sm);padding:var(--space-1) var(--space-3);background:var(--color-primary-50);border-radius:var(--radius-full);transition:all var(--transition-fast);font-weight:600;text-decoration:none}.nav-admin-link:hover,.nav-admin-link.active{background:var(--color-primary-100)}.nav-user{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-radius:var(--radius-full);transition:all var(--transition-fast);font-weight:500;text-decoration:none;display:flex}.nav-user:hover{background:var(--bg-tertiary)}.nav-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-primary-100);width:32px;height:32px}.nav-avatar-placeholder{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;width:32px;height:32px;font-weight:600;font-size:var(--text-xs);justify-content:center;align-items:center;display:flex}.nav-logout{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}@media (width<=768px){.navbar-toggle{display:block}.navbar-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);padding:var(--space-4) var(--space-6);gap:var(--space-4);box-shadow:var(--shadow-lg);background:#fffffffa;flex-direction:column;display:none;position:absolute;top:68px;left:0;right:0}.navbar-menu.open{display:flex}.navbar-links{flex-direction:column;width:100%}.navbar-links a{padding:var(--space-3);border-radius:var(--radius-lg)}.navbar-actions{flex-direction:column;width:100%}.navbar-actions .btn-primary,.navbar-actions .btn-secondary{text-align:center;width:100%;padding:var(--space-3)}}.footer{background:var(--color-grey-900);color:var(--color-grey-400);padding:var(--space-16) 0 var(--space-8);margin-top:auto}.footer-inner{gap:var(--space-10);flex-direction:column;display:flex}.footer-brand h3{font-family:var(--font-display);color:var(--color-white);font-size:var(--text-xl);margin-bottom:var(--space-3)}.footer-brand p{color:var(--color-grey-500);font-size:var(--text-sm);max-width:300px;margin:0;line-height:1.6}.footer-links{gap:var(--space-16);display:flex}.footer-col{gap:var(--space-3);flex-direction:column;display:flex}.footer-col h4{color:var(--color-grey-400);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1);font-weight:600}.footer-col a{color:var(--color-grey-500);font-size:var(--text-sm);transition:all var(--transition-fast);text-decoration:none}.footer-col a:hover{color:var(--color-primary-400);transform:translate(2px)}.footer-bottom{padding-top:var(--space-8);border-top:1px solid #ffffff0f}.footer-bottom p{font-size:var(--text-xs);color:var(--color-grey-600);margin:0}@media (width<=768px){.footer-links{gap:var(--space-6);flex-direction:column}}.spinner-container{padding:var(--space-16);justify-content:center;align-items:center;min-height:40vh;display:flex}.spinner{border:3px solid var(--color-grey-200);border-top-color:var(--color-primary-500);border-right-color:var(--color-primary-300);border-radius:50%;animation:.7s cubic-bezier(.4,0,.2,1) infinite spin}.spinner-sm .spinner{border-width:2px;width:20px;height:20px}.spinner-md .spinner{width:36px;height:36px}.spinner-lg .spinner{width:44px;height:44px}@keyframes spin{to{transform:rotate(360deg)}}.hero{background:var(--gradient-hero);padding:var(--space-24) 0 var(--space-20);position:relative;overflow:hidden}.hero-bg{background:radial-gradient(at 70% 20%,#f9731626 0%,#0000 60%),radial-gradient(at 30% 80%,#f9731614 0%,#0000 50%);position:absolute;inset:0}.hero-content{z-index:1;position:relative}.hero-badge{align-items:center;gap:var(--space-2);color:var(--color-primary-300);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);margin-bottom:var(--space-6);background:#f9731626;border:1px solid #f9731633;font-weight:500;display:inline-flex}.hero-title{font-family:var(--font-display);font-size:var(--text-6xl);color:var(--color-white);letter-spacing:-.03em;margin-bottom:var(--space-6);font-weight:800;line-height:1.05}.hero-accent{background:linear-gradient(135deg, var(--color-primary-400) 0%, var(--color-primary-300) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{font-size:var(--text-xl);color:var(--color-grey-400);max-width:520px;margin-bottom:var(--space-8);line-height:1.6}.hero-actions{gap:var(--space-4);margin-bottom:var(--space-12);display:flex}.hero-btn{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-xl);font-weight:600;text-decoration:none;display:inline-flex}.hero-actions .btn-secondary{color:var(--color-grey-300);background:#ffffff14;border:1px solid #ffffff1f}.hero-actions .btn-secondary:hover{color:var(--color-white);background:#ffffff24}.hero-stats{gap:var(--space-8);display:flex}.hero-stat{align-items:center;gap:var(--space-2);color:var(--color-grey-500);font-size:var(--text-sm);display:flex}.hero-stat svg{color:var(--color-primary-400)}.home-section{padding:var(--space-16) 0}.home-section-alt{background:var(--bg-primary)}.section-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-end;display:flex}.section-tag{font-size:var(--text-sm);color:var(--color-primary-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);font-weight:600;display:block}.section-header h2{font-size:var(--text-3xl);font-family:var(--font-display);margin:0}.see-more{align-items:center;gap:var(--space-1);color:var(--color-primary-600);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:all var(--transition-fast);font-weight:600;text-decoration:none;display:inline-flex}.see-more:hover{background:var(--color-primary-50)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-2xl);color:inherit;transition:all var(--transition-normal);box-shadow:var(--shadow-card);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card-image-wrap{position:relative;overflow:hidden}.card-image{object-fit:cover;width:100%;height:200px;transition:transform var(--transition-slow)}.card:hover .card-image{transform:scale(1.04)}.card-image-placeholder{background:var(--gradient-warm);width:100%;height:200px;color:var(--color-primary-300);justify-content:center;align-items:center;display:flex}.card-category{top:var(--space-3);left:var(--space-3);font-size:var(--text-xs);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:#00000080;font-weight:600;position:absolute}.card-body{padding:var(--space-5);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.card-body h3{font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.015em;font-weight:600;line-height:1.35}.card-body p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.card-date{font-size:var(--text-xs);color:var(--text-tertiary);padding-top:var(--space-3);margin-top:auto}.card-author-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.card-author-avatar{border-radius:var(--radius-full);object-fit:cover;width:24px;height:24px}.card-author-avatar-ph{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:flex}.card-author-name{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.card-compact .card-image{height:160px}.empty-card{padding:var(--space-12);background:var(--bg-primary);border:2px dashed var(--border-light);border-radius:var(--radius-2xl);text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-card p{margin:var(--space-3) 0 0;color:var(--text-tertiary)}.home-cta{background:var(--gradient-hero);padding:var(--space-16) 0;text-align:center}.home-cta h2{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-white);margin-bottom:var(--space-3)}.home-cta p{color:var(--color-grey-400);font-size:var(--text-lg);margin-bottom:var(--space-8)}@media (width<=1024px){.card-grid,.card-grid-4{grid-template-columns:repeat(2,1fr)}.hero-title{font-size:var(--text-5xl)}}@media (width<=768px){.hero{padding:var(--space-16) 0 var(--space-12)}.hero-title{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-lg)}.hero-actions{flex-direction:column}.hero-btn{justify-content:center}.hero-stats{gap:var(--space-3);flex-direction:column}.card-grid,.card-grid-4{grid-template-columns:1fr}.section-header{align-items:flex-start;gap:var(--space-3);flex-direction:column}}.about-page{padding:var(--space-12) var(--space-4);max-width:800px}.about-hero{text-align:center;margin-bottom:var(--space-12)}.about-hero h1{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.about-lead{font-size:var(--text-lg);color:var(--text-secondary);max-width:600px;margin:0 auto}.about-section{margin-bottom:var(--space-12)}.about-section h2{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.goals-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.goal-card{background:var(--bg-accent);border:1px solid var(--border-accent);border-radius:var(--radius-xl);padding:var(--space-6)}.goal-card h3{color:var(--text-accent);margin-bottom:var(--space-2)}.goal-card p{font-size:var(--text-sm);margin:0}.contact-form{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.contact-success{color:var(--color-success);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4);background:#f0fdf4;border:1px solid #bbf7d0}@media (width<=768px){.form-row{flex-direction:column}}.pagination{justify-content:center;gap:var(--space-2);padding:var(--space-6) 0;display:flex}.pagination-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary-300);color:var(--text-accent)}.pagination-btn.active{background:var(--color-primary-500);color:var(--color-white);border-color:var(--color-primary-500)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.content-list-page{padding:var(--space-8) var(--space-4)}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.page-header p{color:var(--text-secondary);font-size:var(--text-base);margin:0}.card-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);color:inherit;transition:all var(--transition-normal);text-decoration:none;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-accent);transform:translateY(-2px)}.card-image{object-fit:cover;width:100%;height:200px}.card-body{padding:var(--space-4)}.card-body h3{font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--text-primary)}.card-body p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.card-footer{justify-content:space-between;align-items:center;display:flex}.card-date{font-size:var(--text-xs);color:var(--text-tertiary)}.card-tag{font-size:var(--text-xs);color:var(--color-primary-600);background:var(--color-primary-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.empty-message{text-align:center;color:var(--text-tertiary);padding:var(--space-12);font-size:var(--text-lg)}.content-detail{padding:var(--space-8) var(--space-4);max-width:800px}.back-link{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);text-decoration:none;display:inline-block}.back-link:hover{color:var(--text-accent)}.content-detail h1{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.detail-meta{gap:var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-6);display:flex}.detail-images{gap:var(--space-4);margin-bottom:var(--space-6);display:grid}.detail-image{border-radius:var(--radius-lg);object-fit:cover;width:100%;max-height:500px}.detail-content p{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-4);line-height:1.75}.linked-workshop{margin-top:var(--space-8);padding:var(--space-4);background:var(--bg-accent);border:1px solid var(--border-accent);border-radius:var(--radius-lg)}.linked-workshop h3{font-size:var(--text-sm);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-2)}.workshop-link{font-size:var(--text-lg);color:var(--text-accent);font-weight:600}.outcomes-section{margin-top:var(--space-6);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg)}.outcomes-section h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.toolkit-page{padding:var(--space-8) var(--space-4);max-width:800px}.toolkit-list{gap:var(--space-4);flex-direction:column;display:flex}.toolkit-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);transition:border-color var(--transition-fast);display:flex}.toolkit-item:hover{border-color:var(--border-accent)}.toolkit-icon{color:var(--color-primary-500);flex-shrink:0}.toolkit-info{flex:1}.toolkit-info h3{font-size:var(--text-base);margin-bottom:var(--space-1)}.toolkit-info p{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-1)}.toolkit-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.toolkit-download{white-space:nowrap;padding:var(--space-2) var(--space-4);flex-shrink:0;text-decoration:none}@media (width<=768px){.toolkit-item{flex-direction:column;align-items:flex-start}.toolkit-download{text-align:center;width:100%}}.post-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-2xl);color:inherit;transition:all var(--transition-normal);box-shadow:var(--shadow-card);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.post-card:hover{box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-4px)}.post-card-image{object-fit:cover;width:100%;height:220px;transition:transform var(--transition-slow)}.post-card:hover .post-card-image{transform:scale(1.03)}.post-card-body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex}.post-card-author{align-items:center;gap:var(--space-2);display:flex}.post-card-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-primary-100);width:30px;height:30px}.post-card-avatar-placeholder{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;width:30px;height:30px;font-size:var(--text-xs);justify-content:center;align-items:center;font-weight:600;display:flex}.post-card-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.post-card-content{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.post-card-location{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.post-card-stats{gap:var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary);padding-top:var(--space-3);border-top:1px solid var(--border-light);margin-top:auto;display:flex}.post-card-stats span{align-items:center;gap:var(--space-1);transition:color var(--transition-fast);display:flex}.post-card:hover .post-card-stats span:first-child{color:var(--color-primary-500)}.post-card-date{font-size:var(--text-xs);margin-left:auto}.youth-hub-page{padding:var(--space-8) var(--space-4)}.youth-hub-page .page-header{justify-content:space-between;align-items:flex-start;display:flex}.create-post-btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);white-space:nowrap;text-decoration:none;display:flex}.hub-controls{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.hub-search{gap:var(--space-3);flex:1;display:flex}.search-input-wrap{flex:1;position:relative}.search-icon{color:var(--text-tertiary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-wrap input{padding-left:36px}.location-input{max-width:200px}.hub-sort{gap:var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-1);display:flex}.sort-btn{color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);background:0 0;font-weight:500}.sort-btn.active{background:var(--bg-primary);color:var(--text-accent);box-shadow:var(--shadow-sm)}@media (width<=768px){.youth-hub-page .page-header{gap:var(--space-4);flex-direction:column}.hub-controls{flex-direction:column}.hub-search{flex-direction:column;width:100%}.location-input{max-width:none}.posts-grid{grid-template-columns:1fr}}.post-detail{padding:var(--space-8) var(--space-4);max-width:700px}.post-detail-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8)}.post-detail-author{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.author-link{align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;display:flex}.post-detail-avatar{border-radius:var(--radius-full);object-fit:cover;width:40px;height:40px}.post-detail-avatar-placeholder{border-radius:var(--radius-full);background:var(--color-primary-100);width:40px;height:40px;color:var(--color-primary-600);justify-content:center;align-items:center;font-weight:600;display:flex}.author-name{font-weight:600;font-size:var(--text-sm);display:block}.post-date{font-size:var(--text-xs);color:var(--text-tertiary);display:block}.post-edit-btn{font-size:var(--text-sm);text-decoration:none}.post-detail-content p{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-3);line-height:1.75}.post-detail-images{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.post-detail-image{border-radius:var(--radius-lg);object-fit:cover;width:100%;max-height:500px}.post-detail-location{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-4) 0;display:flex}.post-detail-actions{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light);display:flex}.reaction-btn{align-items:center;gap:var(--space-1);background:var(--bg-secondary);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);display:flex}.reaction-btn:hover,.reaction-btn.reacted{background:var(--color-primary-50);color:var(--color-primary-500)}.comment-count{align-items:center;gap:var(--space-1);color:var(--text-tertiary);font-size:var(--text-sm);display:flex}.comments-section h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.comment-form{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.comment-form .btn-primary{align-self:flex-end}.comments-list{gap:var(--space-4);flex-direction:column;display:flex}.comment{padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.comment-hidden{opacity:.5;border-style:dashed}.comment-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.comment-author{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:flex}.comment-avatar{border-radius:var(--radius-full);object-fit:cover;width:24px;height:24px}.comment-avatar-placeholder{border-radius:var(--radius-full);background:var(--color-primary-100);width:24px;height:24px;color:var(--color-primary-600);font-size:var(--text-xs);justify-content:center;align-items:center;font-weight:600;display:flex}.comment-date{font-size:var(--text-xs);color:var(--text-tertiary)}.comment-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-2)}.hidden-badge{font-size:var(--text-xs);color:var(--color-warning);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:#fefce8}.comment-actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.comment-action-btn{align-items:center;gap:var(--space-1);color:var(--text-tertiary);font-size:var(--text-xs);background:0 0;padding:0;display:flex}.comment-action-btn:hover{color:var(--text-secondary)}.comment-action-btn.delete:hover{color:var(--color-error)}.no-comments{text-align:center;color:var(--text-tertiary);padding:var(--space-4)}.user-profile-page{padding:var(--space-8) var(--space-4)}.profile-header{gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-light);align-items:flex-start;display:flex}.profile-avatar{border-radius:var(--radius-full);object-fit:cover;width:96px;height:96px}.profile-avatar-placeholder{border-radius:var(--radius-full);background:var(--color-primary-100);width:96px;height:96px;color:var(--color-primary-600);font-size:var(--text-2xl);justify-content:center;align-items:center;font-weight:600;display:flex}.profile-info{flex:1}.profile-info h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.profile-bio{color:var(--text-secondary);margin-bottom:var(--space-2)}.profile-location{align-items:center;gap:var(--space-1);color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-3);display:flex}.profile-stats{gap:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.profile-stats strong{color:var(--text-primary)}.user-profile-page h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.posts-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}@media (width<=768px){.profile-header{text-align:center;flex-direction:column;align-items:center}.profile-stats,.profile-location{justify-content:center}}.auth-page{min-height:calc(100vh - 200px);padding:var(--space-8) var(--space-4);background:var(--gradient-warm);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--bg-primary);border-radius:var(--radius-3xl);width:100%;max-width:440px;padding:var(--space-10);box-shadow:var(--shadow-xl);border:1px solid #0000000f}.auth-card h1{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-1)}.auth-subtitle{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-8)}.auth-error{background:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);border:1px solid #fecaca;font-weight:500}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.form-group label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.auth-submit{width:100%;padding:var(--space-4);font-size:var(--text-base);margin-top:var(--space-2);border-radius:var(--radius-xl);font-weight:600}.auth-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-8);margin-bottom:0}.auth-switch a{color:var(--color-primary-600);font-weight:600}.auth-switch a:hover{text-decoration:underline}@media (width<=480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-2xl)}.form-row{flex-direction:column}}.user-page{padding:var(--space-8) var(--space-4);max-width:700px}.user-page h1{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.user-page h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.alert{padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.alert-error{color:var(--color-error);background:#fef2f2;border:1px solid #fecaca}.alert-success{color:var(--color-success);background:#f0fdf4;border:1px solid #bbf7d0}.user-form{gap:var(--space-4);flex-direction:column;display:flex}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-group label{font-size:var(--text-sm);font-weight:500}.form-row{gap:var(--space-4);display:flex}.form-row .form-group{flex:1}.avatar-upload{align-items:center;gap:var(--space-4);display:flex}.avatar-preview{border-radius:var(--radius-full);object-fit:cover;width:80px;height:80px}.avatar-preview-placeholder{border-radius:var(--radius-full);background:var(--color-primary-100);width:80px;height:80px;color:var(--color-primary-600);font-size:var(--text-xl);justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-btn{cursor:pointer}.divider{border:none;border-top:1px solid var(--border-light);margin:var(--space-8) 0}.image-upload-area{border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.image-upload-area:hover{border-color:var(--color-primary-300);background:var(--bg-accent)}.image-previews{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.image-preview-item{position:relative}.image-preview-item img{object-fit:cover;border-radius:var(--radius-md);width:100px;height:100px}.image-remove-btn{border-radius:var(--radius-full);background:var(--color-error);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:14px;display:flex;position:absolute;top:-8px;right:-8px}.status-pending{color:#a16207;background:#fefce8}.status-approved{color:#15803d;background:#f0fdf4}.status-rejected{color:#dc2626;background:#fef2f2}.status-pending_edit{color:#2563eb;background:#eff6ff}.my-posts-page{max-width:900px}.my-posts-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.my-posts-header h1{margin:0}.my-posts-filters{gap:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-1);margin-bottom:var(--space-6);box-shadow:var(--shadow-xs);display:flex}.my-posts-filters .sort-btn{color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);transition:all var(--transition-fast);background:0 0;font-weight:500}.my-posts-filters .sort-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.my-posts-list{gap:var(--space-4);flex-direction:column;display:flex}.my-post-item{padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-primary);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.my-post-item:hover{border-color:var(--color-grey-300)}.my-post-info{flex:1}.my-post-info p{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0}.my-post-actions{gap:var(--space-2);display:flex}.rejection-reason{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}@media (width<=768px){.form-row{flex-direction:column}.my-post-item{align-items:flex-start;gap:var(--space-3);flex-direction:column}}.admin-page{padding:var(--space-8) var(--space-6)}.admin-page h1{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-6)}.admin-page h2{font-size:var(--text-xl);margin-bottom:var(--space-4);margin-top:var(--space-8)}.btn-back{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-fast);box-shadow:var(--shadow-xs);cursor:pointer;font-weight:500;text-decoration:none;display:inline-flex}.btn-back:hover{color:var(--text-primary);border-color:var(--color-grey-300);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.btn-icon{align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md)}.btn-danger{background:var(--bg-primary);color:var(--color-error);border:1px solid var(--color-error-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);transition:all var(--transition-fast);align-items:center;gap:var(--space-1);font-weight:500;display:inline-flex}.btn-danger:hover{background:var(--color-error-light);border-color:var(--color-error);box-shadow:var(--shadow-sm)}.btn-success{background:var(--bg-primary);color:var(--color-success);border:1px solid var(--color-success-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);transition:all var(--transition-fast);align-items:center;gap:var(--space-1);font-weight:500;display:inline-flex}.btn-success:hover{background:var(--color-success-light);border-color:var(--color-success)}.btn-edit{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast);box-shadow:var(--shadow-xs);font-weight:500;text-decoration:none;display:inline-flex}.btn-edit:hover{color:var(--color-primary-600);border-color:var(--color-primary-200);background:var(--color-primary-50)}.stats-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.stat-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-2xl);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-card);transition:all var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.accent{border-color:var(--color-primary-300);background:var(--color-primary-50)}.stat-icon{color:var(--color-primary-500);margin-bottom:var(--space-2);font-size:24px}.stat-value{font-size:var(--text-3xl);color:var(--text-primary);font-weight:700}.stat-label{font-size:var(--text-sm);color:var(--text-tertiary)}.admin-nav-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.admin-nav-card{align-items:center;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-xl);color:var(--text-primary);transition:all var(--transition-fast);background:var(--bg-primary);box-shadow:var(--shadow-card);font-weight:500;text-decoration:none;display:flex}.admin-nav-card:hover{border-color:var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.badge{background:var(--gradient-primary);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-full);margin-left:auto;padding:2px 10px;font-weight:600}.admin-list{border-collapse:collapse;background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-card);border:1px solid var(--border-light);overflow:hidden}.admin-list th,.admin-list td{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm)}.admin-list th{color:var(--text-tertiary);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.admin-list td{border-bottom:1px solid var(--border-light)}.admin-list tr:last-child td{border-bottom:none}.admin-list tr:hover td{background:var(--color-primary-50)}.admin-list td a{font-weight:500}.admin-actions{gap:var(--space-2);display:flex}.admin-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.admin-header-actions{gap:var(--space-3);display:flex}.moderation-list{gap:var(--space-4);flex-direction:column;display:flex}.moderation-card{border:1px solid var(--border-light);border-radius:var(--radius-2xl);padding:var(--space-5);background:var(--bg-primary);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast)}.moderation-card:hover{border-color:var(--color-grey-300)}.moderation-card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.moderation-card-author{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.moderation-card-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.moderation-card-content{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);line-height:1.6}.moderation-card-images{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.moderation-card-images img{object-fit:cover;border-radius:var(--radius-lg);width:80px;height:80px}.moderation-card-location{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-3)}.moderation-actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-light);align-items:center;display:flex}.reject-input{gap:var(--space-2);margin-top:var(--space-2);flex:1;display:flex}.reject-input input{flex:1}.invite-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-card)}.invite-section h3{font-size:var(--text-base);margin-bottom:var(--space-2)}.invite-section p{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-4)}.invite-url{gap:var(--space-2);margin-top:var(--space-3);display:flex}.invite-url input{font-family:var(--font-mono);font-size:var(--text-sm);flex:1}.admin-form{gap:var(--space-5);flex-direction:column;max-width:700px;display:flex}.admin-form .form-group{gap:var(--space-2);flex-direction:column;display:flex}.admin-form .form-group label{font-size:var(--text-sm);font-weight:600}.status-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600;display:inline-block}.status-pending{background:var(--color-warning-light);color:#a16207}.status-approved{background:var(--color-success-light);color:#15803d}.status-rejected{background:var(--color-error-light);color:#dc2626}.status-pending_edit{background:var(--color-info-light);color:#2563eb}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-nav-grid{grid-template-columns:1fr}.admin-list{display:block;overflow-x:auto}.admin-header{align-items:flex-start;gap:var(--space-4);flex-direction:column}.admin-header-actions{width:100%}.moderation-actions{flex-wrap:wrap}}
