:root{--wine:#641427;--wine2:#861e36;--gold:#d6ab58;--ink:#171717;--paper:#fffdfa;--line:#d9d2c8;--soft:#f4f1ec;--green:#167553;--red:#b42318;--shadow:0 14px 40px #2410151c;font-family:"Tahoma","Arial",sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eeeae5}body{direction:rtl}.topbar{height:66px;background:#161315;color:#fff;display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #0005}.brand-button{background:none;border:0;color:#fff;display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}.crest{width:38px;height:38px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:21px}.topbar nav{display:flex;gap:5px;margin:auto}.topbar nav button{border:0;background:transparent;color:#ddd;padding:12px 14px;border-radius:7px;cursor:pointer;font:inherit}.topbar nav button:hover,.topbar nav button.active{background:var(--wine);color:#fff}.save-state{display:flex;gap:7px;align-items:center;font-size:12px;color:#ddd}.save-state i{width:8px;height:8px;border-radius:50%;background:#32c886;box-shadow:0 0 0 4px #32c88622}.view{display:none}.view.active{display:block}.home-view{min-height:calc(100vh - 66px);background:radial-gradient(circle at 50% 30%,#2d2729,#090809 70%);color:#fff;padding:34px 7vw 22px;overflow:hidden;position:relative}.home-view:before,.home-view:after{content:"";position:absolute;width:300px;height:300px;border:1px solid #d6ab5822;transform:rotate(45deg)}.home-view:before{top:-190px;right:-80px}.home-view:after{bottom:-210px;left:-100px}.home-title{text-align:center;position:relative;z-index:1}.home-title p{margin:0;color:var(--gold);font-size:20px;font-weight:bold}.home-title h1{font-size:36px;margin:5px 0}.home-title span{font-size:13px;border-block:1px solid #ffffff33;padding:6px 24px}.home-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:18px;max-width:1080px;margin:38px auto}.home-action{background:transparent;border:0;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px}.home-action .circle{width:118px;height:118px;border:3px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#81233a,#3b101b);box-shadow:inset 0 0 0 6px #0005,0 10px 25px #0008;font-size:35px;transition:.18s}.home-action:hover .circle{transform:translateY(-4px);filter:brightness(1.15)}.home-action b{font-size:14px}.home-bottom{max-width:1040px;margin:auto;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.round-link{background:none;border:0;color:#fff;cursor:pointer;display:flex;align-items:center;gap:8px}.round-link span{width:52px;height:52px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:23px}.credit{text-align:center}.credit small{display:block;color:#bbb}.credit strong{display:block;color:var(--gold);font-size:18px;margin-top:4px}.workspace-view{padding:26px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.page-head h2{font-size:29px;margin:2px 0;color:var(--wine)}.page-head p{margin:0;color:#716a65}.kicker{font-size:11px;font-weight:bold;color:var(--gold);letter-spacing:.8px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #cbc2b8;background:#fff;border-radius:7px;padding:10px 15px;cursor:pointer;font:inherit;font-size:13px;color:#302b28}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--wine);border-color:var(--wine);color:#fff}.btn.danger{color:#fff;background:var(--red);border-color:var(--red)}.card,.sheet-card,.print-sheet{background:var(--paper);border:1px solid #ddd6cd;border-radius:11px;box-shadow:var(--shadow)}.settings-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}.card{padding:18px}.wide-card{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.design-toolbar label,.report-controls label{font-size:12px;font-weight:bold;color:#5a504a;display:flex;flex-direction:column;gap:6px}.form-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cfc8bf;border-radius:6px;background:#fff;font:inherit;color:#171717}input:focus,select:focus,textarea:focus{outline:2px solid #861e3633;border-color:var(--wine)}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-title h3{margin:0;color:var(--wine)}.card-title span,.summary-chip{font-size:11px;background:#eee7df;padding:6px 9px;border-radius:99px}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.number-grid label{text-align:center;font-size:11px}.period-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.period-grid label{font-size:11px;text-align:center}.table-scroll{overflow:auto}.data-table,.design-table,.report-table{width:100%;border-collapse:collapse}.data-table th,.data-table td,.report-table th,.report-table td{border:1px solid var(--line);padding:8px;text-align:center;font-size:12px}.data-table th,.report-table th{background:var(--wine);color:#fff}.quotas input{min-width:65px;text-align:center}.design-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:12px;position:sticky;top:76px;z-index:20}.design-toolbar label{min-width:190px}.conflict-badge{margin-inline-start:auto;font-size:12px;padding:7px 10px;border-radius:6px;background:#eaf7f1;color:var(--green)}.conflict-badge.bad{background:#feeceb;color:var(--red)}.sheet-card{overflow:hidden}.grid-scroll{max-height:calc(100vh - 235px)}.design-table{direction:rtl;min-width:1700px}.design-table th{background:#1d191a;color:#fff;border:1px solid #574b4e;padding:7px 3px;position:sticky;top:0;z-index:5;font-size:11px}.design-table th.day{background:var(--wine)}.design-table td{border:1px solid #cbc3ba;padding:0;background:#fff}.design-table tr:nth-child(even) td{background:#fbf8f4}.design-table td.fixed{padding:5px;font-size:11px;text-align:center}.design-table input{border:0;border-radius:0;padding:5px 3px;min-width:57px;height:30px;text-align:center;background:transparent;font-size:11px}.design-table input.name{min-width:180px;text-align:right}.design-table input.meta{min-width:110px}.design-table input.invalid{background:#fee4e2;color:#8b1111;font-weight:bold}.design-table input.conflict{box-shadow:inset 0 0 0 2px #d92d20;background:#fff1f0}.design-table input:disabled{color:#777;background:#f0eeeb}.report-controls{display:flex;gap:12px;align-items:end;margin-bottom:15px;position:sticky;top:76px;z-index:20}.report-controls label{min-width:180px}.switch{margin-inline-start:auto;flex-direction:row!important;align-items:center}.switch input{width:auto}.print-sheet{padding:22px;min-height:500px}.report-letterhead{text-align:center;border-bottom:3px double var(--wine);margin-bottom:14px;padding-bottom:10px;position:relative}.report-letterhead h2{margin:3px;font-size:20px}.report-letterhead p{margin:3px;font-size:12px}.report-letterhead .ministry{position:absolute;right:0;top:0;text-align:right}.report-letterhead .meta{position:absolute;left:0;top:0;text-align:left}.report-table{table-layout:fixed}.report-table td.lesson{height:42px;white-space:pre-line}.report-table td .subject{font-weight:bold;color:var(--wine)}.report-table td .teacher{font-size:10px;color:#555;margin-top:4px}.report-table .time{font-size:9px;color:#fff8dc}.general-table{font-size:9px!important}.general-table td,.general-table th{padding:4px!important}.report-section-title{background:#e8ddd2;color:var(--wine);padding:8px 12px;margin:18px 0 5px;border-right:5px solid var(--wine)}.report-footer{display:flex;justify-content:space-between;margin-top:20px;font-size:12px}.backup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.backup-card{text-align:center;padding:30px 20px}.backup-card>span{width:70px;height:70px;border-radius:50%;background:#f1e8e2;color:var(--wine);display:grid;place-items:center;margin:auto;font-size:30px}.backup-card p{color:#746b65;min-height:52px}.file-btn input{display:none}dialog{border:0;border-radius:12px;box-shadow:0 20px 80px #0006;max-width:450px}dialog::backdrop{background:#0008}dialog form>div{display:flex;gap:8px;justify-content:flex-start;margin-top:20px}#toast{position:fixed;bottom:25px;left:25px;background:#171717;color:#fff;padding:12px 18px;border-radius:8px;opacity:0;pointer-events:none;transform:translateY(15px);transition:.2s;z-index:100}#toast.show{opacity:1;transform:none}.audit-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.audit-item{border:1px solid var(--line);padding:12px;border-radius:7px}.audit-item.good{border-color:#9dd7c0;background:#effaf5}.audit-item.bad{border-color:#f0aaa6;background:#fff2f1}.two-model{display:grid;grid-template-columns:1fr 1fr;gap:15px}.remove-teacher{color:var(--red);border:0;background:none;cursor:pointer;font-size:16px}
@media(max-width:1000px){.topbar{height:auto;flex-wrap:wrap;padding:8px}.topbar nav{order:3;width:100%;overflow:auto}.home-grid{grid-template-columns:repeat(3,1fr)}.settings-layout,.backup-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.period-grid{grid-template-columns:repeat(3,1fr)}.number-grid{grid-template-columns:repeat(3,1fr)}.page-head{align-items:flex-start}.report-controls{overflow:auto}.two-model{grid-template-columns:1fr}}
@media(max-width:620px){.workspace-view{padding:12px}.home-grid{grid-template-columns:repeat(2,1fr);gap:8px}.home-action .circle{width:88px;height:88px}.home-title h1{font-size:25px}.home-bottom{gap:8px}.credit strong{font-size:13px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-head{display:block}.head-actions{margin-top:12px}.backup-grid{grid-template-columns:1fr}.audit-list{grid-template-columns:1fr}}
@media print{body{background:#fff}.no-print,.topbar{display:none!important}.workspace-view{padding:0;max-width:none}.view{display:none!important}#view-reports{display:block!important}.print-sheet{box-shadow:none;border:0;border-radius:0;padding:0;min-height:0}.report-table th{background:#641427!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-letterhead{margin-top:0}.two-model{gap:6px}@page{size:A4 landscape;margin:8mm}}
.home-action.design-note .circle{width:118px;height:118px;border:0;border-radius:2px;background:#fff29b;color:#2b2310;box-shadow:7px 9px 0 #b9aa65,0 10px 30px #0009;transform:rotate(-2deg);font-size:38px;position:relative}
.home-action.design-note .circle:before{content:"";position:absolute;width:25px;height:25px;background:#ffd400;border-radius:50%;top:-10px;right:47px;box-shadow:3px 5px 4px #0005}
.home-action.design-note:hover .circle{transform:rotate(-2deg) translateY(-4px)}
.assets-card{background:#d5e8f8}.asset-controls{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.asset-upload{display:flex;flex-direction:column;gap:7px;align-items:center;cursor:pointer}.asset-upload input{display:none}.asset-preview{width:112px;height:112px;border:2px solid #1d1d1d;background:#fff;display:grid;place-items:center;overflow:hidden;font-size:12px;text-align:center}.asset-preview img{width:100%;height:100%;object-fit:contain}.subject-images{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:10px;flex:1}.subject-image{display:flex;flex-direction:column;gap:5px;align-items:center;font-size:12px;font-weight:bold}.subject-image input{display:none}.subject-image .asset-preview{width:78px;height:78px}.mobile-editor{display:none}.mobile-editor-head{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-slots{display:grid;gap:9px;margin:14px 0}.mobile-slot{display:grid;grid-template-columns:88px 1fr;align-items:center;border:1px solid #d7cfc6;border-radius:10px;overflow:hidden;background:#fff}.mobile-slot b{background:#641427;color:#fff;height:100%;display:grid;place-items:center;padding:10px 4px;font-size:13px}.mobile-slot input{border:0;border-radius:0;padding:14px;font-size:16px}.mobile-slot input.conflict{background:#fff0ef;box-shadow:inset 0 0 0 2px #d92d20}.mobile-meta{display:grid;gap:10px}.mobile-meta label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:bold}.install-banner{position:fixed;bottom:12px;right:12px;left:12px;z-index:200;background:#161315;color:#fff;border:2px solid #d6ab58;border-radius:13px;padding:13px 42px 13px 15px;box-shadow:0 16px 50px #0008;display:grid;gap:4px}.install-banner button{position:absolute;right:10px;top:8px;border:0;background:none;color:#fff;font-size:22px}.install-banner span{font-size:13px;color:#e4ded8}
@media(max-width:760px){body{padding-bottom:env(safe-area-inset-bottom)}.topbar{position:static}.topbar .save-state{display:none}.home-view{min-height:calc(100vh - 104px);padding:22px 10px}.home-grid{margin:24px auto}.home-title p{font-size:16px}.home-action b{font-size:13px}.workspace-view{padding:10px}.page-head h2{font-size:23px}.page-head p{font-size:13px}.head-actions .btn{flex:1;white-space:nowrap}.design-toolbar{position:static;display:grid;grid-template-columns:1fr 1fr}.design-toolbar label{min-width:0}.design-toolbar .summary-chip,.design-toolbar .conflict-badge{margin:0}.sheet-card{display:none}.mobile-editor{display:block}.report-controls{position:static;display:grid;grid-template-columns:1fr 1fr;overflow:visible}.report-controls label{min-width:0}.print-sheet{padding:10px;overflow:auto}.report-letterhead .ministry,.report-letterhead .meta{position:static;text-align:center;margin:4px}.report-letterhead h2{font-size:17px}.report-table{min-width:720px}.general-table{min-width:1700px}.two-model{display:block}.subject-images{grid-template-columns:repeat(3,1fr)}}
.quick-edit-dialog{width:min(760px,calc(100vw - 24px));border:0;border-radius:14px;padding:0;box-shadow:0 24px 90px #0008}.quick-edit-dialog::backdrop{background:#000a}.quick-edit-dialog form{padding:18px}.quick-edit-title{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid #641427;margin-bottom:14px;padding-bottom:10px}.quick-edit-title span{font-size:12px;color:#861e36}.quick-edit-title h3{margin:2px 0;font-size:20px}.quick-edit-title button{border:0;background:#f1e8e2;border-radius:50%;width:34px;height:34px;font-size:23px}.quick-edit-dialog label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:bold;margin-bottom:10px}.quick-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.quick-wide{grid-column:1/-1}.quick-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;margin-top:12px}.quick-conflict{min-height:20px;margin:4px 0;color:#b42318;font-size:13px;font-weight:bold}.editable-report{cursor:pointer;position:relative}.editable-report:hover{outline:2px solid #d6ab58;outline-offset:-2px;background:#fff8df!important}.editable-name{cursor:pointer;text-decoration:underline dotted #861e36;text-underline-offset:3px}.editable-name:hover{color:#861e36}
@media(max-width:760px){.topbar{padding-top:max(8px,env(safe-area-inset-top))}.topbar nav button,.btn,input,select,textarea{min-height:44px}.design-toolbar label,.report-controls label,.mobile-meta label{font-size:14px}.quick-edit-dialog{max-height:92dvh;overflow:auto}.quick-grid{grid-template-columns:1fr}.quick-wide{grid-column:auto}.quick-actions{grid-template-columns:1fr 1fr;position:sticky;bottom:0;background:#fff;padding-top:8px}.quick-actions span{display:none}.quick-actions .btn{padding:12px 8px}.quick-edit-dialog form{padding:13px}}
@media(max-width:760px){
  .topbar{height:auto;display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px 10px}
  .brand-button{justify-self:end}.brand-button .crest{width:34px;height:34px}.brand-button>span:last-child{font-size:13px}
  .topbar nav{grid-column:1/-1;display:flex;width:100%;margin:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .topbar nav button{flex:0 0 auto;padding:9px 12px}
  .home-view{min-height:calc(100dvh - 112px)}
  .home-title h1{font-size:29px}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px;max-width:420px}
  .home-action .circle{width:94px;height:94px;font-size:29px}.home-action.design-note .circle{width:94px;height:94px}.home-action.design-note .circle:before{right:35px}
  .home-bottom{flex-direction:column;gap:16px}.credit strong{font-size:16px}
  .page-head{align-items:stretch;flex-direction:column}.head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-layout,.form-grid,.backup-grid{grid-template-columns:1fr}.form-grid .wide,.wide-card{grid-column:auto}
  .number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-controls{grid-template-columns:1fr}.report-controls .switch{margin:0}
  .subject-images{grid-template-columns:repeat(2,minmax(0,1fr))}
  .install-banner{bottom:max(8px,env(safe-area-inset-bottom));font-size:14px}
}
.cloud-gate{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 20%,#3c2730,#0b090a 72%);display:grid;place-items:center;padding:18px}.cloud-gate[hidden]{display:none}.login-card{width:min(410px,100%);background:#fffdfa;border:1px solid #d6ab58;border-radius:18px;padding:28px;box-shadow:0 28px 100px #000b;display:grid;gap:14px}.login-card h2,.login-card p{margin:0;text-align:center}.login-card label{display:grid;gap:6px;font-weight:bold;font-size:13px}.login-crest{width:72px;height:72px;border:3px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;margin:auto;font-size:34px}.account-bar{position:fixed;left:12px;bottom:12px;z-index:90;background:#171717;color:#fff;border:1px solid var(--gold);border-radius:99px;padding:7px 12px;display:flex;align-items:center;gap:9px;font-size:12px;box-shadow:0 8px 25px #0005}.account-bar[hidden]{display:none}.account-bar button{border:0;border-radius:99px;background:var(--wine);color:#fff;padding:5px 10px;cursor:pointer}.users-card{margin-bottom:16px}.users-summary{margin-bottom:12px;color:#665d57}.users-table td{vertical-align:middle}.user-actions{display:flex;gap:6px;justify-content:center}.status-pill{display:inline-block;border-radius:99px;padding:5px 9px;background:#eaf7f1;color:var(--green)}.status-pill.off{background:#feeceb;color:var(--red)}.permissions-box{border:1px solid #d7cfc6;border-radius:9px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:8px 0;padding:12px}.permissions-box label,.active-check{display:flex!important;flex-direction:row!important;align-items:center;gap:7px}.permissions-box input,.active-check input{width:auto;min-height:0}.audit-events{display:grid;gap:7px}.audit-event{display:grid;grid-template-columns:150px 1fr auto;gap:10px;padding:9px;border-bottom:1px solid #e4ddd5;font-size:12px}.cloud-readonly [data-view="settings"],.cloud-readonly [data-view="backup"],.cloud-readonly #quickEditGlobal{display:none!important}.cloud-no-manage [data-view="design"]{display:none!important}@media(max-width:760px){.users-table{min-width:760px}.permissions-box{grid-template-columns:1fr}.audit-event{grid-template-columns:1fr}.account-bar{bottom:max(8px,env(safe-area-inset-bottom))}}
.quick-edit-dialog{width:min(820px,calc(100vw - 24px));max-height:92dvh;overflow:auto}.access-box{border:1px solid #d7cfc6;border-radius:9px;margin:10px 0;padding:12px}.access-box legend{color:var(--wine);font-weight:bold;padding:0 7px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.class-permission-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}.permission-grid label,.class-permission-grid label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px}.permission-grid input,.class-permission-grid input{width:auto;min-height:0}@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.class-permission-grid{grid-template-columns:repeat(3,1fr)}}

@media print{.account-bar,.cloud-gate,.install-banner{display:none!important}}
/* Keep hidden controls hidden even when component styles set display. */
[hidden]{display:none!important}
.settings-layout>*{min-width:0}.form-grid,.asset-controls,.subject-images{min-width:0}
.cloud-gate{overflow-y:auto}.login-card{margin:auto}
@media(max-width:760px){.workspace-view{width:100%;min-width:0}.topbar nav,.topbar>*,.card,.report-controls,.mobile-editor{min-width:0}.subject-images{width:100%}.card-title{gap:8px;flex-wrap:wrap}}
@media print{html,body{background:#fff!important}#toast{display:none!important}.editable-name{text-decoration:none}}

/* Printed reports must fit the page and keep each weekly schedule together. */
@media print {
  .table-scroll { overflow:visible!important; }
  .report-table { max-width:100%; }
  .report-table thead { display:table-header-group; }
  .report-table tr { break-inside:avoid; }
  .report-section-title { break-after:avoid; }
  .schedule-table,.two-model>div { break-inside:avoid; }
  .general-table { table-layout:fixed; width:100%; }
  .general-table th,.general-table td { font-size:9px!important; padding:2px 1px!important; overflow-wrap:anywhere; }
  .general-table .general-department { width:8%; }
  .general-table .general-index { width:2%; }
  .general-table .general-name { width:16%; }
  .general-table .general-period { width:1.8%; }
  .general-table .general-count { width:3%; }
  .general-table .general-task { width:8%; }
}
