*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#697386;--primary:#315efb;--primary2:#2148d8;--border:#e4e8f0;--success:#159a67;--danger:#d64545;--shadow:0 20px 60px rgba(23,32,51,.10)}
body{font-family:Tahoma,"Vazirmatn",Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}
button,input,textarea,select{font:inherit}
.hidden{display:none!important}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;padding:10px 18px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);cursor:pointer;transition:all .15s;text-decoration:none;font-size:14px}
.btn:hover{background:#f6f8ff;border-color:#bfcaf0}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary2)}
.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:20px}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.card-header h2{font-size:18px;margin:0}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:14px;font-weight:bold;margin-bottom:8px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:#fbfcfe;transition:all .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(49,94,251,.1);background:#fff}
.form-group textarea{resize:vertical;min-height:100px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:right;padding:12px 14px;background:#f7f9fd;font-size:13px;font-weight:bold;border-bottom:1px solid var(--border)}
td{padding:14px;border-bottom:1px solid var(--border);font-size:14px}
tr:hover{background:#fafbfd}
.badge{display:inline-block;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:bold}
.badge.active{background:#e0f2fe;color:#0369a1}
.badge.pending{background:#fef3c7;color:#92400e}
.badge.closed{background:#f1f5f9;color:#475569}
.badge.graded{background:#d1fae5;color:#065f46}
.toast{position:fixed;bottom:22px;left:22px;background:#172033;color:#fff;padding:12px 17px;border-radius:12px;font-size:13px;opacity:0;transform:translateY(10px);transition:.25s;z-index:1000}
.toast.show{opacity:1;transform:none}
.modal{position:fixed;inset:0;background:rgba(23,32,51,.5);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal.show{display:flex}
.modal-content{background:#fff;border-radius:20px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;padding:28px}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.modal-header h2{font-size:20px;margin:0}
.close-btn{border:0;background:none;font-size:24px;color:var(--muted);cursor:pointer}
@media(max-width:768px){.container{padding:0 15px}.card{padding:16px}table{font-size:13px}th,td{padding:10px 8px}}
