@font-face{font-family:"Sakkal Majalla Local";src:local("Sakkal Majalla"),local("Sakkal Majalla Bold");font-display:swap}
:root{--blue:#176b87;--navy:#123f52;--gold:#c79a2b;--ink:#17323b;--muted:#637b83;--line:#dce7e8;--bg:#f3f8f7;--green:#168267;--red:#b9414c;--shadow:0 12px 30px rgba(20,70,78,.09)}
body,input,select,textarea,button{font-family:"Sakkal Majalla Local","B Nazanin",Tahoma,Arial,sans-serif}body{font-size:18px;background-color:var(--bg);background-image:linear-gradient(30deg,rgba(23,107,135,.025) 12%,transparent 12.5%,transparent 87%,rgba(23,107,135,.025) 87.5%),linear-gradient(150deg,rgba(199,154,43,.025) 12%,transparent 12.5%,transparent 87%,rgba(199,154,43,.025) 87.5%);background-size:34px 58px}
.app main{position:relative}.app main:before{content:"";position:fixed;top:7px;bottom:7px;right:247px;left:7px;border:2px solid rgba(199,154,43,.65);outline:1px solid rgba(23,107,135,.24);outline-offset:4px;pointer-events:none;z-index:100;border-radius:5px}
.app main:after{content:"✦  ۞  ✦";position:fixed;top:0;left:50%;transform:translateX(-50%);padding:0 18px;color:var(--gold);background:var(--bg);letter-spacing:8px;z-index:101;pointer-events:none}
.app aside{border-left:3px double rgba(199,154,43,.72);background:linear-gradient(180deg,#fff 0,#f7fbfa 100%)}.logo{padding-bottom:14px;border-bottom:1px solid var(--line)}.logo b{font-size:20px}.logo small{font-size:13px}
nav button{font-size:16px;border:1px solid transparent}nav button:hover,nav button.active{border-color:#cae2e3;background:linear-gradient(90deg,#e6f4f2,#f6fbfa);box-shadow:inset -3px 0 var(--gold)}
.app header h1{font-size:27px}.app header p{font-size:14px}.hero{background:linear-gradient(125deg,#103f52,#176b87 62%,#1a887e);border:1px solid #ffffff35;border-bottom:5px solid var(--gold);box-shadow:0 14px 34px rgba(16,63,82,.18);position:relative}.hero:after{content:"۞";position:absolute;left:235px;font-size:110px;color:#ffffff0e}.hero h2{font-size:31px}.hero p{font-size:17px}
.stat,.card{border-color:#d9e6e5;box-shadow:var(--shadow)}.stat{border-top:3px solid var(--gold)}.stat small{font-size:13px}.stat strong{color:var(--navy)}.card h3,.section-head h2{color:var(--navy)}.section-head h2{font-size:25px}.section-head p,.card p{font-size:14px}
button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s,box-shadow .15s,background .15s;font-size:15px}button:not(.close):not(#menu):before{content:"✦";font-size:.72em;color:currentColor;opacity:.8}button:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--blue),#19847c);box-shadow:0 5px 12px rgba(23,107,135,.18)}.secondary{border:1px solid #d7e3e4;background:#f3f8f8}.quick button{font-size:14px;border-color:#d6e4e4}.close{color:var(--red)}
#printBtn:before{content:"▣"}#shareBtn:before{content:"↗"}#alertBtn:before{content:"◉"}#backupBtn:before{content:"◫"}#refreshDaily:before{content:"↻"}#newAssignmentBtn:before{content:"▦"}#teacherAvailabilityBtn:before{content:"◷"}.edit-student:before,.edit-staff:before,.edit-class:before,.edit-course:before,.edit-grade:before,.edit-assignment:before,.edit-operation:before{content:"✎"}.close-btn:before{content:"×"}
input,select,textarea{font-size:16px;border:1px solid #cfdedf;background:#fff;box-shadow:inset 0 1px 2px rgba(20,70,78,.035)}textarea{border-radius:9px;padding:11px 12px;resize:vertical}label{font-size:15px}.badge{font-size:12px}.table-wrap{border-radius:10px}th{font-size:13px;color:var(--navy);background:linear-gradient(#f7fbfa,#eef6f5);border-top-color:#dbe7e7}td{font-size:14px}.person i{background:#dff1ef;color:var(--navy);border:1px solid #c7e2df}.modal{backdrop-filter:blur(3px)}.modal-box{border:2px solid rgba(199,154,43,.65);box-shadow:0 20px 55px rgba(12,48,59,.25)}.modal-box:before{content:"۞";display:block;text-align:center;color:var(--gold);font-size:24px;margin-top:-20px}.modal-box h2{color:var(--navy);font-size:26px}.modal-box>p{font-size:14px}.item-card{border-top:3px solid var(--gold)}.item-card h3{font-size:21px}.item-card p,.item-card small,.item-meta{font-size:13px}.schedule-slot-grid fieldset{background:#fbfdfd;border-color:#d5e4e4}.schedule-slot-grid legend{font-size:17px}.schedule-slot-grid label{font-size:14px}.toast{font-size:15px;border-bottom:3px solid var(--gold)}
@media(max-width:700px){body{font-size:16px}.app main:before{right:7px}.app main:after{font-size:12px}.hero h2{font-size:24px}.section-head h2{font-size:22px}nav button{font-size:15px}}
@media print{.app main:before,.app main:after{display:none}.app main{border:8px double var(--gold);padding:12px;background:#fff}button{display:none!important}}

/* خوانایی بیشتر و عنوان با فونت امیری */
@font-face{font-family:"Amiri Darolsunnah";src:url("assets/Amiri-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Amiri Darolsunnah";src:url("assets/Amiri-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
body{font-size:20px;line-height:1.75}
nav button{font-size:18px}
.app header h1{font-size:30px}
.app header p{font-size:16px}
.hero h2{font-family:"Amiri Darolsunnah",Amiri,"B Nazanin",Tahoma,serif;font-size:52px;font-weight:700;line-height:1.45;letter-spacing:0;word-spacing:2px;margin:8px 0 14px;transform:none;color:#f2ce63;text-shadow:0 4px 3px rgba(0,0,0,.36),0 0 18px rgba(242,206,99,.22)}
.hero h2:before,.hero h2:after{content:"❁";display:inline-block;color:#f0c84c;font-family:Tahoma,serif;font-size:.42em;vertical-align:middle;margin:0 13px;text-shadow:none}
.stat small{font-size:15px}.stat strong{font-size:28px}
.card h3{font-size:22px}.section-head h2{font-size:28px}.section-head p,.card p{font-size:16px}
button,.primary,.secondary,.quick button{font-size:17px}
input,select,textarea{font-size:18px}label{font-size:17px}
th{font-size:15px}td{font-size:16px}.badge{font-size:14px}
.item-card h3{font-size:23px}.item-card p,.item-card small,.item-meta{font-size:15px}
@media(max-width:1100px){.hero h2{font-size:46px;transform:none;word-spacing:2px}}
@media(max-width:700px){body{font-size:18px}.hero h2{font-size:34px;line-height:1.5;transform:none;word-spacing:1px}.hero h2:before,.hero h2:after{margin:0 6px}.app header h1{font-size:26px}nav button{font-size:17px}th{font-size:14px}td{font-size:15px}}
