@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1)}}@layer base,components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}}:root{--font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;--font-display: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", serif;--color-canvas: #e7eef2;--color-surface: #ffffff;--color-surface-muted: #f3f7f9;--color-surface-elevated: #fcfdfe;--color-ink: #0f1c24;--color-ink-soft: #3a4d5c;--color-muted: #6b7f8f;--color-border: #cfd9e1;--color-border-strong: #a9b8c5;--color-sidebar: #0b1820;--color-sidebar-mid: #122632;--color-sidebar-ink: #f0f5f8;--color-sidebar-muted: #8ea3b3;--color-sidebar-hover: #183040;--color-sidebar-active: #1e3d4d;--color-sidebar-accent: #2dd4bf;--color-accent: #0d7377;--color-accent-strong: #095e61;--color-accent-soft: #d7f3f1;--color-accent-ink: #0a4d50;--color-accent-wash: rgb(13 115 119 / 10%);--color-warning-soft: #fff7e8;--color-warning-border: #ead7a8;--color-warning-ink: #7a5a16;--color-danger: #b42318;--shadow-soft: 0 10px 28px rgb(15 28 36 / 6%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--sidebar-width: 17rem;--topbar-height: 4.25rem;--content-max: 74rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .16s;--duration: .22s}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.55;letter-spacing:-.01em;color:var(--color-ink);background-color:var(--color-canvas);background-image:radial-gradient(ellipse 70% 45% at 0% -10%,rgb(13 115 119 / 14%),transparent 55%),radial-gradient(ellipse 55% 40% at 100% 0%,rgb(30 61 77 / 8%),transparent 50%),linear-gradient(165deg,#f4f8fa 0%,var(--color-canvas) 42%,#dfe8ee 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:600;line-height:1.2;letter-spacing:-.025em}p{margin:0}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-8) var(--space-4) var(--space-5);background:radial-gradient(circle at 20% -10%,rgb(45 212 191 / 18%),transparent 42%),linear-gradient(180deg,var(--color-sidebar-mid) 0%,var(--color-sidebar) 55%);color:var(--color-sidebar-ink);border-right:1px solid rgb(255 255 255 / 7%)}.sidebar__brand{display:grid;gap:.35rem;padding:0 var(--space-3)}.sidebar__brand-mark{font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.sidebar__brand-sub{color:var(--color-sidebar-muted);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.sidebar__nav{display:grid;gap:.35rem;flex:1;align-content:start}.sidebar__link{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:2.85rem;padding:.7rem .95rem;border-radius:var(--radius-md);color:var(--color-sidebar-muted);font-size:.95rem;font-weight:500;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.sidebar__link:before{content:"";position:absolute;left:.35rem;top:50%;width:3px;height:0;border-radius:999px;background:var(--color-sidebar-accent);transform:translateY(-50%);opacity:0;transition:height var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.sidebar__link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-ink)}.sidebar__link.is-active{background:var(--color-sidebar-active);color:var(--color-sidebar-ink);font-weight:600}.sidebar__link.is-active:before{height:1.35rem;opacity:1}.sidebar__link-icon{width:1.2rem;height:1.2rem;flex-shrink:0;opacity:.88}.sidebar__link.is-active .sidebar__link-icon{opacity:1;color:var(--color-sidebar-accent)}.sidebar__footer{padding:var(--space-4) var(--space-3) 0;border-top:1px solid rgb(255 255 255 / 8%);color:var(--color-sidebar-muted);font-size:.72rem;letter-spacing:.03em}.workspace{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topnav{position:sticky;top:0;z-index:20;min-height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-8);background:#fcfdfed1;-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);border-bottom:1px solid rgb(207 217 225 / 75%)}.topnav__left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topnav__menu-button{display:none;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.topnav__menu-button:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.topnav__title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav__actions{display:flex;align-items:center;gap:var(--space-3)}.admin-menu{position:relative}.admin-menu__trigger{display:flex;align-items:center;gap:var(--space-3);padding:.4rem .7rem .4rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.admin-menu__trigger:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated)}.admin-menu__avatar{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:var(--radius-sm);background:linear-gradient(145deg,var(--color-accent-soft),#bfe8e5);color:var(--color-accent-ink);font-size:.78rem;font-weight:700;letter-spacing:.02em}.admin-menu__meta{display:grid;text-align:left;padding-right:var(--space-2);gap:.05rem}.admin-menu__name{font-size:.875rem;font-weight:600;color:var(--color-ink)}.admin-menu__role{font-size:.72rem;color:var(--color-muted);font-weight:500}.admin-menu__panel{position:absolute;top:calc(100% + .55rem);right:0;min-width:13.5rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.admin-menu__item{display:block;width:100%;padding:.75rem .85rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-soft);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.admin-menu__item:hover{background:var(--color-accent-wash);color:var(--color-accent-ink)}.admin-menu__item--muted{color:var(--color-muted);font-size:.78rem;line-height:1.4;cursor:default}.admin-menu__item--muted:hover{background:transparent;color:var(--color-muted)}.page{flex:1;width:min(100%,var(--content-max));margin:0 auto;padding:var(--space-8) var(--space-8) var(--space-12)}.sidebar-backdrop{display:none}@media(max-width:960px){.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:min(18.5rem,88vw);transform:translate(-105%);transition:transform var(--duration) var(--ease-out)}.admin-shell.is-sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:30;border:0;background:#0b18207a;opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease-out)}.admin-shell.is-sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topnav__menu-button{display:inline-flex}.topnav,.page{padding-left:var(--space-4);padding-right:var(--space-4)}.admin-menu__meta{display:none}}@media(max-width:640px){.page{padding-top:var(--space-5);padding-bottom:var(--space-10)}.topnav__title{font-size:1.2rem}}.page-header{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}.page-header__title{font-family:var(--font-display);font-size:clamp(1.75rem,2.4vw,2.15rem);font-weight:700;letter-spacing:-.035em;color:var(--color-ink)}.page-header__description{max-width:38rem;color:var(--color-ink-soft);font-size:1.02rem;line-height:1.55}.page-shell{display:grid;gap:var(--space-5)}.page-hero{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-5);padding:var(--space-8) var(--space-6);border:1px solid rgb(255 255 255 / 14%);border-radius:calc(var(--radius-xl) + 2px);background:radial-gradient(circle at 88% 18%,rgb(255 255 255 / 18%),transparent 28%),linear-gradient(135deg,#0b3d40,#0d7377 46%,#1a9b8e);color:#f4fbfa;box-shadow:var(--shadow-soft);overflow:hidden}.page-hero:before{content:"";position:absolute;inset:auto -10% -45% 45%;height:14rem;border-radius:50%;background:#ffffff14;pointer-events:none}.page-hero__copy{position:relative;display:grid;gap:var(--space-3);max-width:38rem}.page-hero__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f4fbfab8}.page-hero__title{margin:0;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.35rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:#fff}.page-hero__description{margin:0;max-width:34rem;font-size:1rem;line-height:1.55;color:#f4fbfad6}.page-hero__actions{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft)}.page-toolbar .field{margin:0}.page-search{position:relative;flex:1 1 16rem;min-width:0}.page-search__icon{position:absolute;top:50%;left:.9rem;transform:translateY(-50%);color:var(--color-muted);font-size:1rem;pointer-events:none}.page-search__input{width:100%;min-height:2.75rem;padding:.6rem .95rem .6rem 2.4rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-ink);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.page-search__input:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-wash)}.detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.detail-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface));border-bottom:1px solid var(--color-border)}.detail-panel__title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.detail-panel__body{padding:var(--space-6)}@media(max-width:800px){.page-hero{padding:var(--space-6) var(--space-5)}.page-hero,.page-hero__actions{align-items:stretch}.page-hero__actions{width:100%}.page-hero__actions .btn{flex:1 1 auto}}.preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);margin:0;padding:.9rem 1.1rem;border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff7e8f2,#fffcf5fa);color:var(--color-warning-ink);box-shadow:var(--shadow-soft)}.preview-banner__label{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-sm);background:#7a5a161f;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.preview-banner__text{font-size:.92rem;line-height:1.45}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);margin:0}.stat-card{position:relative;display:grid;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface));box-shadow:var(--shadow-soft);overflow:hidden;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.stat-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--color-accent),#2a9d8f)}.stat-card:nth-child(2):before{background:linear-gradient(90deg,#1f6f78,#3d8b9a)}.stat-card:nth-child(3):before{background:linear-gradient(90deg,#2f6b5d,#4c9a86)}.stat-card:nth-child(4):before{background:linear-gradient(90deg,#3a6e82,#5a91a6)}.stat-card:hover{transform:translateY(-2px);border-color:var(--color-border-strong)}.stat-card__label{color:var(--color-muted);font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.stat-card__value{font-family:var(--font-display);font-size:clamp(2rem,2.5vw,2.35rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--color-ink)}.stat-card__hint{color:var(--color-muted);font-size:.8rem;font-weight:500}.panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface));border-bottom:1px solid var(--color-border)}.panel__title{font-size:1.08rem;font-weight:600;letter-spacing:-.02em}.panel__subtitle{color:var(--color-muted);font-size:.84rem;font-weight:500}.panel__body{padding:var(--space-6)}.empty-state{display:grid;place-items:center;gap:var(--space-3);min-height:15rem;padding:var(--space-10) var(--space-5);text-align:center;background:radial-gradient(circle at 50% 0%,var(--color-accent-wash),transparent 55%),linear-gradient(180deg,var(--color-surface-muted),transparent 75%);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.empty-state__title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.empty-state__description{max-width:28rem;color:var(--color-ink-soft);font-size:.95rem;line-height:1.55}.placeholder-page{display:grid;gap:var(--space-5)}.placeholder-card{padding:var(--space-8) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface));box-shadow:var(--shadow-soft)}.placeholder-card p{max-width:40rem;color:var(--color-ink-soft);font-size:1.02rem;line-height:1.6}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.stat-grid{grid-template-columns:1fr;gap:var(--space-4)}.panel__header{flex-direction:column;align-items:flex-start;padding:var(--space-5)}.panel__body{padding:var(--space-5)}.stat-card:hover{transform:none}}.auth-boot{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);color:var(--color-ink-soft)}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:var(--space-6);overflow:hidden}.login-page__atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at top,rgb(13 115 119 / 22%),transparent 55%),linear-gradient(145deg,#0b3d40,#0d7377 48%,#1a9b8e)}.login-card{position:relative;z-index:1;width:min(100%,26rem);display:grid;gap:var(--space-4);padding:var(--space-8) var(--space-6);border:1px solid rgb(255 255 255 / 35%);border-radius:var(--radius-xl);background:#fffffff5;box-shadow:0 24px 60px #0b182047}.login-card__brand{display:grid;gap:var(--space-2);margin-bottom:var(--space-2)}.login-card__mark{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:var(--color-accent-ink)}.login-card__title{font-family:var(--font-display);font-size:1.55rem;letter-spacing:-.03em}.login-card__subtitle{color:var(--color-ink-soft);font-size:.95rem}.halaqah-page{display:grid;gap:var(--space-5)}.halaqah-hero{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-5);padding:var(--space-8) var(--space-6);border:1px solid rgb(255 255 255 / 14%);border-radius:calc(var(--radius-xl) + 2px);background:radial-gradient(circle at 88% 18%,rgb(255 255 255 / 18%),transparent 28%),linear-gradient(135deg,#0b3d40,#0d7377 46%,#1a9b8e);color:#f4fbfa;box-shadow:var(--shadow-soft);overflow:hidden}.halaqah-hero:before{content:"";position:absolute;inset:auto -10% -45% 45%;height:14rem;border-radius:50%;background:#ffffff14;pointer-events:none}.halaqah-hero__copy{position:relative;display:grid;gap:var(--space-3);max-width:38rem}.halaqah-hero__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f4fbfab8}.halaqah-hero__title{margin:0;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.35rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:#fff}.halaqah-hero__description{margin:0;max-width:34rem;font-size:1rem;line-height:1.55;color:#f4fbfad6}.halaqah-hero__actions{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.btn--hero{position:relative;min-height:2.85rem;padding-inline:1.15rem;border-color:#ffffff3d;background:#fff;color:var(--color-accent-ink);box-shadow:0 10px 24px #0b18202e}.btn--hero:hover:not(:disabled){background:#f3fffe;color:var(--color-accent-strong)}.btn--hero-secondary{min-height:2.85rem;padding-inline:1.1rem;border-color:#ffffff59;background:#ffffff1f;color:#fff}.btn--hero-secondary:hover:not(:disabled){background:#ffffff38;color:#fff}.btn__plus{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-ink);font-size:1rem;line-height:1}.halaqah-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.halaqah-insight{position:relative;display:grid;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface));box-shadow:var(--shadow-soft);overflow:hidden}.halaqah-insight:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--color-accent),#1a9b8e)}.halaqah-insight:nth-child(2):before{background:linear-gradient(180deg,#1f6f78,#3d8b9a)}.halaqah-insight:nth-child(3):before{background:linear-gradient(180deg,#6b7f8f,#a9b8c5)}.halaqah-insight__label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.halaqah-insight__value{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,2.4vw,2rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--color-ink)}.halaqah-insight__hint{margin:0;color:var(--color-muted);font-size:.82rem}.halaqah-toolbar-card{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft)}.halaqah-search{position:relative;flex:1 1 16rem;min-width:0}.halaqah-search__icon{position:absolute;top:50%;left:.9rem;transform:translateY(-50%);color:var(--color-muted);font-size:1rem;pointer-events:none}.halaqah-search__input{width:100%;min-height:2.75rem;padding:.6rem .95rem .6rem 2.4rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-ink);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.halaqah-search__input:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-wash)}.halaqah-status-tabs{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border)}.halaqah-status-tab{min-height:2.25rem;padding:.35rem .95rem;border:0;border-radius:999px;background:transparent;color:var(--color-ink-soft);font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.halaqah-status-tab:hover{color:var(--color-ink)}.halaqah-status-tab.is-selected{background:var(--color-surface);color:var(--color-accent-ink);box-shadow:0 4px 12px #0f1c2414}.halaqah-directory{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.halaqah-directory__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface));border-bottom:1px solid var(--color-border)}.halaqah-directory__title{margin:0 0 .2rem;font-size:1.08rem;font-weight:600;letter-spacing:-.02em}.halaqah-directory__subtitle{margin:0;color:var(--color-muted);font-size:.84rem}.halaqah-directory__body{padding:var(--space-4)}.halaqah-empty{display:grid;gap:var(--space-4);justify-items:center;padding:var(--space-4) var(--space-2) var(--space-6)}.halaqah-empty .empty-state{width:100%}.halaqah-card-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.halaqah-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface));transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.halaqah-card:hover{border-color:var(--color-border-strong);box-shadow:0 10px 24px #0f1c2412;transform:translateY(-1px)}.halaqah-card__main{display:flex;align-items:flex-start;gap:var(--space-4);min-width:0;flex:1 1 18rem}.halaqah-card__avatar{flex:0 0 auto;display:grid;place-items:center;width:2.85rem;height:2.85rem;border-radius:.95rem;background:#e8eef2;color:var(--color-ink-soft);font-size:.82rem;font-weight:700;letter-spacing:.04em}.halaqah-card__avatar.is-active{background:linear-gradient(135deg,var(--color-accent),#1a9b8e);color:#fff;box-shadow:0 8px 16px #0d737738}.halaqah-card__copy{display:grid;gap:.35rem;min-width:0}.halaqah-card__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.halaqah-card__name{margin:0;font-size:1.02rem;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.halaqah-card__schedule{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--color-ink-soft);font-size:.9rem}.halaqah-card__dot{color:var(--color-muted)}.halaqah-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:.2rem}.halaqah-chip{display:inline-flex;align-items:center;min-height:1.65rem;padding:.15rem .6rem;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-ink-soft);font-size:.78rem;font-weight:600}.halaqah-chip--link{text-decoration:none;color:var(--color-accent-ink);background:var(--color-accent-soft);border-color:transparent}.halaqah-chip--link:hover{text-decoration:underline}.halaqah-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.halaqah-skeleton-list{display:grid;gap:var(--space-3)}.halaqah-skeleton-card{height:5.5rem;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-surface-muted) 0%,#eaf1f5 45%,var(--color-surface-muted) 100%);background-size:200% 100%;animation:halaqah-skeleton-shimmer 1.2s ease-in-out infinite}.halaqah-pagination{border-top:1px solid var(--color-border)}.field--grow{flex:1 1 16rem}.halaqah-import-modal{width:min(100%,56rem)}.halaqah-import-modal__body{display:grid;gap:var(--space-5)}.halaqah-import-steps{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.halaqah-import-steps li{padding:.35rem .75rem;border-radius:999px;background:var(--color-surface-muted);color:var(--color-muted);font-size:.8rem;font-weight:600}.halaqah-import-steps li.is-current{background:var(--color-accent-soft);color:var(--color-accent-ink)}.halaqah-import-steps li.is-done{color:var(--color-ink-soft)}.halaqah-import-file{display:grid;gap:var(--space-4)}.halaqah-import-file__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.halaqah-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:var(--space-3)}.halaqah-import-summary__card{display:grid;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.halaqah-import-summary__label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.halaqah-import-summary__value{font-weight:700;color:var(--color-ink);word-break:break-word}.halaqah-import-headers{margin:0;color:var(--color-muted);font-size:.84rem}.halaqah-import-table-wrap{max-height:18rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}.halaqah-import-table td,.halaqah-import-table th{white-space:nowrap}.halaqah-import-notes{white-space:normal!important;min-width:12rem;max-width:18rem;color:var(--color-ink-soft);font-size:.84rem}.status-pill.is-import-importable{background:var(--color-accent-soft);color:var(--color-accent-ink)}.status-pill.is-import-invalid{background:#fef3f2;color:var(--color-danger)}.status-pill.is-import-duplicate{background:var(--color-warning-soft);color:var(--color-warning-ink)}.status-pill.is-import-existing{background:#eef1f4;color:var(--color-muted)}.halaqah-import-confirm{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning-ink)}.halaqah-import-confirm__title{margin:0;font-weight:700;color:var(--color-ink)}.halaqah-import-confirm p{margin:0;line-height:1.5}@keyframes halaqah-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.halaqah-modal-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-5);background:radial-gradient(ellipse at top,rgb(13 115 119 / 18%),transparent 55%),#0b182085;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:halaqah-modal-fade-in var(--duration) var(--ease-out)}.halaqah-modal{width:min(100%,36rem);max-height:min(92vh,52rem);display:flex;flex-direction:column;border:1px solid rgb(255 255 255 / 18%);border-radius:calc(var(--radius-xl) + 2px);background:var(--color-surface);box-shadow:0 24px 60px #0b182047,0 0 0 1px #0f1c240a;overflow:hidden;animation:halaqah-modal-rise var(--duration) var(--ease-out)}.halaqah-modal__header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-5);background:linear-gradient(145deg,#0b3d40,#0d7377 48%,#1a9b8e);color:#f4fbfa}.halaqah-modal__header:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 35%),transparent)}.halaqah-modal__header-copy{display:grid;gap:var(--space-2);min-width:0;padding-right:var(--space-2)}.halaqah-modal__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f4fbfab8}.halaqah-modal__title{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:#fff}.halaqah-modal__subtitle{margin:0;max-width:28rem;font-size:.9rem;line-height:1.45;color:#f4fbfad1}.halaqah-modal__close{flex:0 0 auto;display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid rgb(255 255 255 / 28%);border-radius:999px;background:#ffffff1a;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.halaqah-modal__close:hover:not(:disabled){background:#fff3;border-color:#ffffff73;transform:scale(1.04)}.halaqah-modal__close:disabled{opacity:.55;cursor:not-allowed}.halaqah-form{display:flex;flex-direction:column;min-height:0;flex:1}.halaqah-modal__body{display:grid;gap:var(--space-5);padding:var(--space-6);overflow-y:auto}.halaqah-modal__footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-muted))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field{display:grid;gap:var(--space-2);min-width:0}.field--full{grid-column:1 / -1}.field--inline{grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3)}.field__label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:.84rem;font-weight:600;color:var(--color-ink-soft)}.field__label-meta{font-size:.75rem;font-weight:500;color:var(--color-muted)}.field__input{width:100%;min-height:2.75rem;padding:.6rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-ink);box-shadow:inset 0 1px #ffffffb3;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.field__input:hover:not(:disabled){border-color:var(--color-border-strong)}.field__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-wash),inset 0 1px #ffffffb3;background:var(--color-surface)}.field__input.is-invalid{border-color:var(--color-danger);box-shadow:0 0 0 3px #b423181f}.field__input:disabled{opacity:.7;cursor:not-allowed}.field__error{color:var(--color-danger);font-size:.82rem}.field__hint{color:var(--color-muted);font-size:.8rem;line-height:1.35}.day-field{margin:0;padding:0;border:0;min-inline-size:0}.day-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.day-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-ink-soft);font-size:.86rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.day-chip input{position:absolute;opacity:0;pointer-events:none}.day-chip:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.day-chip.is-selected{border-color:transparent;background:linear-gradient(135deg,var(--color-accent),#1a9b8e);color:#fff;font-weight:600;box-shadow:0 6px 14px #0d737738}.active-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent-soft),var(--color-surface));cursor:pointer}.active-toggle__copy{display:grid;gap:.2rem;min-width:0}.active-toggle__title{font-size:.92rem;font-weight:600;color:var(--color-ink)}.active-toggle__hint{font-size:.8rem;color:var(--color-muted);line-height:1.35}.active-toggle__input{position:absolute;opacity:0;pointer-events:none}.active-toggle__switch{position:relative;flex:0 0 auto;width:2.7rem;height:1.55rem;border-radius:999px;background:#c5d2db;transition:background-color var(--duration-fast) var(--ease-out)}.active-toggle__switch:after{content:"";position:absolute;top:.18rem;left:.18rem;width:1.2rem;height:1.2rem;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0f1c242e;transition:transform var(--duration-fast) var(--ease-out)}.active-toggle__input:checked+.active-toggle__switch{background:var(--color-accent)}.active-toggle__input:checked+.active-toggle__switch:after{transform:translate(1.15rem)}.active-toggle__input:focus-visible+.active-toggle__switch{outline:2px solid var(--color-accent);outline-offset:2px}.form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}@keyframes halaqah-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes halaqah-modal-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.halaqah-modal-overlay,.halaqah-modal,.halaqah-skeleton-card,.halaqah-card{animation:none}.halaqah-card:hover{transform:none}}.form-banner{margin:0 0 var(--space-4);padding:.75rem .95rem;border-radius:var(--radius-sm);font-size:.92rem}.form-banner--error{border:1px solid rgb(180 35 24 / 25%);background:#fef3f2;color:var(--color-danger)}.form-banner--success{border:1px solid rgb(13 115 119 / 22%);background:var(--color-accent-soft);color:var(--color-accent-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.55rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong)}.btn--ghost{background:var(--color-surface);border-color:var(--color-border);color:var(--color-ink-soft)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-ink)}.btn--small{min-height:2.15rem;padding:.35rem .75rem;font-size:.86rem}.btn--block{width:100%}.panel__body--flush{padding:0}.panel-pad{padding:var(--space-5)}.state-block{padding:var(--space-8);text-align:center;color:var(--color-ink-soft)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.94rem}.data-table th,.data-table td{padding:.95rem 1.1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.data-table th{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);background:linear-gradient(180deg,var(--color-surface-muted),#eef4f7)}.table-person{display:flex;align-items:center;gap:var(--space-3);min-width:0}.table-person__avatar{flex:0 0 auto;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.7rem;background:linear-gradient(135deg,var(--color-accent-soft),#cfeceb);color:var(--color-accent-ink);font-size:.72rem;font-weight:700;letter-spacing:.03em}.table-primary{font-weight:600;color:var(--color-ink)}.table-secondary{margin-top:.2rem;color:var(--color-muted);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.table-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700}.status-pill.is-active{background:var(--color-accent-soft);color:var(--color-accent-ink)}.status-pill.is-inactive{background:#eef1f4;color:var(--color-muted)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.pagination__label{color:var(--color-muted);font-size:.88rem}.halaqah-note{margin-top:var(--space-4);color:var(--color-muted);font-size:.85rem}.settings-profile{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5)}.settings-profile__avatar{flex:0 0 auto;display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:linear-gradient(135deg,var(--color-accent),#1a9b8e);color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.04em;box-shadow:0 8px 16px #0d737738}.settings-profile__meta{flex:1 1 16rem;margin:0}.students-alert{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.students-alert p{margin:0}.students-detail{display:grid;gap:var(--space-5)}.students-detail__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0}.students-detail__meta dt{margin:0 0 .25rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.students-detail__meta dd{margin:0;font-weight:600;color:var(--color-ink);word-break:break-word}.students-detail__section-title{margin:0;font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em}.students-detail-error{display:grid;gap:var(--space-3);justify-items:start}.students-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.students-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;word-break:break-all}.reports-toolbar{align-items:end}.reports-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-status-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.reports-status-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding:.75rem 0;border-bottom:1px solid var(--color-border)}.reports-status-list li:last-child{border-bottom:0;padding-bottom:0}.reports-bars{display:grid;gap:var(--space-3)}.reports-bars__row{display:grid;grid-template-columns:minmax(5.5rem,7rem) 1fr 2.5rem;gap:var(--space-3);align-items:center}.reports-bars__label{font-size:.82rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.reports-bars__track{height:.65rem;border-radius:var(--radius-sm);background:var(--color-surface-muted);overflow:hidden}.reports-bars__fill{height:100%;min-width:0;border-radius:inherit;background:var(--color-accent)}.reports-bars__value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.students-muted{color:var(--color-muted)}.data-table__row--selected td{background:var(--color-accent-soft)}@media(max-width:900px){.halaqah-insights{grid-template-columns:1fr}}@media(max-width:800px){.form-grid{grid-template-columns:1fr}.halaqah-modal-overlay{padding:var(--space-3);align-items:end}.halaqah-modal{width:100%;max-height:min(94vh,52rem);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.halaqah-modal__header,.halaqah-modal__body,.halaqah-modal__footer{padding-left:var(--space-5);padding-right:var(--space-5)}.halaqah-hero{padding:var(--space-6) var(--space-5)}.halaqah-hero,.halaqah-hero__actions,.halaqah-toolbar-card,.halaqah-card{align-items:stretch}.halaqah-hero__actions{width:100%}.halaqah-hero__actions .btn{flex:1 1 auto}.halaqah-card__actions,.table-actions{justify-content:flex-start}.halaqah-status-tabs{width:100%}.halaqah-status-tab{flex:1 1 auto;text-align:center}.students-detail__meta,.reports-stat-grid{grid-template-columns:1fr}.reports-bars__row{grid-template-columns:1fr;gap:var(--space-2)}.reports-bars__value{text-align:left}}
