@font-face{font-family:AmiriQuran;src:url(/assets/AmiriQuran-Regular-6TfY6zeW.ttf)format("truetype");font-display:swap}:root{--primary:#0d6b51;--primary-dark:#09543f;--primary-light:#1a8a6a;--gold:#e7c977;--gold-dark:#cba94f;--bg:#faf9f5;--surface:#fff;--text:#1c1c1c;--text-2:#6b6b6b;--border:#e6e3dc;--divider:#efede7;--success:#2e9e6b;--warning:#e8973a;--danger:#d64545;--info:#3a7bd5;--radius:18px;--radius-sm:12px;--shadow:0 2px 14px #1c1c1c0f;--sidebar-w:264px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Cairo,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.7}h1,h2,h3,h4{margin:0;font-weight:800}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.card-tap{cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s}.card-tap:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-2px);box-shadow:0 10px 24px #0d40301f}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-title{color:var(--primary-dark);font-size:17px;font-weight:800}.muted{color:var(--text-2)}.caption{color:var(--text-2);font-size:13px}.btn{background:var(--primary);color:#fff;cursor:pointer;border:1.5px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-weight:700;transition:filter .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-outline{color:var(--primary);border-color:var(--primary);background:0 0}.btn-ghost{color:var(--text-2);border-color:var(--border);background:0 0}.btn-danger{background:var(--danger)}.btn-gold{background:var(--gold);color:var(--primary-dark)}.btn-sm{border-radius:11px;padding:7px 13px;font-size:13px}.btn-icon{color:var(--text-2);background:0 0;border-color:#0000;border-radius:10px;padding:8px}.btn-icon:hover{background:var(--divider)}.field{margin-bottom:14px;display:block}.field>span{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.input,.select,.textarea{border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:14px;outline:none;padding:11px 14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary)}.textarea{resize:vertical;min-height:90px}.field-error{color:var(--danger);margin-top:4px;font-size:12px}.table-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}thead th{text-align:right;color:var(--text-2);background:var(--divider);border-bottom:1px solid var(--border);padding:13px 16px;font-size:13px;font-weight:800}tbody td{border-bottom:1px solid var(--divider);padding:13px 16px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfaf7}.badge{border:1px solid;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;display:inline-block}.badge-success{color:var(--success);background:#2e9e6b17;border-color:#2e9e6b66}.badge-warning{color:var(--warning);background:#e8973a17;border-color:#e8973a66}.badge-danger{color:var(--danger);background:#d6454517;border-color:#d6454566}.badge-info{color:var(--info);background:#3a7bd517;border-color:#3a7bd566}.badge-muted{color:var(--text-2);border-color:var(--border);background:var(--divider)}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.grid{gap:14px;display:grid}.spacer{flex:1}.page{padding:22px 26px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.page-title{color:var(--primary-dark);font-size:24px;font-weight:800}.state{text-align:center;color:var(--text-2);padding:60px 20px}.spinner{border:3px solid var(--divider);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:50;background:#1419168c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:24px;width:100%;max-width:560px;max-height:88vh;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.toasts{z-index:90;gap:8px;display:grid;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#fff;border-radius:14px;padding:12px 20px;font-weight:700;animation:.25s ease-out rise;box-shadow:0 8px 24px #0003}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.plan-list{gap:8px;padding-inline-end:4px;display:grid}.plan-day{border:1px solid var(--border);background:var(--surface);border-radius:16px;transition:border-color .14s,box-shadow .14s;overflow:hidden}.plan-day.review{background:color-mix(in srgb, var(--gold) 14%, var(--surface))}.plan-day.open{border-color:color-mix(in srgb, var(--primary) 40%, var(--border));box-shadow:var(--shadow)}.plan-day-head{cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:start;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.plan-day-head:hover{background:color-mix(in srgb, var(--primary) 5%, transparent)}.plan-day-order{width:32px;height:32px;color:var(--primary-dark);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.plan-day.review .plan-day-order{color:var(--gold-dark);background:color-mix(in srgb, var(--gold) 40%, transparent)}.plan-day-title{flex:1;min-width:0;font-size:15px;font-weight:800}.plan-day-chev{color:var(--text-2);flex:none;font-size:11px}.plan-ayahs{border-top:1px dashed var(--border);padding:4px 14px 14px}.mushaf-page{text-align:justify;text-align-last:center;color:#1a1a1a;direction:rtl;background:#fbf7ec;border-radius:14px;padding:18px 16px;font-family:AmiriQuran,Amiri Quran,Scheherazade New,serif;font-size:26px;line-height:2}.mushaf-page.compact{font-size:20px}.mushaf-num{vertical-align:middle;outline-offset:-3px;color:#1a1a1a;border:1px solid #1a1a1abf;border-radius:50%;outline:.8px solid #1a1a1a59;place-items:center;width:1.3em;height:1.3em;margin:0 .12em;font-size:.46em;line-height:1;display:inline-grid}.mushaf-surah{text-align:center;color:var(--gold-dark);font-size:.62em;font-weight:700;display:block}.classroom-order{flex:none;gap:2px;display:grid}.classroom-order .btn{width:26px;height:22px;padding:0;font-size:10px}.chat-shell{grid-template-columns:minmax(260px,320px) 1fr;gap:14px;height:calc(100vh - 190px);min-height:460px;display:grid}@media (width<=900px){.chat-shell{grid-template-columns:1fr;height:auto}}.chat-pane{background:var(--surface);border:1px solid var(--border);min-height:0;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.chat-pane-head{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--primary) 5%, transparent);align-items:center;gap:10px;padding:12px 14px;display:flex}.chat-scroll{flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.chat-row{cursor:pointer;text-align:start;width:100%;color:inherit;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.chat-row:hover{background:color-mix(in srgb, var(--primary) 7%, transparent)}.chat-row.active{background:color-mix(in srgb, var(--primary) 13%, transparent)}.chat-row .title{font-size:15px;font-weight:800}.chat-row .preview{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:13px;overflow:hidden}.chat-avatar{background:color-mix(in srgb, var(--primary) 14%, transparent);width:40px;height:40px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.chat-avatar.sm{width:30px;height:30px;font-size:12px}.chat-pill{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:800;display:grid}.chat-day{justify-content:center;margin:10px 0;display:flex}.chat-day span{color:var(--text-2);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:12px}.chat-msg{align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.chat-msg.mine{flex-direction:row-reverse}.chat-bubble{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:min(560px,74%);padding:9px 13px;line-height:1.75;box-shadow:0 1px 2px #0000000a}.chat-msg.mine .chat-bubble{background:color-mix(in srgb, var(--primary) 13%, transparent);border-color:color-mix(in srgb, var(--primary) 22%, transparent);border-end-end-radius:5px}.chat-msg:not(.mine) .chat-bubble{border-end-start-radius:5px}.chat-bubble .sender{color:var(--primary);margin-bottom:2px;font-size:12.5px;font-weight:800}.chat-bubble .time{color:var(--text-2);margin-top:3px;font-size:11px}.chat-bubble img{border-radius:12px;max-width:260px;display:block}.chat-bubble audio{max-width:250px;height:36px}.chat-quote{text-align:start;cursor:pointer;border:0;border-inline-start:3px solid var(--primary);background:color-mix(in srgb, var(--primary) 9%, transparent);width:100%;font:inherit;border-radius:8px;margin-bottom:5px;padding:5px 9px;display:block}.chat-quote .who{color:var(--primary);font-size:12px;font-weight:800}.chat-quote .what{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.chat-msg .chat-reply-btn{opacity:0;width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;transition:opacity .15s;display:grid}.chat-msg:hover .chat-reply-btn{opacity:1}.chat-msg .chat-reply-btn:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.chat-mention{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:6px;padding:0 3px;font-weight:800}.chat-msg.flash .chat-bubble{animation:1.2s chat-flash}@keyframes chat-flash{0%,to{box-shadow:0 1px 2px #0000000a}30%{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 45%, transparent)}}.chat-replying{border-top:1px solid var(--border);background:color-mix(in srgb, var(--primary) 7%, transparent);align-items:center;gap:8px;padding:8px 12px;display:flex}.chat-mention-menu{inset-inline:12px;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:14px;max-height:220px;margin-bottom:6px;position:absolute;bottom:100%;overflow:auto;box-shadow:0 8px 24px #0000001f}.chat-mention-menu button{text-align:start;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;display:flex}.chat-mention-menu button:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}.chat-composer{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;padding:10px 12px;display:flex}.chat-composer .chat-input{border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--text);border-radius:999px;flex:1;padding:11px 16px}.chat-composer .chat-input:focus{border-color:var(--primary);outline:none}.chat-icon-btn{cursor:pointer;width:40px;height:40px;color:var(--text-2);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-icon-btn:hover{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary)}.chat-icon-btn.send{background:var(--primary);color:#fff}.chat-icon-btn.send:disabled{opacity:.5;cursor:default}.chat-icon-btn.danger{color:var(--danger)}.chat-recording{color:var(--danger);flex:1;align-items:center;gap:8px;font-weight:700;display:flex}.chat-recording .dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1s infinite chat-blink}@keyframes chat-blink{50%{opacity:.25}}.pick-list{border:1px solid var(--border);border-radius:14px;max-height:46vh;padding:4px;overflow-y:auto}.pick-row{cursor:pointer;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.pick-row:hover{background:color-mix(in srgb, var(--primary) 7%, transparent)}.pick-row.on{background:color-mix(in srgb, var(--primary) 12%, transparent)}.pick-bar{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.chat-bubble-wrap{flex-direction:column;align-items:flex-start;max-width:min(520px,76%);display:flex}.chat-msg.mine .chat-bubble-wrap{align-items:flex-end}.chat-bubble-wrap .chat-bubble{max-width:100%}.chat-react,.chat-reactions{display:inline-flex;position:relative}.chat-msg:hover .chat-react .chat-reply-btn,.chat-react:focus-within .chat-reply-btn{opacity:1}@media (hover:none){.chat-msg .chat-reply-btn{opacity:.6}}.chat-react-bar{bottom:calc(100% + 4px);z-index:5;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:2px;padding:5px 7px;display:flex;position:absolute;inset-inline-start:50%;transform:translate(50%);box-shadow:0 6px 20px #0000001f}.chat-react-bar button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;transition:transform .12s,background .12s}.chat-react-bar button:hover{transform:scale(1.2)}.chat-react-bar button.on{background:color-mix(in srgb, var(--primary) 16%, transparent)}.chat-reactions{margin-top:-7px;z-index:1;margin-inline:10px}.chat-reaction-pill{cursor:pointer;font:inherit;background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:14px;line-height:1.6;display:inline-flex;box-shadow:0 1px 3px #00000014}.chat-reaction-pill .count{color:var(--text-2);font-size:12px;font-weight:700}.chat-reaction-list{top:calc(100% + 4px);z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-width:200px;padding:6px;display:flex;position:absolute;inset-inline-start:0;box-shadow:0 6px 20px #0000001f}.chat-reaction-list button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.chat-reaction-list button:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, transparent)}.chat-reaction-list button:disabled{cursor:default}.chat-media{align-items:center;gap:4px;display:inline-flex;position:relative}.chat-dl{cursor:pointer;width:32px;height:32px;color:var(--primary);font:inherit;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.chat-dl.on-image{top:6px;color:#fff;background:#00000073;position:absolute;inset-inline-end:6px}.chat-dl:disabled{opacity:.6;cursor:default}
