:root{--primary:#1a237e;--primary-dark:#0d1642;--primary-light:#3949ab;--secondary:#c9a83e;--secondary-light:#e6c75a;--accent:#b71c1c;--text:#333;--text-light:#666;--text-white:#fff;--bg:#fff;--bg-light:#f5f5f5;--bg-section:#fafafa;--border:#e0e0e0;--shadow:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #00000026;--radius:8px;--transition:all .3s ease;--font-primary:"Poppins", sans-serif;--font-heading:"Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.news-ticker{background:var(--primary-dark);color:var(--text-white);padding:8px 0;position:relative;overflow:hidden}.news-ticker .ticker-label{background:var(--accent);color:#fff;z-index:2;text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;left:0}.news-ticker .ticker-content{white-space:nowrap;padding-left:130px;animation:30s linear infinite ticker;display:flex}.news-ticker .ticker-content span{padding:0 40px;font-size:14px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.site-header{background:var(--primary);box-shadow:var(--shadow);z-index:100;position:sticky;top:0}.header-top{background:var(--primary-dark);border-bottom:1px solid #ffffff1a;padding:10px 0}.header-top .container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.header-top .contact-info{color:#fffc;gap:20px;font-size:13px;display:flex}.header-container{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:12px 20px;display:flex}.site-logo{color:var(--text-white);align-items:center;gap:12px;text-decoration:none;display:flex}.site-logo .logo-icon{background:var(--secondary);width:50px;height:50px;color:var(--primary-dark);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.site-logo h1{font-family:var(--font-heading);color:var(--text-white);margin:0;font-size:20px;font-weight:600;line-height:1.2}.site-logo .logo-subtitle{color:var(--secondary-light);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:400}.nav-links{gap:4px;list-style:none;display:flex}.nav-links li a{color:#ffffffe6;transition:var(--transition);border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none}.nav-links li a:hover,.nav-links li a.active{color:var(--secondary-light);background:#ffffff26}.lang-switcher{background:var(--secondary);color:var(--primary-dark);cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600}.lang-switcher:hover{background:var(--secondary-light);transform:translateY(-1px)}.hero-section{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);text-align:center;justify-content:center;align-items:center;height:500px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:1;max-width:800px;padding:40px 20px;position:relative}.hero-content h2{font-family:var(--font-heading);color:var(--text-white);margin-bottom:16px;font-size:42px;font-weight:700}.hero-content p{color:#ffffffd9;max-width:600px;margin:0 auto;font-size:18px;line-height:1.7}.hero-crest{background:var(--secondary);border:3px solid var(--secondary-light);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 24px;font-size:40px;display:flex;box-shadow:0 0 30px #c9a83e4d}.section{padding:60px 20px}.section .container{max-width:1200px;margin:0 auto}.section-title{font-family:var(--font-heading);color:var(--primary-dark);text-align:center;margin-bottom:12px;font-size:32px}.section-subtitle{text-align:center;color:var(--text-light);margin-bottom:40px;font-size:16px}.welcome-section{background:var(--bg)}.welcome-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px;margin-top:30px;display:grid}.welcome-text h3{font-family:var(--font-heading);color:var(--primary);margin-bottom:16px;font-size:24px}.welcome-text p{color:var(--text-light);margin-bottom:16px;line-height:1.8}.vision-mission-cards{grid-template-columns:1fr 1fr;gap:20px;display:grid}.vm-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);border-radius:var(--radius);color:var(--text-white);box-shadow:var(--shadow);transition:var(--transition);padding:24px}.vm-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.vm-card h4{color:var(--secondary-light);margin-bottom:12px;font-size:18px;font-weight:600}.vm-card p,.vm-card li{opacity:.9;font-size:14px;line-height:1.7}.vm-card ul{padding:0;list-style:none}.stats-section{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:var(--text-white);padding:50px 20px}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1000px;margin:0 auto;display:grid}.stat-item{padding:20px}.stat-number{color:var(--secondary);font-size:48px;font-weight:700;font-family:var(--font-heading)}.stat-label{text-transform:uppercase;letter-spacing:1px;opacity:.85;margin-top:8px;font-size:14px}.school-list{background:var(--bg-section)}.school-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.school-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);border-top:4px solid var(--secondary);color:var(--text);padding:24px;text-decoration:none;display:block}.school-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.school-card h3{color:var(--primary);margin-bottom:8px;font-size:18px;font-weight:600}.school-card .school-meta{color:var(--text-light);font-size:13px}.school-card .school-meta span{background:var(--bg-light);border-radius:3px;margin-top:6px;margin-right:6px;padding:2px 8px;display:inline-block}.news-feed{background:var(--bg)}.news-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.news-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);color:var(--text);border:1px solid var(--border);text-decoration:none;display:block;overflow:hidden}.news-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.news-card .news-card-body{padding:20px}.news-card .news-date{color:var(--secondary);text-transform:uppercase;font-size:12px;font-weight:600}.news-card h3{color:var(--primary-dark);margin:8px 0;font-size:18px;font-weight:600;line-height:1.4}.forms-download{background:var(--bg-section)}.forms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.form-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--border);align-items:center;gap:16px;padding:24px;display:flex}.form-card:hover{box-shadow:var(--shadow-lg)}.form-card .form-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;display:flex}.form-card .form-info{flex:1}.form-card .form-info h4{color:var(--primary-dark);margin-bottom:4px;font-size:15px}.form-card .form-info p{color:var(--text-light);font-size:13px}.form-card .download-btn{background:var(--secondary);color:var(--primary-dark);cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none}.form-card .download-btn:hover{background:var(--secondary-light)}.site-footer{background:var(--primary-dark);color:#fffc;padding:50px 20px 20px}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:30px;display:grid}.footer-section h4{color:var(--secondary);margin-bottom:16px;font-size:16px;font-weight:600}.footer-section p{margin-bottom:8px;font-size:14px;line-height:1.7}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#ffffffb3;transition:var(--transition);font-size:14px;text-decoration:none}.footer-section ul li a:hover{color:var(--secondary-light);padding-left:4px}.footer-bottom{text-align:center;color:#ffffff80;border-top:1px solid #ffffff1a;padding-top:20px;font-size:13px}.features-section{background:var(--bg-section)}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;display:grid}.feature-card{background:var(--bg);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:var(--transition);border-bottom:3px solid #0000;padding:30px 24px}.feature-card:hover{border-bottom-color:var(--secondary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-card .feature-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;font-size:24px;display:flex}.feature-card h4{color:var(--primary-dark);margin-bottom:8px;font-size:18px}.feature-card p{color:var(--text-light);font-size:14px;line-height:1.6}.school-detail{max-width:1000px;margin:0 auto;padding:40px 20px}.school-detail h2{font-family:var(--font-heading);color:var(--primary-dark);margin-bottom:8px;font-size:32px}.school-detail .school-badge{gap:8px;margin-bottom:30px;display:inline-flex}.school-detail .school-badge span{background:var(--primary);color:#fff;border-radius:20px;padding:4px 12px;font-size:12px}.school-section{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:40px;padding:24px}.school-section h3{color:var(--primary);border-bottom:2px solid var(--secondary);margin-bottom:16px;padding-bottom:8px;font-size:20px}.school-section table{border-collapse:collapse;width:100%}.school-section table th,.school-section table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:14px}.school-section table th{background:var(--bg-light);color:var(--primary-dark);font-weight:600}.diocese-history{padding:0}.diocese-history .history-content{color:var(--text-light);line-height:1.8}.admin-container{max-width:1000px;margin:30px auto;padding:0 20px}.admin-container h2{font-family:var(--font-heading);color:var(--primary-dark);margin-bottom:24px}.admin-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:30px}.admin-form label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.admin-form input,.admin-form textarea,.admin-form select{border:1px solid var(--border);width:100%;font-size:14px;font-family:var(--font-primary);transition:var(--transition);border-radius:4px;margin-bottom:16px;padding:10px 14px}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #3949ab1a}.admin-form textarea{resize:vertical;min-height:120px}.btn{cursor:pointer;transition:var(--transition);border:none;border-radius:4px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light)}.btn-secondary{background:var(--secondary);color:var(--primary-dark)}.btn-danger{background:var(--accent);color:#fff}.loading{text-align:center;color:var(--text-light);padding:60px 20px;font-size:16px}.error{text-align:center;color:var(--accent);padding:40px 20px;font-size:15px}@media (width<=992px){.header-container{flex-wrap:wrap}.nav-links{order:3;justify-content:center;width:100%;padding-top:10px}.welcome-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-content h2{font-size:30px}.hero-section{height:400px}}@media (width<=768px){.header-top{display:none}.site-logo h1{font-size:16px}.nav-links li a{padding:6px 10px;font-size:13px}.hero-section{height:350px}.hero-content h2{font-size:24px}.section{padding:40px 16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:36px}.footer-grid,.vision-mission-cards{grid-template-columns:1fr}}.admin-dashboard,.admin-school-manager,.admin-news-manager,.admin-notification-manager,.admin-form-uploader,.admin-content-editor,.login-container{max-width:1000px;margin:40px auto;padding:0 20px}.admin-dashboard h2,.admin-school-manager h2,.admin-news-manager h2,.admin-notification-manager h2,.admin-form-uploader h2,.admin-content-editor h2,.login-container h2{font-family:var(--font-heading);color:var(--primary-dark);margin-bottom:24px;font-size:28px}.dashboard-header,.manager-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-header h2,.manager-header h2{margin-bottom:0}.admin-nav ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;list-style:none;display:grid}.admin-nav ul li a{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);text-align:center;transition:var(--transition);box-shadow:var(--shadow);padding:24px 20px;font-size:15px;font-weight:500;text-decoration:none;display:block}.admin-nav ul li a:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-logout{background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:8px 18px;font-size:13px;font-weight:600}.btn-logout:hover{background:#c62828}.btn-add{background:var(--primary);color:#fff;transition:var(--transition);border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none}.btn-add:hover{background:var(--primary-light)}.btn-edit{background:var(--primary-light);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;margin-right:6px;padding:6px 14px;font-size:13px}.btn-edit:hover{background:var(--primary)}.btn-delete{background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:6px 14px;font-size:13px}.btn-delete:hover{background:#c62828}.admin-table{border-collapse:collapse;background:var(--bg);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);margin:20px 0;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px}.admin-table th{background:var(--primary-dark);color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.admin-table tr:hover{background:var(--bg-light)}.admin-table td:last-child{white-space:nowrap}.news-form,.notification-form,.upload-form,.login-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:30px;padding:28px}.news-form h3,.notification-form h3,.upload-form h3{color:var(--primary);border-bottom:2px solid var(--secondary);margin-bottom:20px;padding-bottom:10px;font-size:18px}.form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px;display:grid}.form-group{margin-bottom:16px}.form-group label{color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border);width:100%;font-size:14px;font-family:var(--font-primary);transition:var(--transition);border-radius:4px;padding:10px 14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #3949ab1a}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=file]{background:var(--bg-light);padding:8px}.form-actions{gap:10px;margin-top:8px;display:flex}.form-actions button,.news-form button[type=submit],.notification-form button[type=submit],.upload-form button[type=submit],.login-form button[type=submit]{background:var(--primary);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:10px 24px;font-size:14px;font-weight:600}.form-actions button:hover,.news-form button[type=submit]:hover,.notification-form button[type=submit]:hover,.upload-form button[type=submit]:hover,.login-form button[type=submit]:hover{background:var(--primary-light)}.form-actions button[type=button]{background:var(--text-light)}.login-container{text-align:center;max-width:420px;margin:80px auto}.login-container h2{margin-bottom:8px}.login-form{text-align:left}.login-form button[type=submit]{width:100%;margin-top:8px;padding:12px;font-size:15px}.login-form button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:var(--accent);background:#fdecea;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:14px}.success-message{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:14px}.admin-school-manager a[href=\/admin],.admin-news-manager a[href=\/admin],.admin-notification-manager a[href=\/admin],.admin-form-uploader a[href=\/admin],.admin-content-editor a[href=\/admin]{color:var(--primary);transition:var(--transition);margin-top:24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.admin-school-manager a[href=\/admin]:hover,.admin-news-manager a[href=\/admin]:hover,.admin-notification-manager a[href=\/admin]:hover,.admin-form-uploader a[href=\/admin]:hover,.admin-content-editor a[href=\/admin]:hover{color:var(--primary-light)}@media (width<=768px){.form-row,.admin-nav ul{grid-template-columns:1fr}.dashboard-header,.manager-header{flex-direction:column;align-items:flex-start;gap:12px}}.admin-school-form{max-width:1000px;margin:40px auto;padding:0 20px}.admin-school-form h2{font-family:var(--font-heading);color:var(--primary-dark);margin-bottom:24px;font-size:28px}.admin-school-form form{background:var(--bg);border-radius:var(--radius)}.admin-school-form fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:24px;padding:24px}.admin-school-form fieldset legend{color:var(--primary);background:var(--bg);padding:0 12px;font-size:16px;font-weight:600}.admin-school-form .form-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}.admin-school-form .form-row.repeatable-row{background:var(--bg-light);border:1px solid var(--border);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) auto;align-items:end;padding:10px}.admin-school-form .form-group{margin-bottom:12px}.admin-school-form .form-group label{color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.admin-school-form input,.admin-school-form textarea,.admin-school-form select{border:1px solid var(--border);width:100%;font-size:14px;font-family:var(--font-primary);transition:var(--transition);background:#fff;border-radius:4px;padding:9px 12px}.admin-school-form input:focus,.admin-school-form textarea:focus,.admin-school-form select:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #3949ab1a}.admin-school-form textarea{resize:vertical;min-height:80px}.admin-school-form .repeatable-row input{min-width:0}.admin-school-form .repeatable-row button{color:var(--accent);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:20px;line-height:1}.admin-school-form .repeatable-row button:hover{background:#fdecea}.admin-school-form fieldset>button[type=button]{border:1px dashed var(--primary-light);color:var(--primary);cursor:pointer;transition:var(--transition);background:0 0;border-radius:4px;margin-top:8px;padding:8px 16px;font-size:13px}.admin-school-form fieldset>button[type=button]:hover{background:#3949ab0d;border-style:solid}.admin-school-form .form-actions{gap:12px;margin-top:24px;padding:20px 0;display:flex}.admin-school-form .form-actions button[type=submit]{background:var(--primary);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:12px 28px;font-size:15px;font-weight:600}.admin-school-form .form-actions button[type=submit]:hover{background:var(--primary-light)}.admin-school-form .form-actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.admin-school-form .form-actions button[type=button]{background:var(--bg-light);color:var(--text);border:1px solid var(--border);cursor:pointer;transition:var(--transition);border-radius:4px;padding:12px 28px;font-size:15px}.admin-school-form .form-actions button[type=button]:hover{background:var(--border)}@media (width<=768px){.admin-school-form .form-row,.admin-school-form .form-row.repeatable-row{grid-template-columns:1fr}}
