:root{--navy:#112238;--navy-deep:#0c192b;--blue:#2464db;--blue-hover:#1954c1;--blue-light:#edf4ff;--ink:#203149;--muted:#708094;--line:#e3e9f1;--surface:#fff;--canvas:#f5f7fb;--orange:#a96312;--orange-bg:#fff6e8;--green:#187257;--green-bg:#eaf7f1;--shadow:0 4px 24px rgba(19,42,77,.045);--radius:14px;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Noto Sans Arabic","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.6}html[lang=ckb] body{font-family:"Noto Sans Arabic","Segoe UI",Tahoma,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8eb7ff}button:disabled{cursor:not-allowed;opacity:.55}button svg,a svg{flex-shrink:0}svg{width:20px;height:20px;display:inline-block;vertical-align:middle}a{color:var(--blue);text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;line-height:1.5;letter-spacing:-.7px;margin-bottom:5px}h2{font-size:18px;line-height:1.5;letter-spacing:-.2px}h3{font-size:15px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d5dfeb;border-radius:8px;background:#fff;color:var(--ink);min-height:43px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#6595ec;box-shadow:0 0 0 3px #2464db0c;outline:none}textarea{resize:vertical;line-height:1.65;min-height:64px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--blue);flex-shrink:0}input[type=date]{direction:ltr;text-align:start}input[type=number]{direction:ltr}input::placeholder,textarea::placeholder{color:#9aa6b5}select{cursor:pointer}label{cursor:pointer}button{border:0}hr{border:0;border-top:1px solid var(--line)}[hidden]{display:none!important}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 17px;border:1px solid transparent;border-radius:9px;font-weight:650;font-size:13px;line-height:1.5;white-space:nowrap;transition:background .15s,transform .15s,box-shadow .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #2464db18}.btn-primary:hover{background:var(--blue-hover)}.btn-secondary{background:#fff;color:#344966;border-color:#dbe3ed}.btn-secondary:hover{background:#f3f7fd;border-color:#b9cbe6}.btn-subtle{background:transparent;color:var(--blue);padding:8px 10px}.btn-subtle:hover{background:var(--blue-light)}.btn-danger{background:#cf3d43;color:#fff}.btn-danger:hover{background:#b83138}.btn-full{width:100%}.icon-btn{width:35px;height:35px;flex-shrink:0;padding:7px;border:0;border-radius:8px;background:transparent;color:#718297;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#edf2f8;color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-actions{display:flex;gap:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.6;white-space:nowrap}.badge.neutral{background:#f0f3f7;color:#6b7a8e}.badge.blue{background:var(--blue-light);color:var(--blue)}.badge.success{background:var(--green-bg);color:var(--green)}.badge.orange{background:var(--orange-bg);color:var(--orange)}.badge.purple{background:#f1edfd;color:#7255b9}.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:36px;height:36px;color:var(--blue);border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px}.loading-screen p{max-width:600px;color:var(--muted)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:255px;flex-shrink:0;position:fixed;inset-block:0;inset-inline-start:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:32px 19px 22px;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:0 5px 32px;line-height:1.5}.brand-mark{height:43px;width:43px;flex-shrink:0;border-radius:12px;background:#ffffff12;border:1px solid #ffffff12;display:flex;align-items:center;justify-content:center;color:#86b8ff}.brand-mark svg{width:25px;height:25px}.brand strong{display:block;font-size:16px;font-weight:750}.brand small{display:block;font-size:9px;color:#7f98b4;margin-top:6px;letter-spacing:.2px}.main-nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;text-align:start;border-radius:9px;background:transparent;color:#9db0c5;font-size:13px;font-weight:600;padding:13px 14px;width:100%;min-height:48px;transition:background .15s,color .15s}.nav-link:hover{color:#fff;background:#ffffff07}.nav-link.active{background:#2464db;color:#fff;box-shadow:0 4px 10px #0b18252b}.nav-link svg{width:20px;height:20px}.nav-count{margin-inline-start:auto;background:#ffffff1e;color:#fff;padding:0 7px;min-width:24px;border-radius:5px;text-align:center;font-size:11px}.nav-divider{height:1px;background:#ffffff0f;margin:18px 13px}.sidebar-bottom{border-top:1px solid #ffffff12;display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:22px}.teacher-avatar{height:37px;width:37px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b8d2f4;background:#293d55;font-weight:700;font-size:16px;flex-shrink:0}.teacher-info{min-width:0;flex:1}.teacher-info strong{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-info span{display:block;font-size:10px;color:#8197af;margin-top:3px}.sidebar-logout{color:#849ab2;width:29px}.sidebar-logout:hover{background:#ffffff10;color:white}.main-shell{width:calc(100% - 255px);margin-inline-start:255px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;background:#ffffffeb;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 44px;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:24px}.workspace-name{font-size:12px;font-weight:600;color:#758498;letter-spacing:.1px}.term-tag{display:inline-flex;align-items:center;gap:7px;color:#8290a2;font-size:11px;white-space:nowrap}.term-tag svg{width:15px;height:15px}.language-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #e4eaf1;background:#fff;border-radius:7px;padding:7px 11px;font-size:11px;font-weight:600;color:#4f647e;white-space:nowrap}.language-btn svg{width:15px;height:15px}.language-btn:hover{background:#f3f7fc}.workspace{max-width:1400px;width:100%;padding:38px 44px 48px;margin-inline:auto}.workspace:focus{outline:none}.workspace-footer{margin-top:auto;padding:18px 44px 24px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#97a3b4}.workspace-footer svg{width:13px;height:13px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.page-header p{font-size:12px;color:var(--muted);margin:4px 0 0}.eyebrow{font-size:9px;letter-spacing:1.1px;font-weight:700;color:#95a3b5;margin-bottom:6px}.mobile-menu,.sidebar-backdrop{display:none}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:29px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:21px 24px;display:flex;align-items:center;gap:17px}.stat-icon{height:45px;width:45px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.blue{color:var(--blue);background:#eef4ff}.stat-icon.purple{color:#8464c4;background:#f4f0fc}.stat-icon.teal{color:#389080;background:#ecf7f3}.stat-card strong{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.5px}.stat-card span:not(.stat-icon){display:block;font-size:11px;color:#8090a4;margin-top:3px}.empty-state{padding:58px 30px 64px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow)}.empty-icon{width:72px;height:72px;border:1px solid #e4ecf9;background:#f2f6fd;color:#608cce;display:flex;align-items:center;justify-content:center;border-radius:20px;margin:0 auto 20px}.empty-icon svg{width:32px;height:32px}.empty-state h2{font-size:21px;margin-bottom:9px}.empty-state p{font-size:12px;color:var(--muted);max-width:460px;margin:0 auto 25px;line-height:1.9}.empty-state.compact{padding:40px}.empty-state.compact h2{font-size:17px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:5px 0 19px}.filter-controls{display:flex;align-items:center;gap:9px;min-width:0}.filter-controls select{font-size:11px;min-height:39px;padding:8px 10px;max-width:170px;min-width:112px}.search-field{position:relative;min-width:140px;max-width:240px}.search-field input{font-size:11px;min-height:39px;padding-inline-start:36px}.search-field svg{position:absolute;inset-inline-start:11px;top:11px;width:16px;height:16px;color:#95a4b6}.list-toolbar>.btn{font-size:11px;min-height:39px;padding:8px 12px}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.plan-card:hover{border-color:#c7d6ee;box-shadow:0 6px 22px #15346408}.plan-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.subject-chip{font-size:11px;font-weight:650;color:var(--blue);background:#f0f5fd;padding:4px 9px;border-radius:5px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-card h2{font-family:"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.5;margin-bottom:7px}.plan-topic{font-family:"Segoe UI",Arial,sans-serif;font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.plan-date{display:flex;align-items:center;gap:7px;font-size:11px;color:#52677e;margin-top:auto}.plan-date svg{width:15px;height:15px;color:#93a5bb}.plan-meta{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:10px;color:#91a0b2;font-size:10px}.plan-meta span{display:flex;align-items:center;gap:5px}.plan-meta svg{width:13px;height:13px}.plan-actions{display:flex;align-items:center;gap:6px;margin-top:20px;padding-top:16px;border-top:1px solid #eef2f7}.plan-actions>.btn{margin-inline-end:auto;min-height:35px;font-size:11px;padding:7px 10px}.plan-actions>.btn svg{width:15px;height:15px}.subjects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.subject-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}.subject-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.subject-card h2{font-size:21px;margin:0 0 5px}.subject-subtitle{font-size:11px;color:var(--muted);margin-bottom:17px}.subject-facts{display:flex;align-items:center;gap:13px;font-size:11px;color:#718499}.subject-facts>span:not(.badge){display:inline-flex;align-items:center;gap:5px}.subject-facts svg{width:14px;height:14px}.schedule-tags{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.schedule-tags>span{display:inline-flex;align-items:center;gap:8px;border:1px solid #e6ecf4;border-radius:6px;padding:4px 8px;font-size:10px;color:#6c8098;background:#fcfdff}.schedule-tags b{font-size:11px;color:var(--blue)}.subject-card-foot{border-top:1px solid #eef2f7;padding-top:15px;display:flex;flex-direction:column;gap:5px}.subject-card-foot strong{font-size:11px;color:#526783}.subject-card-foot>span{font-size:10px;color:#94a1b3}.subject-card-foot b{font-weight:500;color:#71859b}.table-surface{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.data-table{border-collapse:collapse;width:100%;min-width:620px;font-size:12px}.data-table th{text-align:start;padding:14px 22px;background:#fafbfd;color:#8493a5;font-size:10px;font-weight:600;border-bottom:1px solid var(--line)}.data-table td{padding:22px;border-bottom:1px solid #edf1f6}.data-table tbody tr:last-child td{border-bottom:0}.file-cell{display:flex;gap:13px;align-items:center}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:45px;border-radius:8px;background:#eef4ff;color:#537fcb;flex-shrink:0}.file-cell strong{display:block;max-width:270px;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.file-cell small{display:block;color:#98a6b7;font-size:10px;margin-top:4px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.small-warning{display:flex;gap:4px;align-items:center;font-size:9px;color:var(--orange);margin-top:6px}.small-warning svg{width:12px;height:12px}.table-actions{display:flex;align-items:center;gap:8px}.table-actions .btn{font-size:10px;padding:6px 7px;min-height:32px}.table-actions .btn svg{width:14px;height:14px}.calendar-status{background:var(--orange-bg);border:1px solid #f0ddbc;border-radius:var(--radius);padding:19px 23px;display:flex;align-items:center;gap:16px;margin-bottom:25px}.calendar-status-icon{color:#c0924c}.calendar-status strong{color:#8c621f;font-size:12px}.calendar-status p{font-size:10px;color:#a0804f;margin:3px 0 0}.calendar-status>.btn{margin-inline-start:auto;font-size:11px}.calendar-status.is-confirmed{background:#eef8f4;border-color:#d7eadf}.is-confirmed .calendar-status-icon,.is-confirmed strong{color:#3e8368}.is-confirmed p{color:#75a08c}.event-list{display:flex;flex-direction:column;gap:13px}.event-card{padding:19px 23px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:19px;box-shadow:var(--shadow)}.event-date{min-width:51px;text-align:center;border-inline-end:1px solid var(--line);padding-inline-end:18px;font-family:"Segoe UI",Arial,sans-serif}.event-date strong{display:block;font-size:24px;line-height:1.2;color:#4e6889}.event-date span{font-size:10px;color:#96a6ba;text-transform:uppercase}.event-details{flex:1}.event-title{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.event-title h2{font-size:14px;margin:0}.event-title .badge{font-size:9px}.event-details p{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:10px;color:#8a9aaf;margin:8px 0 0}.event-excluded{display:flex;align-items:center;gap:5px}.event-excluded svg{width:13px;height:13px}.settings-form{max-width:950px}.section-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:21px}.section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:25px}.section-heading h2{font-size:15px;margin:1px 0 5px}.section-heading p{font-size:11px;color:#8a99ac;margin:0;max-width:560px;line-height:1.9}.section-heading>.badge{margin-inline-start:auto;margin-top:4px;font-size:9px}.section-icon{color:#7695bd;padding:6px;background:#f4f7fc;border-radius:8px}.section-icon svg{width:18px;height:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px;text-align:start;margin-bottom:17px}.form-grid .field{margin-bottom:0}.field>span{font-size:11px;font-weight:650;color:#64758b}.field input,.field select,.field textarea{font-size:12px}.field-help{display:flex;align-items:center;gap:7px;color:#9ba7b7;font-size:10px;margin-top:15px;margin-bottom:0}.field-help svg{width:13px;height:13px}.settings-actions{display:flex;align-items:center;gap:15px;margin-bottom:35px}.settings-actions .muted{font-size:11px}.backup-card{display:flex;align-items:center;gap:20px;max-width:950px;background:#fdfefe}.backup-card .section-heading{margin-bottom:0;flex:1}.backup-card .btn{font-size:11px}.notice{display:flex;gap:11px;align-items:flex-start;padding:15px 17px;border-radius:9px;font-size:11px;line-height:1.9;margin:15px 0}.notice>svg{width:19px;height:19px;flex-shrink:0;margin-top:1px}.notice-warning{background:#fff7eb;color:#9b712d;border:1px solid #f1e2c9}.notice-info{background:#f0f5fd;color:#5b7ba4;border:1px solid #dfe9f8}.notice-success{background:var(--green-bg);color:var(--green);border:1px solid #d8eadf}.notice ul{margin:5px 0 0;padding-inline-start:17px}.notice strong{font-size:11px}.generation-notes>.icon-btn{margin-inline-start:auto}.form-error{background:#fff0ef;color:#b94644;border:1px solid #f4cfcc;padding:12px 16px;border-radius:8px;font-size:12px;margin:10px 0 15px;line-height:1.8}.form-error:empty{display:none}.toast-region{position:fixed;bottom:23px;inset-inline-end:25px;width:min(450px,calc(100% - 32px));z-index:100;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dce8e2;box-shadow:0 7px 30px #12243b22;padding:15px;border-radius:11px;font-size:12px;color:#46635c;animation:toast-in .2s ease}.toast>svg{color:#46997d;width:20px;flex-shrink:0}.toast button{margin-inline-start:auto;color:#94a3b0;background:none;padding:1px}.toast button svg{width:16px}.toast-error{border-color:#efcdcd;color:#ae5050}.toast-error>svg{color:#b65f5f}@keyframes toast-in{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.main-dialog,.confirm-dialog{padding:0;border:1px solid #d9e3ef;border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 30px 110px #0714264d;max-height:calc(100dvh - 50px);width:min(660px,calc(100% - 35px));max-width:initial;overflow:auto}.main-dialog.wide{width:min(1010px,calc(100% - 35px))}.main-dialog::backdrop,.confirm-dialog::backdrop{background:#0d1f3859;backdrop-filter:blur(3px)}.dialog-header{padding:24px 28px 21px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialog-header h2{font-size:19px;margin:0}.dialog-header p{font-size:11px;color:var(--muted);margin:6px 0 0}.dialog-header .icon-btn{margin-top:-3px}.dialog-body{padding:26px 28px}.dialog-body>.field:last-child{margin-bottom:0}.dialog-intro{font-size:11px;line-height:1.9;margin-bottom:22px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:19px 28px;border-top:1px solid var(--line);background:#fafcfe;position:sticky;bottom:0;z-index:2}.main-dialog form>.form-error{margin:0 28px 16px}.form-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}.form-section-title h3{font-size:12px;margin:0}.form-section-title p{font-size:10px;color:var(--muted);margin:5px 0 0}.form-section-title:has(p){display:block}.form-section-title>.btn{font-size:10px;padding:5px 7px;min-height:30px}.form-section-title>.btn svg{width:14px;height:14px}.form-section-title>.muted{font-size:10px}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-field{display:flex;flex-direction:column;gap:7px;text-align:center;background:#f8fafd;border:1px solid #e7edf6;padding:10px 6px;border-radius:8px}.day-field span{font-size:9px;color:#788aa2}.day-field input{padding:7px 3px;text-align:center;min-height:36px;font-size:13px}.schedule-total{font-size:11px;color:var(--blue);background:#f4f7fe;padding:9px 12px;border-radius:7px;margin-top:12px;text-align:center}.confirm-dialog{width:min(405px,calc(100% - 35px));padding:28px;text-align:center}.confirm-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 17px;background:#edf4ff;color:var(--blue);display:flex;align-items:center;justify-content:center}.confirm-icon.danger{background:#fff0f0;color:#c15f61}.confirm-dialog h2{font-size:18px;margin-bottom:10px}.confirm-dialog p{font-size:12px;line-height:1.9;color:var(--muted)}.confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:23px}.upload-zone{display:flex;flex-direction:column;align-items:center;text-align:center;background:#f9fbff;border:1.5px dashed #c9d8ec;padding:27px 23px 22px;border-radius:11px;margin-top:25px;cursor:pointer}.upload-icon{color:#7192c0;margin-bottom:12px}.upload-icon svg{width:32px;height:32px}.upload-zone strong{font-size:13px}.upload-zone>span:not(.upload-icon){font-size:10px;line-height:1.9;color:#8e9db1;max-width:410px;margin:7px 0 19px}.upload-zone input{font-size:10px;background:#fff;padding:9px;max-width:380px}.upload-zone input::file-selector-button{background:#edf3fe;border:0;color:var(--blue);border-radius:4px;padding:6px 10px;margin-inline-end:12px;cursor:pointer}.source-page{border:1px solid var(--line);border-radius:10px;padding:18px;background:#fbfcfe;margin-bottom:15px}.source-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.slide-number-field{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650;color:#5e7798}.slide-number-field input{width:65px;padding:5px 8px;min-height:32px;font-size:11px;background:#fff}.source-page .field:last-child{margin-bottom:0}.source-page .field>span{font-size:10px}.source-page textarea{font-family:inherit;font-size:12px;line-height:1.8}.check-field{display:flex;align-items:center;gap:10px;color:#6f829b;font-size:12px;padding:15px 0 0}.generator-info{background:#f7faff;border:1px solid #e8eef8;border-radius:7px;padding:10px 12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:10px;color:#8295af;margin-top:14px}.generator-info svg{width:14px;height:14px}.generator-info>span:last-child{margin-inline-start:auto}.mode-fieldset{border:0;padding:0;margin:28px 0 0}.mode-fieldset legend{font-size:12px;font-weight:700;margin-bottom:13px}.mode-card{display:flex;align-items:flex-start;gap:12px;border:1px solid #dfe7f3;border-radius:10px;padding:16px;margin-bottom:10px;background:#fff;transition:background .15s,border-color .15s}.mode-card:has(input:checked){border-color:#8db0ed;background:#f5f8ff}.mode-card.disabled{background:#f9fafc;border-color:#e8edf3}.mode-card input{margin-top:3px}.mode-card strong{display:flex;align-items:center;gap:7px;font-size:12px;color:#526c8f}.mode-card strong svg{width:15px;height:15px}.mode-card p{font-size:10px;color:#8899ae;line-height:1.9;margin:7px 0 0}.mode-card small{display:block;font-size:9px;color:#bc8a42;margin-top:7px}.generation-progress{display:flex;align-items:center;gap:16px;margin:0 28px 20px;padding:18px;border-radius:10px;background:#eef5ff;border:1px solid #cddbfa;color:var(--blue)}.generation-progress strong{font-size:12px}.generation-progress p{font-size:10px;color:#7b94b7;margin:6px 0 0}.generation-progress .spinner{width:24px;height:24px;flex-shrink:0}.plan-editor-toolbar{padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fbfcfe;border-bottom:1px solid var(--line)}.plan-editor-toolbar>span,.plan-editor-toolbar>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.plan-editor-toolbar .btn{font-size:10px;min-height:35px;padding:7px 10px}.plan-editor-toolbar .btn svg{width:15px;height:15px}.plan-editor-toolbar .badge{font-size:9px}.plan-editor-body{background:#f0f3f8;padding-top:18px;padding-bottom:34px}.plan-editor-hint{font-size:10px;color:#8b9ab0;max-width:760px;margin:0 auto 16px;text-align:center}.a4-preview{font-family:Arial,"Segoe UI",sans-serif;max-width:760px;margin:0 auto;padding:37px 42px 42px;background:#fff;border:1px solid #dce4ee;box-shadow:0 4px 22px #1c325911;color:#223750}.a4-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:3px solid #3368ad}.a4-header p{font-size:12px;font-weight:700;color:#6c7e94;margin:0 0 4px}.a4-header h3{font-size:22px;letter-spacing:1px;color:#244b7c;margin:0}.a4-label{font-size:8px;letter-spacing:1px;color:#91a4bb;white-space:nowrap}.a4-meta{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;padding:20px 0;margin-bottom:10px;border-bottom:1px solid #e4eaf1}.a4-meta>span{font-size:10px;display:flex;flex-direction:column;gap:3px;color:#61758e}.a4-meta b{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:#9baabc;font-weight:600}.plan-field{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.plan-field>span{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#7389a3;font-weight:700}.plan-field input,.plan-field textarea{font-family:Arial,"Segoe UI",sans-serif;font-size:12px;border:1px solid #e3eaf3;background:#fcfdff;color:#2d4562;border-radius:5px;line-height:1.65;padding:8px 10px;min-height:32px}.plan-field textarea{min-height:40px}.a4-section-label{font-size:9px;font-weight:700;letter-spacing:.7px;background:#f1f5fb;color:#5c7ba1;padding:9px 10px;margin:22px 0 12px}.lesson-edit{border:1px solid #dfe7f1;border-radius:7px;padding:15px;margin-bottom:15px;background:#fff}.lesson-edit header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.lesson-edit h4{font-size:12px;margin:0;color:#385b85}.lesson-edit header span{font-size:9px;color:#91a0b3}.lesson-source{font-size:9px;color:#89a0bf;margin-bottom:13px}.lesson-edit .plan-field:last-child{margin-bottom:0}.activity-row{display:grid;grid-template-columns:55px 1fr 25px;gap:9px;align-items:start;padding:9px 0;border-top:1px dashed #e4eaf2}.activity-row label{display:flex;flex-direction:column;gap:5px}.activity-row label span{font-size:8px;color:#9aaabd}.activity-row input,.activity-row textarea{font-family:Arial,"Segoe UI",sans-serif;font-size:11px;padding:7px 8px;background:#fcfdff;border:1px solid #e4eaf3;border-radius:5px;min-height:35px}.activity-row input{text-align:center;padding:7px 2px}.activity-row textarea{min-height:48px;line-height:1.6}.activity-row>.icon-btn{margin-top:18px;width:25px;height:27px}.activity-row>.icon-btn svg{width:13px;height:13px}.activity-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.activity-footer .btn{font-family:Arial,sans-serif;font-size:9px;min-height:29px;padding:5px 7px}.activity-footer .btn svg{width:12px;height:12px}.activity-total{font-size:9px;color:#7a9c8b}.activity-total.time-mismatch{color:#c37e3c;font-weight:700}.plan-editor-footer{justify-content:space-between}.plan-editor-footer>div{display:flex;gap:8px}.plan-editor-footer .btn{font-size:11px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 10% 0%,#e4edfa 0%,transparent 55%),#f5f7fb;padding:35px}.login-language{position:absolute;top:25px;inset-inline-end:30px}.login-panel{width:min(430px,100%);padding:37px 38px 28px;background:#fff;border:1px solid #e0e7f1;border-radius:18px;box-shadow:0 18px 70px #1b386015}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:33px;color:#6180aa;font-family:"Segoe UI",Arial,sans-serif;font-weight:700;letter-spacing:2px;font-size:11px}.login-brand .brand-mark{background:#eef4ff;border-color:#e5edfa;color:var(--blue)}.login-panel h1{font-size:24px;margin-bottom:8px}.login-panel>.muted{font-size:11px;line-height:1.9;margin-bottom:27px}.login-panel form>.field{margin-bottom:18px}.login-panel .btn-full{margin-top:8px}.login-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:27px;display:flex;align-items:center;justify-content:center;gap:7px;color:#a2aec0;font-size:10px}.login-foot svg{width:14px;height:14px}
@media(min-width:1600px){.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subjects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:230px;padding-inline:16px}.brand strong{font-size:14px}.brand-mark{width:37px;height:37px}.brand small{font-size:8px}.main-shell{margin-inline-start:230px;width:calc(100% - 230px)}.workspace{padding:32px 26px 40px}.topbar{padding-inline:26px}.stat-card{padding:18px;gap:12px}.stat-icon{width:39px;height:39px}.list-toolbar{align-items:flex-start;flex-direction:column}.filter-controls{width:100%}.search-field{flex:1;max-width:none}.filter-controls select{flex:1}.section-heading{flex-wrap:wrap}.section-heading>.badge{margin-inline-start:48px;margin-top:-15px}}
@media(max-width:850px){h1{font-size:27px}.sidebar{width:255px;transform:translateX(-100%);transition:transform .2s ease}[dir=rtl] .sidebar{transform:translateX(100%)}.menu-open .sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:#0b1d3859;z-index:29;padding:0}.menu-open .sidebar-backdrop{display:block}.main-shell{width:100%;margin-inline-start:0}.mobile-menu{display:inline-flex}.topbar{height:69px;padding-inline:22px}.topbar-left,.topbar-right{gap:15px}.workspace{padding:27px 22px 40px}.page-header{margin-bottom:24px}.page-header p{max-width:420px}.brand strong{font-size:16px}.brand small{font-size:9px}.sidebar .brand-mark{width:43px;height:43px}.stats-grid{gap:12px}.workspace-footer{padding-inline:22px}.topbar-left .workspace-name{font-size:11px}.plan-editor-toolbar{padding-inline:20px}.dialog-body{padding-inline:22px}.dialog-header{padding-inline:22px}.dialog-footer{padding-inline:22px}.a4-preview{padding:27px}.backup-card{flex-wrap:wrap}.backup-card>.btn{margin-inline-start:48px}}
@media(max-width:600px){body{font-size:13px}.workspace{padding:24px 16px 30px}.topbar{padding-inline:14px}.workspace-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-tag{display:none}.topbar-right{gap:6px}.language-btn{padding:6px 8px;font-size:10px}.page-header{align-items:flex-start;gap:14px}.page-header h1{font-size:25px}.page-header p{font-size:10px;line-height:1.9}.page-header>.btn{padding:9px 11px;font-size:10px;margin-top:24px;min-height:38px}.page-header>.btn svg{width:15px;height:15px}.eyebrow{font-size:8px}.stats-grid{gap:8px;margin-bottom:22px}.stat-card{padding:13px 10px;flex-direction:column;align-items:flex-start;gap:9px;border-radius:11px}.stat-icon{height:30px;width:30px;border-radius:8px}.stat-icon svg{width:17px;height:17px}.stat-card strong{font-size:23px}.stat-card span:not(.stat-icon){font-size:8px}.plans-grid,.subjects-grid{grid-template-columns:1fr;gap:15px}.plan-card{padding:20px}.subject-card{padding:21px}.empty-state{padding:38px 22px}.empty-state h2{font-size:19px}.empty-state p{font-size:11px}.empty-icon{height:61px;width:61px;border-radius:17px}.empty-icon svg{width:28px;height:28px}.filter-controls{flex-wrap:wrap}.search-field{flex:1 0 100%;max-width:none}.filter-controls select{max-width:none}.list-toolbar>.btn{font-size:10px}.event-card{padding:16px 13px;gap:12px}.event-date{min-width:40px;padding-inline-end:12px}.event-date strong{font-size:21px}.event-title h2{font-size:12px}.event-title{gap:7px}.event-title .badge{font-size:8px;padding:3px 6px}.event-details p{font-size:9px;gap:5px}.event-excluded{width:100%}.event-card>.icon-actions{flex-direction:column;gap:0}.event-card .icon-btn{width:28px;height:28px}.calendar-status{padding:16px;gap:11px;flex-wrap:wrap}.calendar-status-icon{align-self:flex-start;margin-top:2px}.calendar-status>div:nth-child(2){flex:1}.calendar-status>.btn{font-size:10px;margin-inline-start:30px;min-height:34px;padding:7px 10px}.calendar-status strong{font-size:11px}.calendar-status p{font-size:9px}.section-card{padding:20px 17px}.section-heading{gap:11px}.section-heading h2{font-size:14px}.section-heading p{font-size:10px}.section-icon{padding:5px}.form-grid{gap:15px;grid-template-columns:1fr}.field>span{font-size:10px}.field input,.field select,.field textarea{font-size:12px}.section-heading>.badge{margin-inline-start:39px;margin-top:-12px}.field-help{font-size:9px;align-items:flex-start}.field-help svg{flex-shrink:0;margin-top:3px}.backup-card{gap:14px}.backup-card>.btn{margin-inline-start:38px}.workspace-footer{font-size:8px;padding-inline:14px}.main-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 20px);border-radius:13px}.main-dialog.wide{width:calc(100% - 16px)}.dialog-header{padding:18px}.dialog-header h2{font-size:17px}.dialog-body{padding:21px 18px}.dialog-footer{padding:15px 18px}.dialog-footer .btn{font-size:11px;padding:9px 13px;min-height:39px}.main-dialog form>.form-error{margin-inline:18px}.days-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.day-field{padding:10px 7px}.day-field span{font-size:10px}.day-field input{min-height:33px}.dialog-body .form-grid:has([name=slide_from]),.dialog-body .form-grid:has([name=start_date]){grid-template-columns:1fr 1fr;gap:11px}.form-section-title{margin-top:22px}.mode-card{padding:13px;gap:10px}.mode-card strong{font-size:11px}.mode-card p{font-size:9px}.mode-card small{font-size:8px}.generator-info{font-size:9px}.generator-info>span:last-child{margin-inline-start:0;width:100%;padding-inline-start:23px}.upload-zone{padding:23px 15px}.upload-zone input{font-size:9px}.notice{font-size:10px;padding:12px;gap:8px}.notice>svg{width:16px}.source-page{padding:14px}.plan-editor-toolbar{padding:12px 16px;flex-wrap:wrap;gap:11px}.plan-editor-toolbar>div{width:100%}.plan-editor-toolbar .btn{font-size:9px;flex:1;padding:6px 8px}.plan-editor-body{padding:13px 8px 20px}.plan-editor-hint{padding-inline:8px;font-size:9px;line-height:1.9}.a4-preview{padding:19px 14px}.a4-header{gap:9px;padding-bottom:13px}.a4-header p{font-size:10px}.a4-header h3{font-size:16px;letter-spacing:.4px}.a4-label{font-size:6px;letter-spacing:.4px}.a4-meta{gap:10px 13px;padding:15px 0}.a4-meta>span{font-size:9px}.a4-meta b{font-size:7px}.plan-field input,.plan-field textarea{font-size:11px;padding:7px}.plan-field>span{font-size:8px}.lesson-edit{padding:11px}.lesson-edit header{flex-wrap:wrap;gap:3px}.lesson-edit header span{font-size:8px}.lesson-edit h4{font-size:11px}.activity-row{grid-template-columns:44px 1fr 20px;gap:6px}.activity-row>.icon-btn{width:20px}.activity-row textarea{font-size:10px;padding:6px}.activity-row input{font-size:10px}.activity-row label span{font-size:7px}.activity-footer .btn{font-size:8px;padding:4px}.activity-total{font-size:8px}.plan-editor-footer{gap:7px;padding:12px}.plan-editor-footer .btn{font-size:9px;padding:8px 9px;min-height:36px;gap:5px}.plan-editor-footer .btn svg{width:13px;height:13px}.plan-editor-footer>div{gap:6px}.generation-progress{margin-inline:18px;padding:13px}.generation-progress strong{font-size:10px}.generation-progress p{font-size:9px}.login-screen{padding:24px}.login-panel{padding:30px 25px 25px}.login-panel h1{font-size:22px}.login-language{top:19px;inset-inline-end:20px}.toast-region{bottom:13px;inset-inline-end:16px}.toast{font-size:11px;padding:13px}.confirm-dialog{padding:24px}.confirm-dialog p{font-size:11px}.confirm-actions .btn{font-size:11px}.topbar-left{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{.sidebar,.topbar,.workspace-footer,.dialog-header,.dialog-footer,.plan-editor-toolbar,.plan-editor-hint,.toast-region{display:none!important}.main-dialog[open]{position:static;display:block;width:auto;max-height:none;overflow:visible;border:0;box-shadow:none}.main-dialog::backdrop{display:none}.plan-editor-body{background:white;padding:0}.a4-preview{box-shadow:none;border:0;max-width:none}.app-shell{display:none}.activity-row>.icon-btn,.activity-footer>.btn{display:none}}

.calendar-reference{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin:-7px 0 20px}.calendar-reference a{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.calendar-reference a svg{width:14px;height:14px}.calendar-reference span{font-size:10px;color:#96a3b5}.plan-field input:disabled,.plan-field textarea:disabled{opacity:1;background:#fff;color:#3f5672;border-color:transparent;resize:none}.source-page input[readonly]{background:#f0f4fa;color:#7b8da4;cursor:default}

/* Small-screen form text stays readable without enlarging compact metadata. */
@media(max-width:600px){.page-header p,.dialog-intro,.dialog-body>.muted,.field>span,.source-page .field>span,.field-help,.form-section-title p,.calendar-status p,.calendar-reference span,.section-heading p,.mode-card p,.mode-card small,.upload-zone>span:not(.upload-icon),.generator-info,.plan-editor-hint{font-size:11px;line-height:1.85}.field>span,.source-page .field>span{font-size:12px}.source-page textarea{font-size:12px}.calendar-reference span{width:100%}.mode-card strong{font-size:12px}.form-section-title p{max-width:100%}.upload-zone input{font-size:11px}.page-header>div{min-width:0}.plan-field>span{font-size:10px;line-height:1.7}}
