:root{--ink:#142b26;--ink-soft:#4a605a;--ink-faint:#7d908a;--emerald-950:#032e26;--emerald-900:#053d33;--emerald-800:#075244;--emerald-700:#0a6654;--emerald-600:#0d7d66;--emerald-500:#14a07f;--emerald-100:#d5efe6;--emerald-50:#ebf7f2;--gold-600:#a97a1f;--gold-500:#c9962e;--gold-300:#e8c77a;--gold-100:#faefd6;--gold-50:#fdf8ec;--sky-600:#23709f;--sky-100:#dcecf7;--rose-600:#b23a48;--rose-100:#f9e1e4;--amber-600:#b8690c;--amber-100:#fdeccf;--violet-600:#6b4fa8;--violet-100:#ebe4f7;--paper:#f2f6f4;--surface:#fff;--line:#dbe4e0;--line-soft:#ebf0ee;--green:var(--emerald-700);--green-deep:var(--emerald-900);--green-tint:var(--emerald-50);--gold:var(--gold-600);--gold-tint:var(--gold-100);--red:var(--rose-600);--red-tint:var(--rose-100);--amber:var(--amber-600);--amber-tint:var(--amber-100);--font-ui:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;--font-title:"Amiri", "Traditional Arabic", serif;--r-sm:8px;--r-md:14px;--r-lg:20px;--shadow-sm:0 1px 2px #053d330f;--shadow:0 1px 2px #053d330d, 0 8px 24px -8px #053d331f;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23E8C77A' stroke-width='1'%3E%3Crect x='19' y='19' width='26' height='26'/%3E%3Crect x='19' y='19' width='26' height='26' transform='rotate(45 32 32)'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M0 32h9M55 32h9M32 0v9M32 55v9'/%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3{margin:0;font-weight:700;line-height:1.3}h1{font-family:var(--font-title);color:var(--emerald-900);font-size:32px}h2{font-family:var(--font-title);color:var(--emerald-900);font-size:22px}h3{font-size:15px;font-weight:600}p{margin:0}a{color:var(--emerald-700)}:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}::selection{background:var(--gold-100)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head .title-row{align-items:center;gap:14px;display:flex}.page-head .title-ico{background:linear-gradient(135deg, var(--emerald-600), var(--emerald-800));width:46px;height:46px;color:var(--gold-300);border-radius:14px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 6px 14px -6px #053d3380}.page-head .sub{color:var(--ink-soft);margin-top:2px}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow);padding:20px 22px}.panel+.panel{margin-top:16px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{align-items:center;gap:8px;display:flex}.panel-head h2 svg{color:var(--gold-500)}.grid-2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=960px){.grid-2{grid-template-columns:minmax(0,1fr)}}.figures{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px;display:grid}.figure{--tone:var(--emerald-700);--tone-bg:var(--emerald-50);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow);border:1px solid var(--line-soft);border-top:3px solid var(--tone);grid-template-columns:auto 1fr;align-items:center;gap:2px 14px;padding:16px 18px;display:grid}.figure .ico{background:var(--tone-bg);width:44px;height:44px;color:var(--tone);border-radius:12px;grid-row:span 3;place-items:center;display:grid}.figure .value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:26px;font-weight:700;line-height:1.2}.figure .label{color:var(--ink-soft);font-size:13px}.figure .hint{color:var(--ink-faint);font-size:12px}.figure.tone-gold{--tone:var(--gold-600);--tone-bg:var(--gold-100)}.figure.tone-sky{--tone:var(--sky-600);--tone-bg:var(--sky-100)}.figure.tone-violet{--tone:var(--violet-600);--tone-bg:var(--violet-100)}.figure.tone-rose{--tone:var(--rose-600);--tone-bg:var(--rose-100)}.figure.tone-rose .value{color:var(--rose-600)}.btn{background:linear-gradient(180deg, var(--emerald-600), var(--emerald-700));color:#fff;font:inherit;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 10px -4px #0a66548c}.btn:hover{background:linear-gradient(180deg, var(--emerald-700), var(--emerald-800))}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn.gold{background:linear-gradient(180deg, var(--gold-300), var(--gold-500));color:var(--emerald-950);box-shadow:0 4px 10px -4px #a97a1f99}.btn.gold:hover{background:linear-gradient(180deg, var(--gold-500), var(--gold-600));color:#fff}.btn.ghost{background:var(--surface);color:var(--emerald-700);border-color:var(--emerald-100);box-shadow:var(--shadow-sm)}.btn.ghost:hover{background:var(--emerald-50);border-color:var(--emerald-500)}.btn.danger{background:var(--surface);border-color:var(--rose-100);color:var(--rose-600);box-shadow:none}.btn.danger:hover{background:var(--rose-100)}.btn.small{padding:4px 11px;font-size:13px}.link-btn{font:inherit;color:var(--emerald-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:500;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.link-btn.danger{color:var(--rose-600)}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--ink-soft);font-size:13px;font-weight:500}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);background:#fbfdfc;min-width:0;padding:8px 11px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--emerald-500);box-shadow:0 0 0 3px var(--emerald-100);background:#fff;outline:none}input[readonly]{background:var(--paper);color:var(--ink-soft)}textarea{resize:vertical;min-height:70px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .wide{grid-column:1/-1}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.check{align-items:center;gap:8px;font-size:14px;display:flex}input[type=checkbox]{accent-color:var(--emerald-600);width:16px;height:16px}.table-wrap{margin:0 -22px;padding:0 22px;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}th{text-align:start;color:var(--emerald-800);background:var(--emerald-50);white-space:nowrap;padding:9px 12px;font-size:13px;font-weight:600}th:first-child{border-start-start-radius:var(--r-sm);border-end-start-radius:var(--r-sm)}th:last-child{border-start-end-radius:var(--r-sm);border-end-end-radius:var(--r-sm)}td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:11px 12px}tr:last-child td{border-bottom:0}td.num,th.num{font-variant-numeric:tabular-nums;text-align:end}tbody tr{transition:background .12s}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--gold-50)}.muted{color:var(--ink-faint)}.strong{font-weight:600}.avatar{background:var(--emerald-100);width:34px;height:34px;color:var(--emerald-800);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.avatar.gold{background:var(--gold-100);color:var(--gold-600)}.avatar.lg{width:72px;height:72px;font-size:26px;font-family:var(--font-title)}.person{align-items:center;gap:10px;display:flex}.tag{background:var(--line-soft);color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.tag.green{background:var(--emerald-100);color:var(--emerald-800)}.tag.gold{background:var(--gold-100);color:var(--gold-600)}.tag.red{background:var(--rose-100);color:var(--rose-600)}.tag.amber{background:var(--amber-100);color:var(--amber-600)}.tag.sky{background:var(--sky-100);color:var(--sky-600)}.tag.violet{background:var(--violet-100);color:var(--violet-600)}.empty{text-align:center;color:var(--ink-soft);padding:30px 12px}.empty p+.btn{margin-top:12px}.form-error,.form-ok{border-radius:var(--r-sm);align-items:center;gap:8px;padding:9px 13px;font-size:14px;display:flex}.form-error{background:var(--rose-100);color:var(--rose-600)}.form-ok{background:var(--emerald-100);color:var(--emerald-800)}.tabs{background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-radius:12px;gap:4px;max-width:100%;margin-bottom:16px;padding:4px;display:inline-flex;overflow-x:auto}.tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:7px 16px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--emerald-700)}.tabs button.active{background:var(--emerald-700);color:#fff;font-weight:600}.seg{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:7px;padding:5px 13px;font-size:13px;font-weight:500}.seg button:hover{color:var(--ink);background:#ffffffb3}.seg button.on{background:var(--emerald-700);color:#fff;box-shadow:var(--shadow-sm)}.seg button.on.Absent{background:var(--rose-600)}.seg button.on.Late{background:var(--amber-600)}.seg button.on.Excused{background:var(--sky-600)}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.loading{color:var(--ink-faint);padding:20px 0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
