.schedule-admin-page{max-width:1100px;margin:0 auto;padding:28px 24px;font-family:Inter,sans-serif}.schedule-admin-header{margin-bottom:28px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary-color, #9b8deb);font-size:.85rem;font-weight:600;text-decoration:none;margin-bottom:12px}.back-link:hover{opacity:.8}.schedule-admin-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 8px}.schedule-admin-subtitle{color:#64748b;font-size:.9rem;line-height:1.5;margin:0}.admin-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:.875rem}.admin-loading{display:flex;align-items:center;gap:12px;padding:60px;color:#64748b}.admin-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:#64748b;font-size:1rem}.admin-search-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-search{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:8px 14px;flex:1;max-width:400px}.admin-search input{border:none;outline:none;font-size:.875rem;width:100%;background:transparent}.admin-count{font-size:.82rem;color:#64748b;font-weight:600}.mapping-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.mapping-table{width:100%;border-collapse:collapse}.mapping-table th{background:#1e293b;color:#fff;font-size:.8rem;font-weight:600;padding:10px 14px;text-align:right}.mapping-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;font-size:.875rem;color:#1e293b;vertical-align:middle}.mapping-table tr:last-child td{border-bottom:none}.mapping-table tr.row-saved td{background:#f0fdf4}.cohort-badge{display:inline-block;padding:2px 10px;background:#eff6ff;color:#1d4ed8;border-radius:20px;font-size:.78rem;font-weight:600}.select-wrapper{position:relative;display:inline-block}.class-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:7px 32px 7px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;min-width:200px}.class-select:focus{border-color:var(--primary-color, #9b8deb)}.class-select:disabled{opacity:.5;cursor:not-allowed}.select-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#64748b}.toggle-wrap{display:flex;align-items:center;gap:6px;cursor:pointer}.toggle-label{font-size:.82rem;color:#64748b}.save-btn{padding:7px 18px;background:var(--primary-color, #9b8deb);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .2s,background .2s;white-space:nowrap}.save-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn:hover:not(:disabled){opacity:.85}.save-btn--saved{background:#22c55e}.admin-tabs{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px;margin-bottom:20px;width:fit-content}.admin-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer;color:#64748b;background:transparent;transition:background .15s,color .15s;position:relative}.admin-tab:hover{background:#e2e8f0;color:#1e293b}.admin-tab.active{background:#fff;color:var(--primary-color, #9b8deb);box-shadow:0 1px 4px #00000014}.admin-tab-badge{background:#ef4444;color:#fff;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:10px}.mapped-class-badge{display:inline-block;padding:2px 10px;background:#f0fdf4;color:#15803d;border-radius:20px;font-size:.78rem;font-weight:600;border:1px solid #bbf7d0}.mapping-table--links .class-select{min-width:140px;font-size:.82rem;padding:5px 28px 5px 8px}.col-save-sticky{position:sticky;left:0;background:#1e293b;z-index:3;width:64px;min-width:64px}.mapping-table tbody td.td-save-sticky{position:sticky;left:0;background:#fff;z-index:2;box-shadow:-2px 0 6px #00000012}.mapping-table tr.row-saved td.td-save-sticky{background:#f0fdf4}.mapping-table:not(.mapping-table--links) .class-select{min-width:120px;font-size:.82rem;padding:5px 26px 5px 6px}.events-list{display:flex;flex-direction:column;gap:14px}.event-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;box-shadow:0 1px 4px #0000000d}.event-card-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.event-date-badge{background:#1e293b;color:#fff;padding:4px 14px;border-radius:20px;font-size:.82rem;font-weight:700;flex-shrink:0}.event-content{font-size:1rem;font-weight:700;color:#1e293b;flex:1}.event-meta{display:flex;gap:8px;flex-wrap:wrap}.event-meta span{background:#f1f5f9;color:#475569;padding:2px 10px;border-radius:6px;font-size:.78rem}.event-month{background:#eff6ff!important;color:#1d4ed8!important}.event-scope-badge{background:#f0fdf4!important;color:#16a34a!important;font-weight:600!important}.event-affected-classes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.event-affected-label{font-size:.76rem;color:#64748b;font-weight:600;margin-left:4px}.event-affected-tag{background:#f8fafc;border:1px solid #e2e8f0;color:#374151;padding:2px 8px;border-radius:6px;font-size:.74rem}.event-card-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.event-type-select{display:flex;align-items:center;gap:8px}.event-type-select label{font-size:.82rem;color:#64748b;font-weight:600}.event-type-select select{padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.85rem;outline:none}.event-description input{padding:7px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.85rem;outline:none;min-width:220px;flex:1}.event-description input:focus{border-color:var(--primary-color, #9b8deb)}.event-actions{display:flex;gap:8px;margin-right:auto}.approve-btn,.reject-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.approve-btn{background:#22c55e;color:#fff}.reject-btn{background:#f1f5f9;color:#ef4444;border:1.5px solid #fecaca}.approve-btn:hover:not(:disabled),.reject-btn:hover:not(:disabled){opacity:.8}.approve-btn:disabled,.reject-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.schedule-admin-page{padding:16px 12px}.mapping-table-wrap{overflow-x:auto}.event-card-bottom{flex-direction:column;align-items:flex-start}.event-actions{margin-right:0;width:100%;justify-content:flex-end}.class-select{min-width:160px}}.events-page-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.events-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e2e8f0;padding-bottom:0}.events-tab{display:flex;align-items:center;gap:6px;padding:8px 18px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer;transition:color .15s}.events-tab:hover{color:#1e293b}.events-tab--active{color:var(--primary-color, #9b8deb);border-bottom-color:var(--primary-color, #9b8deb)}.tab-badge{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:99px}.tab-badge--warn{background:#fef3c7;color:#d97706}.approved-events-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.approved-events-table{width:100%;border-collapse:collapse;font-size:.875rem;direction:rtl}.approved-events-table th{background:#f8fafc;color:#475569;font-weight:700;font-size:.8rem;padding:10px 14px;border-bottom:2px solid #e2e8f0;text-align:right}.approved-events-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.approved-events-table tr:last-child td{border-bottom:none}.approved-events-table tr:hover td{background:#fafafa}.ev-date{font-weight:700;color:#1e293b;white-space:nowrap}.ev-content{font-weight:600;color:#1e293b}.ev-desc{color:#64748b;font-size:.82rem}.ev-actions{display:flex;gap:6px;justify-content:flex-end}.event-type-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;border:1.5px solid;background:transparent}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:7px;cursor:pointer;transition:background .15s,opacity .15s}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--edit{background:#6366f11a;color:#6366f1}.icon-btn--edit:hover:not(:disabled){background:#6366f133}.icon-btn--delete{background:#ef444414;color:#ef4444}.icon-btn--delete:hover:not(:disabled){background:#ef44442e}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-box{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;animation:modalIn .18s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-header h2{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0}.modal-close{background:#f1f5f9;border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b}.modal-close:hover{background:#e2e8f0}.modal-form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.modal-form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:#475569}.modal-form input,.modal-form select,.modal-form textarea{padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;transition:border-color .15s;direction:rtl}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:var(--primary-color, #9b8deb)}.modal-form textarea{resize:none}.modal-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:.82rem}.modal-actions{display:flex;gap:8px;margin-top:4px}.modal-actions .approve-btn{flex:1;justify-content:center}.modal-actions .reject-btn{padding:8px 20px}
