.public-layout{min-height:100vh;display:flex;flex-direction:column}.public-main{flex:1}.admin-layout{display:flex;min-height:100vh;background:var(--bg-secondary);font-family:var(--font-family-base);position:relative}.mobile-menu-toggle{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:var(--z-fixed);background:var(--bg-sidebar);color:var(--text-inverse);border:none;width:44px;height:44px;border-radius:var(--radius-md);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.mobile-menu-toggle:hover{background:var(--bg-sidebar-hover);transform:scale(1.05)}.mobile-menu-toggle .hamburger{display:flex;flex-direction:column;gap:4px;width:20px}.mobile-menu-toggle .hamburger span{display:block;width:100%;height:2px;background:var(--text-inverse);border-radius:var(--radius-full);transition:all var(--transition-base)}.mobile-menu-toggle .hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle .hamburger.active span:nth-child(2){opacity:0}.mobile-menu-toggle .hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-fixed) - 1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-sidebar{width:280px;background:var(--bg-sidebar);color:var(--text-inverse);position:fixed;height:100vh;overflow-y:auto;overflow-x:hidden;z-index:var(--z-fixed);transition:transform var(--transition-slow),width var(--transition-base);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.admin-sidebar::-webkit-scrollbar{width:6px}.admin-sidebar::-webkit-scrollbar-track{background:transparent}.admin-sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar-header{padding:var(--space-6) var(--space-5);border-bottom:1px solid rgba(255,255,255,.1);background:#0003;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-inverse);margin:0;letter-spacing:-.02em;font-family:var(--font-family-heading)}.sidebar-close{display:none;background:transparent;border:none;color:var(--text-inverse);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base)}.sidebar-close:hover{background:#ffffff1a}.sidebar-nav{padding:var(--space-4) var(--space-2);flex:1;overflow-y:auto}.menu-group{margin-bottom:var(--space-4)}.menu-group-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-4);margin-bottom:var(--space-1)}.menu-group-divider{height:1px;background:#ffffff1a;margin:var(--space-3) var(--space-4)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#ffffffd9;text-decoration:none;transition:all var(--transition-base);border-radius:var(--radius-md);margin:0 var(--space-2) var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:relative}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--color-primary-500);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:height var(--transition-base)}.nav-item:hover{background:var(--bg-sidebar-hover);color:var(--text-inverse);transform:translate(2px)}.nav-item.active{background:#2d865633;color:var(--text-inverse);font-weight:var(--font-weight-semibold)}.nav-item.active:before{height:60%}.nav-icon{font-size:1.25rem;line-height:1;flex-shrink:0;width:24px;text-align:center}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-main{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-base)}.admin-header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:0;box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);max-width:100%;gap:var(--space-4)}.header-left h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;letter-spacing:-.02em;font-family:var(--font-family-heading)}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.user-role{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.btn-logout{background:var(--color-primary-500);color:var(--text-inverse);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);white-space:nowrap}.btn-logout:hover{background:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-logout:active{transform:translateY(0)}.admin-content{flex:1;padding:var(--space-6);max-width:100%;overflow-x:hidden}@media(max-width:1024px){.admin-sidebar{width:260px}.admin-main{margin-left:260px}}@media(max-width:768px){.mobile-menu-toggle{display:flex}.mobile-overlay{display:block}.admin-sidebar{transform:translate(-100%);width:280px}.admin-sidebar.mobile-open{transform:translate(0)}.sidebar-close{display:flex}.admin-main{margin-left:0}.header-content{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.header-left h1{font-size:var(--font-size-xl)}.header-actions{width:100%;justify-content:space-between;margin-top:var(--space-2)}.user-info{flex-direction:row;align-items:center;gap:var(--space-2)}.user-role{padding:2px var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm)}.admin-content{padding:var(--space-4)}}@media(max-width:480px){.header-content{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.header-actions{width:100%;margin-top:0}.user-info{flex:1}}.about-page{min-height:100vh}.page-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);color:var(--white);padding:var(--spacing-xxl) 0;text-align:center}.page-hero h1{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-sm)}.page-hero p{font-size:var(--font-size-lg);opacity:.9}.vision-mission{padding:var(--spacing-xxl) 0;background:var(--white)}.vm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.vm-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.vm-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.vm-card h2{color:var(--primary-green);margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}.vm-card ul{text-align:left;list-style:none;padding:0}.vm-card ul li{padding:var(--spacing-sm) 0;padding-left:var(--spacing-md);position:relative}.vm-card ul li:before{content:"✓";position:absolute;left:0;color:var(--primary-green);font-weight:700}.values-section{padding:var(--spacing-xxl) 0;background:var(--soft-gray)}.section-title{text-align:center;font-size:var(--font-size-xxl);color:var(--text-dark);margin-bottom:var(--spacing-xl)}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.value-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;transition:transform .2s,box-shadow .2s}.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.value-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.value-card h3{color:var(--primary-green);margin-bottom:var(--spacing-sm)}.history-section{padding:var(--spacing-xxl) 0;background:var(--white)}.history-content{max-width:800px;margin:0 auto;line-height:1.8;font-size:var(--font-size-base);color:var(--text-dark)}.history-content p{margin-bottom:var(--spacing-md)}.institutions-page{min-height:100vh}.institutions-section{padding:var(--spacing-xxl) 0}.institutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.institution-card-link{text-decoration:none;color:inherit}.institution-detail-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;height:100%;display:flex;flex-direction:column}.institution-detail-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.institution-logo-preview{text-align:center;margin-bottom:var(--spacing-md)}.institution-logo-preview img{max-width:120px;max-height:120px;object-fit:contain;background:var(--soft-gray);padding:var(--spacing-sm);border-radius:var(--radius-md)}.institution-header{margin-bottom:var(--spacing-md)}.institution-code{display:inline-block;background:var(--primary-green);color:var(--white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.institution-header h2{color:var(--text-dark);font-size:var(--font-size-xl);margin:0}.institution-description{color:var(--text-light);margin-bottom:var(--spacing-lg);font-size:var(--font-size-base)}.institution-footer{margin-top:auto;padding-top:var(--spacing-md)}.institution-link{color:var(--primary-green);font-size:var(--font-size-sm);font-weight:600}.institution-detail-page{min-height:100vh}.institution-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);color:var(--white);padding:var(--spacing-xxl) 0;text-align:center}.institution-logo{margin-bottom:var(--spacing-lg)}.institution-logo img{max-width:200px;max-height:200px;object-fit:contain;background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-lg)}.institution-hero h1{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-sm)}.institution-code{display:inline-block;background:#fff3;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.institution-description{max-width:800px;margin:0 auto;font-size:var(--font-size-base);opacity:.95;line-height:1.8}.institution-content{padding:var(--spacing-xxl) 0;background:var(--white)}.content-grid{display:grid;grid-template-columns:1fr 350px;gap:var(--spacing-xl)}.content-main{display:flex;flex-direction:column;gap:var(--spacing-xl)}.content-section{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.content-section h2{color:var(--primary-green);font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--light-gray)}.vm-item{margin-bottom:var(--spacing-lg)}.vm-item h3{color:var(--text-dark);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.vm-item p,.description-content,.activities-content{color:var(--text-dark);line-height:1.8}.description-content p,.activities-content p{margin-bottom:var(--spacing-sm)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.gallery-item{aspect-ratio:1;overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.1)}.content-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sidebar-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.sidebar-card h3{color:var(--primary-green);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--text-dark)}.info-icon{font-size:var(--font-size-lg);flex-shrink:0}.info-item a{color:var(--primary-green);text-decoration:none}.info-item a:hover{text-decoration:underline}.staff-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.staff-item{display:flex;gap:var(--spacing-sm);align-items:center}.staff-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--light-gray)}.staff-info h4{color:var(--text-dark);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.staff-info p{color:var(--text-light);font-size:var(--font-size-sm)}.quick-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.quick-links a{color:var(--primary-green);text-decoration:none;padding:var(--spacing-xs) 0;transition:padding-left .2s}.quick-links a:hover{padding-left:var(--spacing-sm);text-decoration:underline}.error-state{text-align:center;padding:var(--spacing-xxl)}.btn-back{display:inline-block;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--primary-green);color:var(--white);text-decoration:none;border-radius:var(--radius-sm);transition:background .2s}.btn-back:hover{background:var(--primary-green-dark)}@media(max-width:968px){.content-grid{grid-template-columns:1fr}.content-sidebar{order:-1}}.programs-page{min-height:100vh}.programs-section{padding:var(--spacing-xxl) 0}.programs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.program-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;transition:transform .2s,box-shadow .2s}.program-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.program-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.program-card h3{color:var(--primary-green);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.program-card p{color:var(--text-dark);line-height:1.6}.articles-page{min-height:100vh;background:#f9fafb}.gallery-page{min-height:100vh}.gallery-section{padding:var(--spacing-xxl) 0}.gallery-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;justify-content:center}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--light-gray);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;font-size:var(--font-size-sm);color:var(--text-dark)}.filter-btn:hover,.filter-btn.active{background:var(--primary-green);color:var(--white);border-color:var(--primary-green)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s;background:var(--soft-gray)}.gallery-item:hover{transform:scale(1.05)}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{width:100%;height:100%;background:var(--soft-gray);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-light)}.gallery-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:var(--spacing-sm);color:var(--white);opacity:0;transition:opacity .2s}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-category{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:var(--spacing-xs)}.gallery-title{font-size:var(--font-size-sm);margin:0}.contact-page{min-height:100vh}.contact-section{padding:var(--spacing-xxl) 0}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-xxl)}.contact-info h2{color:var(--text-dark);margin-bottom:var(--spacing-xl);font-size:var(--font-size-xl)}.info-item{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.info-icon{font-size:2rem;flex-shrink:0}.info-item h3{color:var(--primary-green);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.info-item p{color:var(--text-dark);line-height:1.6}.contact-form-wrapper{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-form-wrapper h2{color:var(--text-dark);margin-bottom:var(--spacing-lg);font-size:var(--font-size-xl)}.contact-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form-group label{font-weight:500;color:var(--text-dark);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.form-group input,.form-group textarea{padding:var(--spacing-sm);border:1px solid var(--light-gray);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.form-group textarea{resize:vertical;min-height:120px}.btn-submit{padding:var(--spacing-sm) var(--spacing-xl);background:var(--primary-green);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .2s;align-self:flex-start;margin-top:var(--spacing-sm)}.btn-submit:hover{background:var(--primary-green-dark)}@media(max-width:768px){.contact-grid,.form-row{grid-template-columns:1fr}}.article-content{font-size:1.125rem;line-height:1.8;color:#111827}.article-content h2{font-size:1.75rem;font-weight:600;margin-top:2rem;margin-bottom:1rem;color:#111827}.article-content h3{font-size:1.5rem;font-weight:600;margin-top:1.5rem;margin-bottom:1rem;color:#111827}.article-content p{margin-bottom:1rem;line-height:1.8}.article-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0;box-shadow:0 4px 6px -1px #0000001a}.article-content ul,.article-content ol{padding-left:1.5rem;margin-bottom:1rem}.article-content li{margin-bottom:.5rem;line-height:1.8}.article-content a{color:#2d8656;text-decoration:none}.article-content a:hover{text-decoration:underline}.article-content blockquote{border-left:4px solid #2d8656;padding-left:1rem;padding-top:.5rem;padding-bottom:.5rem;margin:1rem 0;font-style:italic;background:#f9fafb;border-radius:4px}.article-content code{background:#f3f4f6;padding:.125rem .375rem;border-radius:4px;font-size:.875em;font-family:Courier New,monospace}.article-content pre{background:#1f2937;color:#f9fafb;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.article-content pre code{background:transparent;padding:0;color:inherit}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#2d8656,#1e293b);background-size:200% 200%;animation:gradientShift 15s ease infinite;position:relative;overflow:hidden;padding:var(--space-4)}.login-page:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.3;pointer-events:none}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-container-wrapper{position:relative;z-index:1;width:100%}.login-card{padding:var(--space-8) var(--space-6);border-radius:var(--radius-2xl);background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 60px #0000004d;max-width:440px;margin:0 auto}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--color-primary-500);color:#fff;margin-bottom:var(--space-4);box-shadow:0 4px 12px #2d86564d;transition:transform var(--transition-base)}.login-icon-wrapper:hover{transform:scale(1.05)}.login-icon{font-size:36px!important}.login-title{font-weight:var(--font-weight-bold);color:var(--color-primary-500);margin-bottom:var(--space-2);font-size:var(--font-size-3xl);letter-spacing:-.02em;font-family:var(--font-family-heading)}.login-subtitle{color:var(--text-secondary);font-size:var(--font-size-base)}.login-form{margin-bottom:var(--space-6)}.login-alert{border-radius:var(--radius-md)}.login-alert .MuiAlert-message{font-size:var(--font-size-sm)}.login-input .MuiOutlinedInput-root{border-radius:var(--radius-md);font-family:var(--font-family-base)}.login-input .MuiOutlinedInput-root:hover fieldset{border-color:var(--color-primary-500)}.login-input .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--color-primary-500);border-width:2px}.password-toggle{color:var(--text-secondary);transition:color var(--transition-base)}.password-toggle:hover{color:var(--color-primary-500)}.login-captcha{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light)}.captcha-label{margin-bottom:var(--space-3);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.captcha-question{font-family:Courier New,monospace;color:var(--color-primary-500);font-weight:var(--font-weight-bold);flex:1;text-align:center;background:#fff;padding:var(--space-3);border-radius:var(--radius-sm);border:2px solid var(--color-primary-200)}.captcha-input{width:80px}.captcha-input .MuiOutlinedInput-root{border-radius:var(--radius-sm)}.captcha-input .MuiOutlinedInput-root:hover fieldset{border-color:var(--color-primary-500)}.captcha-input .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--color-primary-500);border-width:2px}.captcha-refresh{color:var(--text-secondary);transition:all var(--transition-base)}.captcha-refresh:hover{color:var(--color-primary-500);background:var(--bg-tertiary)}.login-button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:none;box-shadow:0 4px 12px #2d86564d;transition:all var(--transition-base);font-family:var(--font-family-base)}.login-button:hover{box-shadow:0 6px 16px #2d865666;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-light);text-align:center}.login-footer-text{color:var(--text-secondary);font-size:var(--font-size-xs)}@media(max-width:768px){.login-card{padding:var(--space-6) var(--space-4);border-radius:var(--radius-xl)}.login-title{font-size:var(--font-size-2xl)}.login-icon-wrapper{width:64px;height:64px}.login-icon{font-size:32px!important}}@media(max-width:480px){.login-page{padding:var(--space-2)}.login-card{padding:var(--space-5) var(--space-3)}.login-title{font-size:var(--font-size-xl)}.login-subtitle{font-size:var(--font-size-sm)}}.dashboard-page{max-width:100%}.dashboard-page h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-8);letter-spacing:-.02em;font-family:var(--font-family-heading)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-3);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-400));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-200)}.stat-card:hover:before{transform:scaleX(1)}.stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-50);border-radius:var(--radius-lg);color:var(--color-primary-600);font-size:var(--font-size-xl)}.stat-content h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight);letter-spacing:-.02em}.stat-content p{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.dashboard-empty{text-align:center;padding:var(--space-16) var(--space-6);color:var(--text-secondary)}.dashboard-empty-icon{font-size:var(--font-size-4xl);color:var(--text-tertiary);margin-bottom:var(--space-4)}.dashboard-empty h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.dashboard-empty p{font-size:var(--font-size-base);color:var(--text-secondary)}.table-wrapper{overflow-x:auto;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);margin-top:var(--space-6)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-light)}.data-table th{padding:var(--space-4) var(--space-5);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-family:var(--font-family-heading)}.data-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:var(--font-size-sm)}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .empty-state{text-align:center;padding:var(--space-16) var(--space-6);color:var(--text-secondary)}.data-table .action-buttons{display:flex;gap:var(--space-2);align-items:center}.data-table .action-btn{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);background:transparent;color:var(--text-secondary)}.data-table .action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.data-table .action-btn.edit{color:var(--color-primary-600)}.data-table .action-btn.edit:hover{background:var(--color-primary-50)}.data-table .action-btn.delete{color:var(--color-error)}.data-table .action-btn.delete:hover{background:var(--color-error-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:var(--font-family-base);line-height:1;box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-dark)}.btn-outline{background:transparent;border:1px solid var(--color-primary-500);color:var(--color-primary-600);box-shadow:none}.btn-outline:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.btn-danger{background:var(--color-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-md{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base)}.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-medium)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;font-family:var(--font-family-heading)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;display:flex;flex-direction:column;width:100%;max-width:500px;animation:slideUp var(--transition-slow);border:1px solid var(--border-light)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content.modal-sm{max-width:400px}.modal-content.modal-md{max-width:600px}.modal-content.modal-lg{max-width:900px}.modal-content.modal-xl{max-width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;font-family:var(--font-family-heading)}.modal-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-footer{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:var(--space-3)}.form-input-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.form-label{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.form-label .required{color:var(--color-error);margin-left:var(--space-1)}.form-input,.form-textarea,.form-select{padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:all var(--transition-base);width:100%;background:var(--bg-primary);color:var(--text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #2d86561a}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-error)}.form-input.error:focus,.form-textarea.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.form-textarea{min-height:120px;resize:vertical;font-family:var(--font-family-base)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10)}.form-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--space-1)}.form-help{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:var(--space-1)}.file-upload-group{margin-bottom:1.5rem}.file-upload-label{display:block;font-weight:500;color:#374151;font-size:.875rem;margin-bottom:.5rem}.file-preview{position:relative;margin-bottom:1rem;border-radius:12px;overflow:hidden;background:#f9fafb;border:1px solid #e5e7eb;display:inline-flex;align-items:center;justify-content:center;padding:1rem;min-width:200px;min-height:150px;box-shadow:0 1px 3px #0000001a}.file-preview img,.file-preview video{max-width:100%;max-height:200px;width:auto;height:auto;display:block;object-fit:contain;border-radius:8px}.file-remove{position:absolute;top:.5rem;right:.5rem;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0003;z-index:10}.file-remove:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 4px 6px #0000004d}.file-upload-input-wrapper{position:relative;display:inline-block;width:100%}.file-upload-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;z-index:-1}.file-upload-info{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;min-width:150px;font-weight:500;font-size:.875rem;color:#374151}.file-upload-info:hover{background:#f9fafb;border-color:#2d8656;color:#2d8656;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.file-upload-info:active{transform:translateY(0)}.file-upload-text{color:inherit;font-size:inherit;font-weight:inherit}.uploading{color:#2d8656;font-size:.875rem;font-weight:500}.file-upload-error{display:block;color:#dc2626;font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px}.file-current-url{margin-top:.5rem;font-size:.75rem;color:#6b7280;word-break:break-all}.admin-page{padding:0;max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.page-header h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;letter-spacing:-.02em;font-family:var(--font-family-heading)}.page-header-actions{display:flex;gap:var(--space-3);align-items:center}.status{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;line-height:1}.status.active{background:var(--color-success-light);color:var(--color-success)}.status.inactive{background:var(--color-error-light);color:var(--color-error)}.status.warning{background:var(--color-warning-light);color:var(--color-warning)}.status.pending{background:var(--color-info-light);color:var(--color-info)}.loading{text-align:center;padding:var(--space-16) var(--space-6);color:var(--text-secondary);font-size:var(--font-size-base)}.loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.empty-state{text-align:center;padding:var(--space-16) var(--space-6);color:var(--text-secondary)}.empty-state-icon{font-size:var(--font-size-4xl);color:var(--text-tertiary);margin-bottom:var(--space-4);opacity:.5}.empty-state h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-base);color:var(--text-secondary);max-width:400px;margin:0 auto}.users-page,.students-page,.content-page{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.page-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--light-gray)}.page-header h2{font-size:var(--font-size-2xl);color:var(--text-dark)}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md)}.data-table thead{background:var(--soft-gray)}.data-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--text-dark);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--light-gray);color:var(--text-dark)}.data-table tbody tr:hover{background:var(--soft-gray)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.badge-super_admin{background:#fee;color:#c33}.badge-admin{background:#eef;color:#33c}.badge-teacher{background:#efe;color:#3c3}.badge-parent{background:#ffe;color:#cc3}.badge-news{background:#eef;color:#33c}.badge-announcement{background:#efe;color:#3c3}.badge-article{background:#ffe;color:#cc3}.status{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.status.active,.status.published{background:#efe;color:#3c3}.status.inactive,.status.draft{background:#fee;color:#c33}.status.graduated{background:#eef;color:#33c}.status.transferred{background:#ffe;color:#cc3}.status.dropped{background:#fee;color:#c33}.rich-text-editor{width:100%}.rich-text-toolbar{display:flex;align-items:center;gap:4px;padding:8px;background:#f5f5f5;border:1px solid #ddd;border-bottom:none;border-radius:4px 4px 0 0;flex-wrap:wrap}.toolbar-btn{background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 10px;cursor:pointer;font-size:14px;transition:all .2s;min-width:32px;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:#e0e0e0;border-color:#999}.toolbar-btn:active{background:#d0d0d0}.toolbar-separator{width:1px;height:24px;background:#ddd;margin:0 4px}.rich-text-content{width:100%;min-height:200px;padding:12px;border:1px solid #ddd;border-radius:0 0 4px 4px;outline:none;background:#fff;font-family:inherit;font-size:14px;line-height:1.6;overflow-y:auto}.rich-text-content:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.rich-text-content[contenteditable=true]:empty:before{content:attr(data-placeholder);color:#999;font-style:italic}.rich-text-content h2{font-size:1.5rem;font-weight:600;margin:1rem 0 .5rem}.rich-text-content h3{font-size:1.25rem;font-weight:600;margin:.75rem 0 .5rem}.rich-text-content p{margin:.5rem 0}.rich-text-content ul,.rich-text-content ol{margin:.5rem 0;padding-left:2rem}.rich-text-content li{margin:.25rem 0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.media-item{background:var(--white);border:1px solid var(--light-gray);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s}.media-item:hover{box-shadow:var(--shadow-md)}.media-preview{width:100%;height:200px;background:var(--soft-gray);display:flex;align-items:center;justify-content:center;overflow:hidden}.media-preview img,.media-preview video{max-width:100%;max-height:100%;object-fit:contain}.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--text-light)}.media-icon{font-size:3rem}.media-info{padding:var(--spacing-sm)}.media-filename{font-size:var(--font-size-sm);color:var(--text-dark);margin-bottom:var(--spacing-xs);word-break:break-all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-size{font-size:var(--font-size-xs);color:var(--text-light);margin-bottom:var(--spacing-sm)}.media-actions{display:flex;gap:var(--spacing-xs)}.settings-upload-group{margin-bottom:1.5rem}.settings-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:#374151}.settings-help-text{font-size:.875rem;color:#6b7280;margin-bottom:.75rem;line-height:1.5}.message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.message.success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.message.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}:root{--color-primary-50: #f0f9f4;--color-primary-100: #dcf2e3;--color-primary-200: #bce5cc;--color-primary-300: #8fd1a8;--color-primary-400: #5ab37d;--color-primary-500: #2d8656;--color-primary-600: #236a45;--color-primary-700: #1d5538;--color-primary-800: #18442e;--color-primary-900: #133824;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--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: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-sidebar: #1e293b;--bg-sidebar-hover: #334155;--bg-sidebar-active: #2d8656;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-dark: #9ca3af;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-0: 0;--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;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.card-modern{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:box-shadow var(--transition-base)}.card-modern:hover{box-shadow:var(--shadow-md)}.btn-modern{font-weight:var(--font-weight-medium);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);transition:all var(--transition-base);border:none;cursor:pointer;font-size:var(--font-size-sm)}.btn-primary{background:var(--color-primary-500);color:var(--text-inverse)}.btn-primary:hover{background:var(--color-primary-600)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-tertiary)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-green: #2d5016;--primary-green-light: #4a7c2a;--primary-green-dark: #1a3009;--earth-brown: #8b6914;--earth-tan: #d4a574;--soft-gray: #f5f5f5;--light-gray: #e8e8e8;--medium-gray: #999;--dark-gray: #333;--white: #ffffff;--text-dark: #2c2c2c;--text-light: #666;--danger: #dc3545;--danger-dark: #c82333;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-xxl: 6rem;--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-size-base: 16px;--font-size-sm: 14px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-xxl: 28px;--font-size-2xl: 32px;--font-size-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1)}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-dark);background-color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}@media(min-width:768px){.container{padding:0 var(--spacing-md)}}.loading,.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-light)}
