:root{--bg:#f3f5fa;--card:#fff;--text:#1d2433;--muted:#6b7488;--pri:#2f5bea;--pri2:#1f43b8;--line:#e3e7f0;--ok:#188a52;--err:#c92a3a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Cairo',Tahoma,Arial,sans-serif;line-height:1.7;min-height:100vh}
body>main.card{margin:8vh auto}
.card{background:var(--card);max-width:420px;width:calc(100% - 32px);margin:24px auto;padding:32px 28px;border-radius:18px;box-shadow:0 10px 40px rgba(30,50,110,.1);text-align:center}
.logo{font-size:44px}
h1{margin:.2em 0 .4em;font-size:1.5rem}h2{margin:0 0 14px;font-size:1.15rem}
.muted{color:var(--muted)}
label{display:block;text-align:start;font-weight:600;margin:12px 0 4px;font-size:.92rem}
input{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}
input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px rgba(47,91,234,.15)}
input[type=file]{padding:7px}
.btn{display:inline-block;background:var(--pri);color:#fff;border:0;padding:10px 22px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;margin-top:16px;transition:.15s}
.btn:hover{background:var(--pri2)}
.btn.ghost{background:#e8edfb;color:var(--pri)}.btn.ghost:hover{background:#d9e1f8}
.btn.danger{background:#fde8ea;color:var(--err)}.btn.danger:hover{background:#fbd3d7}
.btn.sm{padding:4px 12px;margin:0;font-size:.85rem}
.link{display:block;margin-top:18px;color:var(--muted);font-size:.9rem}
.alert{padding:10px 14px;border-radius:10px;margin:14px 0;background:#fff6e0;color:#8a6100}
.alert.err{background:#fde8ea;color:var(--err)}.alert.ok{background:#e3f6ec;color:var(--ok)}
.info{background:#f3f6fe;border-radius:12px;padding:14px;margin:14px 0;display:flex;flex-direction:column}
.info span{color:var(--muted);font-size:.9rem}
.wrap{max-width:1000px;margin:0 auto;padding:20px 16px 50px}
.bar{display:flex;justify-content:space-between;align-items:center}
.bar .link{margin:0}
.panel{background:var(--card);border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 4px 18px rgba(30,50,110,.06)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px;align-items:end}
.actions{display:flex;gap:8px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.row input{width:220px}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
th{background:#f6f8fd;font-size:.88rem;color:var(--muted)}
.inline{display:inline}
.acts{white-space:nowrap}
.tag{font-size:.8rem;padding:2px 10px;border-radius:20px;margin-inline-end:6px}
.tag.ok{background:#e3f6ec;color:var(--ok)}.tag.no{background:#f0f1f5;color:var(--muted)}

/* ===== واجهة الأستاذ: تحسينات الهاتف ===== */
main.card .btn{width:100%;min-height:50px;font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:8px}
main.card input{min-height:50px;font-size:16px;text-align:center;letter-spacing:.05em}
main.card .link{padding:12px;min-height:44px}
input,button{-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.98)}
@media (max-width:480px){
  body{background:#fff}
  body>main.card{margin:0 auto;min-height:100vh;width:100%;max-width:none;border-radius:0;box-shadow:none;
    display:flex;flex-direction:column;justify-content:center;
    padding:24px 20px calc(24px + env(safe-area-inset-bottom)) 20px}
  .logo{font-size:56px}
  h1{font-size:1.35rem}
  .info{padding:16px;margin:18px 0;text-align:start}
  .info b{font-size:1.1rem}
}
