.admin-page{min-height:100vh;background:linear-gradient(135deg,#f5f7ff,#e0f3ff);padding:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{font-size:24px;font-weight:700;color:#1f2933}.admin-header-actions{display:flex;gap:12px}.admin-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr);gap:24px}.admin-card{background:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 10px 30px #0f172a14}.admin-card h2{margin-bottom:16px;font-size:18px;font-weight:600;color:#111827}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-label{display:flex;flex-direction:column;font-size:14px;color:#374151;gap:4px}.admin-input{border-radius:10px;border:1px solid #d1d5db;padding:10px 12px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.admin-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb33}.admin-textarea{resize:vertical;min-height:100px}.admin-button{margin-top:8px;padding:10px 16px;border-radius:9999px;border:none;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 8px 20px #2563eb59}.admin-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #2563eb73}.admin-button:disabled{opacity:.6;cursor:default;box-shadow:none}.admin-button-secondary{margin-left:8px;background:#e5e7eb;color:#374151;box-shadow:none}.admin-button-secondary:hover{background:#d1d5db}.admin-hint{margin:-8px 0 12px;font-size:13px;color:#6b7280}.admin-logo-preview{margin:6px 0 12px;display:flex;flex-direction:column;gap:10px}.admin-logo-preview-title{font-size:12px;font-weight:700;color:#6b7280}.admin-logo-preview img{width:100%;max-width:220px;height:auto;border-radius:14px;border:1px solid rgba(99,102,241,.18);background:#6366f10f;padding:10px}.admin-logo-preview--new img{border-color:#2563eb40}.admin-hero-slide-item{align-items:center}.admin-hero-form-card{border:1px solid #e7ecff}.admin-hero-list-card{border:1px solid #e9eef7}.admin-news-form-card{border:1px solid #e7ecff}.admin-news-list-card{border:1px solid #e9eef7}.admin-programs-form-card{border:1px solid #e7ecff}.admin-programs-list-card{border:1px solid #e9eef7}.admin-teachers-form-card{border:1px solid #e7ecff}.admin-teachers-list-card{border:1px solid #e9eef7}.admin-gallery-form-card{border:1px solid #e7ecff}.admin-gallery-list-card{border:1px solid #e9eef7}.admin-contacts-form-card{border:1px solid #e7ecff}.admin-contacts-list-card{border:1px solid #e9eef7}.admin-programs-preview{width:100%;border-radius:12px;overflow:hidden;border:1px solid #dbe3f0;background:#f8fbff}.admin-programs-preview img{display:block;width:100%;max-height:240px;object-fit:cover}.admin-news-preview{width:100%;border-radius:12px;overflow:hidden;border:1px solid #dbe3f0;background:#f8fbff}.admin-news-preview img{display:block;width:100%;max-height:240px;object-fit:cover}.admin-hero-form-preview{width:100%;min-height:140px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fbff;overflow:hidden}.admin-hero-form-preview img{width:100%;max-height:220px;object-fit:cover;display:block}.admin-hero-form-placeholder{min-height:140px;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:13px;padding:14px;text-align:center}.admin-hero-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-hero-slide-preview{width:150px;height:84px;flex-shrink:0;border-radius:10px;overflow:hidden;background:#e5e7eb;border:1px solid #dbe3f0}.admin-hero-slide-preview img{width:100%;height:100%;object-fit:cover}.admin-hero-url{margin:6px 0 0;font-size:12px;color:#6b7280;word-break:break-all}.admin-news-item{align-items:center}.admin-news-thumb-wrap{width:120px;height:84px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid #dbe3f0;background:#eef2ff;display:flex;align-items:center;justify-content:center}.admin-news-thumb{width:100%;height:100%;object-fit:cover}.admin-news-thumb-placeholder{color:#64748b;font-size:24px}.admin-news-excerpt{margin:8px 0 0;font-size:13px;color:#4b5563;line-height:1.45}.admin-programs-item{align-items:center}.admin-programs-thumb-wrap{width:120px;height:84px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid #dbe3f0;background:#eef2ff;display:flex;align-items:center;justify-content:center}.admin-programs-thumb{width:100%;height:100%;object-fit:cover}.admin-programs-thumb-placeholder{color:#64748b;font-size:24px}.admin-programs-excerpt{margin:8px 0 0;font-size:13px;color:#4b5563;line-height:1.45}.admin-teachers-preview{width:100%;border-radius:12px;overflow:hidden;border:1px solid #dbe3f0;background:#f8fbff}.admin-teachers-preview img{display:block;width:100%;max-height:240px;object-fit:cover}.admin-teachers-item{align-items:center}.admin-teachers-thumb-wrap{width:120px;height:84px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid #dbe3f0;background:#eef2ff;display:flex;align-items:center;justify-content:center}.admin-teachers-thumb{width:100%;height:100%;object-fit:cover}.admin-teachers-thumb-placeholder{color:#64748b;font-size:24px}.admin-teachers-excerpt{margin:8px 0 0;font-size:13px;color:#4b5563;line-height:1.45}.admin-gallery-preview{width:100%;border-radius:12px;overflow:hidden;border:1px solid #dbe3f0;background:#f8fbff}.admin-gallery-preview img{display:block;width:100%;max-height:240px;object-fit:cover}.admin-gallery-item{align-items:center}.admin-gallery-thumb-wrap{width:120px;height:84px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid #dbe3f0;background:#eef2ff;display:flex;align-items:center;justify-content:center}.admin-gallery-thumb{width:100%;height:100%;object-fit:cover}.admin-gallery-thumb-placeholder{color:#64748b;font-size:24px}.admin-gallery-excerpt{margin:8px 0 0;font-size:13px;color:#4b5563;line-height:1.45}.admin-contacts-map-preview{margin-top:14px;border:1px solid #dbe3f0;border-radius:12px;overflow:hidden;background:#f8fbff}.admin-contacts-map-preview iframe{width:100%;height:220px;border:0;display:block}.admin-contacts-item{align-items:flex-start}.admin-contacts-message{margin:8px 0 0;font-size:13px;line-height:1.45;color:#4b5563}.admin-status{padding:2px 8px;border-radius:999px;font-weight:600}.admin-status-pending{background:#fff7ed;color:#c2410c}.admin-status-processed{background:#ecfdf5;color:#047857}.admin-status-rejected{background:#fef2f2;color:#b91c1c}.admin-upload-status{font-size:13px;color:#2563eb;margin-left:8px}.admin-error{margin-bottom:8px;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px}.admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.admin-list-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb}.admin-list-content h3{margin:0 0 4px;font-size:15px;font-weight:600}.admin-meta{margin:0;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#6b7280}.admin-list-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-link,.admin-delete,.admin-logout{border-radius:9999px;border:none;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer}.admin-link{background:#e0f2fe;color:#0369a1}.admin-delete{background:#fee2e2;color:#b91c1c}.admin-logout{background:#f3f4f6;color:#111827}.admin-auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 18px;background:radial-gradient(circle at top left,#bfdbfe,transparent 55%),radial-gradient(circle at bottom right,#a5b4fc,transparent 55%),#f3f4ff}.admin-auth-shell{width:100%;max-width:980px;display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:center}.admin-auth-card{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:28px 24px 24px;box-shadow:0 18px 45px #0f172a40;position:relative;border:1px solid rgba(99,102,241,.16);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-auth-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:24px;padding:1px;background:linear-gradient(135deg,#60a5fa99,#a78bfa8c,#f472b673);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}.admin-auth-illustration{position:relative;min-height:430px;border-radius:24px;overflow:hidden;border:1px solid rgba(99,102,241,.14);background:linear-gradient(135deg,#bfdbfee6,#a78bfa73);box-shadow:0 18px 45px #0f172a1f}.admin-auth-illustration-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,rgba(244,114,182,.35),transparent 45%),radial-gradient(circle at 80% 25%,rgba(99,102,241,.35),transparent 44%),radial-gradient(circle at 25% 80%,rgba(52,211,153,.22),transparent 45%);filter:saturate(1.05)}.admin-auth-illustration-content{position:relative;height:100%;padding:28px 26px;display:flex;flex-direction:column}.admin-auth-brand{display:flex;gap:12px;align-items:center}.admin-auth-brand-name{font-size:18px;font-weight:800;color:#0f172a;letter-spacing:.2px}.admin-auth-brand-sub{margin-top:2px;font-size:13px;color:#0f172ab8;font-weight:600}.admin-auth-feature-grid{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-auth-feature{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#ffffffb3;border:1px solid rgba(99,102,241,.15);box-shadow:0 10px 30px #0f172a0f;font-size:13px;color:#0f172ad9;font-weight:700}.admin-auth-feature-dot{width:10px;height:10px;border-radius:9999px;box-shadow:0 8px 22px #0000001f}.admin-auth-feature-dot--blue{background:#3b82f6}.admin-auth-feature-dot--purple{background:#8b5cf6}.admin-auth-feature-dot--pink{background:#ec4899}.admin-auth-feature-dot--mint{background:#2dd4bf}.admin-auth-illustration-note{margin-top:auto;padding-top:18px;font-size:13px;color:#0f172ab3;font-weight:600}.admin-title{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.admin-subtitle{margin:0 0 16px;font-size:13px;color:#6b7280}.admin-input--auth{background:#f8fafc;border-color:#d1d5dbf2}.admin-input--auth::placeholder{color:#6b7280bf}.admin-button--auth{width:100%;height:44px;margin-top:14px;box-shadow:0 14px 30px #2563eb47;background-size:180% 180%}.admin-button--auth:hover{background-position:100% 0%}@media (max-width: 900px){.admin-main{grid-template-columns:minmax(0,1fr)}.admin-page{padding:16px}.admin-auth-shell{grid-template-columns:1fr}.admin-auth-illustration{display:none}.admin-auth-card{max-width:460px}}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f3f4ff}.AdminApp{min-height:100vh}.admin-shell{display:flex;min-height:100vh;background:#f3f4ff}.admin-sidebar{width:260px;background:#111827;color:#e5e7eb;display:flex;flex-direction:column;padding:1.5rem 1.25rem;min-height:100vh}.admin-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.admin-logo-img{width:52px;height:52px;border-radius:999px;object-fit:cover;box-shadow:0 4px 12px #4f46e580}.admin-logo-text-wrap{display:flex;flex-direction:column}.admin-logo-title{font-weight:600;font-size:.95rem}.admin-logo-subtitle{font-size:.78rem;color:#9ca3af}.admin-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.admin-nav-item{padding:.6rem .9rem;border-radius:.5rem;color:#e5e7eb;text-decoration:none;font-size:.9rem;transition:background .15s ease,color .15s ease}.admin-nav-item:hover{background:#1f2937}.admin-nav-item.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#f9fafb}.admin-logout-btn{padding:.6rem .9rem;border-radius:.5rem;border:1px solid #4b5563;background:transparent;color:#e5e7eb;font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.admin-logout-btn:hover{background:#ef4444;border-color:#ef4444;color:#f9fafb}.admin-sidebar-footer{display:flex;flex-direction:column;gap:.75rem;padding-top:1.5rem;margin-top:auto}.admin-content{flex:1;padding:1.5rem 2rem}
