@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-arabic-400-normal-CyCXRvzh.woff2) format("woff2"),url(/assets/tajawal-arabic-400-normal-DCQxawbB.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-latin-400-normal-BVNSOH3d.woff2) format("woff2"),url(/assets/tajawal-latin-400-normal-BdYcZznU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-arabic-500-normal-BZ8ojJNu.woff2) format("woff2"),url(/assets/tajawal-arabic-500-normal-CbVEaYEW.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-latin-500-normal-CoYeBiSI.woff2) format("woff2"),url(/assets/tajawal-latin-500-normal-DU9v6xgj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-arabic-700-normal-D2-eand5.woff2) format("woff2"),url(/assets/tajawal-arabic-700-normal-9L7Zusdl.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-latin-700-normal-BypgxfGb.woff2) format("woff2"),url(/assets/tajawal-latin-700-normal-CV3bxpHe.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-arabic-400-normal-D0NIBXga.woff2) format("woff2"),url(/assets/amiri-arabic-400-normal-C_1DQziU.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-latin-ext-400-normal-C9hoIjPx.woff2) format("woff2"),url(/assets/amiri-latin-ext-400-normal-CGn-6a7O.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-latin-400-normal-Czk41Rjn.woff2) format("woff2"),url(/assets/amiri-latin-400-normal-Bv6IM0kz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amiri-arabic-700-normal-D8FrblyB.woff2) format("woff2"),url(/assets/amiri-arabic-700-normal-dUd6sHq-.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amiri-latin-ext-700-normal-ByFuOT8o.woff2) format("woff2"),url(/assets/amiri-latin-ext-700-normal-Ck-lxu84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amiri-latin-700-normal-DIjoEGk6.woff2) format("woff2"),url(/assets/amiri-latin-700-normal-BH9dHmOv.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f8efec;--card: #fffdfb;--ink: #2e1424;--muted: #7a5f6f;--line: #e8d3d3;--green: #a8146f;--green-2: #c9328d;--green-soft: #f9dcea;--teal: #1d5c53;--teal-soft: #dfeeea;--gold: #a8527c;--gold-soft: #f9e3ec;--red: #b4533f;--red-soft: #f7e3dd;--rose: #b5187a;--rose-soft: #f9dcea;--hero-1: #6a0e4a;--hero-2: #b5187a;--hero-gold: #ffc8e0;--hero-ink: #ffffff;--hero-sub: #f3d3e4;--shadow: 0 1px 2px rgba(80, 20, 55, .08), 0 6px 18px rgba(80, 20, 55, .1);--star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.09)' stroke-width='1'%3E%3Crect x='15' y='15' width='30' height='30'/%3E%3Crect x='15' y='15' width='30' height='30' transform='rotate(45 30 30)'/%3E%3Ccircle cx='30' cy='30' r='6'/%3E%3C/g%3E%3C/svg%3E")}@media (prefers-color-scheme: dark){:root{--bg: #170e13;--card: #22151d;--ink: #f6ebf1;--muted: #b79ca9;--line: #3a2531;--green: #ec6fb5;--green-2: #d9549f;--green-soft: #3d1f31;--teal: #7fd1c4;--teal-soft: #17302c;--gold: #e58fb8;--gold-soft: #3d1f31;--red: #d9806c;--red-soft: #3b2420;--rose: #f08cc0;--rose-soft: #3d1f31;--hero-1: #2b1722;--hero-2: #43203a;--hero-gold: #e58fb8;--hero-ink: #ffd9ec;--hero-sub: #e3b5cc;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 18px rgba(0, 0, 0, .3)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:Tajawal,system-ui,sans-serif;font-size:16px;line-height:1.55;padding:0 12px 48px}button{font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,.pickdate:focus-within{outline:3px solid var(--gold);outline-offset:2px}.wrap{max-width:540px;margin:0 auto}.hero{position:relative;text-align:center;color:var(--hero-sub);margin:12px 0 8px;padding:14px 16px;border-radius:24px;background:var(--star),linear-gradient(160deg,var(--hero-1),var(--hero-2));box-shadow:var(--shadow);overflow:hidden}.hero:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,200,225,.3);border-radius:19px;pointer-events:none}.hero.small{padding:16px 12px;margin:0 0 18px}.hero.small h1{font-size:24px}.logo-plate{position:relative;z-index:1;display:inline-block;background:#fffdf8;border-radius:90px 90px 24px 24px;padding:10px 18px 6px;margin-bottom:10px;border:2px solid rgba(255,200,225,.9);box-shadow:0 6px 18px #00000047}.logo{display:block;width:168px;height:auto;max-width:100%}.hero.small .logo{width:170px}.hero.small .logo-plate{padding:10px 16px 6px;margin-bottom:8px}.bismillah{font-family:Amiri,serif;font-size:22px;color:var(--hero-gold);margin:0 0 6px}.hero h1{font-size:28px;margin:0;font-weight:700;color:var(--hero-ink);letter-spacing:.2px}.teacher{font-size:14px;color:var(--hero-sub);margin-top:2px}.verse{font-family:Amiri,serif;font-size:18px;color:var(--hero-gold);margin:10px 0 0}h2{font-size:20px;margin:22px 0 10px;color:var(--green);display:flex;align-items:center;gap:8px}.orn{color:var(--rose);font-size:15px}h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.login-box h2:after{display:none}.progress .bar i{background:linear-gradient(90deg,var(--green-2),var(--rose))}.progress.done{background:var(--rose-soft);border-color:var(--rose)}.who{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;justify-content:center;margin:12px 0 4px;font-size:14px;color:var(--muted)}.who #hello{font-weight:700;color:var(--ink);font-size:17px}.switch{border:1.5px solid var(--green);background:var(--card);color:var(--green);font-size:14px;font-weight:700;border-radius:999px;cursor:pointer;padding:8px 14px;min-height:40px}.banner{background:var(--gold-soft);border:1px solid var(--gold);border-radius:14px;padding:9px 12px;font-size:14px;text-align:center;margin:8px 0}.banner[hidden],.login[hidden],.progress[hidden]{display:none}.login{position:fixed;inset:0;z-index:20;background:var(--bg);overflow-y:auto;padding:14px 12px calc(24px + env(safe-area-inset-bottom))}.login-box{max-width:540px;margin:0 auto;text-align:center}.login-box h2{justify-content:center;margin-top:4px}.picks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.pick{min-height:58px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-size:18px;font-weight:500;cursor:pointer;padding:8px;box-shadow:var(--shadow);transition:transform .12s,border-color .12s,background .12s}.pick:hover{border-color:var(--green-2)}.pick:active{transform:scale(.97);background:var(--green-soft);border-color:var(--green)}.pick.teacher{grid-column:1 / -1;background:var(--gold-soft);border-color:var(--gold)}body.locked-page .wrap{visibility:hidden}.splash{display:none}body.booting .splash{display:grid;place-content:center;justify-items:center;gap:8px;position:fixed;inset:0;z-index:30;background:var(--bg);color:var(--muted);font-size:18px}.splash-star{color:var(--gold);font-size:34px;animation:spin 2.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px;margin:12px 0 6px;box-shadow:var(--shadow)}.seg button,.pickdate{min-height:44px;border:0;background:transparent;font-size:15px;font-weight:700;color:var(--muted);padding:9px 4px;border-radius:12px;cursor:pointer}.seg button.on{background:var(--green);color:#fff}.pickdate{display:flex;align-items:center;justify-content:center;gap:6px}.pickdate.on{background:var(--gold-soft);color:var(--ink)}.weekbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 4px}.weekbar .range{font-weight:700;font-size:19px;text-align:center;flex:1;unicode-bidi:plaintext}.nav{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:46px;height:46px;padding:0 12px;border:1.5px solid var(--green);background:var(--card);color:var(--green);border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}.nav .ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav:active:not(:disabled){background:var(--green-soft)}.nav:disabled{opacity:.35;cursor:default;box-shadow:none;border-color:var(--line);color:var(--muted)}.weekbar .range{font-size:17px}.sheet{position:fixed;inset:0;z-index:25;background:#280a1e8c;display:flex;align-items:flex-end;justify-content:center;padding:12px;animation:fade .15s ease}.sheet[hidden]{display:none}.sheet-box{width:100%;max-width:400px;background:var(--card);border-radius:24px;padding:14px 14px 8px;box-shadow:0 -4px 40px #0000004d;border:1px solid var(--line);animation:rise .2s ease}@media (min-width: 560px){.sheet{align-items:center}}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cal-title{font-family:Amiri,serif;font-size:22px;font-weight:700;color:var(--green)}.nav.sm{width:42px;height:42px;padding:0;box-shadow:none}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow span{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}.day{height:42px;border:1.5px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font-size:16px;font-weight:500;cursor:pointer}.day.sel{background:var(--green-soft)}.day.sun{color:var(--muted)}.day.today{border-color:var(--gold);color:var(--gold);font-weight:700}.day:hover:not(:disabled){border-color:var(--green-2)}.day:disabled{opacity:.3;cursor:default}.sheet .btn.ghost{width:100%;margin-top:6px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.bubble{position:fixed;z-index:15;left:14px;bottom:calc(18px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px 0 14px;border:2px solid var(--hero-gold);border-radius:999px;cursor:pointer;background:linear-gradient(160deg,var(--green-2),var(--green));color:#fff;font-size:16px;font-weight:700;box-shadow:0 6px 20px #781e504d;transition:transform .15s}.bubble[hidden],.bubble-dot[hidden]{display:none}.bubble:active{transform:scale(.95)}.bubble-ico{font-size:22px;animation:bob 3s ease-in-out infinite}.bubble-dot{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--rose);border:2px solid #fff}.bubble.fresh{animation:ring 2.2s ease-out infinite}body.locked-page .bubble{display:none}body{padding-bottom:96px}@keyframes bob{50%{transform:translateY(-3px) rotate(-6deg)}}@keyframes ring{0%{box-shadow:0 6px 20px #781e504d,0 0 #b5187a73}70%,to{box-shadow:0 6px 20px #781e504d,0 0 0 16px #f1d48700}}.reader-box{display:flex;flex-direction:column;width:96vw;max-width:96vw;max-height:96vh;max-height:96dvh}.reader-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reader-head h2{margin:0}.reader-head h2:after{display:none}.reader-view{margin-top:8px;flex:0 0 auto;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:var(--bg);display:flex;justify-content:center;align-items:center;-webkit-overflow-scrolling:touch}.reader-view img{display:block;width:100%;height:auto;cursor:zoom-in}.reader-view.zoomed{overflow:auto;align-items:flex-start;justify-content:flex-start;max-height:70vh;max-height:70dvh}.reader-view.zoomed img{width:230%;max-width:none;cursor:zoom-out}#reader{padding:6px}#reader .reader-box{padding:10px 10px 8px}.reader-tools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 14px;margin-top:4px}.reader-tools .hint{margin:0;font-size:12.5px}.reader-dl{color:var(--green);font-size:13px;font-weight:700;padding:4px;text-decoration:none}.reader-dl[hidden],.reader-tools .hint[hidden],.reader-view img[hidden],.reader-empty[hidden]{display:none}.reader-empty{text-align:center;padding:44px 12px;color:var(--muted)}.reader-meta{text-align:center;color:var(--muted);font-size:12.5px;margin:4px 0 0}.reader-admin{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:6px;align-items:center}.reader-admin[hidden]{display:none}.reader-admin .btn{margin:0;min-height:46px;padding:10px 14px;font-size:16px}.petal{position:fixed;z-index:50;pointer-events:none;font-size:16px;animation:petal .85s ease-out forwards}@keyframes petal{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.15);opacity:0}}.box.pop{animation:pop .32s ease}@keyframes pop{40%{transform:scale(1.18)}}.goal-lbl{font-weight:700;color:var(--green);font-size:14px}.goal-text{background:var(--gold-soft);border:1px solid var(--gold);border-radius:14px;padding:12px 14px;font-size:18px;font-weight:700;line-height:1.7;white-space:pre-wrap}.goal-text[hidden],.goal-hint[hidden],#hifzTitle[hidden]{display:none}.goal-text.empty{background:transparent;border-style:dashed;color:var(--muted);font-weight:500;font-size:15px}.goal-hint{margin:6px 0 0;text-align:right}.switch{display:inline-flex;flex-direction:column;align-items:center;gap:1px;border-radius:18px;padding:6px 16px;line-height:1.25;text-align:center;max-width:100%}.switch[hidden]{display:none}.sw-a{font-size:14px;font-weight:700}.sw-b{font-size:12.5px;font-weight:500;color:var(--muted)}.login-note{background:var(--rose-soft);border:1px solid var(--rose);border-radius:14px;padding:10px 14px;margin:10px 0 0;font-size:15px;line-height:1.7}.login-note[hidden]{display:none}.enc-to{font-size:13px;font-weight:700;color:var(--rose);margin-bottom:2px}.verse-t.m,.verse-t.d{font-family:Tajawal,system-ui,sans-serif;font-size:17.5px;line-height:1.8;color:var(--ink)}.verse-t.d{color:var(--teal)}.range-wrap{flex:1;text-align:center;min-width:0}.weekbar .range-wrap .range{flex:none}.range-h{font-size:12.5px;color:var(--muted);margin-top:1px;unicode-bidi:plaintext}th .hd{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:1px;opacity:.85}.cal-title small{display:block;font-family:Tajawal,system-ui,sans-serif;font-size:12.5px;font-weight:500;color:var(--muted)}.day{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0}.day b{font-size:16px;font-weight:500;line-height:1.1}.day small{font-size:9.5px;line-height:1;color:var(--muted)}.day.today small{color:var(--gold)}.cal-note{font-size:11.5px;margin:8px 6px 0}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:14px 0 12px;border-bottom:2px solid var(--line)}.tab{display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;text-align:center;line-height:1.25;min-height:54px;padding:8px 6px;margin-bottom:-2px;border:0;border-bottom:4px solid transparent;border-radius:14px 14px 0 0;background:transparent;color:var(--muted);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.tab-ico{font-size:22px;filter:grayscale(.7);opacity:.8;transition:filter .15s,opacity .15s}.tab:hover{background:var(--green-soft)}.tab.on{color:var(--green);background:var(--green-soft);border-bottom-color:var(--rose)}.tab.on .tab-ico{filter:none;opacity:1}.pane[hidden]{display:none}.pane{animation:paneIn .2s ease}@keyframes paneIn{0%{opacity:0;transform:translateY(6px)}}.actions.more{margin-top:10px}.badge{display:inline-block;background:var(--gold-soft);color:var(--ink);border:1px solid var(--gold);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.badge[hidden],#adminBox[hidden]{display:none}.admin-details{margin-top:24px}.admin-details>summary{color:var(--muted);font-size:14px}.admin-details .card{margin-top:6px}.admin-details .btn.ghost{width:100%;margin-top:8px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;border-top:1px solid var(--line)}.admin-row:first-child{border-top:0}.admin-row.on{background:var(--gold-soft);border-radius:12px;border-top-color:transparent}.admin-row .nm{font-weight:500;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row small,.admin-row .always{color:var(--muted);font-size:12.5px}.chip{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--green);background:var(--card);color:var(--green);font-size:14px;font-weight:700;cursor:pointer}.chip.on{background:var(--green-soft)}.chip:active{transform:scale(.96)}.progress{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow)}.progress .top{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;font-weight:700}.progress .top b{color:var(--green);font-size:20px}.progress .bar{height:10px;border-radius:999px;background:var(--green-soft);margin-top:8px;overflow:hidden}.progress .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green-2),var(--gold));transition:width .4s ease}.progress .note{font-size:13px;color:var(--muted);margin-top:6px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px;overflow:hidden;box-shadow:var(--shadow)}.card.pad{padding:14px}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{text-align:center;padding:0}th.name,td.name{width:34%;text-align:right;padding-right:8px}th{font-weight:500;font-size:11px;color:var(--muted);padding:10px 0 6px}th .d{display:block;font-size:16px;font-weight:700;color:var(--ink)}th.today,th.today .d{color:var(--gold)}td.name{font-weight:500;font-size:15px}tr.row td{border-top:1px solid var(--line);height:52px}td.cell{padding:3px}.box{width:100%;height:44px;border-radius:12px;border:1.5px solid var(--line);background:transparent;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:inherit;padding:0;transition:transform .1s,background .15s}.box.y{background:var(--green-soft);border-color:var(--green-2)}.box .mk{width:26px;height:24px;display:block;flex:none}.box .mk.x,.box .mk.miss{width:20px;height:20px}.mk.x{color:var(--red)}.mk.miss{color:var(--muted)}.box.y .mk{animation:heartbeat 2.2s ease-in-out infinite;transform-origin:center}.mk.inline{display:inline-block;width:18px;height:17px;vertical-align:-3px}.mk.x.inline,.mk.miss.inline{width:14px;height:14px;vertical-align:-2px}.box.n{background:var(--red-soft);border-color:var(--red)}.box.future{opacity:.35;cursor:default}.box:active:not(.future){transform:scale(.92)}td.today-col .box:not(.y):not(.n){border-color:var(--gold);background:var(--gold-soft)}.box.locked{opacity:.55;cursor:not-allowed}.box.rs-pending,.box.rs-accepted,.box.rs-rejected{opacity:1;cursor:pointer;border-style:solid}.box.rs-pending{color:var(--gold);background:var(--gold-soft);border-color:var(--gold)}.box.rs-accepted{color:#2e7d32;background:#e1f2e2;border-color:#2e7d32}.box.rs-rejected{color:var(--red);background:var(--red-soft);border-color:var(--red)}.box .mk.env{width:22px;height:22px}.env-tag{display:inline-flex;vertical-align:-3px;margin-inline-start:6px}.env-tag .mk.env{width:18px;height:18px}.env-tag.rs-pending{color:var(--gold)}.env-tag.rs-accepted{color:#2e7d32}.env-tag.rs-rejected{color:var(--red)}.abs-ok .mk.env{display:inline-block;width:18px;height:18px;vertical-align:-4px}.abs-ok.rs-pending .mk.env{color:var(--gold)}.abs-ok.rs-accepted .mk.env{color:#2e7d32}.abs-ok.rs-rejected .mk.env{color:var(--red)}@media (prefers-color-scheme: dark){.box.rs-accepted{color:#8fd694;background:#1d3320;border-color:#8fd694}.abs-ok.rs-accepted .mk.env{color:#8fd694}}.box.auto{color:var(--red);border-style:dashed;border-color:var(--red);background:var(--red-soft);font-size:17px;font-weight:700}.auto-sample{color:var(--red);border:1.5px dashed var(--red);border-radius:6px;padding:0 5px}.encourage{background:var(--card);border:1px solid var(--gold);border-radius:18px;padding:12px 16px;margin:10px 0;text-align:center;box-shadow:var(--shadow);position:relative}.encourage[hidden]{display:none}.encourage:before{content:"✦";position:absolute;top:-10px;right:50%;transform:translate(50%);background:var(--bg);color:var(--rose);padding:0 8px;font-size:14px}.verse-t{font-family:Amiri,serif;font-size:20px;line-height:1.8;color:var(--teal)}.verse-s{font-size:12.5px;color:var(--muted);margin-top:2px}.encourage{cursor:pointer;transition:transform .12s}.encourage:active{transform:scale(.985)}.verse-s .again{color:var(--green);opacity:.8}tr.row.mine td{background:var(--green-soft)}tr.row.mine td.name{border-radius:0 12px 12px 0;font-weight:700}tr.total td{border-top:2px solid var(--line);font-size:12px;color:var(--muted);height:36px}tr.total td.name{font-weight:700}td.name .nm{display:flex;align-items:center;justify-content:space-between;gap:2px}td.name .nm>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-tools{display:none;gap:2px}body.editing .edit-tools{display:flex}body.editing th.name,body.editing td.name{width:46%}.mini{border:0;background:transparent;font-size:16px;cursor:pointer;padding:6px}.hint{text-align:center;color:var(--muted);font-size:13px;margin:10px 0 0}@media (max-width: 420px){th{font-size:9.5px;letter-spacing:-.2px}th .d{font-size:15px}.hero h1{font-size:25px}}.addrow{display:none;gap:8px;margin-top:12px}body.editing .addrow{display:flex}input[type=text],textarea{font-family:inherit;font-size:16px;padding:12px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);min-width:0;width:100%}textarea{resize:vertical;min-height:68px}input[readonly],textarea[readonly]{opacity:.75}.addrow input{flex:1}.addrow button{padding:0 20px;border-radius:14px;border:0;background:var(--gold);color:#fff;font-weight:700;font-size:16px;cursor:pointer}.actions{display:grid;gap:10px;margin-top:16px}.btn{border:0;border-radius:16px;min-height:52px;padding:14px 16px;font-size:17px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;display:block}.btn.primary{background:linear-gradient(160deg,var(--green-2),var(--green));color:#fff;box-shadow:var(--shadow)}.btn.second{background:var(--card);color:var(--green);border:1.5px solid var(--green)}.btn.ghost{background:transparent;color:var(--muted);font-size:14px;font-weight:500;padding:8px;min-height:44px}.btn:active{transform:scale(.98)}section.block{margin-top:30px}.hifz-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 4px;border-top:1px solid var(--line)}.hifz-row:first-of-type{border-top:0}.hifz-row.mine{background:var(--green-soft);border-radius:12px}.hifz-row .nm{font-weight:500;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hifz-row input[type=text]{grid-column:1 / -1;padding:10px;font-size:14.5px}.hifz-row .yesno{gap:12px;font-size:14px;white-space:nowrap}label.lbl{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}details{margin-top:14px}summary{cursor:pointer;color:var(--muted);font-size:14px;padding:8px 2px}pre.msg{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;unicode-bidi:plaintext;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin:6px 0 0}.log{list-style:none;padding:0;margin:6px 0 0;background:var(--card);border:1px solid var(--line);border-radius:14px}.log li{padding:9px 12px;font-size:14px;border-top:1px solid var(--line)}.log li:first-child{border-top:0}.log time{display:block;font-size:12px;color:var(--muted)}.btn[hidden]{display:none}.foot{text-align:center;color:var(--muted);font-family:Amiri,serif;font-size:17px;margin-top:34px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%) translateY(20px);background:#3a1030;color:#fff;padding:12px 20px;border-radius:999px;font-size:15px;opacity:0;pointer-events:none;transition:all .25s;z-index:40;max-width:90vw;text-align:center;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.loading{text-align:center;padding:40px 0;color:var(--muted)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.hero-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px}.hero-text{flex:1 1 auto;min-width:0}.hero-heart{flex:0 0 auto;width:176px;padding:4px 4px 3px;border:2px solid rgba(255,200,225,.85);border-radius:18px;background:#fffdfb;cursor:pointer;box-shadow:0 6px 16px #0000004d;font-family:inherit}.hero-heart{position:relative;transition:transform .15s,box-shadow .15s}.hero-heart:hover{transform:translateY(-2px);box-shadow:0 10px 22px #00000059}.hero-heart:active{transform:scale(.97)}.hh-zoom{position:absolute;top:8px;left:8px;width:30px;height:30px;border-radius:50%;background:#a8146feb;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 2px 8px #0000004d;animation:zoomRing 2.4s ease-out infinite}.hh-zoom svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}@keyframes zoomRing{0%{box-shadow:0 2px 8px #0000004d,0 0 #ffc8e1bf}70%,to{box-shadow:0 2px 8px #0000004d,0 0 0 12px #ffc8e100}}@media (max-width: 359px){.hero-heart{width:150px}.hero-row{gap:8px}.hero-row h1{font-size:20px}}.hero-row .bismillah{font-size:19px;line-height:1.8;margin:0 0 4px}.hero-row h1{font-size:21px;line-height:1.3;text-wrap:balance}.hero-row .teacher{font-size:13px;line-height:1.4;margin-top:4px;text-wrap:balance}.hero-row .verse{font-size:15px;line-height:1.8;margin:8px 0 0}.hh-pic{display:block;aspect-ratio:366 / 512}.hh-pic svg{display:block;width:100%;height:auto;transform-origin:46% 60%;animation:heartbeat 1.9s ease-in-out infinite}.hh-cap{display:block;font-family:Amiri,serif;font-size:14.5px;font-weight:700;color:var(--green);line-height:1.65;padding:2px 4px 3px}.heart-count{margin-top:8px;font-size:15px;font-weight:700;color:var(--green)}.heart-count:empty{display:none}.heart-sheet-box{max-width:520px;max-height:94vh;overflow-y:auto;text-align:center;padding-top:12px}.heart-sheet-box .heart-box{max-width:480px}.dua{font-family:Amiri,serif;font-size:21px;line-height:1.9;color:var(--rose);font-weight:700;margin:0 0 8px}.heart-box{margin:0 auto;max-width:340px;background:#fffdf9;border-radius:18px;padding:6px;min-height:120px}.heart-box svg{display:block;width:100%;height:auto;transform-origin:46% 60%;animation:heartbeat 1.9s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}12%{transform:scale(1.03)}24%{transform:scale(1)}38%{transform:scale(1.022)}56%,to{transform:scale(1)}}#heartBox .s,#heartMini .s{fill:transparent;mix-blend-mode:multiply;transition:fill .4s}#heartBox .s.on,#heartMini .s.on{fill:var(--c, #ec7a95)}#heartBox .s.fresh,#heartMini .s.fresh{animation:sparkle 3s ease-in-out 1}@keyframes sparkle{0%,40%,80%{fill:#ffe0f0}20%,60%,to{fill:var(--c)}}.surah-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-top:8px;max-height:320px;overflow-y:auto}.surah-chip{min-height:40px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;font-size:14px;cursor:pointer;padding:6px}.surah-chip.on{background:var(--rose-soft);border-color:var(--rose);color:var(--rose);font-weight:700}.surah-chip:disabled{opacity:.6;cursor:default}.sheet.center{align-items:center}.celebrate-box{text-align:center;padding:22px 18px 16px;background:linear-gradient(180deg,#fff,var(--rose-soft));border:2px solid var(--green-2)}.cele-verse{font-family:Amiri,serif;font-size:20px;color:var(--teal);margin:0 0 14px}.celebrate-box .cap{font-size:64px;line-height:1.1;animation:capPop .7s cubic-bezier(.2,1.4,.4,1) both}.celebrate-box h3{font-family:Amiri,serif;font-size:26px;color:var(--green);margin:6px 0 4px}.celebrate-box p{margin:0 0 14px;color:var(--ink);font-size:16px;line-height:1.9}@keyframes capPop{0%{transform:scale(.2) rotate(-25deg);opacity:0}}.confetti{position:fixed;top:-40px;z-index:60;pointer-events:none;animation:confettiFall linear forwards}.confetti svg{display:block;width:100%;height:auto}.confetti{line-height:1;text-shadow:0 1px 2px rgba(255,255,255,.7)}@keyframes confettiFall{to{transform:translate(var(--sway),110vh) rotate(25deg);opacity:.9}}.pw-title{font-family:Amiri,serif;font-size:22px;color:var(--green);margin:4px 0 10px;text-align:center}.pw-input,.pw-row select,.pw-row input{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font-size:18px;padding:8px 14px;font-family:inherit;text-align:center}.pw-input{letter-spacing:4px}#pwSheet .btn{width:100%}.pw-err{min-height:22px;margin:6px 0;color:var(--red);font-size:14px;text-align:center}.pw-row{display:grid;gap:8px;margin-top:8px}.verse,.verse-t,.cele-verse{text-wrap:balance}.dot-new{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--rose);margin-inline-start:4px;vertical-align:top}.excuse-tick{color:var(--green);font-size:13px;white-space:nowrap}.range-btn{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:2px 6px;width:100%}.range-btn:after{content:"📅";font-size:14px;margin-inline-start:6px}.back-now{background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:var(--green);text-decoration:underline;cursor:pointer;padding:4px}.hifz-row>.partner,.hifz-row>.partner-line,.hifz-row>.reason-inline{grid-column:1 / -1}.hifz-row .ticked-on{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.hifz-row .ticked-on input{width:auto;flex:0 1 auto}.hifz-row .partner,.hifz-row .partner-line{grid-column:1 / -1;margin:0}.hifz-row .partner .addrow{margin-top:6px}.field{margin-top:12px;text-align:start}.field .lbl{margin:0}.form .btn{width:100%;margin-top:14px}.form .pw-err:empty{min-height:0;margin:0}.ltr{direction:ltr;unicode-bidi:isolate}.addrow.on{display:flex}.addrow button:disabled,.btn:disabled,.waiting{opacity:.6;cursor:default}.log li .row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.log li .nm{font-weight:700}.log li small{color:var(--muted);font-size:13px}.log li .chip{min-height:36px;font-size:13px}.done-note{background:var(--teal-soft);border:1px solid var(--teal);border-radius:14px;padding:10px 14px;margin:10px 0 0;font-size:15px;text-align:center}.done-note b{font-size:18px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}.chip.no{border-color:var(--red);color:var(--red)}.chip.tg{display:inline-flex;align-items:center;text-decoration:none}.hint.first{margin:0 0 8px}.abs-q{margin-top:12px;border-color:var(--gold);background:var(--gold-soft)}.abs-ok{margin:12px 0 0;text-wrap:balance;color:var(--green)}.abs-q .chip{background:var(--card)}.abs-q .chip.on,.form .chip.on{background:var(--green-soft)}.abs-title{margin:0 0 10px;font-weight:700;text-align:center;text-wrap:balance}.abs-text{width:100%;margin-top:10px}.abs-send{width:100%;margin-top:12px}.abs-q .btn.ghost{width:100%}.week-gap{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.week-gap p{margin:0 0 8px;font-weight:600}.week-gap>.btn{width:100%}.abs-review h3{font-size:16px;color:var(--green);margin:18px 0 6px}.abs-team h4{font-size:14px;margin:10px 0 4px;color:var(--muted)}.abs-why{margin:4px 0 8px;font-size:14px}.abs-days{list-style:none;padding:0;margin:6px 0 0;font-size:13px;color:var(--muted)}.abs-days li{padding:2px 0;border:0}.st.accepted{color:var(--teal)}.st.rejected,.st.none{color:var(--red)}.st.pending{color:var(--gold)}.session{margin-top:12px;text-align:center}.session.today{border-color:var(--green);background:var(--green-soft)}.session-head{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14px}.session-head b{color:var(--green)}.session-when{margin:6px 0 0;font-size:18px;font-weight:700;text-wrap:balance}.session .btn.join{width:100%;margin-top:12px}.yesno{display:grid;gap:10px}.session-form .btn{width:100%;margin-top:14px}.session-form input[type=date],.session-form input[type=time],.session-form input[type=url]{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font-size:16px;padding:8px 14px;font-family:inherit;box-sizing:border-box}.card .sub{font-size:16px;color:var(--green);margin:0}.session-block>summary{font-size:15px;margin:14px 0 6px;color:var(--green);cursor:pointer}.session-block>summary small{color:var(--muted);font-weight:500}.st.present{color:var(--teal)}.st.unconfirmed,.st.upcoming{color:var(--muted)}.score-table{width:100%;border-collapse:collapse;font-size:14px}.score-table th{font-size:12px;color:var(--muted);font-weight:500;padding:6px 2px}.score-table td{text-align:center;padding:8px 2px;border-top:1px solid var(--line)}.score-table td.name{text-align:start}.score-table tr.open td{background:var(--green-soft)}.score-table tr.detail td{padding:0 0 10px;background:var(--green-soft);text-align:start}.linkish{background:none;border:0;padding:0;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;text-align:start}.member-card{padding:4px 8px}.weeks{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.wk{display:grid;justify-items:center;min-width:52px;padding:4px 6px;border-radius:10px;background:var(--card);border:1px solid var(--line)}.wk small{font-size:11px;color:var(--muted)}.mark-in{width:72px;flex:none!important;text-align:center}.mark-wrap{position:relative;flex:none;display:inline-flex;align-items:center}.mark-wrap i{position:absolute;inset-inline-end:8px;font-style:normal;color:var(--muted);font-size:13px;pointer-events:none}.mark-wrap .mark-in{width:84px;padding-inline-end:28px;text-align:start}.member-card .addrow{margin-top:4px;flex-wrap:wrap}.member-card .addrow input[type=text]{min-width:0}.member-card .lbl{display:block;margin-top:10px}.score-table{table-layout:fixed}.score-table th.name,.score-table td.name{width:34%}.score-table th{font-size:11px;padding:6px 0}.score-table th.name,.score-table td.name{width:30%}.member-card .addrow input,.member-card .addrow button{min-height:44px}.member-card .addrow input[type=text]{flex:1 1 100%;order:3}.member-card .addrow .mark-in{flex:1 1 auto!important}.dash{display:grid;gap:10px}.dash-team .sub small{color:var(--muted);font-weight:500;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 8px}.stats span{display:grid;justify-items:center;background:var(--green-soft);border-radius:12px;padding:8px 2px}.stats b{font-size:17px;color:var(--green)}.stats small{font-size:11px;color:var(--muted);text-align:center}.row.alert{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.done-note.warn{background:var(--gold-soft);border-color:var(--gold)}.exclude-form{margin-top:8px}.exclude-form .btn.ghost{width:100%}.student-tools{display:grid;gap:6px;margin-top:8px}.student-tools .addrow{margin-top:0}.addrow select{flex:1;min-height:44px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font-family:inherit;font-size:15px;padding:0 10px;min-width:0}.settings .sub{margin-top:14px}.settings .sub:first-child{margin-top:0}.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:14px}.set-row input{width:80px;min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:16px;text-align:center;flex:none}.settings .btn{width:100%;margin-top:12px}.excluded{margin-top:12px;text-align:center}a.btn{display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.state-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.state{display:inline-block;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:700;border:1px solid}.state.active{color:var(--teal);background:var(--teal-soft);border-color:var(--teal)}.state.watch{color:var(--gold);background:var(--gold-soft);border-color:var(--gold)}.state-why{flex-basis:100%;color:var(--muted);font-size:12px}.trend{font-weight:700}.record h3{font-size:15px;color:var(--green);margin:16px 0 6px}.record .cal3{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;gap:4px 14px;direction:rtl}.record .cal3>b{font-size:13px;color:var(--green);text-align:center;padding-bottom:4px;border-bottom:1px solid var(--line)}.record .cal3 .days{display:flex;gap:3px}.record .cal3 .days,.record .cal3 .one{justify-self:center}.record .sq{all:unset;display:block;width:16px;height:16px;border-radius:4px;box-sizing:border-box;background:var(--line);cursor:pointer;position:relative}.record .sq:after{content:"";position:absolute;inset:-6px}.record .sq.on,.record .sq:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.record .sq.y{background:var(--green)}.record .sq.x{background:var(--red-soft);border:1px solid var(--red)}.record .sq.n{background:transparent;border:1px dotted var(--line)}.record .sq.f{background:transparent;border:1px dashed var(--line)}.record .tip{margin:12px 0 4px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:center;font-size:15px;min-height:22px}.board .todo{margin:4px 0 8px;padding-inline-start:20px}.board .todo li{margin:4px 0;font-weight:500}.board .log .row+.row{margin-top:6px;align-items:center}button.dash-team{display:block;width:100%;text-align:start;font:inherit;color:inherit;cursor:pointer}.chart{margin-top:10px}.chart svg{width:100%;height:auto;direction:ltr;display:block;margin-top:6px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .ax{fill:var(--muted);font-size:9px;text-anchor:end}.chart .ax.first{text-anchor:start}.chart polyline{fill:none;stroke-width:2;stroke-linejoin:round}.chart circle{stroke:var(--card);stroke-width:2}.c0{--c: #b5187a}.c1{--c: #2d7fc9}.c2{--c: #c98a0e}.c3{--c: #7a5bc4}.cx{--c: var(--muted)}.a-accepted{--c: var(--teal)}.a-pending{--c: #9a8a95}.a-rejected{--c: #c98a0e}.a-none{--c: var(--red)}@media (prefers-color-scheme: dark){.c0{--c: #d9579a}.c1{--c: #4796d6}.c2,.a-rejected{--c: #c08310}.c3{--c: #8a6fd4}}.chart g polyline{stroke:var(--c)}.chart g circle{fill:var(--c)}.hbar{margin-top:8px}.hbar>div{display:flex;align-items:center;gap:2px;height:14px}.hbar i{height:100%;background:var(--c);border-radius:4px;min-width:4px}.hbar b{font-size:12px;margin-inline-start:6px}.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin:10px 0 0}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-inline-end:4px;vertical-align:middle}.announce{border-color:var(--gold);background:var(--gold-soft);margin-top:12px}.announce-item{border-top:1px solid var(--line);padding:10px 0 4px}.announce .announce-item:first-of-type,.card>.announce-item:first-child{border-top:0}.announce-item p{margin:0 0 4px;white-space:pre-line;line-height:1.7}.announce-item small{color:var(--muted);font-size:12px}.announce-text{width:100%;box-sizing:border-box;font:inherit;resize:vertical}.bell{position:relative}.bell-wrap{display:inline-flex}.bell i{position:absolute;top:-6px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--rose);color:#fff;font-size:11px;font-style:normal;line-height:18px;text-align:center}.bell-list{position:absolute;z-index:20;top:calc(100% + 8px);inset-inline:0;max-height:60vh;overflow-y:auto;text-align:start;animation:fade .16s ease}.bell-list{padding:4px 0}.bell-head{display:flex;align-items:center;justify-content:space-between;padding:6px 14px 8px;border-bottom:1px solid var(--line)}.bell-head b{color:var(--green);font-size:16px}.icon-btn.sm{width:34px;height:34px;font-size:14px;box-shadow:none;color:var(--muted)}.note{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:background .15s}.note:last-child{border-bottom:0}.note:active,.note:hover{background:var(--green-soft)}.note.warn{background:var(--rose-soft)}.note-ico{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--gold-soft);font-size:19px}.note-text{flex:1;min-width:0;font-size:14.5px;line-height:1.55}.note-text small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.note.new .note-text{font-weight:700}.note-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--rose)}.note-go{color:var(--muted);font-size:20px}.note-empty{padding:12px 14px;margin:0}.announce-item .row,.announce>.row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tabbar{position:fixed;z-index:16;left:0;right:0;bottom:0;display:flex;justify-content:center;max-width:560px;margin:0 auto;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 16px #781e5014;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar a{flex:1;max-width:135px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;line-height:1.25;text-wrap:balance;gap:2px;padding:6px 2px;border-radius:14px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:700;min-height:56px}.tabbar a.on{color:var(--green);background:var(--green-soft)}.tabbar-ico{position:relative;font-size:24px;line-height:1.1}.tabbar-n{position:absolute;top:-4px;inset-inline-end:-10px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--rose);color:#fff;font-size:12px;font-weight:700;line-height:18px;font-style:normal;text-align:center}body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.bubble{bottom:calc(86px + env(safe-area-inset-bottom))}.page-help{margin:10px 0 12px;padding:10px 14px;border-radius:14px;background:var(--gold-soft);border:1px solid var(--gold);font-size:15px;line-height:1.6;text-align:start;text-wrap:pretty}.team-link{text-decoration:none;color:inherit}.todo-band{border-color:var(--gold)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.tiles span,.tiles a{display:grid;justify-items:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 6px;box-shadow:var(--shadow)}.tiles span:last-child:nth-child(odd),.tiles a:last-child:nth-child(odd){grid-column:1 / -1}.tiles a{color:inherit;text-decoration:none}.tiles a.warn b{color:var(--red)}.tiles b{font-size:26px;color:var(--green);line-height:1.2}.tiles small{font-size:13px;color:var(--muted);text-align:center}.tiles i{font-style:normal;font-size:12px;font-weight:700}.tiles i.up{color:var(--teal)}.tiles i.down,.tiles span.warn b{color:var(--red)}.rank{display:block;width:100%;text-align:start;font:inherit;color:inherit;background:none;border:0;border-top:1px solid var(--line);padding:10px 0;cursor:pointer}.rank:first-of-type{border-top:0}.rank-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px}.rank-head small,.rank-warn{color:var(--muted);font-size:12px}.rank-bar{display:flex;align-items:center;gap:8px;margin-top:6px}.rank-bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--green-2),var(--green));min-width:4px}.rank-bar b{font-size:14px;color:var(--green)}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.dot.active{background:var(--teal)}.dot.watch{background:var(--gold)}.legend .dot{margin-inline-end:4px;vertical-align:middle}.progress-card .tiles{margin:8px 0}.pbars{display:flex;align-items:flex-end;gap:6px;height:64px;margin:6px 0 4px}.pbars span{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}.pbars i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--green-2),var(--green))}.pbars i.none{background:var(--line)}.pbars small{font-size:10px;color:var(--muted);white-space:nowrap;min-height:14px}.reach{display:grid;gap:10px;margin-top:12px}.reach .hint{margin:0;text-wrap:balance}.reach .row{display:flex;align-items:center;justify-content:space-between;gap:8px}.bubble.compact{padding:0;width:56px;justify-content:center}.bubble.compact .bubble-txt{display:none}.missed-yesterday{margin:8px 0 4px;padding:8px 12px;border-radius:12px;background:var(--red-soft)}.missed-yesterday .row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0}.search{width:100%;min-height:44px;margin:4px 0 8px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:15px}.search:focus{outline:none;border-color:var(--green)}.team-pick{margin:4px 0 8px}.lines{list-style:none;padding:0}.lines li{padding:0 12px}.line{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;background:none;border:0;padding:6px 0;font:inherit;color:inherit;cursor:pointer;text-align:start}.line small{flex:none;max-width:100%;color:var(--muted);font-size:12px;text-align:end}.log li.group{background:var(--green-soft);color:var(--green);font-weight:700;font-size:14px;padding:6px 12px}.student-card{display:grid;gap:8px;padding:4px 0 12px}.more-btn{width:100%;margin-top:8px}.tasks{display:grid;gap:8px}.task{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;font-weight:700}.task b{min-width:34px;padding:2px 10px;border-radius:999px;text-align:center;background:var(--teal-soft);color:var(--teal)}.task.warn{border-color:var(--rose);background:var(--rose-soft)}.task.warn b{background:var(--rose);color:#fff}.batch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:4px 0}.tick{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tick input{width:22px;height:22px;accent-color:var(--green)}.subtabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:4px}.subtabs .chip{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.who{position:relative;flex-wrap:nowrap;justify-content:flex-start;gap:8px;margin:12px 2px 6px}.who-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.35}.who-name #hello{max-width:100%;overflow-wrap:anywhere;text-wrap:balance}.who-role{font-size:13px}.icon-btn{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--green);font-size:20px;line-height:1;cursor:pointer;text-decoration:none;box-shadow:var(--shadow);transition:background .15s,border-color .15s}.icon-btn.on,.icon-btn[aria-expanded=true]{background:var(--green-soft);border-color:var(--green)}.page{position:relative}.page>:not(.page-wait){transition:opacity .18s ease}.page:not(.ready)>:not(.page-wait){opacity:0;pointer-events:none}.page-wait{position:absolute;inset-inline:0;top:24px;text-align:center;color:var(--muted)}.bubble-ico,.bubble.fresh,.hh-zoom{animation-iteration-count:3}@media (min-width: 561px){.tabbar{border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}.hero-heart.wait{aspect-ratio:176 / 330;box-shadow:none;opacity:.5;cursor:default}.tiles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tool-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;min-height:118px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.tool-tile:active{transform:scale(.98);border-color:var(--green)}.tool-tile b{font-size:16px;color:var(--green)}.tool-tile small{font-size:13px;color:var(--muted);line-height:1.5}.tool-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green-soft);font-size:22px;margin-bottom:4px}.page-head{display:flex;align-items:center;gap:10px;margin:6px 0 12px}.page-head h2{margin:0;font-size:20px;color:var(--green)}.admin-details{margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.admin-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:10px 14px;color:var(--ink);font-size:15px;font-weight:700;cursor:pointer}.admin-details>summary::-webkit-details-marker{display:none}.admin-details>summary:after{content:"‹";font-size:22px;color:var(--muted);transition:transform .18s ease}.admin-details[open]>summary:after{transform:rotate(-90deg)}.admin-details[open]{padding:0 8px 8px}.admin-details[open]>summary{padding-inline:6px}.btn.danger{color:var(--red);border-color:var(--red)}.wrap{animation:fade .18s ease}:root{--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8146f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")}@media (prefers-color-scheme: dark){:root{--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ec6fb5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")}}select{-webkit-appearance:none;appearance:none;font-family:inherit;color:var(--ink);cursor:pointer;padding-left:38px!important;background-image:var(--chevron)!important;background-repeat:no-repeat!important;background-position:left 12px center!important;background-size:18px!important}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green)!important;box-shadow:0 0 0 3px var(--green-soft)}button:focus-visible,a:focus-visible,.pickdate:focus-within{outline:2px solid var(--green-2);outline-offset:2px}.confirm-box{max-width:380px;padding:20px 18px 14px;text-align:center}.confirm-box h2{margin:0 0 8px;font-size:19px;color:var(--green)}.confirm-box p{margin:0 0 18px;line-height:1.7;text-wrap:pretty}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{flex:1;margin:0}.btn.danger-fill{background:var(--red);border-color:var(--red);color:#fff}.info{position:relative;display:inline-flex;vertical-align:middle}.info-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--muted);background:transparent;color:var(--muted);font:italic 700 13px/1 Georgia,serif;padding:0;cursor:pointer}.info-btn[aria-expanded=true]{border-color:var(--green);color:var(--green);background:var(--green-soft)}.info-pop{position:absolute;z-index:22;top:calc(100% + 6px);inset-inline-start:-8px;width:max-content;max-width:min(280px,80vw);background:var(--ink);color:var(--card);font-size:13.5px;line-height:1.6;font-weight:500;padding:8px 12px;border-radius:12px;box-shadow:var(--shadow);animation:fade .15s ease;white-space:normal;text-align:start}.chips>.info{align-self:center}.trend{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700}.trend-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.trend.up{color:var(--teal)}.trend.down{color:var(--red)}.chip:focus-visible,.tabbar a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--green-soft)}.line-main{flex:1;min-width:0;display:flex;flex-direction:column}.line-main .line-why{color:var(--muted);font-size:12px;text-align:start;max-width:none}span.coming{margin-inline-start:6px;padding:0 4px;font-size:16px;cursor:pointer;animation:blink 1.4s ease-in-out infinite}.warn-decide{padding:8px 12px;background:var(--red-soft);border-radius:10px;margin:4px 0 8px}.warn-decide p{margin:0 0 6px}@keyframes blink{50%{opacity:.25}}@media (prefers-reduced-motion: reduce){span.coming{animation:none}}.state.sm{flex:none;font-size:12px;padding:2px 10px}.line-login{color:var(--muted);font-size:12px;text-align:start}.rec-login{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.rec-login .btn{padding:4px 10px;min-height:0;font-size:13px}.rec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}.rec-teams{margin:8px 0 2px}.rec-section{margin-top:16px}.rec-section h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px;color:var(--green)}.rec-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--green-soft);font-size:16px}.rec-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.rec-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.rec-row:last-child{border-bottom:0}.rec-row.wait{background:var(--gold-soft)}.rec-main{flex:1;min-width:0;font-size:14.5px;line-height:1.55}.rec-main small{display:block;color:var(--muted);font-size:12.5px}.rec-actions{display:flex;gap:6px;flex:none}.pill{flex:none;display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}.pill.ok{background:var(--teal-soft);color:var(--teal)}.pill.wait{background:var(--gold-soft);color:var(--gold)}.pill.bad{background:var(--red-soft);color:var(--red)}.pill.grey{background:var(--line);color:var(--muted)}.pill.team{background:var(--green-soft);color:var(--green)}.score-pill{flex:none;font-weight:700;font-size:17px;color:var(--green)}.score-pill small{color:var(--muted);font-size:12px;font-weight:500}.rec-tiles{grid-template-columns:repeat(4,1fr)}.rec-tiles b{font-size:20px;color:var(--ink)}.rec-tiles span.main b{color:var(--green)}.rec-tiles span{padding:10px 4px}.wbars{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:10px;padding:0 2px}.wbar{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:0}.wbar b{font-size:11px;color:var(--ink)}.wbar i{display:block;width:100%;max-width:26px;border-radius:6px 6px 2px 2px;background:var(--green-2)}.wbar i.none{height:3px!important;background:var(--line)}.wbar small{font-size:10px;color:var(--muted);white-space:nowrap}.account-tools{display:grid;gap:8px}.account-tools>.chip,.account-tools>.btn{width:100%;min-height:48px;border-radius:14px;margin:0}.riwaya{display:inline-block;margin-inline-start:4px;padding:0 6px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:700;line-height:18px;vertical-align:middle;white-space:nowrap}.riwaya-pick{margin:6px 0 4px}.riwaya-hint{margin:0 0 12px}.riwaya-filter{display:flex;align-items:center;gap:8px;margin:8px 0}.riwaya-filter .lbl{margin:0;flex:none}.riwaya-filter select{flex:1;min-width:0}td.name .nm:has(.riwaya){flex-direction:column;align-items:stretch;gap:0}td.name .nm .riwaya{align-self:flex-start;margin:0;font-size:10px;line-height:15px}.team-group{display:grid;gap:10px}.team-group .hint{margin:0;text-wrap:balance}.team-group .row{display:flex;align-items:center;justify-content:space-between;gap:8px}.toast{bottom:calc(92px + env(safe-area-inset-bottom))}.toast.has-action{pointer-events:auto;display:flex;align-items:center;gap:14px;padding:8px 10px 8px 20px;padding-inline:20px 8px}.toast button{border:0;border-radius:999px;background:#ffffff29;color:#ffd9ec;font:inherit;font-weight:700;padding:6px 14px;cursor:pointer}.warnings.warning{border-inline-start:4px solid var(--red)}.warnings.praise{border-inline-start:4px solid var(--green)}.warnings .row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;text-wrap:balance}.praise-form{margin:8px 0}.log li .row:has(.exam-mark){flex-wrap:nowrap}.exam-who{flex:1;min-width:0}.exam-mark{flex:none;gap:6px;margin:0}.exam-mark input{min-height:44px;width:64px}.exam-mark button{min-height:44px;padding:0 14px}.exam-mark button.done{background:var(--green-soft);color:var(--green)}.log li>.addrow{margin-top:6px;align-items:center;gap:8px}.log li>.addrow .lbl,.exam-team .lbl{flex:none;margin:0;font-size:13px}.exam-team{align-items:center;gap:8px;margin:6px 0}.back-row{margin:4px 0 10px}.back-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid var(--green);border-radius:999px;background:var(--card);color:var(--green);font-size:16px;font-weight:700;text-decoration:none}.back-btn span{font-size:20px;line-height:1}.team-checks{display:grid;gap:6px;margin:12px 0 0;padding:0;border:0;text-align:start}.team-checks .tick{display:flex;align-items:center;gap:8px;min-height:40px}.chart h4.part{margin:14px 0 2px;font-size:14px;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:4px}.chart h4.part+.rank{border-top:0}.cohort-checks{display:grid;gap:2px}.cohort-checks .tick:not(.cohort){padding-inline-start:26px}.cohort-checks .tick.cohort{font-weight:700}.form.place,ul.place li{display:grid;gap:8px}.form.place+.lbl{margin-top:14px}.demo-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;padding:8px 10px;border:1px dashed var(--line);border-radius:12px}.demo-switch .lbl{width:100%;font-size:12px;color:var(--muted)}.session .btn.away{width:100%;margin-top:10px}.away-form{margin-top:10px}.warn-n{flex:none;padding:2px 9px;border-radius:999px;background:var(--gold-soft);color:var(--ink);font-size:13px;font-weight:700}.warn-n.n2{background:var(--rose-soft)}.warn-n.n3{background:var(--rose);color:#fff}.warn-filter{margin-bottom:8px}.empty-box{color:var(--muted,#b9a3b0);font-size:20px}.abs-q .row{display:flex;justify-content:space-between;align-items:center;gap:8px}.abs-q .row .yesno{flex-wrap:wrap;justify-content:flex-end}.warn-gap{font-size:12px;color:#9a3b3b;background:#fbe9e9;border-radius:10px;padding:2px 8px;margin-inline-end:6px}.reason-inline{padding:6px 4px 12px}.lvl-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:8px;flex:none;vertical-align:middle}.lvl-dot.lvl-good{background:#2f9a6a}.lvl-dot.lvl-some{background:#e08a1e}.lvl-dot.lvl-many{background:#c8323c}.xhead,.xline{display:grid;grid-template-columns:1fr repeat(4,46px);align-items:center;gap:4px}.xhead{font-size:11.5px;font-weight:700;color:var(--muted);padding:2px 12px;text-align:center;white-space:nowrap}.xsort{display:flex;gap:8px;align-items:center;margin:6px 0}.xsort select{flex:1;min-width:0;min-height:44px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:14px;background-color:var(--card);color:var(--ink);font:inherit;font-size:15px;font-weight:700;padding:0 12px}.xsort button{flex:none;width:44px;height:44px;padding:0;border-radius:14px;font-size:16px}.xnum{font:inherit;font-size:13px;min-height:30px;text-align:center;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:10px;padding:3px 0}button.xnum{cursor:pointer}.xnum.bad{color:#9a2630;background:#fbe3e5;border-color:#f3c4c8}.xnum.lvl-good{color:#1f6e4a;background:#e3f4ea;border-color:#bfe3cd}.xnum.lvl-some{color:#8a520c;background:#fcefd9;border-color:#f3d6a8}.xnum.lvl-many{color:#9a2630;background:#fbe3e5;border-color:#f3c4c8}.xmore{font-size:10px;opacity:.7}.xtitle{margin:8px 0 0;text-align:center;font-weight:700;font-size:14px;color:var(--green)}.xsort-hint{text-align:center;margin:2px 0 6px;font-size:12px}.open-sign{margin-inline-start:auto;color:var(--green);font-size:13px;padding-inline:6px}.line[aria-expanded=true]{background:var(--green-soft);border-radius:10px;padding-inline:10px;box-sizing:border-box}.mark-in::-webkit-inner-spin-button,.mark-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mark-in{-moz-appearance:textfield;appearance:textfield}.tab{position:relative}.tab .dot-new{position:absolute;top:6px;inset-inline-end:8px;margin:0}.warn-group{margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}.avail{width:100%;border-collapse:collapse;margin:6px 0 10px;table-layout:fixed}.avail th{font-size:12px;font-weight:700;color:var(--muted);padding:4px 2px;text-align:center}.avail tbody th{text-align:start;font-size:13px;color:var(--ink);width:22%}.avail td{padding:3px;text-align:center}.avail thead small{display:block;font-size:11px;font-weight:600;white-space:nowrap}.avail caption{caption-side:bottom;font-size:12px;color:var(--muted);text-align:start;padding-top:4px}.avail .box{width:100%;min-height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--green);font-size:18px;font-weight:800;font-family:inherit}.avail .box.on{background:var(--green-soft);border-color:var(--green)}.avail .box:disabled{opacity:1}.tool-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.tool-block h4{font-size:15px;margin:0 0 2px;color:var(--green)}.grp{font-size:16px;color:var(--green);margin:18px 0 6px}.grp-title{font-size:18px;margin:22px 0 0}.special-case{background:var(--green-soft);border-radius:10px;padding:8px 10px;margin:8px 0}.who-login{color:var(--muted, #8a6f7b);font-size:12px;align-self:center}.warn-write{display:grid;gap:6px;margin-top:8px}.warn-write textarea{width:100%;box-sizing:border-box}.pw-change{margin-top:12px}.pw-change summary{cursor:pointer;font-weight:600;padding:8px 0}.warn-note{margin:4px 0 0;font-style:italic}.reg .lbl{display:block;margin-top:14px}.reg .birth{gap:6px}.reg .birth select{flex:1 1 0;padding:0 8px;padding-left:26px!important;background-position:left 6px center!important;background-size:16px!important}.reg textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;padding:10px}.reg .actions{display:flex;gap:10px;margin-top:12px}.reg .actions .btn{flex:1}.reg .hp{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.reg .check{display:flex;gap:8px;align-items:center;margin-top:10px;font-weight:700}.halaqat{display:grid;gap:8px;margin-top:6px}.halaqa-card{display:grid;gap:2px;text-align:start;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;cursor:pointer}.halaqa-card b{color:var(--green);font-size:16px}.halaqa-card small{color:var(--muted);font-size:13px}.halaqa-card.on{border-color:var(--green);background:var(--green-soft)}.halaqa-card.full{opacity:.65}.halaqa-card.full small{color:var(--red);font-weight:700}.reg-link{word-break:break-all;font-size:14px;margin:0 0 8px}.reg-steps{display:flex;justify-content:center;gap:0;list-style:none;padding:0;margin:4px 0 8px;counter-reset:none}.reg-steps li{display:flex;align-items:center}.reg-steps li+li:before{content:"";width:18px;height:2px;background:var(--line)}.reg-steps li.done+li:before,.reg-steps li.now:before{background:var(--green)}.reg-steps button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:14px;font-weight:700;padding:0;cursor:default;transition:background .2s,border-color .2s,color .2s}.reg-steps li.done button{border-color:var(--green);color:var(--green);background:var(--green-soft);cursor:pointer}.reg-steps li.now button{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 0 0 4px var(--green-soft)}.reg-step-title{text-align:center;margin:0 0 4px;font-size:18px;color:var(--green);text-wrap:balance}.reg-step-title small{display:block;color:var(--muted);font-size:12px;font-weight:500}.reg-body{animation:reg-in .22s ease-out}.reg-body.fwd{animation-name:reg-fwd}.reg-body.back{animation-name:reg-back}@keyframes reg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes reg-fwd{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes reg-back{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.reg-body{animation:none}}.reg .q{margin-top:4px;scroll-margin:90px}.reg .q .field{margin-top:6px}.q-hint{display:block;color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.6}.q-err{display:block;color:var(--red);font-size:15px;font-weight:700;margin-top:6px}.q-err:before{content:"⚠ "}.q.bad input,.q.bad select,.q.bad textarea{border-color:var(--red)!important}.q.bad .chips:not(.day-filter) .chip:not(.on),.q.bad .mode-card:not(.on){border-color:var(--red)}.hero.small .hero-text{text-align:center}.hero.small .hero-row .bismillah{font-size:23px;margin:0}.done-halaqa{display:flex;flex-direction:column;align-items:center;gap:4px;margin:4px auto 12px;padding:12px 14px;max-width:360px;border:1.5px solid var(--line);border-radius:16px;background:var(--card)}.done-halaqa b{color:var(--green);font-size:17px}.done-halaqa .hc-when{justify-content:center;text-align:center}.done-halaqa small{color:var(--muted)}.reg-intro{text-align:center;text-wrap:balance}.reg-note{margin:6px 0 8px;padding:8px 12px;border-radius:12px;background:var(--teal-soft);color:var(--ink);font-size:14px;text-wrap:balance}.reg-note.warn{background:var(--gold-soft);border:1px solid var(--gold)}.linkish{border:0;background:none;padding:0 2px;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.linkish:disabled{opacity:.6}.mode-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.mode-card{display:grid;gap:4px;justify-items:center;align-content:center;text-align:center;padding:12px 8px;min-height:60px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.mode-card b{font-size:16px;color:var(--green)}.mode-card small{color:var(--muted);font-size:12.5px;line-height:1.5;text-wrap:balance}.mode-card.on{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.day-filter{margin:6px 0 2px}.day-filter .chip{min-height:36px;font-size:13px}.hc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.halaqa-card .hc-mode{font-weight:600;color:var(--muted)}.halaqa-card .hc-left{flex:none;padding:1px 8px;border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:700}.halaqa-card .hc-left.full{background:var(--red-soft);color:var(--red)}.halaqa-card.full .hc-left{color:var(--red)}.halaqa-card.on,.halaqa-card.full.on{opacity:1;box-shadow:inset 0 0 0 1px var(--green)}.halaqa-card.any{border-style:dashed}.reg .waitlist{padding:10px 12px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--gold);font-weight:600}.reg .waitlist input{width:20px;height:20px;flex:none;accent-color:var(--green)}.reg-review{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-top:10px}.rr-head{display:flex;justify-content:flex-end;align-items:center;margin-bottom:4px}.rr-head b{color:var(--green)}.reg-review dl{display:grid;gap:6px;margin:0}.reg-review dt{font-size:12.5px;color:var(--muted)}.reg-review dd{margin:0;font-weight:700;overflow-wrap:anywhere}.reg-review dd.lines{white-space:pre-line}.reg-error{margin:10px 0 0;text-align:center;text-wrap:balance}.reg .reg-actions{position:sticky;bottom:0;z-index:2;margin:14px -4px -4px;padding:10px 4px calc(4px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}.reg .reg-actions .btn{margin-top:0}.reg-done{text-align:center}.done-mark{display:grid;place-items:center;width:64px;height:64px;margin:4px auto 6px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:700;animation:reg-in .3s ease-out}.reg-done .btn{width:100%;margin-top:12px}.req-detail{padding:6px 4px 12px}.req-detail .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.req-detail .actions .btn{flex:1 1 28%;padding-inline:8px}.req-contact{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.req-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:38px;padding:0 12px;border:1.5px solid var(--line);border-radius:19px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.req-pill bdi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-pill .ico{flex:none;color:var(--rose)}.req-group{margin:0 0 10px;padding:10px 12px;border-radius:14px;background:var(--bg, rgba(0,0,0,.02));border:1px solid var(--line)}.req-group h4{margin:0 0 6px;font-size:13px;color:var(--rose)}.req-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.req-facts div{min-width:0}.req-facts .wide{grid-column:1 / -1}.req-facts dt{font-size:12px;color:var(--muted)}.req-facts dd{margin:0;font-weight:700;overflow-wrap:anywhere;text-wrap:balance}.req-facts dd[dir=ltr]{text-align:right}.req-facts .long dd{font-weight:500;line-height:1.6}.req-group .lbl{display:block;margin-top:10px}.req-halaqa{display:grid;gap:4px;margin:0 0 8px;padding:10px 12px;border-radius:14px;background:var(--green-soft);border:1.5px solid var(--green)}.req-halaqa.none{background:var(--card);border-color:var(--line)}.req-halaqa b{color:var(--green)}.req-halaqa small{color:var(--muted)}.req-halaqa select{width:100%;max-width:100%;box-sizing:border-box;min-height:42px;margin-top:4px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;padding:0 10px}.req-meta{margin:0 0 4px;color:var(--muted);font-size:12.5px}.card:has(.req-detail){overflow:clip}.req-list .line{flex-wrap:wrap}.req-detail .req-bar{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom));z-index:3;margin:8px -4px 0;padding:8px 4px;background:var(--card);border-top:1px solid var(--line);flex-wrap:nowrap}.req-detail .req-bar .btn{flex:1 1 auto;min-width:0;min-height:46px;padding-inline:6px;font-size:15px;white-space:nowrap}.req-detail .req-bar .btn.primary{flex-grow:2}.hint.warn{color:var(--red);font-weight:700}.date-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;padding:8px 14px;cursor:pointer;box-sizing:border-box}.date-btn.empty{color:var(--muted)}.date-btn:disabled{opacity:.55;cursor:default}.date-btn .ico{width:20px;height:20px;flex:none;fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.date-btn:focus-visible{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.ticked-on .date-btn{min-height:44px;font-size:14px;padding:6px 10px}.date-box{padding:0 14px 8px;overflow:hidden}.date-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -14px 12px;padding:16px 14px 14px;color:var(--hero-ink);background:var(--star),linear-gradient(160deg,var(--hero-1),var(--hero-2));background-size:60px 60px,auto;border-bottom:3px double var(--hero-gold)}.date-head .nav.sm{background:#ffffff24;border-color:#ffffff80;color:var(--hero-ink)}.date-head .nav.sm:disabled{opacity:.35}.date-title{font-family:Amiri,serif;font-size:24px;font-weight:700;text-align:center;line-height:1.3}.date-title small{display:block;font-family:Tajawal,system-ui,sans-serif;font-size:12.5px;font-weight:500;color:var(--hero-sub)}.date-box .day{height:44px}.date-box .day.sel{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.date-actions{display:flex;gap:8px;margin-top:10px}.date-actions .btn{flex:1;width:auto;margin:0}.date-actions .btn.ghost{flex:0 0 auto;padding:8px 18px}.addrow .date-btn{flex:1;min-width:0;padding:8px 14px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-weight:400;font-size:16px}.addrow .date-btn.empty{color:var(--muted)}.time-lbl{display:block;margin:12px 2px 6px}.time-grid{display:grid;gap:4px}.time-grid.hours{grid-template-columns:repeat(6,1fr)}.time-grid.mins{grid-template-columns:repeat(4,1fr)}.date-box .time-grid .day{height:42px}.date-box .time-grid .day.sel b{font-weight:700}.halaqat .waitlist{margin-top:0}.reg-review dd.ltr{text-align:right}.login-card{margin:14px 0 0;padding:14px;border:1.5px solid var(--green);border-radius:16px;background:var(--green-soft)}.login-card small{display:block;color:var(--muted);font-size:13px}.login-card b{display:block;margin:6px 0;font-size:24px;color:var(--green);letter-spacing:.5px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.login-card p{margin:0;font-size:14px;text-wrap:balance}.reg .children select{max-width:160px}.reg .lbl{display:flex;align-items:center;gap:6px}.ico{flex:none;color:var(--green)}.reg .chip.on:before{content:"✓";margin-inline-end:5px;font-weight:700}.reg .chip{transition:background .15s,border-color .15s,transform .1s}.reg .chip:active,.mode-card:active,.halaqa-card:active{transform:scale(.98)}.mode-card .ico,.mode-card.on .ico{color:var(--green)}.hc-when{display:flex;align-items:center;gap:6px;text-wrap:balance}.hc-when .ico{color:var(--muted)}.reg.card{position:relative;overflow:hidden}.reg.card:before{content:"";position:absolute;inset:0 0 auto;height:86px;pointer-events:none;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23a8146f' stroke-opacity='0.13' stroke-width='1'%3E%3Crect x='15' y='15' width='30' height='30'/%3E%3Crect x='15' y='15' width='30' height='30' transform='rotate(45 30 30)'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}.reg.card>*{position:relative}.phone-row{display:flex;gap:6px;margin-top:6px}.phone-row select,.phone-row input{min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}.phone-row select{flex:0 0 auto;max-width:56%;padding:0 8px 0 4px}.phone-row input{flex:1;min-width:0;padding:0 12px;text-align:center;letter-spacing:.5px}.q.bad .phone-row select,.q.bad .phone-row input{border-color:var(--red)}.place-row{display:flex;gap:6px;margin-top:6px}.place-row select,.place-row input{min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}.place-row select{flex:0 0 auto;max-width:46%;padding:0 8px}.place-row input{flex:1;min-width:0;padding:0 12px}.place-row select+select{flex:1;min-width:0;max-width:none}.place-row select.empty{color:var(--muted)}.q.bad .place-row select,.q.bad .place-row input{border-color:var(--red)}.reg-intro{font-family:Amiri,serif;font-size:20px;color:var(--green);margin:0 0 10px}.reg-title{margin:0 0 8px;text-align:center;font-family:Amiri,serif;line-height:1.3;display:flex;flex-direction:column;align-items:center;gap:2px}.hero .hero-lead{font-family:Amiri,serif;font-size:28px;line-height:1.4;margin:0 0 4px;text-wrap:balance}.reg-intro.small{font-size:17px}.reg-lead{font-size:18px;font-weight:400;color:var(--ink)}.reg-cohort{display:inline-flex;align-items:center;gap:10px;font-size:34px;font-weight:700;color:var(--green);white-space:nowrap}.reg-n{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;border-radius:50%;background:#3f9a3a;color:#fff;font-size:28px;font-weight:700;line-height:1;padding-top:.08em;box-sizing:border-box}.tech-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.tech-row .tech-name{font-size:14px;overflow-wrap:anywhere}.rank-bar i.warn{background:linear-gradient(90deg,var(--rose),var(--red))}.tech-err{font-size:13px;overflow-wrap:anywhere}.tech-err b{color:var(--red)}.tech-table{display:grid;font-size:13px;margin-top:8px}.tech-table>div{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:4px;padding:6px 0;border-bottom:1px solid var(--line)}.tech-table>div>span{text-align:center;overflow-wrap:anywhere}.tech-table>div>span:first-child{text-align:start}.tech-table .head{font-weight:700;color:var(--muted);font-size:12px}.tech-table .head>span{overflow-wrap:normal}.tiles span.warn b{color:var(--red)}.seat-row{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.seat-row small{grid-column:2;color:var(--muted)}.seat{width:12px;height:12px;border-radius:50%;background:var(--line)}.seat.ok{background:var(--green)}.seat.low{background:var(--gold)}.seat.full{background:var(--red)}.tech{text-align:left}.tech-person{display:flex;align-items:center;justify-content:space-between;gap:8px}.tech-person .btn{width:auto;min-height:40px;padding:0 14px}.reg .hint,.reg .q-hint{text-wrap:balance}.hq-head{display:grid;grid-template-columns:1fr auto;gap:2px 8px}.hq-head .grid-name{grid-column:1}.hq-head .hq-fill{grid-column:2;grid-row:1;align-self:center}.hq-head small{grid-column:1 / -1;text-align:start}.hq-fill{flex:none;font-style:normal;font-weight:800;font-size:13px;border-radius:12px;padding:2px 9px;background:var(--green-soft);color:var(--green)}.map-filters{display:grid;gap:4px;margin-bottom:8px}.map-group{margin-top:8px;border:1.5px solid var(--line);border-radius:16px;overflow:hidden}.map-group>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;font-weight:800;cursor:pointer;list-style:none}.map-group>summary::-webkit-details-marker{display:none}.map-group>summary:after{content:"▾";margin-inline-start:auto;color:var(--muted)}.map-group[open]>summary:after{content:"▴"}.map-group>ul{margin:0;border-top:1px solid var(--line)}.hq-fill.over{background:var(--red-soft);color:var(--red)}.hq-note{margin:4px 0 8px;padding:7px 10px;border-radius:12px;background:var(--red-soft);color:var(--red);font-size:13.5px;font-weight:700;line-height:1.5;text-wrap:pretty}.hq-names{list-style:none;margin:0;padding:0}.hq-names>li{border-bottom:1px solid var(--line)}.hq-names>li:last-child{border-bottom:0}.hq-row{display:flex;align-items:center;gap:8px;min-height:48px}.hq-tick{flex:none;width:22px;height:22px;margin:0;accent-color:var(--green)}.hq-name{flex:1;min-width:0;text-align:start;background:none;border:0;padding:8px 0;font:inherit;color:var(--ink);cursor:pointer}.hq-name em{display:block;white-space:normal;font-style:normal;color:var(--red);font-size:12.5px;font-weight:700}.hq-move{flex:none;min-height:36px;padding:0 12px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--green);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}.hq-move[aria-expanded=true]{border-color:var(--green);background:var(--green-soft)}.hq-wait{flex:2 1 auto;align-self:center;font-weight:700;color:var(--ink)}.hq-sheet{display:grid;gap:8px;margin:4px 0 10px;padding:10px;border:1.5px solid var(--green);border-radius:16px;background:var(--card)}.hq-target{border:1px solid var(--line);border-radius:14px;padding:0 10px 10px;display:grid;gap:6px}.hq-target.on{border-color:var(--green);background:var(--green-soft)}.hq-target-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-height:44px;padding:8px 0 0;background:none;border:0;font:inherit;font-weight:700;color:var(--ink);text-align:start;cursor:pointer}.hq-target-head small{grid-column:1 / -1;color:var(--muted);font-weight:500;font-size:12.5px}.hq-in{color:var(--muted);font-size:13px;line-height:1.6}.quick{display:grid;gap:10px}.quick-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick .field{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;min-width:0}.quick .field>input,.quick .field>select{width:100%;box-sizing:border-box;min-height:46px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;padding:0 10px}.quick .field.bad>input,.quick .field.bad>select,.quick .field.bad .phone-row input{border-color:var(--red)}.quick .hq-note p{margin:0 0 8px}.quick-done{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13.5px;color:var(--muted)}.quick-done b{color:var(--ink)}.map-teacher{display:grid;gap:6px;margin:6px 0 10px}.map-teacher .hq-sheet{border-color:var(--line)}.teacher-cohort{margin:4px 0}.map-miss{color:var(--red);font-weight:700;white-space:nowrap}.mine-req li{display:grid;gap:4px}.mine-req .mine-note{color:var(--ink)}.mine-req .mine-btn{justify-self:start;min-height:38px;font-size:14px}.mine-flag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.mine-flag .map-miss{white-space:normal}.mine-flag.form{display:grid}.mine-flag textarea{width:100%;box-sizing:border-box}.q-star{color:var(--red);font-weight:700;margin-inline-start:3px}.q-legend{margin:0 0 8px;font-size:13px;color:var(--muted)}.q-legend .q-star{margin-inline:0 4px}.halqa-cards{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.halqa-card{display:grid;gap:4px;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);text-decoration:none;min-height:48px;transition:border-color .15s,background .15s}.halqa-card:active{background:var(--green-soft);border-color:var(--green)}.halqa-card.bare{border-color:var(--red);background:var(--red-soft)}.halqa-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.halqa-top b{font-size:16px;font-weight:800;min-width:0;text-wrap:balance}.halqa-sub{display:flex;flex-wrap:wrap;gap:0 14px;color:var(--muted);font-size:13.5px}.cohort-pic{margin:14px 0 0;padding:10px 12px;border-radius:14px;background:var(--green-soft)}.cohort-pic.missing{background:var(--red-soft)}.cohort-pic .hint{margin:0 0 8px;text-wrap:balance}.cohort-pic.missing .hint{color:var(--red);font-weight:700}.q.bad input,.q.bad select,.q.bad textarea,.q.bad .chips:not(.day-filter) .chip:not(.on),.q.bad .mode-card:not(.on),.quick .field.bad>input,.quick .field.bad>select,.quick .field.bad .phone-row input,.quick .field.bad .phone-row select{border:2.5px solid var(--red)!important;background-color:var(--red-soft)!important}.q.bad,.quick .field.bad{border-inline-start:4px solid var(--red);padding-inline-start:10px;border-radius:4px}.q-alert{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:var(--red-soft);color:var(--red);font-weight:700;font-size:15px;border:1.5px solid var(--red)}.nudge{animation:nudge .4s ease-in-out 1}@keyframes nudge{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion: reduce){.nudge{animation:none}}.pick-note{margin:4px 0 8px;font-weight:700}.tool-ico{position:relative}.hq-bar .hq-refuse{color:var(--red)}.req-tag{font-style:normal;color:var(--muted);font-size:13px}.req-detail .req-bar{flex-wrap:wrap}.req-detail .req-bar .btn.primary{flex-basis:100%}.req-detail .req-bar .btn:not(.primary){flex:1 1 auto;min-width:max-content}.hq-batch .req-detail .req-bar{position:static}.team-pick{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);font:inherit;color:var(--ink);text-align:start;cursor:pointer}.tp-text{flex:1;min-width:0;display:grid}.tp-text small{color:var(--muted)}.tp-arrow{color:var(--green);font-size:18px}.tp-dot{background:var(--red);color:#fff;border-radius:99px;font-size:12px;min-width:22px;text-align:center;padding:0 6px}.tp-title{margin:0 0 8px;font-size:18px;text-align:center;color:var(--green)}.tp-group{margin:10px 4px 4px;font-size:13px;color:var(--muted)}.tp-opt{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:10px 12px;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;font:inherit;color:var(--ink);text-align:start;cursor:pointer}.tp-opt.on{border-color:var(--green);background:var(--green-soft)}.tp-check{width:18px;color:var(--green);font-weight:700}.tp-pill{font-size:12px;border-radius:99px;padding:0 8px;background:var(--teal-soft);color:var(--teal);white-space:nowrap}.tp-pill.warn{background:var(--red-soft);color:var(--red)}.access-list li{padding:10px 8px;border-bottom:1px solid var(--line)}.access-row{display:flex;align-items:center;gap:8px}.access-row .btn{flex:none;padding:8px 12px;min-height:0;font-size:14px}.access-msg{margin-top:8px;display:grid;gap:8px}.access-msg pre{margin:0;white-space:pre-wrap;font:inherit;font-size:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}.access-msg .actions{display:flex;flex-wrap:wrap;gap:6px}.access-msg .actions .btn{flex:1 1 auto;min-width:max-content}.person-acts{display:grid;gap:8px;padding:8px 4px 12px}.person-sheet{max-height:88vh;overflow-y:auto;display:grid;gap:10px;padding-bottom:14px;text-align:start}.person-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-head h2{margin:0;font-size:19px;color:var(--green)}.person-head .btn{width:auto;margin:0;padding:6px 14px;min-height:0}.pname{cursor:pointer}.hifz-row .nm .pname{display:block;overflow:hidden;text-overflow:ellipsis}.pname.whole,.hifz-row .nm:has(.whole){white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere}.req-stamp{color:var(--muted);font-size:11.5px;font-weight:400;white-space:nowrap}.pw-wrap{position:relative;display:block}.pw-wrap input{padding-inline-end:52px}.pw-eye{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.person-sheet .chips .chip{padding-inline:10px;font-size:14px}.req-link{display:flex;align-items:center;gap:8px;margin:8px 0;padding:6px 10px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:13px;min-width:0}.req-link a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-align:left;text-decoration:none}.req-list .req-line{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:start}.req-line .grid-name{grid-column:1;grid-row:1;font-weight:700}.req-line .req-tag{grid-column:2;grid-row:1}.req-line small{grid-column:1 / -1;text-align:start}.req-tag{font-size:12.5px;font-weight:700;border-radius:999px;padding:1px 10px;white-space:nowrap;background:var(--gold-soft);color:var(--gold)}.req-tag.accepted{background:var(--teal-soft);color:var(--teal)}.req-tag.refused{background:var(--red-soft);color:var(--red)}.req-tag.waiting{background:var(--green-soft);color:var(--green)}.req-accepted{display:grid;gap:8px;margin-top:8px}.close-team{display:grid;gap:10px}.bubble.picture-due{max-width:220px;padding:8px 16px 8px 12px;font-size:15px;line-height:1.35;text-wrap:balance}body:has(.bubble:not(.picture-due)) .bubble.picture-due{bottom:calc(150px + env(safe-area-inset-bottom))}.teacher-profile .tp-name{display:grid;gap:2px;margin:0 0 10px}.teacher-profile .tp-name bdi{color:var(--muted);font-size:14px}.closed-note{text-align:center;line-height:2;text-wrap:balance}
