*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:#f5f7fb;color:#182230}a{color:inherit}.wrap{max-width:1200px;margin:0 auto;padding:24px}.top{background:#183b63;color:#fff}.top .wrap{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700}.nav{display:flex;gap:12px;align-items:center}.nav a{color:#fff;text-decoration:none}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin:16px 0;box-shadow:0 4px 18px rgba(0,0,0,.04)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.stat{padding:18px;border-radius:12px;background:#eef4fa}.stat b{display:block;font-size:28px;margin-top:8px}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 16px;background:#1d4f7a;color:#fff;text-decoration:none;cursor:pointer}.btn.secondary{background:#6b7280}.btn.danger{background:#b42318}.btn.success{background:#18794e}input,select{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:8px;margin-top:6px;background:#fff}label{display:block;margin-bottom:12px;font-size:14px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:right}th{background:#f8fafc}.msg{padding:12px;border-radius:9px;margin:10px 0}.msg.success{background:#e9f8ef;color:#12633e}.msg.error{background:#fff0f0;color:#9b1c1c}.login{min-height:100vh;display:grid;place-items:center;background:#183b63}.login .card{width:min(420px,92vw)}.rtl{direction:rtl}.muted{color:#64748b;font-size:13px}@media(max-width:700px){.wrap{padding:12px}.top .wrap{gap:8px;flex-wrap:wrap}.nav{font-size:13px}.card{padding:14px;overflow:auto}}
.table-wrap{overflow:auto}.grade-table{min-width:620px}.grade-table th,.grade-table td{text-align:center}.grade-input{width:110px;text-align:center;font-size:16px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px;flex-wrap:wrap}.muted{color:#777}

.subnav{font-size:12px;opacity:.85;margin-top:5px}.top nav{display:flex;gap:12px}.top nav a{color:#fff;text-decoration:none}.context-list{display:grid;gap:10px;margin:18px 0}.context-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.context-item .btn{white-space:nowrap}.rowline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eee}.rowline form{margin:0}.tag{font-size:12px;padding:4px 8px;border-radius:20px;background:#e8f5ee}.monthly{min-width:1100px}.monthly th small{display:block;font-size:10px;font-weight:normal;margin-top:4px}.monthly th.locked{background:#fff1f1}.monthly th.open{background:#effaf3}.student-name{text-align:right!important;min-width:180px}.student-name small{display:block;color:#777;font-size:10px}.monthly .grade-input{width:75px}.top{position:sticky;top:0;z-index:5}
.grade-table.monthly{min-width:1050px}
.grade-table.monthly th:first-child,.grade-table.monthly td:first-child{position:sticky;right:0;background:inherit;z-index:3}
.grade-table.monthly th:nth-child(2),.grade-table.monthly td:nth-child(2){position:sticky;right:42px;background:inherit;z-index:3}
.grade-table.monthly th.open{border-bottom:3px solid #198754}.grade-table.monthly th.locked{opacity:.65}
.grade-table.monthly th small{display:block;font-size:11px;font-weight:400;margin-top:3px}
.grade-input{width:72px;min-width:60px;text-align:center;font-size:15px}
.student-name small{display:block;font-size:11px;opacity:.65;margin-top:2px}
@media(max-width:700px){.grade-input{width:62px}.grade-table.monthly{font-size:13px}}

.grade-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:10px 0;flex-wrap:wrap}.grade-tools input{max-width:360px;margin:0}.grade-input:focus{outline:2px solid #b9862f;outline-offset:1px}.tag{display:inline-block;font-size:12px;padding:5px 9px;border-radius:20px;background:#e8f5ee;color:#12633e}

textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:8px;margin-top:6px;background:#fff;resize:vertical;font-family:inherit}.message-item{border:1px solid #e5e7eb;border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}.message-item summary{cursor:pointer;list-style:none;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.message-item summary::-webkit-details-marker{display:none}.message-title{font-weight:700}.message-body{padding:0 14px 14px;border-top:1px solid #eee}.unread{background:#fff3cd;color:#7a5a00}.nav-badge{display:inline-block;min-width:18px;padding:2px 6px;border-radius:12px;background:#f6c344;color:#182230;font-size:10px;text-align:center}.inline-form{display:inline}.top nav{flex-wrap:wrap}@media(max-width:700px){.message-item summary{align-items:flex-start;flex-direction:column}.top nav{gap:8px}}

/* ===== تم ظاهری جدید (سرمه‌ای / طلایی، الهام‌گرفته از کارنامه‌ی HTML) ===== */
:root{--navy:#1F3A5F;--navy-deep:#152943;--paper:#F3F1EC;--gold:#B9862F;--gold-soft:#E9D6AE;--ink:#26303B;--muted:#6B7686;--line:#DCD6C8;--good:#2E7D4F;--bad:#B3402A}
body{background:var(--paper);color:var(--ink);line-height:1.8;font-size:15px}
.top{background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-bottom:3px solid var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.18)}
.top .wrap{padding-top:12px;padding-bottom:12px}
.brand,.top .wrap>div>b{font-size:17px;letter-spacing:.2px}
.subnav{color:var(--gold-soft);opacity:1;font-size:12.5px}
.top nav{gap:6px}
.top nav a,.nav a{padding:7px 12px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:13.5px;white-space:nowrap;transition:background .15s}
.top nav a:hover{background:rgba(255,255,255,.2)}
.top nav a.active{background:var(--gold);border-color:var(--gold);font-weight:700;color:#fff}
.nav-badge{background:var(--gold-soft);color:var(--navy-deep);font-weight:700}
.wrap{max-width:1240px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(31,58,95,.05)}
.card>h1,.card>h2,.card>h3{margin:0 0 14px;color:var(--navy);font-size:17px;border-bottom:2px solid var(--gold-soft);padding-bottom:8px}
.muted{color:var(--muted)}
.btn{background:var(--navy);border-radius:7px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,transform .05s}
.btn:hover{background:var(--navy-deep)}.btn:active{transform:translateY(1px)}
.btn.gold{background:var(--gold)}.btn.gold:hover{background:#96701f}
.btn.secondary{background:#6B7686}.btn.secondary:hover{background:#556070}
.btn.danger{background:var(--bad)}.btn.success{background:var(--good)}
input,select,textarea{border:1px solid var(--line);border-radius:7px;font-family:inherit;font-size:14.5px;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
label{color:var(--muted);font-size:13.5px}
table{border:1px solid var(--line);border-radius:8px;overflow:hidden}
th{background:#EEF1F6;color:var(--navy);font-weight:700;border-bottom:2px solid var(--gold-soft)}
td{border-bottom:1px solid #ECE8DC}
tbody tr:nth-child(even) td,table tr:nth-child(even) td{background:#FBFAF6}
tbody tr:hover td{background:#F5F0E1}
.grade-table th,.grade-table td{padding:8px 6px}
.monthly th.open{background:#E8F4EC}.monthly th.locked{background:#FBEAE6}
.stat{background:#fff;border:1px solid var(--line);border-right:4px solid var(--gold);border-radius:10px;color:var(--muted);font-size:13.5px}
.stat b{color:var(--navy);font-size:30px}
.msg{border-radius:8px;border:1px solid transparent;border-right-width:4px}
.msg.success{background:#EAF6EE;color:#1E5E3A;border-color:var(--good)}
.msg.error{background:#FCEFEC;color:#8E2F1D;border-color:var(--bad)}
.tag{background:#EAF6EE;color:#1E5E3A}
.context-item{background:#FBFAF6;border:1px solid var(--line);border-radius:10px}
.message-item{border:1px solid var(--line);border-radius:10px}
.login{background:linear-gradient(135deg,var(--navy-deep),var(--navy))}
.login .card{border-top:4px solid var(--gold);box-shadow:0 10px 40px rgba(0,0,0,.3)}
@media(max-width:700px){
 body{font-size:14.5px}
 .top{position:static}
 .top nav{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;-webkit-overflow-scrolling:touch}
 .card{padding:14px}
}
