body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:radial-gradient(circle at top,#2a2c55,#0f1023 70%);display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.login-container:after,.login-container:before{animation:floatGlow 7s ease-in-out infinite alternate;background:#6c63ff26;border-radius:50%;content:"";filter:blur(120px);height:420px;position:absolute;width:420px}.login-container:before{left:-50px;top:-80px}.login-container:after{background:#ff63922e;bottom:-80px;right:-40px}.login-box{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff1f;box-shadow:0 10px 40px #00000047;padding:45px 35px;text-align:center}.login-title{color:#333;font-size:26px;font-weight:700;letter-spacing:.5px;margin-bottom:28px}.login-input{background:#fafafa;border:1px solid #d8d8d8;border-radius:8px;color:#333;font-size:15px;margin-bottom:18px;outline:none;padding:14px 16px;transition:.3s ease;width:100%}.login-input::placeholder{color:#999}.login-input:focus{background:#fff;border-color:#6c5ce7;box-shadow:0 0 8px #6c5ce74d}.login-btn{background:linear-gradient(135deg,#6c5ce7,#a46bff);box-shadow:0 6px 18px #6c5ce759;cursor:pointer;font-size:17px;margin-top:10px;padding:14px;transition:.35s}.login-btn:hover{box-shadow:0 10px 25px #6c5ce78c;transform:scale(1.04)}.login-error{color:#ff6b6b;font-size:14px;font-weight:500;margin-top:12px}@keyframes floatGlow{0%{transform:translateY(0)}to{transform:translateY(35px)}}.dashboard-container{padding:20px 30px}.dashboard-title{margin-bottom:20px}.filter-row button{background:#eee;border:none;border-radius:6px;color:#333;margin-right:10px;padding:8px 15px}.filter-row button.active{background:#6c5ce7}.stats-grid{grid-gap:18px;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:25px}.stat-card{box-shadow:0 4px 16px #00000012;text-align:center}.stat-card h3{margin-bottom:8px}.stat-card p{font-size:22px;font-weight:600}.stat-card.success{border-left:6px solid #2ecc71}.stat-card.warning{border-left:6px solid #f1c40f}.stat-card.blue{border-left:6px solid #3498db}.stat-card.green{border-left:6px solid #2ecc71}.stat-card.red{border-left:6px solid #e74c3c}.graph-card{border-radius:12px;height:350px;margin-top:20px;padding:20px;position:relative}#incomeGraph{height:100%!important;width:100%!important}.recent-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000012;padding:20px}.recent-table{border-collapse:collapse;margin-top:10px;width:100%}.recent-table th{background:#f6f7ff;padding:12px;text-align:left}.recent-table td{border-top:1px solid #eee;padding:12px}.billing-tag{border-radius:6px;padding:6px 12px;text-transform:capitalize}.billing-tag.paid{background:#2ecc71;color:#fff}.billing-tag.pending{background:#f1c40f;color:#000}.plans-container{margin-top:10px}.plans-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.plans-header h2{font-size:28px;font-weight:700}.plans-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 6px 18px #00000012;overflow-x:auto;padding:20px}.plans-table{border-collapse:collapse;min-width:900px;width:100%}.plans-table th{background:#f5f6ff;color:#333;font-size:14px;font-weight:600;padding:14px;text-align:left}.plans-table td{border-top:1px solid #eee;font-size:15px;padding:14px}.no-data{padding:30px}.features-list{background:#f7f8fc;border-radius:8px;list-style:none;margin:0;padding:10px}.features-list li{color:#444;font-size:13px;margin-bottom:4px}.plan-name{color:#2d3436;font-weight:600}.btn-edit:hover{background:#03d5ad}.btn-delete:hover{background:#ff4d4d}.add-plan-container{margin:0 auto;max-width:650px}.add-plan-container h2{font-size:28px;font-weight:700;margin-bottom:25px}.textarea{border:1px solid #ddd;border-radius:8px;font-size:15px;min-height:120px;outline:none;padding:12px 14px;resize:vertical;transition:.25s;white-space:pre-wrap}.textarea:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce733}.schools-container{margin-top:10px}.schools-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.password-row{margin-top:6px}.btn-copy,.btn-eye{background:#eee;border-radius:6px;padding:4px 8px}.btn-copy:hover,.btn-eye:hover{background:#ddd}.schools-header h2{font-size:28px;font-weight:700}.btn-primary{padding:12px 20px}.btn-primary:hover{transform:scale(1.03)}.schools-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 6px 18px #0000000f;overflow-x:auto;padding:20px}.schools-table{border-collapse:collapse;min-width:1100px;width:100%}.schools-table th{background:#f5f6ff;color:#333;font-size:14px;font-weight:600;padding:14px;text-align:left;white-space:nowrap}.schools-table td{border-top:1px solid #eee;font-size:15px;padding:14px;vertical-align:middle}.no-data{padding:25px}.school-info{display:flex;flex-direction:column;gap:3px}.school-name{color:#2d3436;font-size:16px;font-weight:600}.school-email,.school-phone{color:#6d6d6d;font-size:13px}.plan-badge{border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin-bottom:4px;padding:6px 12px}.plan-badge.silver{background:#b2bec3}.plan-badge.gold{background:#f1c40f}.plan-badge.platinum{background:#636e72}.status-active{background:#00b894}.status-active,.status-inactive{border-radius:6px;color:#fff;font-size:12px;padding:6px 12px}.status-inactive{background:#d63031}.btn-edit{background:#0984e3;margin-right:10px;padding:8px 14px}.btn-edit:hover{background:#0690ff}.btn-view{background:#00b894;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px;transition:.25s}.btn-view:hover{background:#03d5ad}.small-text{color:#7f8c8d;font-size:12px}.school-link{color:#6c5ce7;font-size:16px;font-weight:600;text-decoration:none}.school-link:hover{text-decoration:underline}.school-row{cursor:pointer;transition:.25s}.school-row:hover{background:#f7f7ff}.details-row td{background:#fafaff;padding:22px}.details-box{animation:fadeSlide .35s ease;border:1px solid #eaeaea;border-radius:12px;box-shadow:0 4px 18px #0000000d;padding:22px}.details-box h4{border-left:4px solid #6c5ce7;color:#333;font-size:16px;font-weight:700;margin-bottom:10px;margin-top:18px;padding-left:8px}.details-box p{color:#444;font-size:14px;margin:3px 0}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.details-box{background:#fff;border-radius:14px;box-shadow:0 4px 25px #00000014;margin-top:10px;padding:25px 30px}.section-title{border-left:4px solid #4c6ef5;color:#4c4cff;margin:25px 0 10px;padding-left:8px}.details-grid p{color:#333;font-size:15px;margin:6px 0}.details-grid p span{display:inline-block;font-weight:600;width:150px}.billing-card{background:#f8faff;border:1px solid #e6eaff;border-radius:12px;margin-top:10px;padding:18px 20px}.billing-row{display:flex;font-size:15px;justify-content:space-between;margin-bottom:10px}.billing-status{border-radius:6px;font-size:12px;padding:4px 10px;text-transform:capitalize}.billing-status.paid{background:#00b894;color:#fff}.billing-status.pending{background:#f1c40f;color:#000}.billing-status.overdue{background:#d63031;color:#fff}.meta-text{color:#555;font-size:14px;margin-top:5px}.expiry-tag{border-radius:6px;font-size:12px;font-weight:600;margin-left:6px;padding:4px 10px}.expiry-tag.active{background:#d4f7d4;color:#1a7f1a}.expiry-tag.soon{background:#fff3cd;color:#b8860b}.expiry-tag.expired{background:#f8d7da;color:#b22222}.addschool-container{margin:0 auto;max-width:650px}.addschool-container h2{font-size:28px;font-weight:700;margin-bottom:25px}.alert-box{background:#e0ffe5;color:#1e7f2a;font-weight:600;padding:12px 18px}.form-card{box-shadow:0 6px 22px #0000000f;padding:25px}.form-group label{color:#333;font-size:15px}.input{border:1px solid #ddd;border-radius:8px;padding:12px 14px;transition:.25s}.input:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce733}.domain-hint{color:#777;font-size:12px;margin-top:4px}.btn-primary{background:#6c5ce7;font-size:16px;padding:14px;width:100%}.btn-primary:hover{background:#7f6bf2;transform:scale(1.02)}.sidebar-container{background:#262a41;color:#fff;height:100vh;left:0;padding:25px 20px;position:fixed;top:0;width:240px}.sidebar-title{font-size:22px;font-weight:700;margin-bottom:25px}.sidebar-menu{list-style:none;padding:0}.sidebar-link{border-radius:8px;color:#c4c4c4;display:block;font-size:16px;font-weight:500;margin-bottom:10px;padding:12px 15px;text-decoration:none;transition:all .3s ease}.sidebar-link:hover{background:#3b4060;color:#fff}.sidebar-link.active{background:#6c5ce7;color:#fff}.layout-container{background:#f0f2f5;display:flex;min-height:100vh}.layout-content{flex-grow:1;margin-left:260px;padding:40px}.details-page{background:linear-gradient(135deg,#f5f7ff,#eef1ff);min-height:100vh;padding:35px}.details-page h2{color:#1f2d3d;font-size:30px;font-weight:700;margin-bottom:25px}.details-card{border-radius:18px;box-shadow:0 15px 45px #00000014;flex-direction:column;gap:12px;padding:35px}.details-card p{display:block;margin:6px 0;width:100%}.details-card h3{margin-bottom:10px;margin-top:25px;width:100%}.details-card:hover{box-shadow:0 18px 55px #0000001f}.details-card h3{border-left:5px solid #4c6ef5;color:#4c6ef5;font-size:18px;font-weight:600;margin-bottom:12px;margin-top:30px;padding-left:12px}.details-card p{color:#444;font-size:15px;margin:8px 0}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.password-row{background:#f9f9ff;border:1px solid #e3e6ff;border-radius:10px;gap:12px;margin:10px 0;padding:10px 14px}.password-text{background:#fff;border:1px solid #ddd;border-radius:6px;letter-spacing:1.5px;padding:6px 10px}.btn-copy,.btn-eye{background:#f1f3ff;border-radius:8px;font-size:12px;padding:6px 12px;transition:.2s ease}.btn-copy:hover,.btn-eye:hover{background:#dfe3ff}.btn-copy:disabled{cursor:not-allowed;opacity:.5}.btn-billing,.btn-delete,.btn-disable,.btn-edit,.btn-enable,.btn-pdf{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:.25s ease}.btn-edit{background:#00b894}.btn-edit:hover{background:#00a383}.btn-enable{background:#0984e3;color:#fff}.btn-enable:hover{background:#0873c4}.btn-disable{background:#fdcb6e;color:#333}.btn-disable:hover{background:#f4b940}.btn-delete{background:#d63031}.btn-delete:hover{background:#b71c1c}.btn-billing{background:#6c5ce7;color:#fff}.btn-billing:hover{background:#5848d6}.btn-pdf{background:#ff5722;color:#fff}.btn-pdf:hover{background:#e64a19}@media (max-width:768px){.details-card{padding:20px}.btn-row{flex-direction:column}}:root{--bg1:#0b1220;--bg2:#0f1b2d;--card:#ffffff0f;--card2:#ffffff17;--border:#ffffff1f;--text:#ffffffeb;--muted:#ffffffa6;--accent:#6c5ce7;--accent2:#00d4ff;--danger:#ff4d6d;--success:#2ee59d;--shadow:0 20px 60px #00000073}*{box-sizing:border-box}.edit-container{background:radial-gradient(900px 500px at 10% 0,#6c5ce74d,#0000 60%),radial-gradient(900px 500px at 90% 10%,#00d4ff38,#0000 60%),linear-gradient(180deg,#0b1220,#0f1b2d);background:radial-gradient(900px 500px at 10% 0,#6c5ce74d,#0000 60%),radial-gradient(900px 500px at 90% 10%,#00d4ff38,#0000 60%),linear-gradient(180deg,var(--bg1),var(--bg2));color:#ffffffeb;color:var(--text);min-height:100vh;padding:34px 18px 60px}.edit-container h2{font-size:26px;font-weight:800;letter-spacing:.2px;margin:0 auto 18px;max-width:980px}.alert-msg{background:#2ee59d1f;border:1px solid #2ee59d40;border-radius:12px;box-shadow:0 10px 30px #2ee59d14;color:#e2fff5eb;font-weight:600;margin:0 auto 16px;max-width:980px;padding:12px 14px}.edit-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(180deg,#ffffff0f,#ffffff0a);background:linear-gradient(180deg,var(--card),#ffffff0a);border:1px solid #ffffff1f;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px #00000073;box-shadow:var(--shadow);margin:0 auto;max-width:980px;overflow:hidden;padding:22px;position:relative}.edit-card:before{background:radial-gradient(circle,#6c5ce766,#0000 60%);filter:blur(8px);height:320px;inset:-120px -120px auto auto;width:320px}.edit-card:after,.edit-card:before{content:"";pointer-events:none;position:absolute}.edit-card:after{background:radial-gradient(circle,#00d4ff42,#0000 60%);filter:blur(10px);height:340px;inset:auto auto -140px -140px;width:340px}.edit-card label{color:#ffffffa6;color:var(--muted);display:block;font-size:13px;font-weight:700;letter-spacing:.25px;margin-bottom:8px;margin-top:14px;text-transform:uppercase}.input{background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;color:#ffffffeb;color:var(--text);font-size:15px;outline:none;padding:12px;transition:transform .12s ease,border .18s ease,box-shadow .18s ease;width:100%}.input::placeholder{color:#ffffff59}.input:focus{border-color:#6c5ce78c;box-shadow:0 0 0 4px #6c5ce726}select.input{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#ffffffb3 0),linear-gradient(135deg,#ffffffb3 50%,#0000 0);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}input[type=date].input{color-scheme:dark}@media (min-width:860px){.edit-card{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:1fr 1fr;padding:26px}.alert-msg,.btn-save,.edit-container h2{grid-column:1/-1}}.btn-save{background:linear-gradient(135deg,#6c5ce7,#00d4ff);background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 18px 42px #6c5ce738;font-weight:800;letter-spacing:.2px;padding:12px 14px;transition:transform .12s ease,box-shadow .18s ease,filter .18s ease}.btn-save:hover{box-shadow:0 22px 54px #6c5ce747;filter:brightness(1.03)}.btn-save:active{filter:brightness(.98);transform:translateY(0)}@media (max-width:480px){.edit-container{padding:26px 14px 44px}.edit-card{border-radius:16px;padding:18px}}@media (prefers-reduced-motion:reduce){.btn-save,.input{transition:none!important}}.school-admin-login-container{align-items:center;background:#f4f4ff;display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:18px;box-shadow:0 8px 28px #0000001f;padding:35px;width:380px}h2{margin-bottom:25px;text-align:center}label{display:block;margin-top:12px}input{border:2px solid #eaeaea;margin-bottom:12px;margin-top:5px;padding:10px}.login-btn,input{border-radius:10px;width:100%}.login-btn{background:#4c45ff;border:none;color:#fff;font-weight:600;padding:12px}.error-box{background:#ffe3e3;border-left:4px solid red;color:#c60000;margin-bottom:15px;padding:10px}.payment-container{animation:fadeIn .4s ease;background:#f5f7fa;color:#111;font-family:Inter,sans-serif;min-height:100vh;padding:25px 35px}.payment-container h2{color:#222;font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:30px}.filters{display:flex;gap:18px;margin-bottom:35px}.filters select{background:#fff;border:1px solid #ddd;border-radius:10px;color:#222;cursor:pointer;font-size:15px;font-weight:500;outline:none;padding:12px 16px;transition:.25s ease}.filters select:hover{background:#f1f1f1;transform:translateY(-2px)}.payment-table{background:#fff;border:1px solid #e5e5e5;border-collapse:collapse;border-radius:14px;box-shadow:0 4px 25px #00000014;overflow:hidden;width:100%}.payment-table thead{background:#f0f4f8}.payment-table th{color:#333;font-size:14px;font-weight:600;letter-spacing:.8px;padding:16px 14px;text-transform:uppercase}.payment-table td{border-bottom:1px solid #ececec;color:#111;font-size:16px;font-weight:500;padding:15px 14px}.payment-table tbody tr:hover{background:#f9f9f9;transition:.25s ease}.status-tag{border-radius:8px;display:inline-block;font-size:14px;font-weight:600;padding:6px 12px;text-transform:capitalize}.status-tag.paid{background:#00c85326;border:1px solid #00c8534d;color:#0a7d40}.status-tag.pending{background:#ffc10733;border:1px solid #ffc1074d;color:#d48c00}.no-record{color:#666;font-size:15px;padding:20px;text-align:center}.search-input{background:#fff;border:1px solid #ddd;color:#111;font-weight:500;padding:12px 18px;transition:.25s ease;width:220px}.search-input::placeholder{color:#888}.search-input:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff33;transform:translateY(-2px)}.school-sidebar-container{background:#0f172a;box-shadow:3px 0 12px #00000040;box-shadow:4px 0 12px #0003;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;min-height:100vh;overflow:hidden;padding:0;position:fixed;top:0;width:150px;width:260px;z-index:999}.school-sidebar-title{background:#0f172a;color:#efc75e;flex-shrink:0;font-size:22px;font-weight:700;padding:20px;text-align:center}.sidebar-scroll{flex:1 1;height:calc(100vh - 70px);overflow-y:auto;padding:15px 15px 25px}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#efc75e;border-radius:10px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#d9b65a}.sidebar-section{margin-bottom:18px}.sidebar-section-title{color:#efc75e;font-size:12px;font-weight:600;margin-bottom:6px;opacity:.85;padding-left:4px;text-transform:uppercase}.sidebar-divider{background:#efc75e40;border-radius:6px;height:1px;margin:10px 0}.school-sidebar-menu{list-style:none;margin:0;padding:0}.school-sidebar-link{border-radius:6px;color:#cbd5e1;display:block;font-size:14px;font-weight:500;padding:10px 14px;text-decoration:none;transition:.25s}.school-sidebar-link:hover{background:#ffffff14;color:#fff}.school-sidebar-link.active{background:#efc75e;color:#0f172a;font-weight:700}.school-content{margin-left:180px;padding:25px;width:calc(100% - 260px)}.sidebar-section-title.clickable{align-items:center;cursor:pointer;display:flex;justify-content:space-between}.sidebar-section-title.open{color:#efc75e}.arrow{font-size:13px;opacity:.8}.school-sidebar-menu{padding-left:10px}.calendar-container{background:#f5f7fb;box-sizing:border-box;min-height:100vh;padding:14px}.calendar-legend{flex-wrap:wrap;gap:18px;margin:10px 0 20px}.calendar-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#333;font-size:13px;gap:6px}.legend-dot{border-radius:50%;height:12px;width:12px}.event{cursor:default;font-size:11px;margin-top:4px;padding:2px 6px}.event.green{background:#2ecc71}.event.red{background:#e74c3c}.event.blue{background:#3498db}.event.yellow{background:#f1c40f;color:#000}.event.grey{background:#95a5a6}.legend-dot.green{background:#2ecc71}.legend-dot.red{background:#e74c3c}.legend-dot.blue{background:#3498db}.legend-dot.yellow{background:#f1c40f}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.calendar-header h2{color:#1e293b;font-size:20px;font-weight:700;margin:0}.calendar-header input[type=month]{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:6px 10px}.calendar-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.calendar-cell{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;min-height:120px;overflow:hidden;padding:8px;position:relative}.day-number{color:#334155;font-size:14px;font-weight:700}.event{border-radius:6px;color:#fff;cursor:pointer;font-size:12px;margin-top:6px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:transform .15s ease,opacity .15s ease;white-space:nowrap}.event:hover{opacity:.95;transform:scale(1.03)}.green{background:#16a34a}.red{background:#dc2626}.blue{background:#2563eb}.yellow{background:#facc15;color:#000}.grey{background:#6b7280}.modal-overlay{background:#0000008c}.modal-box{box-shadow:0 10px 25px #00000040;max-width:92%;padding:22px;width:340px}.modal-box h3{color:#1e293b;font-size:18px;margin:0 0 10px}.modal-box p{color:#475569;font-size:14px;margin:4px 0}.btn-approve,.btn-reject{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:9px 14px}.btn-approve{background:#16a34a}.btn-approve:hover{background:#15803d}.btn-reject{background:#dc2626}.btn-reject:hover{background:#b91c1c}.btn-close{background:#e5e7eb;border:none;border-radius:6px;cursor:pointer;font-size:14px;margin-top:14px;padding:8px;width:100%}.btn-close:hover{background:#d1d5db}@media (max-width:900px){.calendar-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:600px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}.teacher-container{animation:fadeIn .3s ease;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 35px #00000014;margin:25px;padding:30px}.split{display:flex;gap:20px}.left-panel{width:45%}.right-panel{background:#fff;border-radius:12px;padding:16px;width:55%}.click-row.active{background:#eef3ff}.empty-details{color:#888;margin-top:40px;text-align:center}.teacher-table.small td,.teacher-table.small th{padding:6px}.btn-download{background:#4caf50;border:none;cursor:pointer;padding:10px 14px}.btn-download:hover{background:#43a047}.assignment-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#eef2ff;border-radius:6px;color:#1e3a8a;font-size:12px;font-weight:500;padding:4px 8px}.tag-primary{background:#2563eb;color:#fff}.status.present{color:green;font-weight:700}.status.absent{color:red;font-weight:700}.status.leave{color:orange;font-weight:700}.date-filter{margin-bottom:15px;padding:6px}.btn-approve{background:green;margin-right:6px}.btn-approve,.btn-reject{border:none;border-radius:5px;color:#fff;padding:5px 10px}.btn-reject{background:red}.details-card{animation:fadeIn .3s ease;border:1px solid #e5e7eb;box-shadow:0 8px 35px #00000014;margin:25px;padding:230px}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.header h2{color:#4c57ef;font-size:26px;font-weight:700}.btn-primary:hover{box-shadow:0 5px 15px #4c57ef4d}.teacher-table{border-collapse:initial;border-spacing:0 10px}.teacher-table thead tr th{background:#f1f3ff;border-bottom:2px solid #e4e6f9;color:#4c4c4c;font-size:14px;font-weight:600;padding:14px;text-align:left}.teacher-table tbody tr{background:#fff;border-radius:10px;cursor:pointer;transition:.25s}.teacher-table tbody tr:hover{background:#f7f8ff;box-shadow:0 5px 15px #0000000f;transform:translateY(-2px)}.teacher-table tbody td{border-bottom:1px solid #edf0f7;color:#333;font-size:14px;padding:14px}.teacher-photo{border:2px solid #d9ddf5;border-radius:50%;height:55px;object-fit:cover;width:55px}.teacher-form-container{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 30px #0000000f;margin:25px;padding:1%}.teacher-form input,.teacher-form select,.teacher-form textarea{background:#f8f9ff;border:1px solid #d9ddf5;border-radius:10px;padding:12px;transition:.25s;width:100%}.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef26}.btn-delete,.btn-edit,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:.2s}.teacher-details-container{animation:fadeIn .3s ease;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 35px #00000014;margin:130px;padding:140px}.teacher-details-container h2{color:#4c57ef;font-size:28px;font-weight:700;margin-bottom:25px}.details-card{background:#f9faff;border:1px solid #eaecf5;border-radius:16px;box-shadow:0 6px 20px #0000000d;gap:130px;padding:30px}.details-photo{border:3px solid #d9ddf5;border-radius:14px;box-shadow:0 4px 12px #00000012;height:140px;width:140px}.details-info{flex:1 1}.details-info p{color:#333;font-size:16px;margin-bottom:10px}.details-info strong{color:#1e3a8a}.btn-edit{background:#4c57ef;padding:10px 20px;transition:.25s}.btn-edit:hover{background:#3e49e5;box-shadow:0 6px 14px #4c57ef4d;transform:translateY(-2px)}.btn-delete{padding:10px 20px}.password-row{align-items:center;display:flex;gap:10px}.password-text{font-family:monospace;letter-spacing:1px}.btn-copy,.btn-eye{background:none;border:none;color:#2563eb;cursor:pointer;font-weight:600}.filter-row{margin-bottom:16px}.filter-row input,.filter-row select{border:1px solid #ccc;padding:8px 10px}.btn-present{background:#22c55e;margin-right:6px}.btn-absent,.btn-present{border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px}.btn-absent{background:#ef4444}.teacher-form-container{animation:fadeIn .3s ease;background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 12px 40px #00000014;margin:40px auto;max-width:950px;padding:40px 50px}.teacher-form-container h2{color:#4c57ef;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center}.photo-upload-box{text-align:center;transition:all .25s ease;width:200px}.photo-upload-box.drag-over{background:#eef0ff;border-color:#4c57ef;transform:scale(1.05)}.upload-icon{font-size:38px;margin-bottom:5px}.preview-image{border-radius:14px}.two-column{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:25px}.form-group label{margin-bottom:5px}.assignment-card{grid-gap:10px;background:#f8fafc;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr) auto auto;margin-bottom:10px;padding:12px}.checkbox{align-items:center;display:flex;font-size:13px;gap:6px}.btn-add{background:#16a34a;border-radius:6px;margin:10px 0;padding:6px 12px}.btn-remove{background:#ef4444;border-radius:6px;color:#fff;padding:4px 8px}#teacher-details-unique{background:radial-gradient(circle at top,#fff 0,#f4f6fb 60%,#eef1f6 100%);border-radius:28px;box-shadow:0 40px 120px #00000014;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:40px auto;max-width:1200px;padding:64px}#teacher-details-unique h2{font-size:34px;font-weight:900;letter-spacing:-.6px;margin-bottom:32px;position:relative}#teacher-details-unique h2:after{background:linear-gradient(90deg,#2563eb,#4f46e5);border-radius:10px;content:"";display:block;height:4px;margin-top:10px;width:60px}#teacher-details-unique .details-card{background:linear-gradient(180deg,#ffffffeb,#fff);border:1px solid #ffffffb3;border-radius:26px;box-shadow:0 40px 80px #0000001f,inset 0 1px 0 #ffffffe6;display:flex;gap:36px;margin-bottom:36px;padding:34px}#teacher-details-unique .details-photo{background:#e5e7eb;border-radius:26px;box-shadow:0 25px 50px #0003;height:170px;object-fit:cover;width:170px}#teacher-details-unique .details-info{flex:1 1}#teacher-details-unique .details-info p{color:#374151;font-size:15.5px;line-height:1.6;margin:8px 0}#teacher-details-unique .details-info strong{color:#111827;font-weight:600}#teacher-details-unique .password-row{align-items:center;display:flex;gap:10px;margin:16px 0 18px}#teacher-details-unique .password-text{background:linear-gradient(180deg,#f3f4f6,#e5e7eb);border-radius:10px;font-family:monospace;font-size:14px;padding:6px 14px}#teacher-details-unique .btn-copy,#teacher-details-unique .btn-eye{background:#e5e7eb;border:none;border-radius:10px;cursor:pointer;font-size:13px;padding:7px 12px;transition:all .2s ease}#teacher-details-unique .btn-copy:hover,#teacher-details-unique .btn-eye:hover{background:#d1d5db;transform:translateY(-1px)}#teacher-details-unique .stats-grid{grid-gap:26px;display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:36px}#teacher-details-unique .stat-card{background:linear-gradient(180deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 20px 50px #00000014;padding:26px;transition:transform .2s ease}#teacher-details-unique .stat-card:hover{transform:translateY(-4px)}#teacher-details-unique .stat-card h4{font-size:17px;font-weight:800;margin-bottom:14px}#teacher-details-unique .stat-card p{font-size:14.5px;margin:6px 0}#teacher-details-unique .green{color:#16a34a;font-weight:800}#teacher-details-unique .red{color:#dc2626;font-weight:800}#teacher-details-unique .teacher-table{background:#fff;border-collapse:collapse;border-radius:20px;box-shadow:0 30px 70px #0000001a;overflow:hidden;width:100%}#teacher-details-unique .teacher-table th{background:linear-gradient(180deg,#111827,#1f2937);color:#fff;font-size:14px;padding:16px}#teacher-details-unique .teacher-table td{border-bottom:1px solid #e5e7eb;font-size:14.5px;padding:16px}#teacher-details-unique .badge-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:999px;color:#fff;font-size:12px;padding:6px 14px}#teacher-details-unique .badge-secondary{background:#6b7280;border-radius:999px;color:#fff;font-size:12px;padding:6px 14px}#teacher-details-unique .action-buttons{display:flex;gap:16px;margin-top:30px}#teacher-details-unique .btn-edit{background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:14px;box-shadow:0 14px 30px #2563eb59;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 26px}#teacher-details-unique .btn-edit:hover{transform:translateY(-2px)}#teacher-details-unique .btn-delete{background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:14px;box-shadow:0 14px 30px #dc262659;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 26px}#teacher-details-unique .btn-delete:hover{transform:translateY(-2px)}#teacher-details-unique .mt-10{margin-top:10px}#teacher-details-unique .mt-20{margin-top:20px}.fees-dashboard-container{background:#f8fafc;min-height:100vh;padding:28px}.fees-dashboard-header{margin-bottom:26px}.payment-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;margin-top:6px;padding:5px 12px}.payment-badge.online{background:#e6f7ed;color:#28a745}.payment-badge.offline{background:#ffeaea;color:#dc3545}.toggle-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:8px 16px;transition:.3s}.toggle-btn.online{background:#28a745;color:#fff}.toggle-btn.offline{background:#dc3545;color:#fff}.toggle-btn:hover{opacity:.85}.fees-dashboard-header h2{color:#0f172a;font-size:26px;font-weight:700}.subtitle{color:#64748b;font-size:13px}.fees-dashboard-header select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-weight:500;padding:10px 14px}.fees-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:linear-gradient(180deg,#fff,#f1f5f9);border-radius:16px;box-shadow:0 12px 30px #0000000d}.card span{color:#64748b;font-size:13px}.card b{font-size:22px;margin-top:8px}.card.paid{border-left:5px solid #22c55e}.card.pending{border-left:5px solid #f97316}.card.amount{border-left:5px solid #6366f1}.section-title{color:#1e293b;font-size:18px;font-weight:600;margin:30px 0 14px}.dashboard-table{background:#fff;border-collapse:collapse;border-radius:14px;box-shadow:0 10px 30px #0000000d;overflow:hidden}.dashboard-table td,.dashboard-table th{font-size:14px;padding:14px 16px;text-align:left}.dashboard-table th{background:#f1f5f9;font-weight:600}.dashboard-table tr:nth-child(2n){background:#f8fafc}.paid-text{color:#16a34a;font-weight:600}.pending-text{color:#ea580c;font-weight:600}.addon-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:35px}.addon-card{background:linear-gradient(135deg,#fff,#eef2ff);border:2px solid #0000;border-radius:18px;box-shadow:0 12px 28px #0000000f;cursor:pointer;padding:18px;transition:all .25s ease}.addon-card:hover{transform:translateY(-6px)}.addon-card.active{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.addon-card h4{font-size:16px;font-weight:600;margin-bottom:6px}.addon-card p{color:#64748b;font-size:13px}.addon-card b{display:block;font-size:18px;margin-top:6px}.loading{font-size:16px;padding:40px;text-align:center}.fees-dashboard-container{animation:fadeIn .4s ease;margin:auto;max-width:1200px;padding:35px 45px 60px 80px}.edit-btn{background:#f59e0b;color:#fff}.delete-btn,.edit-btn{margin-right:6px;padding:6px 10px}.delete-btn{background:#dc2626;border-radius:6px}.modal{align-items:center;background:#00000080;inset:0;justify-content:center;position:fixed}.modal-box{border-radius:14px;padding:24px;width:300px}.modal-actions{justify-content:space-between;margin-top:16px}.fees-dashboard-container h2{color:#2c2c2c;font-size:30px;font-weight:700;margin-bottom:30px;text-align:center}.fees-summary-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:35px}.card{background:#fff;border-radius:14px;box-shadow:0 4px 12px #0000000f;padding:24px;text-align:center;transition:.3s}.card:hover{box-shadow:0 6px 18px #0000001f;transform:scale(1.04)}.card b{color:#111;display:block;font-size:24px;margin-top:6px}.card.paid{background:linear-gradient(135deg,#d4f5d4,#b3ebb3)}.card.pending{background:linear-gradient(135deg,#ffe1e1,#ffc9c9)}.card.amount{background:linear-gradient(135deg,#e7e8ff,#d8d9ff)}.fees-table-title{color:#373737;font-size:22px;font-weight:600;margin-bottom:10px;margin-top:20px}.dashboard-table{border-collapse:initial;border-spacing:0 10px;width:100%}.dashboard-table thead tr th{background:#f0f0ff;border-radius:6px;color:#444;font-size:13px;font-weight:600;padding:14px;text-align:center;text-transform:uppercase}.dashboard-table tbody tr{background:#fff;box-shadow:0 2px 8px #0000000f;text-align:center;transition:.25s}.dashboard-table tbody tr:hover{box-shadow:0 4px 14px #0000001a;transform:scale(1.01)}.dashboard-table td{color:#444;font-size:14px;padding:14px}.fees-dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.month-filter{align-items:center;background:#fff;border-radius:10px;box-shadow:0 3px 12px #00000014;display:flex;gap:12px;padding:10px 16px}.month-filter label{color:#444;font-size:14px;font-weight:600}.month-filter select{background:#f8f9fc;border:1px solid #d0d0d0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:8px 14px;transition:.2s ease}.month-filter select:hover{background:#eef1ff;border-color:#b4b8ff}.month-filter select:focus{background:#eef0ff;border-color:#7b83ff;box-shadow:0 0 0 2px #7b83ff4d;outline:none}.fees-container{animation:fadeIn .4s ease;margin:auto;max-width:1200px;padding:30px}.fees-container h2{color:#2c2c2c;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.filter-row{align-items:center;gap:15px;justify-content:center;margin-bottom:20px}.filter-row input,.filter-row select{background:#fff;border:1px solid #d7d7d7;border-radius:6px;font-size:14px;min-width:180px;padding:10px 14px;transition:.25s ease}.filter-row input:focus,.filter-row select:focus{border-color:#6c63ff;box-shadow:0 0 8px #6c63ff4d}.search-input{min-width:240px}.fees-table{border-collapse:initial;border-spacing:0 10px;margin-top:20px}.fees-table thead tr th{background:#f7f7ff;color:#333;font-size:12px;font-weight:600;padding:14px;text-transform:uppercase}.fees-table tbody tr{background:#fff;box-shadow:0 2px 8px #0000000f;transition:.25s ease}.fees-table tbody tr:hover{box-shadow:0 4px 14px #0000001a;transform:scale(1.01)}.fees-table td{border-bottom:1px solid #eee;border-top:1px solid #eee;color:#444;padding:14px;text-align:center}.paid-badge{background:linear-gradient(135deg,#4caf50,#1e912e)}.paid-badge,.pending-badge{border-radius:50px;color:#fff;padding:6px 14px}.pending-badge{background:linear-gradient(135deg,#ff4d4d,#c62828)}.mark-paid-btn{background:linear-gradient(135deg,#4caf50,#388e3c);border-radius:6px;font-weight:600;padding:7px 14px}.mark-paid-btn:hover{background:linear-gradient(135deg,#43a047,#2e7d32);transform:translateY(-2px)}.btn-receipt,.receipt-btn{background:linear-gradient(135deg,#5a5a5a,#000);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:7px 14px;transition:.25s}.receipt-btn:hover{background:linear-gradient(135deg,#000,#333);transform:translateY(-2px)}.fees-container{background:#f6f8fc;min-height:100vh;padding:124px}.fees-container h2{color:#1e2640;font-size:26px;font-weight:600;margin-bottom:20px}.filter-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 6px 20px #0000000f;flex-wrap:wrap;gap:14px;margin-bottom:22px;padding:18px}.filter-row .search-input,.filter-row select{background:#f9faff;border:1px solid #d5d8df;border-radius:10px;font-size:14px;min-width:160px;outline:none;padding:10px 12px;transition:.25s}.filter-row .search-input:focus,.filter-row select:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef26}.fees-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 6px 20px #0000000f;overflow:hidden;width:100%}.fees-table thead{background:#eef1f8}.fees-table th{color:#374151;font-weight:600;text-align:left}.fees-table td,.fees-table th{font-size:14px;padding:14px 16px}.fees-table td{border-bottom:1px solid #f0f1f5;color:#414b63}.paid-badge{background:#e5f7e9;color:#2c9147}.paid-badge,.pending-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 12px}.pending-badge{background:#fff2e5;color:#e67e22}.mark-paid-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px;transition:.25s}.mark-paid-btn:hover{background:#1e4fcc}.receipt-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;padding:7px 12px;transition:.25s}.receipt-btn:hover{background:#0b9467}@media (max-width:768px){.filter-row{flex-direction:column}.filter-row .search-input,.filter-row select{width:100%}.fees-table td,.fees-table th{font-size:13px;padding:10px}}.generate-fees-container{margin:auto;max-width:600px;padding:125px}.generate-fees-container h2{color:#2d2d2d;font-size:26px;font-weight:700;margin-bottom:25px;text-align:center}.generate-fees-form{background:#fff;border-radius:14px;box-shadow:0 6px 20px #00000014;display:flex;flex-direction:column;gap:18px;padding:25px 30px}.generate-fees-form label{color:#333;font-size:14px;font-weight:600;margin-bottom:4px}.generate-fees-form input,.generate-fees-form select{background:#f8f9fc;border:1px solid #d6d6d6;border-radius:8px;font-size:15px;padding:10px 14px;transition:.2s;width:100%}.generate-fees-form input:hover,.generate-fees-form select:hover{background:#f0f2ff;border-color:#b2b7ff}.generate-fees-form input:focus,.generate-fees-form select:focus{background:#eef0ff;border-color:#6b70ff;box-shadow:0 0 0 2px #6b70ff4d;outline:none}.generate-fees-submit{background:linear-gradient(135deg,#6b70ff,#8a8fff);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:12px;transition:.25s;width:100%}.generate-fees-submit:hover{background:linear-gradient(135deg,#595eff,#7a7fff);transform:translateY(-2px)}.generate-fees-submit:active{transform:scale(.98)}@media (max-width:600px){.generate-fees-container{padding:18px}.generate-fees-form{padding:20px}}.btn-update{background:#f59e0b;border:none;color:#fff}.btn-delete,.btn-update{border-radius:10px;flex:1 1;padding:12px}.library-page{animation:fadeIn .4s ease-in-out;padding:20px 140px}.lib-card.clickable{cursor:pointer;transition:all .2s ease}.lib-card.clickable:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-3px)}.lib-card.active{background:#eef2ff;border:2px solid #4f46e5}.lib-section{margin-top:32px}.lib-section-header{margin-bottom:12px}.library-header h2{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:5px}.library-header p{color:#555;font-size:16px;margin-bottom:35px}.lib-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.lib-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#fff9;border:1px solid #fff6;box-shadow:0 8px 32px #00000014;padding:25px 20px;transition:transform .25s ease,box-shadow .25s ease}.lib-card:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-6px)}.lib-card h3{color:#34495e;font-size:20px;margin-bottom:12px}.lib-value{color:#007bff;font-size:34px;font-weight:700}.overdue .lib-value{color:#e74c3c}.overdue h3{color:#c0392b;font-weight:700}.lib-page{padding:24px 132px}.lib-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.lib-page-title{font-size:24px;font-weight:600;margin:0}.lib-page-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.lib-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.lib-btn{align-items:center;background:#2563eb;color:#fff;display:inline-flex;gap:6px;padding:9px 14px}.lib-btn.secondary{background:#f3f4f6;color:#111827}.lib-btn.outline{background:#0000;border:1px solid #bfdbfe;color:#2563eb}.lib-btn:hover{opacity:.9}.lib-form-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.lib-input,.lib-select,.lib-textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:180px;padding:9px 10px}.lib-input:focus,.lib-select:focus,.lib-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 1px #bfdbfe;outline:none}.lib-textarea{min-height:80px;resize:vertical}.lib-grid{grid-gap:14px;display:grid;gap:14px;margin-top:10px}@media (min-width:768px){.lib-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.lib-card{border-radius:10px;box-shadow:0 1px 3px #0f172a0a;padding:14px 16px}.lib-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.lib-card-title{font-size:15px;font-weight:600}.lib-card-meta{color:#6b7280;font-size:13px}.lib-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;font-size:14px;margin-top:24px;padding:18px;text-align:center}.lib-table{margin-top:12px}.lib-table td,.lib-table th{padding:8px 10px}.lib-table th{background:#f9fafb;color:#4b5563;font-weight:500}.lib-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:500;padding:2px 8px}.lib-pill.green{background:#dcfce7;color:#166534}.lib-pill.red{background:#fee2e2;color:#991b1b}.lib-pill.gray{background:#e5e7eb;color:#374151}.page{background:#f5f7fb;padding:24px 28px}.page h2{color:#1e293b;font-size:24px;font-weight:600;margin-bottom:6px}.page .muted-text{color:#64748b;font-size:14px;margin-bottom:20px}.form-box{align-items:center;border:1px solid #94a3b847;border-radius:14px;box-shadow:0 14px 35px #0f172a0f;display:flex;flex-wrap:wrap;gap:12px;max-width:560px;padding:18px 20px}.form-box input{background:#f8fafc;border:1px solid #cbd5f5;border-radius:10px;flex:1 1;font-size:14px;min-width:220px;outline:none;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-box input::placeholder{color:#94a3b8}.form-box input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e540}.form-box button{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:999px;box-shadow:0 12px 30px #4f46e559;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;white-space:nowrap}.form-box button:hover{box-shadow:0 16px 38px #4f46e573;transform:translateY(-1px)}.form-box button:active{box-shadow:0 8px 20px #4f46e54d;transform:translateY(0)}.page.library-add-category{max-width:780px}@media (max-width:768px){.page{padding:18px 14px}.form-box{padding:14px}.form-box button{justify-content:center;text-align:center;width:100%}}.hostel-page{padding:25px 235px}.delete{background:#ff4d4f;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 12px}.delete-btn:hover{background:#cf1322}.hostel-title{margin-bottom:5px}.hostel-subtitle{color:#666}.hostel-add-box{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.hostel-input{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:15px;min-width:180px;padding:10px 12px}.hostel-input.small{width:100px}.hostel-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 15px}.hostel-btn.primary{background:#007bff;color:#fff}.hostel-btn.primary:hover{background:#0066d0}.hostel-btn.ghost{background:#f1f1f1;color:#333}.hostel-btn.ghost:hover{background:#e5e5e5}.hostel-list{grid-gap:15px;display:grid;gap:15px;margin-top:15px}.room-card{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdd;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 8px #0000000f;cursor:pointer;display:flex;justify-content:space-between;padding:18px;transition:.2s ease}.room-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-3px)}.room-info h3{font-size:18px;font-weight:700;margin:0}.hostel-meta{color:#555;font-size:14px;margin-top:3px}.empty-state{background:#fafafa;border:1px dashed #bbb;border-radius:10px;color:#666;padding:35px}.muted-text{color:#777;margin-bottom:10px}@media (max-width:600px){.hostel-page{padding:20px}.room-card{align-items:flex-start;flex-direction:column;gap:10px}}.page{background:#f6f7fb;min-height:100vh;padding:20px 60px}.page h2{color:#333;margin-bottom:18px}.add-box,.form-box{background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 6px #0000000d;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px;padding:18px}.add-box input,.add-box select,.form-box input,.form-box select{background:#fdfdfd;border:1px solid #d0d0d0;border-radius:6px;font-size:15px;padding:10px 12px;transition:all .2s ease;width:220px}.add-box input:focus,.add-box select:focus,.form-box input:focus,.form-box select:focus{border-color:#007bff;box-shadow:0 0 4px #007bff40}.hostel-btn,.primary-btn,button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 16px;transition:.3s ease}.primary-btn,button{background:#007bff;color:#fff}.primary-btn:hover,button:hover{background:#005ec2}.hostel-btn.ghost{background:#fff;border:1px solid #007bff;color:#007bff}.hostel-btn.ghost:hover{background:#007bff;color:#fff}.card-list,.hostel-list,.list{grid-gap:18px;display:grid;gap:18px;margin-top:20px}.bed-list,.hostel-list,.room-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.bed-card,.card,.fee-card,.hostel-card,.mess-card,.room-card{background:#fff;border:1px solid #ebebeb;border-radius:12px;box-shadow:0 4px 10px #0000000d;padding:18px;transition:.25s ease}.bed-card:hover,.card:hover,.fee-card:hover,.hostel-card:hover,.mess-card:hover,.room-card:hover{box-shadow:0 8px 16px #00000012;transform:translateY(-3px)}.bed-card h3,.card h3,.hostel-card h3,.room-card h3{color:#333;font-size:20px;font-weight:700;margin-bottom:8px}.bed-meta,.hostel-meta,.room-meta{color:#777;font-size:14px;margin-bottom:5px}.empty,.empty-state{background:#fafafa;border:1px dashed #bbb;border-radius:10px;font-size:15px;margin-top:20px;padding:35px;text-align:center}.empty-state span{color:#666;display:block;margin-top:5px}.hostel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.hostel-title{color:#333;font-size:26px}.hostel-subtitle{color:#777;font-size:14px}@media (max-width:768px){.page{padding:20px}.add-box,.form-box{flex-direction:column}.add-box input,.add-box select,.form-box input,.form-box select{width:100%}}.page{padding:130px}.page h2{font-size:28px;font-weight:700}.add-box,.page h2{margin-bottom:20px}.add-box{display:flex;gap:12px}.add-box select{background:#fff;border:1px solid #ccc;border-radius:10px;padding:10px 14px;width:220px}button{background:linear-gradient(135deg,#00c6ff,#0072ff);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 22px}button:disabled{cursor:not-allowed;opacity:.6}.list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:30px}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff40;border:1px solid #fff6;border-radius:18px;box-shadow:0 8px 22px #0000001f;padding:20px}.card h3{font-size:20px;margin-bottom:8px}.hostel-fees-page{background:#f4f7fb;min-height:100vh;padding:60px}.btn.delete{background:#e53935;color:#fff}.btn.delete:hover{background:#c62828}.btn.delete:disabled{background:#ccc;cursor:not-allowed}.fees-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.fees-header h2{font-size:26px;font-weight:700;margin:0}.fees-header p{color:#6b7280;margin-top:4px}.fees-filters{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.2fr 1fr .8fr;margin-bottom:22px}.fees-filters input,.fees-filters select{background:#fff;border:1px solid #ddd;border-radius:12px;font-size:14px;padding:12px 14px}.fees-filters input:focus,.fees-filters select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.hostel-group{background:#fff;border-radius:18px;box-shadow:0 12px 30px #0000000f;margin-bottom:26px;padding:22px}.hostel-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:700;gap:8px;margin-bottom:18px}.room-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:18px;padding:16px}.room-title{color:#374151;font-size:15px;font-weight:600;margin-bottom:12px}.fee-row{grid-gap:14px;align-items:center;background:#fff;border-radius:12px;box-shadow:0 6px 14px #0000000a;display:grid;gap:14px;grid-template-columns:2fr 1.2fr 1.5fr;margin-bottom:10px;padding:14px 16px}.fee-row:last-child{margin-bottom:0}.fee-left strong{display:block;font-size:15px;font-weight:600}.fee-month{color:#6b7280;font-size:12px}.fee-middle{display:flex;flex-direction:column;gap:6px}.amount{color:#2563eb;font-size:16px}.badge{font-weight:700;padding:5px 12px;width:-webkit-fit-content;width:fit-content}.badge.paid{background:#dcfce7;color:#166534}.badge.pending{background:#fee2e2;color:#991b1b}.fee-actions{display:flex;gap:8px;justify-content:flex-end}.btn{border-radius:8px;font-size:12px;padding:8px 12px;transition:all .2s ease}.btn.paid{background:#16a34a;color:#fff}.btn.pending{background:#f59e0b;color:#fff}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{background:#fff;border-radius:16px;box-shadow:0 8px 20px #0000000d;color:#6b7280;padding:40px;text-align:center}@media (max-width:900px){.fee-row{gap:10px;grid-template-columns:1fr}.fee-actions{justify-content:flex-start}}@media (max-width:768px){.fees-filters{grid-template-columns:1fr}}.mess-page{margin:auto;max-width:1200px;padding:62px}.mess-page h2{font-size:26px;font-weight:700;margin-bottom:24px}.mess-add-card{grid-gap:14px;background:linear-gradient(180deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:16px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr auto;margin-bottom:32px;padding:20px}.mess-add-card input,.mess-add-card select{border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:10px 12px}.mess-add-card button{background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;padding:0 22px}.mess-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.mess-card{border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 25px #0000000a;padding:20px}.mess-card-header{align-items:center;display:flex;justify-content:space-between}.mess-card-header h3{font-size:18px;font-weight:700}.active{background:#dcfce7;color:#166534}.active,.inactive{border-radius:999px;font-size:12px;padding:4px 10px}.inactive{background:#fee2e2;color:#991b1b}.mess-prices{display:flex;justify-content:space-between;margin:18px 0}.mess-prices div label{color:#6b7280;font-size:12px}.mess-prices strong{font-size:18px}.mess-footer{align-items:center;color:#6b7280;display:flex;font-size:13px;justify-content:space-between}.mess-footer .danger{background:#fee2e2;border:none;border-radius:8px;color:#991b1b;cursor:pointer;padding:6px 14px}.mess-assign-page{margin:40px auto;max-width:900px;padding:20px}.mess-assign-page h2{font-size:26px;font-weight:700;margin-bottom:24px}.mess-assign-card{grid-gap:18px;background:linear-gradient(180deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 12px 30px #0000000d;display:grid;gap:18px;grid-template-columns:1fr 1fr;padding:26px}.mess-assign-card select{background:#fff;border:1px solid #d1d5db;border-radius:12px;font-size:14px;padding:12px 14px}.mess-assign-card select:disabled{background:#f3f4f6;cursor:not-allowed}.mess-assign-card button{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;grid-column:span 2;margin-top:10px;padding:14px;transition:all .2s ease}.mess-assign-card button:hover{box-shadow:0 8px 20px #22c55e59;transform:translateY(-1px)}.class-container{animation:fadeIn .3s ease;background:#fff;border:1px solid #eef1f6;border-radius:16px;box-shadow:0 10px 30px #00000012;margin-top:20px;padding:35px 40px}.class-container h2{color:#4c57ef;font-size:26px;font-weight:700;margin-bottom:25px}.add-row{gap:15px;margin-bottom:25px}.add-row input{background:#f8f9ff;border:1px solid #d9ddf5;font-size:15px;padding:14px 16px;transition:.25s}.add-row input:focus{box-shadow:0 0 0 3px #4c57ef26}.btn-primary{font-size:15px;padding:14px 20px;white-space:nowrap}.class-table{border-collapse:initial;border-spacing:0 10px;margin-top:15px;width:100%}.class-table th{color:#475569;font-size:14px;font-weight:700;padding:14px;text-align:left}.class-table td{background:#f8f9ff;border-radius:10px;font-size:15px;padding:16px;transition:.25s}.class-table tr:hover td{background:#eef0ff}.class-top-row{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:25px}.search-input{background:#f8f9ff;border:1px solid #d9ddf5;border-radius:10px;flex:1 1;font-size:15px;outline:none;padding:12px 16px;transition:.25s}.search-input:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef26}.add-row-mini{display:flex;gap:10px}.add-row-mini input{background:#f8f9ff;border:1px solid #d9ddf5;border-radius:10px;font-size:14px;outline:none;padding:12px 14px;width:160px}.btn-primary-mini{background:linear-gradient(90deg,#4c57ef,#6b74ff);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 18px;transition:.25s}.btn-primary-mini:hover{background:linear-gradient(90deg,#3e49e5,#5d65f7);box-shadow:0 6px 16px #4c57ef4d;transform:translateY(-2px)}.btn-delete{background:#e03131;padding:8px 14px;transition:.25s}.btn-delete:hover{background:#c92a2a;box-shadow:0 6px 14px #e031314d}.archived-class-container{animation:fadeIn .3s ease;background:#fff;border:1px solid #eef1f6;border-radius:16px;box-shadow:0 10px 30px #00000012;margin-top:20px;padding:35px 140px}.archived-class-container h2{color:#8e44ad;font-size:26px;font-weight:700;margin-bottom:25px}.archived-table{border-collapse:initial;border-spacing:0 10px;margin-top:15px;width:100%}.archived-table th{color:#475569;font-size:14px;font-weight:700;padding:14px;text-align:left}.archived-table td{background:#fcf5ff;border-radius:10px;font-size:15px;padding:16px;transition:.25s}.archived-table tr:hover td{background:#f5e8ff}.btn-restore{background:#2ecc71;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:8px 14px;transition:.25s}.btn-restore:hover{background:#27ae60;box-shadow:0 6px 14px #27ae604d;transform:translateY(-2px)}.btn-delete-permanent{background:#e03131;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-left:10px;padding:8px 14px;transition:.25s}.btn-delete-permanent:hover{background:#c92a2a;box-shadow:0 6px 14px #e031314d;transform:translateY(-2px)}.archived-no-data{background:#faf5ff;border-radius:12px;color:#8e44ad;font-size:16px;font-weight:500;padding:22px;text-align:center}.expand-row td{padding:0!important}.expanded-box{background:#f8f9ff;border:1px solid #e5e7eb;border-radius:10px;margin:10px;padding:15px 20px}.expanded-box h4{color:#1e3a8a;font-size:15px;margin-bottom:10px}.student-list{padding-left:20px}.student-list li{font-size:14px;margin-bottom:6px}.upload-container{animation:fadeIn .3s ease-in-out;padding:125px}.upload-title{color:#1e3a8a;font-size:26px;font-weight:700;margin-bottom:20px}.upload-card{background:#fff;border-radius:14px;box-shadow:0 4px 22px #00000014;max-width:850px;padding:25px;width:100%}.form-row{margin-bottom:18px}.form-group{display:flex;flex:1 1;flex-direction:column}.full-width{margin-bottom:15px;width:100%}label{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}input,input[type=file],select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;padding:12px;transition:.2s}input:focus,select:focus{background:#fff;border-color:#3b82f6}.upload-btn{background:linear-gradient(90deg,#1e3a8a,#3b82f6);border:none;border-radius:8px;font-size:16px;margin-top:15px;padding:12px;transition:.25s;width:100%}.upload-btn:hover{opacity:.85;transform:translateY(-1px)}.school-dashboard-container{padding:0 0 0 175px}.dashboard-title{color:#0f172a;font-size:28px;font-weight:700}.card-staff{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.sub-title{color:#475569;margin-bottom:20px}.filter-row{gap:12px}.filter-row button{background:#fff;border:1px solid #94a3b8;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 18px;transition:.25s}.filter-row button:hover{background:#f1f5f9}.filter-row button.active{background:#2563eb;border-color:#2563eb;color:#fff}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:35px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000d;cursor:pointer;padding:20px;transition:.25s}.stat-card:hover{box-shadow:0 10px 25px #0000001f;transform:translateY(-4px)}.stat-card h3{color:#475569;font-size:16px}.stat-card p{color:#0f172a;font-size:30px;font-weight:700;margin-top:6px}.card-students{background:#eef2ff;border-color:#6366f1}.card-students h3,.card-students p{color:#4338ca}.card-teachers{background:#e0f2fe;border-color:#0284c7}.card-teachers h3,.card-teachers p{color:#0369a1}.card-classes{background:#fef9c3;border-color:#ca8a04}.card-classes h3,.card-classes p{color:#a16207}.card-sections{background:#fce7f3;border-color:#db2777}.card-sections h3,.card-sections p{color:#be185d}.card-subjects{background:#fee2e2;border-color:#dc2626}.card-subjects h3,.card-subjects p{color:#b91c1c}.card-paid{background:#ecfdf5;border-color:#059669}.card-paid h3,.card-paid p{color:#047857}.card-pending{background:#fff7ed;border-color:#f97316}.card-pending h3,.card-pending p{color:#ea580c}.card-exams{background:#fef2f2;border-color:#ef4444}.card-exams h3,.card-exams p{color:#dc2626}.card-notices{background:#eff6ff;border-color:#2563eb}.card-notices h3,.card-notices p{color:#1d4ed8}.graph-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000d;height:420px;padding:25px}.graph-card h3{font-size:18px;font-weight:700;margin-bottom:15px}.students-container{background:#f5f7fb;font-family:Inter,sans-serif;min-height:100vh;padding:1px}.students-container .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.students-container .header h2{color:#1e3a8a;font-size:26px;font-weight:700}.btn-primary{background:#2563eb;border-radius:6px;color:#fff!important}.btn-primary:hover{background:#1e40af}.filter-row{display:flex;gap:20px;margin-bottom:25px}.filter-box{display:flex;flex-direction:column}.filter-box label{color:#334155;font-size:13px;font-weight:600;margin-bottom:6px}.filter-box select{background:#f8f9ff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;min-width:180px;padding:10px 12px;transition:.2s ease}.filter-box select:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.students-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 12px #0000000f;overflow:hidden;width:100%}.students-table thead{background:#e2e8f0}.students-table th{border-bottom:1px solid #cbd5e1;color:#334155;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.students-table td{border-bottom:1px solid #f1f5f9;color:#475569;font-size:14px;padding:12px 16px;vertical-align:middle}.students-table tr:hover{background:#f8fafc;cursor:pointer}.student-photo{border-radius:50%;box-shadow:0 2px 6px #00000026;height:40px;object-fit:cover;width:40px}.no-data{font-style:italic}.clickable-row{cursor:pointer}.header-buttons{align-items:center;display:flex;gap:12px}.btn-export{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:.2s}.btn-export:hover{background:#059669}.add-student-container{background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 12px 35px #00000014;box-sizing:border-box;margin:20px auto 40px;padding:35px 45px;width:900px}.add-student-container h2{color:#4c57ef;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center}.photo-upload-box{align-items:center;background:#f6f7ff;border:2px dashed #8b9aff;border-radius:14px;cursor:pointer;display:flex;height:200px;justify-content:center;margin:0 auto 30px;overflow:hidden;transition:.25s;width:260px}.photo-upload-box:hover{background:#eef0ff;border-color:#4c57ef;box-shadow:0 8px 22px #4c57ef26}.upload-text{color:#4b4b4b;font-size:14px;line-height:1.4;text-align:center}.upload-btn{background:linear-gradient(90deg,#4c57ef,#6b74ff);border-radius:6px;font-weight:600;margin-top:8px;padding:6px 16px}.add-student-form,.form-group{box-sizing:border-box;width:100%}.form-group label{color:#334155}.form-group input,.form-group select,.form-group textarea{background:#f8f9ff;border:1px solid #d9ddf5;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:.25s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #4c57ef26}.form-row{grid-gap:22px;box-sizing:border-box;display:grid;gap:22px;grid-template-columns:1fr 1fr;width:100%}.btn-submit{margin-top:30px}.subj-page{background:#f6f8fc;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh;padding:38px 38px 38px 80px}.subj-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:18px}.subj-title{color:#0f172a;font-size:26px;font-weight:800;margin:0}.subj-subtitle{color:#64748b;font-size:13px;margin:6px 0 0}.subj-filters{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.subj-field{display:flex;flex-direction:column;gap:6px}.subj-field label{color:#64748b;font-size:12px;font-weight:600}.subj-field input,.subj-field select{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#0f172a;font-size:14px;height:42px;min-width:190px;outline:none;padding:0 12px;transition:.2s ease}.subj-field input{min-width:260px}.subj-grow{flex:1 1}.subj-field input:focus,.subj-field select:focus{border-color:#4f73d9;box-shadow:0 0 0 4px #4f73d924}.subj-card{background:#fff;border:1px solid #e8eef8;border-radius:18px;box-shadow:0 16px 40px #0f172a0f;overflow:hidden}.subj-state{color:#64748b;font-size:14px;padding:26px;text-align:center}.subj-table-wrap{overflow-x:auto;width:100%}.subj-table{border-collapse:collapse;min-width:720px;width:100%}.subj-table thead th{background:linear-gradient(180deg,#f8fbff,#f3f7ff);border-bottom:1px solid #e8eef8;color:#475569;font-size:12px;letter-spacing:.3px;padding:14px 16px;text-align:left}.subj-table tbody td{border-bottom:1px solid #eef2ff;color:#0f172a;font-size:14px;padding:14px 16px}.subj-table tbody tr:hover{background:#f8fbff}.subj-name{align-items:center;color:#0f172a;display:flex;font-weight:700;gap:10px}.subj-dot{background:#4f73d9;border-radius:50%;box-shadow:0 0 0 4px #4f73d929;height:10px;width:10px}@media (max-width:700px){.subj-page{padding:18px}.subj-field input,.subj-field select{min-width:100%;width:100%}.subj-filters{flex-direction:column}}.subject-container{margin:auto;max-width:600px;padding:25px}.subject-container h2{color:#2d2d2d;font-size:26px;font-weight:700;margin-bottom:25px;text-align:center}.subject-form{background:#fff;border-radius:14px;box-shadow:0 6px 18px #00000014;display:flex;flex-direction:column;gap:16px;padding:25px}.subject-form label{color:#333;font-size:14px;font-weight:600}.subject-form input,.subject-form select{background:#f8f9ff;border:1px solid #dcdcdc;border-radius:8px;font-size:15px;padding:10px 14px;transition:.2s}.subject-form input:focus,.subject-form select:focus{border-color:#6b70ff;box-shadow:0 0 0 2px #6b70ff40;outline:none}.btn-submit{background:linear-gradient(135deg,#6b70ff,#8a8fff);padding:12px}.btn-submit:hover{background:linear-gradient(135deg,#595eff,#7378ff)}.add-class-wrapper{display:flex;justify-content:center;padding-top:40px;width:100%}.add-class-card{animation:fadeIn .3s ease;background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 12px 40px #00000014;max-width:550px;padding:35px 40px;width:100%}.add-class-title{color:#4c57ef;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.alert-box{color:#3b3b3b}.btn-submit:hover{box-shadow:0 8px 18px #4c57ef4d}.section-wrapper{display:flex;justify-content:center;padding-top:30px;width:100%}.section-card{animation:fadeInSec .25s ease;background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 12px 40px #0f172a0f;max-width:950px;padding:28px 30px 30px;width:100%}@keyframes fadeInSec{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section-header-row{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px}.section-title{color:#0f172a;font-size:24px;font-weight:700;margin:0}.section-subtitle{color:#6b7280;font-size:13px;margin-top:4px}.class-select-box{min-width:240px}.class-select-box label{color:#64748b;display:block;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.class-select-box select{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline:none;padding:10px 12px;transition:.2s;width:100%}.class-select-box select:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef1f}.section-alert{background:#eef0ff;border-left:4px solid #4c57ef;border-radius:10px;color:#111827;font-size:13px;margin-bottom:16px;padding:10px 14px}.add-row{display:flex;gap:12px;margin-bottom:18px;margin-top:4px}.add-row input{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;flex:1 1;font-size:14px;outline:none;padding:12px 14px;transition:.2s}.add-row input:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef1f}.btn-primary{align-items:center;border-radius:10px;display:flex;justify-content:center;min-width:130px;padding:0 18px;transition:.22s}.btn-primary:hover{background:linear-gradient(90deg,#3e49e5,#5d65f7);box-shadow:0 8px 18px #4c57ef4d}.table-wrapper{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-top:8px;overflow:hidden}.section-table{background:#fff;border-collapse:collapse;width:100%}.section-table thead{background:#f3f4ff}.section-table td,.section-table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:12px 16px;text-align:left}.section-table th{color:#4b5563;font-weight:600}.section-table tbody tr:hover{background:#f9fafb}.section-pill{background:#eef2ff;border-radius:999px;color:#3730a3;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.no-data{font-size:14px}.btn-delete{padding:7px 13px;transition:.18s}.btn-delete:hover{box-shadow:0 4px 12px #ef444459}.add-section-wrapper{display:flex;justify-content:center;padding-top:40px;width:100%}.add-section-card{animation:fadeIn .3s ease;background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 12px 40px #00000014;max-width:550px;padding:35px 40px;width:100%}.add-section-title{color:#4c57ef;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.alert-box{background:#eef0ff;border-left:4px solid #4c57ef;border-radius:8px;color:#333;padding:12px 16px}.alert-box,.form-group{margin-bottom:20px}.form-group label{color:#3b3b3b}.input-field{background:#f8f9ff;border:1px solid #d9ddf5;border-radius:12px;font-size:15px;outline:none;padding:14px 16px;transition:.25s;width:100%}.input-field:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef26}.btn-submit{font-size:18px;padding:15px;transition:.25s}.btn-submit:hover{background:linear-gradient(90deg,#3e49e5,#5d65f7);box-shadow:0 8px 20px #4c57ef4d}.student-details-container{padding:20px 30px}.student-details-container h2{color:#333;font-weight:600;margin-bottom:20px}.details-card{align-items:flex-start;background:#fff;border:1px solid #e6e6e6;border-radius:10px;box-shadow:0 2px 5px #0000000d;display:flex;gap:25px;padding:20px}.details-photo{border:3px solid #f3f3f3;border-radius:10px;height:120px;object-fit:cover;width:120px}.details-info{grid-column-gap:25px;grid-row-gap:10px;column-gap:25px;display:grid;font-size:15px;grid-template-columns:repeat(2,1fr);row-gap:10px}.details-info p{margin:0;padding:4px 0}.details-info strong{color:#333}.action-buttons{display:flex;gap:15px;margin-top:25px}.btn-edit{background:#4c6ef5;border-radius:6px;font-size:14px;padding:10px 18px;transition:.2s}.btn-edit:hover{background:#3b5bcc}.btn-delete{background:#ff4d4f;font-size:14px;padding:10px 18px}.btn-delete:hover{background:#d9363e}@media (max-width:768px){.details-card{flex-direction:column;text-align:center}.details-info{grid-template-columns:1fr}.details-photo{margin:0 auto}.action-buttons{justify-content:center}}.btn-link{background:none;border:none;color:#2563eb;cursor:pointer;padding:0}.result-container{animation:fadeIn .3s ease-in-out;padding:125px}.page-title{color:#1e3a8a}.btn-delete{background:#dc2626}.btn-delete:hover{background:#991b1b}.result-card{background:#fff;border-radius:12px;box-shadow:0 4px 25px #0000000f;overflow-x:auto;padding:20px}.result-table{border-collapse:collapse;width:100%}.result-table th{background:#1e3a8a;color:#fff;font-size:14px;font-weight:600;padding:12px;text-align:left}.result-table td{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;padding:12px}.result-table tr:hover td{background:#f3f4f6}.btn-download{background:#3b82f6;border-radius:6px;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:7px 12px;text-decoration:none;transition:.2s}.btn-download:hover{background:#2563eb}.exam-container{background:linear-gradient(180deg,#f6f8fc,#eef2ff);min-height:100vh;padding:80px 60px}.page-title{color:#1e2640;font-size:28px;margin-bottom:24px}.class-checkbox-list{grid-gap:10px;background:#f7f7f7;border-radius:6px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:12px}.checkbox-item{align-items:center;background:#fff;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:6px 10px}.page-subtitle{color:#6b7280;font-size:13px;margin-top:2px}.badge.more{background:#e0e7ff;color:#3730a3}.btn-archive:disabled{cursor:not-allowed;opacity:.6}.page-header{margin-bottom:24px}.btn-primary{background:linear-gradient(135deg,#4f46e5,#3b82f6);transition:.25s}.btn-primary:hover{opacity:.9}.search-box{margin-bottom:20px}.search-box input{background:#fff;border:1px solid #d5d8df;border-radius:12px;font-size:15px;padding:12px 16px;transition:.25s;width:100%}.search-box input:focus{background:#fefeff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef26;outline:none}.styled-table{box-shadow:0 10px 28px #00000014}.styled-table thead{background:#eef1f8}.styled-table th{color:#374151;font-size:14px;letter-spacing:.4px;padding:14px 18px;text-transform:uppercase}.styled-table td{border-bottom:1px solid #f0f1f5;color:#414b63;font-size:14px;padding:14px 18px}.styled-table tbody tr{transition:.2s}.styled-table tbody tr:hover{background:#f7f9ff}.btn-archive{background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:.2s}.btn-archive:hover{background:#d97706}.form-card{box-shadow:0 10px 30px #00000014;padding:22px}.form-card label{display:block;margin-bottom:6px}.form-card input,.form-card select{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:16px;padding:11px 12px;width:100%}.form-card input:focus,.form-card select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526;outline:none}.no-data{color:#6b7280;font-size:15px;padding:22px}@media (max-width:768px){.exam-container{padding:60px 16px}.page-title{font-size:22px}.styled-table td,.styled-table th{font-size:13px;padding:12px}.btn-primary{font-size:14px;padding:8px 14px}.exam-action-row{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.exam-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:.2s;white-space:nowrap}.exam-btn.edit{background:#2563eb;color:#fff}.exam-btn.edit:hover{background:#1e40af}.exam-btn.archive{background:#f59e0b;color:#fff}.exam-btn.archive:hover{background:#d97706}.exam-btn.delete{background:#dc2626;color:#fff}.exam-btn.delete:hover{background:#991b1b}.exam-btn:disabled{cursor:not-allowed;opacity:.6}.styled-table td{overflow:visible!important}}.modal-backdrop{align-items:center;background:#00000073;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.modal{border-radius:12px;box-shadow:0 20px 60px #00000040;gap:12px;padding:40px;width:420px;z-index:10000}.modal input{border:1px solid #ddd;border-radius:6px;padding:10px}.library-page{background-color:#f9fafb;color:#1f2937;font-family:Inter,Segoe UI,sans-serif;margin:auto;max-width:1000px;padding:90px 10px}.edit-btn{background-color:initial;border-radius:6px;color:#6b7280;font-size:18px;padding:4px;transition:background .2s ease,color .2s ease}.edit-btn:hover{background-color:#f3f4f6;color:#374151}.lib-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.lib-header h2{font-size:28px;font-weight:700;margin-bottom:6px}.muted-text{color:#6b7280;font-size:14px}.lib-btn{border-radius:8px;font-size:14px;font-weight:500;padding:10px 18px;transition:all .3s ease}.primary{background:linear-gradient(135deg,#6366f1,#3b82f6);box-shadow:0 4px 12px #6366f140;color:#fff}.primary:hover{background:linear-gradient(135deg,#4f46e5,#2563eb)}.secondary{background-color:#e5e7eb;color:#1f2937}.secondary:hover{background-color:#d1d5db}.lib-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:40px}.lib-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 16px #0000000a;cursor:pointer;padding:20px;position:relative;transition:transform .2s ease,box-shadow .3s ease}.lib-card:hover{box-shadow:0 12px 24px #00000014;transform:translateY(-4px)}.lib-card h3{font-size:16px;font-weight:600;margin-bottom:6px}.lib-card.active{background-color:#f0f4ff;border-color:#6366f1}.edit-btn{background-color:#f3f4f6;border:none;border-radius:50%;cursor:pointer;font-size:14px;height:28px;position:absolute;right:12px;top:12px;transition:background .2s ease;width:28px}.edit-btn:hover{background-color:#e0e7ff}.lib-section{background-color:#fff;border-radius:16px;box-shadow:0 6px 20px #0000000f;padding:24px}.lib-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.lib-section-header h3{font-size:20px;font-weight:600}.lib-input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:220px;padding:10px 12px;transition:all .2s ease}.lib-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.lib-table{border-collapse:collapse;font-size:14px;width:100%}.lib-table thead{background-color:#f1f5f9}.lib-table td,.lib-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.lib-table th{color:#374151;font-weight:600}.lib-table td{color:#4b5563}.empty-state,.lib-empty{color:#9ca3af;font-size:15px;padding:40px;text-align:center}.modal{align-items:stretch;animation:scaleIn .35s ease forwards;background:#fff;border-radius:16px;box-shadow:0 30px 60px #00000040;box-sizing:border-box;display:flex;flex-direction:column;max-width:420px;padding:24px 28px;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal h3{color:#111827}.modal .lib-input{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;margin-bottom:24px;padding:10px 14px;transition:all .2s ease;width:100%}.modal .lib-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.modal-actions .lib-btn{border-radius:8px;font-size:14px;font-weight:600;padding:10px 18px}.modal-actions .lib-btn.primary{background:#2563eb;color:#fff}.modal-actions .lib-btn.secondary{background:#f3f4f6;color:#111827}.modal-overlay{animation:fadeIn .3s ease forwards;background:#00000073;box-sizing:border-box;padding:20px;z-index:999}.lib-btn{border:none;border-radius:10px;cursor:pointer;font-weight:600;padding:10px 20px}.lib-btn.primary{background:#2563eb;color:#fff}.lib-btn.secondary{background:#f1f5f9;color:#111}.modal h3{font-size:20px;font-weight:600;margin-bottom:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.page-container{margin-left:40px;padding:5px}.participant-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.page-container h2{color:#065f46}.btn-primary{background:linear-gradient(135deg,#10b981,#059669)}.btn-primary:hover{background:linear-gradient(135deg,#059669,#047857)}.form-card input:focus,.form-card textarea:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98140}.styled-table thead{background:#065f46}.styled-table th{color:#ecfdf5}.styled-table tr:hover td{background:#ecfdf5}.btn-link{color:#059669}.page-container{background:#f5f7fb;font-family:Inter,sans-serif;margin-left:240px;padding:25px}.page-container h2{color:#92400e;font-size:26px;font-weight:700;margin-bottom:20px}.page-header{margin-bottom:20px}.page-header h2{margin:0}.btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;text-decoration:none;transition:.2s}.btn-primary:hover{background:linear-gradient(135deg,#d97706,#b45309)}.btn-primary:active{transform:scale(.98)}.form-card{background:#fff;border-radius:14px;box-shadow:0 6px 16px #0000000f;display:flex;flex-direction:column;gap:14px;max-width:520px;padding:22px 24px}.form-card label{color:#374151;font-size:14px;font-weight:600}.form-card input,.form-card textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:9px;font-size:14px;outline:none;padding:10px 12px;transition:.2s;width:100%}.form-card textarea{min-height:90px;resize:vertical}.form-card input:focus,.form-card textarea:focus{background:#fff;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b40}.form-card input[type=file]{background:#0000;padding:8px 0}.styled-table{background:#fff;border-collapse:collapse;border-radius:14px;box-shadow:0 4px 14px #0000000f;font-size:14px;margin-top:10px;overflow:hidden;width:100%}.styled-table thead{background:#92400e}.styled-table th{color:#fffbeb;font-weight:600;padding:11px 12px;text-align:left}.styled-table td{border-bottom:1px solid #e5e7eb;color:#111827;padding:11px 12px;vertical-align:middle}.styled-table tr:nth-child(2n) td{background:#f9fafb}.styled-table tr:hover td{background:#fffbeb}.empty-text,.loading-text{color:#6b7280;font-size:15px;margin-top:15px;text-align:center}.badge{border-radius:999px;font-size:11px;padding:4px 9px}.badge-muted{background:#e5e7eb;color:#4b5563}.truncate-text{display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-link{color:#b45309;font-size:13px;font-weight:600;text-decoration:none}.btn-link:hover{text-decoration:underline}.btn-danger-outline{background:#0000;border:1.5px solid #ef4444;border-radius:8px;color:#b91c1c;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:.2s}.btn-danger-outline:hover{background:#ef4444;color:#fff}@media (max-width:768px){.page-container{margin-left:0;padding:15px}.form-card{max-width:100%}.styled-table td,.styled-table th{padding:8px}.truncate-text{max-width:170px}}.tsd-wrap{padding:94px}.tsd-title{color:#1f2937;font-size:22px;font-weight:700;margin:0 0 18px}.tsd-filter{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 18px #0000000a;margin-bottom:18px;padding:16px}.tsd-filter label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.tsd-filter input[type=month]{background:#fff;border:1px solid #d1d5db;border-radius:10px;max-width:100%;outline:none;padding:10px 12px;width:260px}.tsd-note{color:#6b7280;font-size:12px;margin-top:8px}.tsd-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(200px,1fr));margin-bottom:18px}@media (max-width:900px){.tsd-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}}@media (max-width:600px){.tsd-grid{grid-template-columns:1fr}}.tsd-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 6px 18px #0000000a;padding:16px;position:relative}.tsd-card h3{color:#374151;font-size:14px;font-weight:700;margin:0 0 10px}.tsd-card p{color:#111827;font-size:28px;font-weight:800;margin:0}.tsd-card.pending{border-left:6px solid #f59e0b}.tsd-card.paid{border-left:6px solid #22c55e}.tsd-card.total{border-left:6px solid #3b82f6}.tsd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.tsd-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;padding:10px 14px;text-decoration:none;transition:.15s ease}.tsd-btn.primary{background:#2563eb;color:#fff}.tsd-btn.primary:hover{background:#1d4ed8}.tsd-btn.secondary{background:#f3f4f6;border:1px solid #e5e7eb;color:#111827}.tsd-btn.secondary:hover{background:#e5e7eb}.salary-container{animation:fadeIn .3s ease;background:#f6f7fb;margin-left:160px;min-height:100vh;padding:40px 50px;padding:30px}.page-title{font-size:24px;margin-bottom:20px}.salary-table{box-shadow:0 5px 20px #0000000d}.salary-table td,.salary-table th{border-bottom:1px solid #eee;padding:14px;text-align:left}.salary-table th{background:#f7f7f7}.salary-amount{font-weight:700}.no-data{color:#777;padding:20px}.btn-undo{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px}.btn-undo:hover{background:#e68900}.salary-filter{background:#fff;border:1px solid #eef1f6;border-radius:14px;box-shadow:0 8px 20px #0f172a0f;margin-bottom:24px;max-width:360px;padding:18px 22px}.salary-filter label{color:#394160;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.salary-filter input[type=month]{background:#f8f9ff;border:1px solid #d4d7e3;border-radius:10px;font-size:14px;padding:10px 14px;transition:.25s;width:100%}.salary-filter input[type=month]:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef1f}.salary-filter-note{color:#9ca3af;font-size:12px;margin-top:6px}.salary-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.salary-card{background:#fff;border:1px solid #eef1f6;border-radius:18px;box-shadow:0 10px 28px #0f172a14;padding:22px 24px;transition:transform .2s ease,box-shadow .2s ease}.salary-card:hover{box-shadow:0 16px 36px #0f172a1f;transform:translateY(-4px)}.salary-card h3{color:#64748b;font-size:15px;font-weight:600;margin-bottom:10px}.salary-card p{color:#0f172a;font-size:28px;font-weight:700}.salary-card.pending{border-left:4px solid #f59e0b}.salary-card.paid{border-left:4px solid #22c55e}.salary-card.generate{border-left:4px solid #3b82f6}.salary-card.generate .btn{margin-top:14px}.salary-links{display:flex;flex-wrap:wrap;gap:14px}.link-btn{align-items:center;background:#4c57ef;border-radius:999px;box-shadow:0 8px 18px #4c57ef59;color:#fff;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 18px;text-decoration:none;transition:.2s ease}.link-btn:hover{background:#3f47da;transform:translateY(-1px)}.btn{background:#4c57ef;color:#fff}@media (max-width:900px){.salary-container{margin-left:0;padding:24px 18px}.page-title{font-size:24px}.form-box{width:100%}}.page-title{color:#232a4e;font-size:30px;font-weight:700;margin-bottom:25px}.form-box{background:#fff;border:1px solid #eef1f6;border-radius:16px;box-shadow:0 8px 25px #00000012;margin-bottom:35px;padding:25px 30px;width:380px}.form-box label{color:#394160;display:block;font-size:15px;font-weight:600;margin-bottom:6px}.form-box input[type=month]{background:#f8f9ff;border:1px solid #d4d7e3;border-radius:10px;font-size:15px;padding:12px 15px;transition:.25s;width:100%}.form-box input[type=month]:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 3px #4c57ef1f}.salary-table{background:#fff;border:1px solid #edf0f6;border-collapse:collapse;border-radius:16px;box-shadow:0 8px 30px #0000000f;overflow:hidden;width:100%}.salary-table th{background:#f3f4fa;color:#30395c;font-size:14px;font-weight:600;padding:16px 20px;text-align:left}.salary-table td{border-bottom:1px solid #eef0f4;color:#333;font-size:15px;padding:16px 20px}.salary-table tr:last-child td{border-bottom:none}.salary-table tbody tr:hover{background:#f9f9ff}.paid{color:#16a34a}.paid,.pending{font-weight:700}.pending{color:#e67e22}.btn{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:.25s ease}.btn.small{font-size:13px;padding:7px 14px}.btn.success{background:#4c57ef;color:#fff}.btn.success:hover{background:#3e46d8}.btn.secondary{background:#e5e5e5;color:#555;cursor:not-allowed}@media (max-width:768px){.salary-container{margin-left:0;padding:20px}.form-box{width:100%}.salary-table{font-size:14px}}.staff-page{padding:124px 128px}.staff-header-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.staff-title{color:#333;font-size:24px;font-weight:700}.staff-subtitle{color:#6b7280;font-size:14px;margin-top:4px}.btn-primary{background:linear-gradient(90deg,#4c57ef,#6b74ff);border-radius:999px;box-shadow:0 8px 18px #4c57ef4d;font-size:14px;padding:10px 18px;transition:.2s ease}.btn-primary:hover{box-shadow:0 10px 22px #4c57ef66;transform:translateY(-1px)}.staff-add-btn{align-items:center;display:inline-flex;justify-content:center}.staff-actions{display:flex;gap:8px}.btn-danger-ghost,.btn-ghost,.btn-ghost-secondary,.btn-ghost-success{background:#f9fafb;border:1px solid #0000;border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:.2s}.btn-ghost{border-color:#e5e7eb;color:#374151}.btn-ghost:hover{background:#eef2ff;border-color:#4c57ef;color:#111827}.btn-danger-ghost{border-color:#fee2e2;color:#b91c1c}.btn-danger-ghost:hover{background:#fee2e2}.btn-ghost-success{border-color:#bbf7d0;color:#166534}.btn-ghost-success:hover{background:#dcfce7}.btn-ghost-secondary{border-color:#e5e7eb;color:#374151}.btn-ghost-secondary:hover{background:#e5e7eb}.staff-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.staff-filter-select,.staff-search-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;font-size:14px;min-width:220px;outline:none;padding:10px 12px;transition:.2s}.staff-filter-select:focus,.staff-search-input:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 2px #4c57ef26}.staff-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 24px #0f172a0f;overflow:hidden}.staff-table{border-collapse:collapse;width:100%}.staff-table thead{background:#f3f4ff}.staff-table td,.staff-table th{border-bottom:1px solid #f1f5f9;font-size:14px;padding:12px 18px;text-align:left}.staff-table th{color:#4b5563;font-weight:600}.staff-table tbody tr:hover{background:#f9fafb}.no-data{color:#9ca3af;padding:18px!important}.staff-avatar{border-radius:999px;height:44px;object-fit:cover;width:44px}.staff-avatar.placeholder{align-items:center;background:linear-gradient(135deg,#4c57ef,#6b74ff);color:#fff;display:inline-flex;font-size:18px;font-weight:700;justify-content:center}.staff-name{color:#111827;font-weight:600;margin-bottom:2px}.staff-role{color:#6b7280;font-size:12px}.staff-form-wrapper{margin-top:12px;max-width:960px}.staff-form{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 30px #0f172a0f;padding:32px 32px 28px}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1 1}.form-group{margin-bottom:18px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline:none;padding:11px 13px;transition:.2s;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 2px #4c57ef26}.btn-submit{background:linear-gradient(90deg,#4c57ef,#6b74ff);padding:13px}.btn-submit:hover{box-shadow:0 10px 24px #4c57ef59}.staff-upload-box{align-items:center;background:#f3f4ff;border:2px dashed #c7d2fe;border-radius:18px;cursor:pointer;display:flex;height:200px;justify-content:center;margin:0 auto 24px;position:relative;transition:.2s;width:200px}.staff-upload-box:hover{background:#eef2ff;border-color:#4c57ef}.upload-inner{text-align:center}.upload-title{color:#111827;font-size:14px;font-weight:600}.upload-hint{color:#6b7280;font-size:12px;margin:4px 0 8px}.upload-btn{background:#4c57ef;border-radius:999px;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:500;padding:7px 14px}.preview-image{border-radius:18px;height:100%;object-fit:cover;width:100%}.staff-salary-filters{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 18px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#6b7280;font-size:12px;font-weight:600}.filter-group select{background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;font-size:14px;min-width:150px;outline:none;padding:9px 11px;transition:.2s}.filter-group select:focus{background:#fff;border-color:#4c57ef;box-shadow:0 0 0 2px #4c57ef26}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:4px 10px}.status-pill.paid{background:#dcfce7;color:#166534}.status-pill.unpaid{background:#fee2e2;color:#b91c1c}@media (max-width:768px){.staff-page{padding:18px 14px}.staff-form{padding:22px 16px}.staff-header-row,.staff-salary-filters{align-items:flex-start;flex-direction:column}}.btn-warning-ghost{background:#0000;border:none;color:#ff9800;cursor:pointer}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{background:#fff;border-radius:12px;padding:20px;width:320px}.mess-page{padding:74px}.filter-bar,.mess-page h2{margin-bottom:20px}.filter-bar{display:flex;gap:12px}.filter-bar input,.filter-bar select{border:1px solid #ccc;border-radius:6px;min-width:180px;padding:8px 12px}.mess-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.mess-card{background:#fff;border-radius:10px;box-shadow:0 6px 18px #0000000f;padding:16px;transition:transform .2s ease}.mess-card:hover{transform:translateY(-4px)}.mess-header{align-items:center;display:flex;justify-content:space-between}.mess-card h4{margin:0}.badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 10px}.badge.paid{background:#e6f9ee;color:#1e8e3e}.badge.pending{background:#fff0e6;color:#d35400}.veg{color:#2ecc71}.nonveg,.veg{font-weight:600}.nonveg{color:#e74c3c}.price{font-size:18px;font-weight:700;margin-top:10px}.empty{color:#777;margin-top:40px}.addon-wrapper{background-color:#f8f9fb;color:#1f2937;font-family:Inter,Segoe UI,sans-serif;margin:0 auto;max-width:1000px;padding:80px 12px}.addon-title{color:#111827;font-size:28px;margin-bottom:30px;position:relative}.addon-title:after{background:linear-gradient(90deg,#6366f1,#3b82f6);border-radius:2px;content:"";display:block;height:4px;margin-top:10px;width:50px}.addon-filters{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:32px}.addon-filters select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000d;color:#374151;font-size:14px;min-width:200px;padding:12px 14px;transition:all .2s ease}.addon-filters select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133;outline:none}.btn-apply{background:linear-gradient(135deg,#6366f1,#3b82f6);border:none;border-radius:10px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 18px;transition:all .3s ease}.btn-apply:hover{background:linear-gradient(135deg,#4f46e5,#2563eb)}.addon-card-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.addon-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border:1px solid #e5e7eb99;border-radius:20px;box-shadow:0 10px 30px #0000000f;padding:20px;transition:transform .25s ease,box-shadow .3s ease}.addon-card:hover{box-shadow:0 14px 35px #0000001a;transform:translateY(-5px)}.addon-card div{color:#374151;font-size:15px;margin-bottom:8px}.addon-card b{color:#111827;font-weight:600;margin-right:6px}.amount{color:#10b981;font-size:20px;font-weight:700;margin-top:12px}.delete-btn{align-items:center;background:#ef4444;border-radius:50%;box-shadow:0 2px 8px #ef44444d;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;right:12px;top:12px;transition:background .3s ease,transform .2s ease;width:30px}.delete-btn:hover{background-color:#dc2626;transform:scale(1.05)}.empty{color:#6b7280;font-size:16px;font-style:italic;grid-column:1/-1;padding:40px;text-align:center}.addon-page{animation:addonFadeIn .3s ease;padding:10px 30px 30px 150px}.addon-card-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:16px}.addon-card{background:#fff;border-radius:14px;box-shadow:0 8px 24px #0000000f;padding:16px;position:relative}.addon-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px}.addon-row .label{color:#666;font-weight:600}.addon-amount{color:#111;font-size:16px;font-weight:700;margin-top:10px}.addon-delete-btn{background:#ff4d4f;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;height:28px;line-height:1;position:absolute;right:10px;top:10px;width:28px}.addon-delete-btn:hover{background:#d9363e}.empty-text{color:#777;margin-top:40px}.addon-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.addon-title{color:#1a237e;font-size:26px;font-weight:700}.addon-subtitle{color:#6b7280;font-size:14px}.addon-header .addon-btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:999px;box-shadow:0 10px 20px #4f46e540;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:.2s}.addon-header .addon-btn-primary:hover{box-shadow:0 14px 26px #4f46e559;transform:translateY(-1px)}.addon-table{background:#fff;border-collapse:collapse;border-radius:18px;box-shadow:0 14px 40px #0f172a14;overflow:hidden;width:100%}.addon-table thead{background:linear-gradient(135deg,#eef2ff,#e0f2fe)}.addon-table td,.addon-table th{font-size:14px;padding:12px 16px;text-align:left}.addon-table th{border-bottom:1px solid #e5e7eb;color:#111827;font-weight:700}.addon-table tbody tr:nth-child(2n){background:#f9fafb}.addon-table tbody tr:hover{background:#eef2ff}.btn-delete{background:#ef4444;border-radius:999px;box-shadow:0 8px 18px #ef444459;font-weight:500;padding:6px 12px;transition:.2s}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.addon-table .no-data-row td{color:#9ca3af;font-size:15px;padding:22px 16px;text-align:center}.addon-form{background:radial-gradient(circle at top left,#eef2ff 0,#fff 40%,#f1f5f9 100%);border:1px solid #94a3b866;border-radius:18px;box-shadow:0 16px 44px #0f172a1f;display:flex;flex-direction:column;gap:14px;margin-top:20px;max-width:620px;padding:24px 26px}.addon-form label{color:#374151;font-size:13px;font-weight:600;margin-bottom:4px}.addon-form input,.addon-form select{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline:none;padding:11px 12px;transition:.2s;width:100%}.addon-form input:focus,.addon-form select:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e540}.btn-submit{background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:12px;box-shadow:0 14px 30px #4f46e559;font-size:15px;font-weight:600;margin-top:10px;padding:12px 16px;transition:.2s}.btn-submit:hover{box-shadow:0 18px 38px #4f46e573;transform:translateY(-1px)}.addon-chip{align-items:center;background:#818cf824;border-radius:999px;color:#312e81;display:inline-flex;font-size:11px;font-weight:500;padding:3px 9px}@media (max-width:768px){.addon-page{padding:18px}.addon-title{font-size:22px}.addon-form{padding:18px 16px}.addon-table td,.addon-table th{padding:10px 12px}}@keyframes addonFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.inventory-page{animation:fadeIn .3s ease;padding:110px 40px}.inv-title,.inventory-title{color:#1d3557;font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:10px}.inv-sub{color:#6c757d;font-size:15px;margin-bottom:20px}.inv-stats-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:25px 0}.inv-card{border-radius:18px;box-shadow:0 12px 32px #0000002e;color:#fff;font-weight:600;padding:24px;transition:.25s ease}.inv-card:hover{transform:translateY(-6px)}.inv-card.purple{background:linear-gradient(135deg,#7b2ff7,#f107a3)}.inv-card.blue{background:linear-gradient(135deg,#1d8cf8,#3358f4)}.inv-card.green{background:linear-gradient(135deg,#00c9a7,#009f79)}.inv-card.red{background:linear-gradient(135deg,#ff416c,#ff4b2b)}.inventory-search{background:#fafafa;border:1px solid #dcdcdc;border-radius:12px;font-size:15px;margin-bottom:25px;outline:none;padding:14px 16px;transition:.3s ease;width:100%}.inventory-search:focus{border-color:#4a6cf7;box-shadow:0 0 0 2px #4a6cf72e}.inventory-list{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.inventory-card{background:#fff;border:1px solid #ececec;border-radius:16px;box-shadow:0 8px 24px #00000014;cursor:pointer;padding:22px;transition:.25s ease}.inventory-card:hover{border-color:#4a6cf7;box-shadow:0 12px 32px #0000001f;transform:translateY(-5px)}.inventory-card h3{color:#273c75;font-size:18px;font-weight:700;margin-bottom:12px}.inventory-card p{color:#4b4b4b;font-size:14px;margin:4px 0}.category-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.category-card{background:#fff;border:1px solid #ececec;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:20px;position:relative;transition:.25s ease}.category-card:hover{box-shadow:0 10px 30px #0000001f;transform:translateY(-5px)}.category-name{color:#34495e;font-size:18px;font-weight:700}.delete-btn{background:#ff4b4b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;position:absolute;right:14px;top:14px;transition:.2s ease}.delete-btn:hover{background:#d73838}.inv-table-wrapper{margin-top:25px;overflow-x:auto}.inv-table{background:#fff;border-collapse:collapse;border-radius:16px;box-shadow:0 8px 22px #0000000f;overflow:hidden;width:100%}.inv-table th{background:#f5f6fa;color:#333;font-size:14px;font-weight:700;padding:14px}.inv-table td{border-bottom:1px solid #eee;font-size:15px;padding:14px}.btn-delete,.inv-delete{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:.2s}.btn-delete:hover,.inv-delete:hover{background:#d73838}.btn-add,.inv-add-btn{background:linear-gradient(135deg,#7b2ff7,#4a00e0);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;padding:12px 20px;transition:.25s ease}.btn-add:hover,.inv-add-btn:hover{box-shadow:0 6px 20px #4b00e040;transform:translateY(-2px)}.inventory-form,.inventory-form-page{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffa6;border:1px solid #ffffff73;border-radius:18px;box-shadow:0 12px 32px #0000001f;margin:25px auto;max-width:520px;padding:28px}.inv-form label,.inventory-form label{color:#1d3557;display:block;font-size:15px;font-weight:700;margin-bottom:6px}.inv-form input,.inventory-form input{background:#f7f7f7;border:none;border-radius:12px;font-size:15px;margin-bottom:18px;padding:14px;transition:.2s;width:100%}.inv-form input:focus,.inventory-form input:focus{box-shadow:0 0 0 3px #4a6cf740;outline:none}.btn-submit,.inv-submit{background:linear-gradient(135deg,#7b2ff7,#4a00e0);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px;transition:.25s;width:100%}.btn-submit:hover,.inv-submit:hover{box-shadow:0 6px 22px #0000002e;transform:translateY(-3px)}.no-data{color:#999;padding:40px 0}.inventory-page{animation:fadeIn .25s ease;font-family:Inter,sans-serif;padding:110px 140px}.inventory-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.inventory-title{color:#1d3557;font-size:28px;font-weight:800;letter-spacing:-.6px}.btn-add{background:linear-gradient(135deg,#27ae60,#1e8449);box-shadow:0 4px 10px #27ae6040;transition:.2s ease}.btn-add:hover{box-shadow:0 6px 16px #27ae6059;transform:translateY(-2px)}.inventory-table{border-spacing:0 12px;width:100%}.inventory-table th{background:#0000;color:#6c757d;font-size:15px;font-weight:600;padding:12px 10px;text-align:left}.inventory-table tbody tr{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa6;border-radius:14px;box-shadow:0 6px 20px #00000014;overflow:hidden}.inventory-table td{color:#1d3557;font-size:15px;font-weight:500;padding:16px 14px}.btn-delete{background:#ff4b4b;border-radius:8px;box-shadow:0 4px 14px #ff4b4b40;font-size:13px;font-weight:600;padding:8px 16px;transition:.2s ease}.btn-delete:hover{background:#d73838;transform:translateY(-2px)}.inventory-form{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff9;border:1px solid #fff6;border-radius:18px;box-shadow:0 10px 30px #0000001f;margin-top:20px;max-width:480px;padding:30px}.inventory-form label{color:#1d3557;display:block;font-size:15px;font-weight:700;margin-bottom:6px}.inventory-form input{background:#fff;border:1px solid #dcdcdc;border-radius:10px;font-size:15px;margin-bottom:18px;padding:13px;transition:.2s ease;width:100%}.inventory-form input:focus{border-color:#457b9d;box-shadow:0 0 0 2px #457b9d40;outline:none}.btn-submit{background:linear-gradient(135deg,#457b9d,#1d3557);border:none;border-radius:10px;box-shadow:0 5px 20px #1d355740;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px;transition:.2s ease;width:100%}.btn-submit:hover{transform:translateY(-2px)}.no-data{color:#6c757d;font-size:16px;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.school-pages-wrapper{background:#f4f7fc;padding:68px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.page-header h2{color:#1f2937;font-size:22px;font-weight:700;letter-spacing:.4px}.btn-add{box-shadow:0 8px 18px #4a6cf759;padding:10px 18px}.btn-add:hover{box-shadow:0 12px 24px #4a6cf773}.page-layout{grid-gap:12px;display:grid;gap:12px;grid-template-columns:280px 1fr}.page-list{background:linear-gradient(180deg,#fff,#f8faff);border-radius:16px;box-shadow:0 14px 32px #0000000f;padding:18px}.page-list h3{color:#374151;font-size:16px;font-weight:700;margin-bottom:14px}.page-item{align-items:center;border-bottom:1px dashed #e5e7eb;color:#1f2937;display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.page-item:last-child{border-bottom:none}.btn-edit{background:linear-gradient(135deg,#2196f3,#42a5f5);border:none;border-radius:10px;box-shadow:0 6px 14px #2196f359;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .25s ease}.btn-edit:hover{transform:translateY(-1px)}.badge-new{background:linear-gradient(135deg,#ff9800,#ffb74d);border-radius:999px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px}.page-editor{background:linear-gradient(180deg,#fff,#f9fbff);border-radius:18px;box-shadow:0 18px 36px #00000014;padding:22px}.page-editor label{color:#374151;display:block;font-size:14px;font-weight:700;margin-bottom:6px;margin-top:14px}.page-editor input,.page-editor select,.page-editor textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;font-size:14px;padding:11px 14px;transition:all .2s ease;width:100%}.page-editor textarea{resize:vertical}.page-editor input:focus,.page-editor select:focus,.page-editor textarea:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71f;outline:none}.btn-save{background:linear-gradient(135deg,#673ab7,#8e5ce6);border:none;border-radius:14px;box-shadow:0 10px 24px #673ab759;color:#fff;cursor:pointer;font-size:15px;font-weight:700;margin-top:18px;padding:12px;transition:all .25s ease;width:100%}.btn-save:hover{transform:translateY(-1px)}.btn-save:disabled{cursor:not-allowed;opacity:.7}@media (max-width:900px){.page-layout{grid-template-columns:1fr}}.gallery-card{background:linear-gradient(180deg,#fff,#f8faff);border-radius:18px;box-shadow:0 18px 40px #0000000f;padding:70px}.folder-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.folder-card{background:#fff;border-radius:12px;box-shadow:0 6px 14px #0000000f;cursor:pointer;padding:20px;text-align:center}.folder-card:hover{transform:translateY(-2px)}.btn-back{background:none;color:#2563eb;font-weight:600;margin-bottom:14px}.btn-back,.btn-delete{border:none;cursor:pointer}.btn-delete{background:#0009;border-radius:6px;color:#fff;font-size:12px;padding:4px 6px;position:absolute;right:6px;top:6px}.btn-delete:hover{background:#e53935}.gallery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.gallery-header h2{color:#1f2937;font-size:20px;font-weight:700;letter-spacing:.3px}.btn-add{background:linear-gradient(135deg,#4a6cf7,#6e8bff);border:none;border-radius:10px;box-shadow:0 6px 14px #4a6cf759;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .25s ease}.btn-add:hover{box-shadow:0 10px 20px #4a6cf773;transform:translateY(-1px)}.gallery-form{background:#f9fbff;border:1px dashed #dbe3ff;border-radius:14px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:14px}.gallery-form input,.gallery-form input[type=file],.gallery-form input[type=text]{background:#fff;border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:10px}.gallery-form input:focus{border-color:#4a6cf7;outline:none}.gallery-form button{background:linear-gradient(135deg,#16a34a,#22c55e);border:none;border-radius:10px;box-shadow:0 6px 14px #22c55e59;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .25s ease}.gallery-form button:hover{transform:translateY(-1px)}.gallery-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:10px}.gallery-item{background:#fff;border-radius:18px;box-shadow:0 12px 26px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.gallery-item:hover{box-shadow:0 20px 38px #00000024;transform:translateY(-4px)}.gallery-item img{display:block;height:190px;object-fit:cover;width:100%}.gallery-item p{background:linear-gradient(0deg,#000000b3,#0000);bottom:0;color:#fff;font-size:13px;margin:0;padding:10px 12px;position:absolute;width:100%}.empty-text,.gallery-item p{font-weight:500;text-align:center}.empty-text{color:#6b7280;font-size:15px;grid-column:1/-1;padding:40px 0}:root{--bg-main:#f6f8fc;--bg-card:#fff;--bg-glass:#ffffffc7;--border-soft:#0000000f;--primary:#4f46e5;--primary-dark:#4338ca;--success:#16a34a;--danger:#dc2626;--text-main:#0f172a;--text-muted:#64748b;--radius-lg:16px;--radius-md:12px;--shadow-soft:0 10px 30px #0000000f;--shadow-hover:0 14px 40px #4f46e526}.school-layout,.school-layout .container,.school-layout main{max-width:100%!important;width:100%!important}body{background:#f6f8fc;background:var(--bg-main)}.teacher-page{max-width:100%;padding:24px;width:100%}.teacher-split{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(620px,42%) 1fr;min-height:calc(100vh - 120px)}.btn-secondary{color:#4f46e5;color:var(--primary);font-size:14px;font-weight:500;text-decoration:none}.teacher-table{border-collapse:collapse;font-size:14px;width:100%}.teacher-table td:first-child,.teacher-table th:first-child{width:35%}.teacher-table td:nth-child(2),.teacher-table th:nth-child(2){width:45%}.teacher-table td:nth-child(3),.teacher-table th:nth-child(3){width:20%}.teacher-table td,.teacher-table th{border-bottom:1px solid #0000000f;border-bottom:1px solid var(--border-soft);line-height:1.35;padding:14px 18px;vertical-align:middle}.teacher-table td:first-child{font-weight:500;white-space:nowrap}.teacher-table td:nth-child(2){color:#475569;font-size:13px;overflow-wrap:break-word;white-space:normal;word-break:normal}.teacher-table td:nth-child(3){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.click-row{cursor:pointer;transition:background .25s ease}.click-row:hover{background:#4f46e50f}.click-row.active{background:linear-gradient(90deg,#4f46e529,#4f46e50a);border-left:5px solid #4f46e5;border-left:5px solid var(--primary)}.no-data{color:#64748b;color:var(--text-muted);padding:40px;text-align:center}.right-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;background:var(--bg-glass);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000000f;box-shadow:var(--shadow-soft);padding:28px}.empty-details{align-items:center;color:#64748b;color:var(--text-muted);display:flex;font-size:16px;height:100%;justify-content:center}.right-panel h3{font-size:22px;font-weight:700;margin-bottom:14px}.right-panel p{font-size:14px;margin:6px 0}.stat-card{background:#f8fafc;border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:12px;border-radius:var(--radius-md);margin-top:18px;padding:18px}.green{color:#16a34a;color:var(--success)}.green,.red{font-weight:600}.red{color:#dc2626;color:var(--danger)}.btn-primary{background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;margin-top:26px;padding:12px 18px;transition:.25s ease}.btn-primary:hover{box-shadow:0 14px 40px #4f46e526;box-shadow:var(--shadow-hover);transform:translateY(-2px)}@media (max-width:1100px){.teacher-container.split{grid-template-columns:1fr}.left-panel{max-height:420px;overflow-y:auto}}.transport-list-page{background:linear-gradient(135deg,#eef2ff,#f8fafc);min-height:100vh;padding:60px}.bus-actions{display:flex;gap:10px;justify-content:space-between;margin-top:18px}.delete-btn,.edit-btn,.view-btn{border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;padding:8px 10px;text-align:center;text-decoration:none;transition:.2s ease}.view-btn{background:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5}.view-btn:hover{background:#4f46e5;color:#fff}.edit-btn{background:#e0f2fe;border:1px solid #bae6fd;color:#0284c7}.edit-btn:hover{background:#0284c7;color:#fff}.delete-btn{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.delete-btn:hover{background:#dc2626;color:#fff}.transport-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:40px}.transport-list-header h2{font-size:26px;font-weight:700}.transport-list-header p{color:#6b7280;margin-top:6px}.add-bus-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;color:#fff;font-weight:600;padding:12px 22px;text-decoration:none;transition:.3s ease}.add-bus-btn:hover{opacity:.9}.bus-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.bus-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000000f;padding:25px;transition:.3s ease}.bus-card:hover{box-shadow:0 15px 40px #0000001a;transform:translateY(-6px)}.bus-card-top{align-items:center;display:flex;justify-content:space-between}.bus-card-top h3{font-size:20px;font-weight:700}.route-name{color:#6b7280;margin:10px 0 20px}.status-badge{border-radius:30px;font-size:12px;font-weight:600;padding:6px 12px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#7f1d1d}.seat-progress{margin-bottom:20px}.progress-bar{background:#e5e7eb;border-radius:20px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(135deg,#6366f1,#4f46e5);height:100%;transition:width .4s ease}.driver-section span{color:#6b7280;font-size:12px}.driver-section strong{display:block;font-size:15px;margin-top:4px}.driver-section small{color:#6b7280;display:block;margin-top:2px}.view-details-btn{background:#111827;border-radius:12px;color:#fff;display:inline-block;font-weight:600;margin-top:20px;padding:10px 18px;text-decoration:none;transition:.3s ease}.view-details-btn:hover{opacity:.85}.empty-box,.loading-box{background:#fff;border-radius:20px;box-shadow:0 5px 20px #0000000d;padding:50px;text-align:center}.add-bus-page{background:linear-gradient(135deg,#eef2ff,#f8fbff);display:flex;justify-content:center;min-height:100vh;padding:50px}.add-bus-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #00000014;max-width:950px;padding:40px;width:100%}.add-bus-header h2{color:#1f2937;font-size:26px;font-weight:700;margin-bottom:8px}.add-bus-header p{color:#6b7280;margin-bottom:30px}.form-section{margin-bottom:35px}.form-section h3{border-left:4px solid #4f46e5;color:#4f46e5;font-size:18px;font-weight:600;margin-bottom:18px;padding-left:10px}.form-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.add-bus-card input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;padding:12px 14px;transition:.3s}.add-bus-card input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.save-bus-btn{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:20px;padding:14px;transition:.3s;width:100%}.save-bus-btn:hover{box-shadow:0 10px 20px #4f46e54d;transform:translateY(-2px)}.save-bus-btn:disabled{cursor:not-allowed;opacity:.6}.transport-detail-page{background:linear-gradient(135deg,#eef2ff,#f6f9ff);min-height:100vh;padding-left:60px}.transport-detail-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9;border-radius:20px;box-shadow:0 15px 40px #0000000d;display:flex;justify-content:space-between;margin-bottom:30px;padding:25px 30px}.bus-extra-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:30px}.info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #fff9;border-radius:18px;box-shadow:0 10px 25px #0000000f;padding:22px;transition:.3s ease}.info-card:hover{box-shadow:0 14px 30px #00000014;transform:translateY(-5px)}.info-card span{color:#6b7280;display:block;font-size:13px;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.info-card strong{color:#111827;font-size:20px;font-weight:700}.info-card.status.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #34d399}.info-card.status.active strong{color:#065f46}.info-card.status.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #f87171}.info-card.status.inactive strong{color:#7f1d1d}.route-name{color:#6c757d}.route-info{align-items:center;display:flex;gap:20px}.route-info span{color:#999;font-size:12px}.route-info strong{display:block}.arrow{font-size:20px;font-weight:700}.seat-summary{display:flex;gap:20px;margin-bottom:30px}.summary-card{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000000d;flex:1 1;padding:20px;text-align:center}.summary-card h3{font-size:24px;margin:0}.summary-card.occupied{border-left:5px solid #ff4d4f}.summary-card.free{border-left:5px solid #52c41a}.premium-seat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.premium-seat{border-radius:16px;cursor:pointer;font-weight:600;padding:18px;text-align:center;transition:.3s}.free-seat{background:linear-gradient(135deg,#e6f7ff,#fff);border:1px solid #91d5ff}.free-seat:hover{box-shadow:0 8px 20px #1890ff33;transform:translateY(-4px)}.occupied-seat{background:linear-gradient(135deg,#fff1f0,#fff);border:1px solid #ffccc7;cursor:not-allowed}.seat-number{font-size:18px}.seat-student{color:#666;font-size:12px;margin-top:6px}.premium-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed}.premium-modal{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0003;padding:30px;width:400px}.premium-modal select{border:1px solid #ddd;border-radius:10px;margin-top:20px;padding:12px;width:100%}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.btn-cancel{background:#f5f5f5}.btn-allocate,.btn-cancel{border:none;border-radius:8px;padding:10px 18px}.btn-allocate{background:linear-gradient(135deg,#6a11cb,#2575fc);color:#fff}.tt-page{padding:74px}.tt-title{font-size:22px;font-weight:700;margin-bottom:18px}.tt-grid-wrapper{overflow-x:auto}.tt-grid{border-collapse:collapse;margin-top:16px;width:100%}.tt-grid td,.tt-grid th{border:1px solid #ddd;padding:10px;text-align:center;vertical-align:top}.tt-grid th{background:#f4f6fa;font-weight:700}.tt-day{background:#fafafa}.tt-cell{min-width:120px}.tt-teacher{color:#555}.tt-time{color:#888;font-size:11px}.tt-empty{color:#bbb}.tt-form{background:#fff;border-radius:16px;box-shadow:0 10px 25px #00000014;max-width:420px;padding:22px}.tt-form label{display:block;font-weight:600;margin-top:12px}.tt-form input,.tt-form select{border:1px solid #ddd;border-radius:10px;margin-top:6px;padding:10px;width:100%}.tt-btn{background:#4a6cf7;border-radius:14px;color:#fff;font-weight:700;margin-top:18px;padding:12px;width:100%}.tt-session-box button{background:#512da8;border:none;border-radius:16px;color:#fff;font-weight:700;margin-right:16px;padding:16px;width:220px}.tt-preview{margin-top:24px}.tt-row{background:#f4f6fb;border-radius:12px;margin-bottom:8px;padding:12px}.tt-session{background:#eef3ff;border-radius:6px;color:#4f73d9;display:inline-block;font-size:12px;font-weight:600;margin-top:6px;padding:4px 8px}.tt-cell{gap:4px}.tt-subject{color:#2a5298}.tt-teacher,.tt-time{font-size:12px}.tt-teacher{color:#999}.tt-page{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #0000000d;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:2rem auto;max-width:900px;padding:2rem}.tt-title{border-left:5px solid #4f46e5;color:#333;font-size:2rem;font-weight:600;margin-bottom:1.5rem;padding-left:.75rem}.tt-form{align-items:flex-end;gap:1rem;margin-bottom:2rem}.tt-form button,.tt-form select{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:.6rem 1rem;transition:all .3s ease}.tt-form button:focus,.tt-form select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133;outline:none}.tt-form select:disabled{cursor:not-allowed;opacity:.5}.tt-btn{background-color:#4f46e5;border:none;color:#0c0202;cursor:pointer;font-weight:500}.tt-btn:hover{background-color:#4338ca}.tt-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.5rem;transition:box-shadow .3s ease}.tt-preview:hover{box-shadow:0 4px 12px #0000000f}.tt-preview h3{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.tt-row{border-bottom:1px dashed #d1d5db;color:#374151;font-size:1rem;padding:.5rem 0}.tt-row:last-child{border-bottom:none}.tt-row b{color:#111827}.tt-page{background:linear-gradient(135deg,#eef2f7,#fff);min-height:100vh;overflow-x:auto;padding:10px 20px}.tt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.tt-header h2{font-size:28px;font-weight:600}.tt-btn,.tt-download-btn{background:#4f73d9;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 18px}.tt-btn:hover,.tt-download-btn:hover{background:#3657b3}.tt-form{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.tt-form select{border:1px solid #ddd;border-radius:8px;min-width:160px;padding:10px 15px}.tt-preview{background:#fff;border-radius:18px;box-shadow:0 12px 35px #00000014;min-width:1200px;padding:40px;width:100%}.tt-table{border-collapse:collapse;width:100%}.tt-table th{background:#f4f6fa;font-size:14px;font-weight:600}.tt-table td,.tt-table th{border:1px solid #e6e9f0;padding:14px}.tt-table td{text-align:center;vertical-align:middle}.tt-day{background:#f9fbff;font-weight:700;width:180px}.tt-cell{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:110px}.tt-subject{color:#4f73d9;font-weight:600}.tt-time{color:#666;font-size:13px}.tt-teacher{color:#888;font-size:13px}@media (max-width:1024px){.tt-page,.tt-preview{padding:20px}}@media print{.tt-download-btn,.tt-form{display:none}.tt-page{background:#fff;padding:0}.tt-preview{box-shadow:none}}
/*# sourceMappingURL=main.f8f728bb.css.map*/