@font-face{font-family:Vazir;src:local(Tahoma)}:root{--blue:#1769aa;--navy:#123e68;--gold:#c99b17;--ink:#172238;--muted:#788397;--line:#e6eaf0;--bg:#f5f7fa;--green:#138461;--red:#cb4655;--shadow:0 10px 28px #1c35500d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Vazir,Tahoma,Arial,sans-serif;font-size:14px}.hidden{display:none!important}.center-screen{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.loader{width:35px;height:35px;border:4px solid #dbe6ef;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 480px;background:linear-gradient(125deg,#104570,#2079bb)}.auth-brand{display:grid;place-content:center;text-align:center;color:#fff}.auth-brand img{width:290px;height:220px;object-fit:contain;background:#fff;border-radius:25px;padding:15px;margin:auto}.auth-brand h1{font-size:30px;margin:20px 0 4px}.auth-brand p{color:#d7e9f7}.auth-card{background:#fff;padding:9vh 65px}.auth-card h2{font-size:24px;margin:11px 0 4px}.auth-card p{color:var(--muted);font-size:12px;margin-bottom:26px}.step{color:var(--blue);background:#eaf4fb;border-radius:20px;padding:5px 10px;font-size:10px}label{display:grid;gap:6px;margin:13px 0;font-size:11px;font-weight:700}input,select{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:#fff;font:inherit;outline:none}input:focus,select:focus{border-color:#65a3d2;box-shadow:0 0 0 3px #e5f2fb}.primary,.secondary{border:0;border-radius:9px;padding:11px 18px;font:600 11px inherit;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#f0f2f6;color:var(--ink)}.auth-card .primary{width:100%;margin-top:12px}.msg{color:var(--red);font-size:11px;margin-top:12px}.app aside{position:fixed;right:0;top:0;bottom:0;width:240px;background:#fff;border-left:1px solid var(--line);padding:20px 15px;display:flex;flex-direction:column;z-index:20}.logo{display:flex;align-items:center;gap:9px}.logo img{width:65px;height:50px;object-fit:contain}.logo b,.logo small{display:block}.logo b{color:var(--blue)}.logo small{font-size:9px;color:var(--muted)}nav{display:grid;gap:4px;margin-top:28px}nav button{border:0;background:transparent;border-radius:9px;padding:12px;text-align:right;color:#6e788c;font:500 11px inherit;cursor:pointer;display:flex;gap:11px}nav button:hover,nav button.active{background:#eaf4fb;color:var(--blue);font-weight:700}.user{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;display:flex;gap:9px;align-items:center}.user>div{width:36px;height:36px;border-radius:10px;background:#e4f1fa;color:var(--blue);display:grid;place-items:center;font-weight:bold}.user span{flex:1}.user b,.user small{display:block}.user b{font-size:10px}.user small{font-size:8px;color:var(--muted)}.user button{border:0;background:none;font-size:19px}.app main{margin-right:240px;padding:0 32px 50px}.app header{height:90px;display:flex;align-items:center;gap:12px}.app header h1{margin:0;font-size:20px}.app header p{margin:3px 0;color:var(--muted);font-size:10px}.secure{margin-right:auto;background:#e4f6ef;color:var(--green);padding:6px 10px;border-radius:20px;font-size:9px}#menu{display:none}.view{display:none}.view.active{display:block}.hero{min-height:220px;border-radius:18px;padding:31px 38px;background:linear-gradient(120deg,#12486f,#237bb9);border-bottom:4px solid var(--gold);color:#fff;display:flex;align-items:center;overflow:hidden}.hero span{font-size:9px;background:#ffffff1c;padding:5px 9px;border-radius:20px}.hero h2{font-size:23px;margin:13px 0 4px}.hero p{color:#dceaf5}.hero img{margin-right:auto;width:200px;height:145px;object-fit:contain;background:#fff;border-radius:17px;padding:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:17px 0}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stat{padding:18px}.stat small,.stat strong{display:block}.stat small{color:var(--muted);font-size:9px}.stat strong{font-size:24px;margin-top:4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.card{padding:20px}.card h3{margin:0 0 15px}.quick{display:flex;gap:9px;flex-wrap:wrap}.quick button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;font:500 10px inherit;color:var(--blue)}.check{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.check li:before{content:'✓';color:var(--green);margin-left:7px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-head h2{margin:0 0 4px}.section-head p{margin:0;color:var(--muted);font-size:10px}.table-card{padding:0;overflow:hidden}.toolbar{padding:16px}.toolbar input{width:min(420px,100%)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:right}th,td{padding:12px 15px;border-top:1px solid var(--line);white-space:nowrap}th{font-size:9px;color:var(--muted);background:#fafbfc}td{font-size:10px}.person{display:flex;gap:8px;align-items:center}.person i{width:30px;height:30px;border-radius:8px;background:#e6f2fa;color:var(--blue);display:grid;place-items:center;font-style:normal}.badge{font-size:8px;border-radius:20px;padding:4px 8px;background:#e6f5ef;color:var(--green)}.empty{text-align:center;color:var(--muted);padding:35px;font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.item-card h3{margin:0}.item-card p{color:var(--muted);font-size:9px}.item-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:9px}.capacity{height:6px;border-radius:6px;background:#edf0f4;margin-top:9px;overflow:hidden}.capacity i{display:block;height:100%;background:var(--blue)}.role-cards .card ul{padding-right:18px;font-size:9px;color:var(--muted);line-height:2}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stage{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.stage b{width:33px;height:33px;background:#e8f3fb;color:var(--blue);border-radius:9px;display:grid;place-items:center}.stage span{font-size:11px}.toast{position:fixed;left:25px;bottom:25px;background:#15344e;color:#fff;padding:12px 18px;border-radius:9px;opacity:0;transform:translateY(15px);transition:.2s;z-index:80;font-size:10px}.toast.show{opacity:1;transform:none}.modal{display:none;position:fixed;inset:0;background:#12223599;z-index:60;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal-box{background:#fff;border-radius:16px;padding:26px;width:min(450px,100%);max-height:92vh;overflow:auto;position:relative}.modal-box.wide{width:min(780px,100%)}.modal-box h2{margin:0 0 4px}.modal-box>p{font-size:10px;color:var(--muted)}.close{position:absolute;left:14px;top:8px;border:0;background:none;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.span2{grid-column:1/3}.checkline{display:flex;align-items:center}.checkline input{width:auto}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.permission-list{display:grid;grid-template-columns:1fr 1fr;margin-top:15px}.permission-list label{display:flex;align-items:center;font-weight:400}.permission-list input{width:auto}.credential{text-align:center}.credential>span{width:48px;height:48px;border-radius:13px;background:#e2f5ed;color:var(--green);display:grid;place-items:center;font-size:24px;margin:auto}.credential label{background:#f5f7fa;border-radius:8px;padding:10px}.credential label b{font-size:16px;color:var(--blue)}.credential small{display:block;color:var(--muted);margin:10px}.credential .primary{width:100%}@media(max-width:950px){.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.hero img{display:none}}@media(max-width:700px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-card{padding:40px 24px}.app aside{transform:translateX(105%);transition:.2s}.app aside.open{transform:none}.app main{margin-right:0;padding:0 14px 40px}#menu{display:block}.secure{display:none}.grid,.cards,.timeline{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.hero{padding:24px}.hero h2{font-size:18px}}
.assignment-teacher-heading td{padding:12px 14px;background:linear-gradient(90deg,#e9f5f2,#fff8df);border-top:3px solid #c79a22;border-bottom:1px solid #d8c68e}.assignment-teacher-heading div{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.assignment-teacher-heading strong{font-size:1.08rem;color:#0f5860}.assignment-teacher-heading b{margin-inline-start:auto;color:#8a6200}.assignment-teacher-heading span{color:#52636a}
.schedule-production{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px;border-inline-start:4px solid #c79a22}.schedule-production label{min-width:180px;margin:0}.schedule-production small{flex-basis:100%;color:#5b6b70}.schedule-production button{min-height:42px}

/* خوانایی بیشتر در تمام بخش‌های سامانه */
body{font-size:17px;line-height:1.75}
label{font-size:15px;gap:8px}
input,select,textarea{font-size:16px;line-height:1.6;min-height:46px}
.primary,.secondary,.quick button{font-size:15px;line-height:1.5}
nav button{font-size:15px;padding:13px 12px}
.logo b{font-size:17px}.logo small{font-size:12px}
.user b{font-size:14px}.user small{font-size:12px}
.app header h1{font-size:26px}.app header p{font-size:14px}
.secure,.hero span,.step{font-size:13px}
.hero h2{font-size:31px}.hero p{font-size:17px}
.stat small{font-size:14px}.stat strong{font-size:29px}
.card h3{font-size:20px}.section-head h2{font-size:25px}.section-head p{font-size:14px}
th{font-size:14px}td{font-size:14px}.badge{font-size:12px}
.empty,.stage span,.msg{font-size:14px}
.item-card p,.item-meta,.role-cards .card ul{font-size:14px}
.modal-box>p,.schedule-production small{font-size:14px}
.toast{font-size:14px}
small{font-size:13px}
@media(max-width:700px){body{font-size:16px}.hero h2{font-size:25px}.app header h1{font-size:22px}th,td{font-size:14px}}

/* برنامه هفتگی جامع: نمایش درشت و خوانا */
.weekly-overview-box{width:min(97vw,1800px)!important;max-height:96vh;padding:28px}
.weekly-overview-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.weekly-overview-toolbar>div{margin-left:auto}
.weekly-overview-toolbar h2{font-size:28px;margin:0 0 4px}
.weekly-overview-toolbar p{font-size:16px;margin:0;color:var(--muted)}
.weekly-overview-toolbar label{min-width:190px;margin:0}
.weekly-print-head{display:flex;align-items:center;gap:18px;margin:10px 0 20px}
.weekly-print-head img{width:105px;height:80px;object-fit:contain}
.weekly-print-head h2{font-size:27px;margin:0}.weekly-print-head h3{font-size:21px;margin:4px 0}
.weekly-table-wrap{overflow:auto;border:1px solid #d8dee7;border-radius:12px}
.weekly-overview-table{width:max-content;min-width:100%;table-layout:auto}
.weekly-overview-table th,.weekly-overview-table td{font-size:18px!important;line-height:1.25;padding:4px 6px!important;text-align:center;vertical-align:middle;border:1px solid #dfe4ea;white-space:normal;min-width:0;width:auto;height:auto}
.weekly-overview-table thead th{font-size:18px!important;background:#eaf4f4;color:#123e68}
.weekly-overview-table thead th span,.weekly-overview-table thead th b,.weekly-overview-table thead th small{display:block}
.weekly-overview-table thead th b{font-size:18px}.weekly-overview-table thead th small{font-size:15px;color:#536579}
.weekly-overview-table td b{display:block;font-size:20px;color:#123e68;white-space:nowrap}
.weekly-overview-table td small{display:block;font-size:17px;color:#536579;margin-top:1px;white-space:nowrap}
.weekly-overview-table .weekly-day{font-size:19px!important;min-width:105px;background:#fff8df;color:#795a00}
.weekly-overview-table .weekly-time{font-size:16px!important;direction:ltr;min-width:130px;background:#f6f8fa;color:#26384c}
.weekly-overview-table .weekly-empty{font-size:18px!important;color:#a6afb9}
.weekly-overview-table tbody tr:nth-child(5n+1)>*{border-top:4px solid #9b7411!important}
.weekly-overview-table tbody tr:nth-child(5n)>*{border-bottom:4px solid #9b7411!important}
.weekly-overview-table tbody tr>td:last-child,.weekly-overview-table tbody tr>th:last-child{border-left:4px solid #9b7411!important}
.weekly-overview-table tbody tr>th.weekly-day{border:4px solid #9b7411!important;background:linear-gradient(180deg,#fff3bd,#fffaf0);font-weight:800}
.weekly-overview-table tbody tr:nth-child(5n+1)>th.weekly-time{border-right:4px solid #9b7411!important}
.weekly-overview-table tbody tr:not(:nth-child(5n+1))>th.weekly-time{border-right:4px solid #9b7411!important}
@page{size:A3 landscape;margin:4mm}
@media print{
 html,body.weekly-overview-print{width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}
 body.weekly-overview-print>*{display:none!important}
 body.weekly-overview-print>#weeklyOverviewModal{display:block!important}
 body.weekly-overview-print{background:#fff!important;font-size:10pt!important}
 body.weekly-overview-print *{visibility:hidden}
 body.weekly-overview-print #weeklyOverviewModal,body.weekly-overview-print #weeklyOverviewModal *{visibility:visible}
 body.weekly-overview-print #weeklyOverviewModal{display:block!important;position:absolute!important;inset:0!important;background:#fff!important;padding:0!important;overflow:visible!important}
 body.weekly-overview-print .weekly-overview-box{position:static!important;width:100%!important;max-width:100%!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;zoom:1!important}
 body.weekly-overview-print .weekly-overview-toolbar,body.weekly-overview-print .close{display:none!important}
 body.weekly-overview-print .weekly-print-head{margin:0 0 2mm!important;gap:3mm!important;height:16mm!important}
 body.weekly-overview-print .weekly-print-head img{display:block!important;width:20mm!important;height:15mm!important}
 body.weekly-overview-print .weekly-print-head h2{font-size:14pt!important;line-height:1.1!important}
 body.weekly-overview-print .weekly-print-head h3{font-size:10.5pt!important;line-height:1.1!important;margin:.5mm 0!important}
 body.weekly-overview-print .weekly-print-head .badge{font-size:7.5pt!important;padding:.4mm 2mm!important}
 body.weekly-overview-print .weekly-table-wrap{overflow:visible!important;border:0!important;border-radius:0!important}
 body.weekly-overview-print .weekly-overview-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;page-break-inside:avoid;overflow-wrap:anywhere!important;word-break:break-word!important}
 body.weekly-overview-print .weekly-overview-table th,body.weekly-overview-print .weekly-overview-table td{font-size:9.5pt!important;line-height:1.02!important;padding:.25mm .3mm!important;min-width:0!important;max-width:none!important;width:auto!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow-wrap:anywhere!important}
 body.weekly-overview-print .weekly-overview-table thead th,body.weekly-overview-print .weekly-overview-table thead th b{font-size:9.5pt!important}
 body.weekly-overview-print .weekly-overview-table thead th small{font-size:8pt!important}
 body.weekly-overview-print .weekly-overview-table td b{font-size:10.5pt!important;line-height:1.02!important;white-space:nowrap!important}
 body.weekly-overview-print .weekly-overview-table td small{font-size:8.5pt!important;line-height:1!important;margin-top:.1mm!important;white-space:nowrap!important}
 body.weekly-overview-print .weekly-overview-table .weekly-day{font-size:10pt!important;width:10mm!important;min-width:10mm!important}
 body.weekly-overview-print .weekly-overview-table .weekly-time{font-size:8.5pt!important;width:16mm!important;min-width:16mm!important;white-space:nowrap!important}
 body.weekly-overview-print .weekly-overview-table tbody tr:nth-child(5n+1)>*{border-top-width:1.2mm!important}
 body.weekly-overview-print .weekly-overview-table tbody tr:nth-child(5n)>*{border-bottom-width:1.2mm!important}
}

/* مسیر پذیرش و سوابق انتقالی */
.admission-records{margin:12px 0;padding:16px;border:1px solid #d9e4ec;border-inline-start:5px solid var(--blue);border-radius:12px;background:#f8fbfd}
.prior-record-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:5px 0 12px}.prior-record-head b,.prior-record-head small{display:block}.prior-record-head small{color:var(--muted);margin-top:3px}
.prior-record-row{display:grid;grid-template-columns:1.1fr .8fr 1fr 1fr 1fr auto;align-items:end;gap:8px;padding:10px;margin-top:9px;background:#fff;border:1px solid var(--line);border-radius:10px}.prior-record-row label{margin:0}.prior-record-row .remove-prior-record{width:42px;height:46px;border:0;border-radius:9px;background:#fde8eb;color:#a93645;font-size:22px;cursor:pointer}
.manager-override{padding:14px 16px;margin:10px 0;border:1px solid #e4c86f;border-radius:12px;background:#fff9df}.manager-override textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;font:inherit;resize:vertical}
@media(max-width:1050px){.prior-record-row{grid-template-columns:1fr 1fr}.prior-record-row .remove-prior-record{width:100%}}
@media(max-width:700px){.prior-record-head{align-items:stretch;flex-direction:column}.prior-record-row{grid-template-columns:1fr}}
.prayer-attendance-filters{align-items:end;gap:12px}.prayer-attendance-filters label{display:grid;gap:5px;min-width:150px}.prayer-attendance-filters>input{min-width:220px}.prayer-present{background:#dff7e9;color:#17683c}.prayer-absent{background:#ffe2e5;color:#9b2735}.prayer-excused{background:#fff0c7;color:#7b5b00}
