@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600&display=swap";html,body,#root{min-height:100%}:root{--bg:#0b1020;--bg-elevated:#121a2e;--panel:#151d33;--panel-2:#1a243c;--ink:#eef2ff;--muted:#9aa6c1;--accent:#7c5cff;--accent-soft:#7c5cff2e;--border:#ffffff14;--danger:#f07178;--ok:#3dd68c;--highlight:#cbbdff;--highlight-border:#7c5cff59;--info:#9adcf8;--info-soft:#38bdf824;--info-border:#38bdf859;--warn:#fbbf24;--warn-soft:#fbbf241f;--warn-border:#fbbf244d;--accent-hover:#8b6eff;--accent-shadow:#7c5cff40;--btn-secondary-bg:#ffffff0d;--btn-secondary-bg-hover:#ffffff14;--on-accent:#fff;--prereq:#ffac8c;--prereq-border:#ff7f5040;--prereq-bg:#ff7f500d;--prereq-body:#c5d0e8;--divider-danger:#ff6b6b;--divider-danger-soft:#ff6b6b14;--divider-danger-border:#ff6b6b59;--shadow-panel:#00000059;--focus-border:#7c5cff99;--focus-fill:#7c5cff14;--sidebar-bg:#0a0e1ceb;--sidebar-link:#c5d0e8;--sidebar-link-hover-bg:#ffffff0a;--sidebar-link-hover-color:#fff;--sidebar-border:#ffffff14;--sidebar-projects-head:var(--muted);--sidebar-projects-bg:#ffffff08;--sidebar-projects-border:#ffffff29;--sidebar-strong:#d8ccff;--header-bg:#0c1120b8;--role-color:var(--highlight);--signout-hover-border:#fff3;color:var(--ink);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:DM Sans,sans-serif;line-height:1.45}body.light-mode{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--bg-elevated:#fff;--panel:#fff;--panel-2:#f8fafc;--ink:#0f172a;--muted:#64748b;--accent:#6d28d9;--accent-soft:#6d28d914;--border:#0f172a14;--danger:#dc2626;--ok:#16a34a;--highlight:#5b21b6;--highlight-border:#6d28d959;--info:#0369a1;--info-soft:#0369a11f;--info-border:#0369a14d;--warn:#b45309;--warn-soft:#b453091f;--warn-border:#b453094d;--accent-hover:#5b21b6;--accent-shadow:#6d28d938;--btn-secondary-bg:#0f172a0a;--btn-secondary-bg-hover:#0f172a14;--prereq:#c2410c;--prereq-border:#c2410c47;--prereq-bg:#c2410c0f;--prereq-body:#334155;--divider-danger:#dc2626;--divider-danger-soft:#dc262614;--divider-danger-border:#dc26264d;--shadow-panel:#0f172a1f;--focus-border:#6d28d98c;--focus-fill:#6d28d914;--sidebar-bg:#ffffffe6;--sidebar-link:#334155;--sidebar-link-hover-bg:#0f172a0d;--sidebar-link-hover-color:#0f172a;--sidebar-border:#0f172a14;--sidebar-projects-head:#64748b;--sidebar-projects-bg:#0f172a05;--sidebar-projects-border:#0f172a14;--sidebar-strong:var(--accent);--header-bg:#fffc;--role-color:var(--highlight);--signout-hover-border:#0f172a33}body.jain-way{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f2;--bg-elevated:#fff;--panel:#fff;--panel-2:#fcfaf7;--ink:#291a10;--muted:#786b60;--accent:#ea580c;--accent-soft:#ea580c14;--border:#291a1014;--danger:#dc2626;--ok:#16a34a;--highlight:#c2410c;--highlight-border:#ea580c59;--info:#0f766e;--info-soft:#0f766e1f;--info-border:#0f766e4d;--warn:#a16207;--warn-soft:#a162071f;--warn-border:#a162074d;--accent-hover:#c2410c;--accent-shadow:#ea580c38;--btn-secondary-bg:#291a100a;--btn-secondary-bg-hover:#291a1014;--prereq:#c2410c;--prereq-border:#ea580c4d;--prereq-bg:#ea580c0f;--prereq-body:#453a31;--divider-danger:#dc2626;--divider-danger-soft:#dc262614;--divider-danger-border:#dc26264d;--shadow-panel:#291a101f;--focus-border:#ea580c8c;--focus-fill:#ea580c14;--sidebar-bg:#ffffffe6;--sidebar-link:#453a31;--sidebar-link-hover-bg:#ea580c0d;--sidebar-link-hover-color:#ea580c;--sidebar-border:#291a1014;--sidebar-projects-head:#786b60;--sidebar-projects-bg:#ea580c05;--sidebar-projects-border:#ea580c14;--sidebar-strong:var(--accent);--header-bg:#fffc;--role-color:var(--highlight);--signout-hover-border:#ea580c33}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(900px 500px at 0% 0%, #7c5cff2e, transparent 55%), radial-gradient(700px 400px at 100% 0%, #38bdf81a, transparent 50%), var(--bg);margin:0;transition:background-color .3s,color .3s,border-color .3s}body.light-mode{background:radial-gradient(900px 500px at 0% 0%, #6d28d90d, transparent 55%), radial-gradient(700px 400px at 100% 0%, #0ea5e90a, transparent 50%), var(--bg)}body.jain-way{background:linear-gradient(180deg, #dc262614 0%, #dc262614 20%,  #eab30814 20%, #eab30814 40%,  #fffffff2 40%, #fffffff2 60%,  #16a34a14 60%, #16a34a14 80%,  #00000012 80%, #00000012 100% ), var(--bg);background-attachment:fixed}.shell__nav,.shell__header,.shell__signout,.stat-card,.login__panel,.shell__link,.shell__projects-placeholder,.shell__theme-toggle,.shell__profile-button,.shell__profile-menu-item{transition:background .3s,background-color .3s,border-color .3s,color .3s,box-shadow .3s}h1{letter-spacing:-.02em;margin:0 0 .5rem;font-family:DM Sans,sans-serif;font-size:1.75rem;font-weight:600}code{font-size:.9em}.health{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.35rem .7rem;font-size:.8rem;position:fixed;top:.75rem;right:.75rem}.health--ok{color:var(--ok)}.health--bad{color:var(--danger)}.login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login__panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(420px,100%);padding:2rem;box-shadow:0 24px 60px #00000059}.login__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.login__lead{color:var(--muted);margin:0 0 1.5rem}.login__gis{justify-content:flex-start;display:flex}.login__dev-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.8rem;font-weight:700}.login__personas{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.login__persona{text-align:left;border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.login__persona:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.login__persona:disabled{opacity:.6;cursor:wait}.login__persona-name{font-weight:700}.login__persona-meta{color:var(--muted);text-transform:capitalize;font-size:.85rem}.login__dev-hint{color:var(--muted);margin:.85rem 0 0;font-size:.82rem;line-height:1.4}.login__error{color:var(--danger);margin-top:1rem;font-size:.95rem}.shell{z-index:1;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid;position:relative}.shell__nav{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--ink);flex-direction:column;gap:1rem;height:100dvh;min-height:100vh;padding:1.25rem .9rem;display:flex;position:sticky;top:0;overflow:hidden}.shell__brand{flex-direction:column;gap:.15rem;padding:.35rem .55rem .75rem;display:flex}.shell__brand-text{flex-direction:column;gap:.15rem;display:flex}.shell__mobile-toggle{appearance:none;border:1px solid var(--border);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;min-width:44px;min-height:44px;padding:.25rem .55rem;font-size:1.25rem;line-height:1;display:none}.shell__mobile-toggle:hover{background:var(--accent-soft);border-color:var(--highlight-border)}.shell__brand-mark{font-family:DM Sans,sans-serif;font-size:1.35rem;font-weight:600}.shell__brand-sub{color:var(--muted);font-size:.85rem}.shell__menu{flex-direction:column;gap:.35rem;display:flex}.project-badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:9999px;align-items:center;padding:.15rem .45rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.project-badge--drive{color:#ffb08c;background:#ff7f5026;border-color:#ff7f5066}.project-badge--independent{color:#8bf5f5;background:#00ced126;border-color:#00ced166}.project-badge--singleday{color:#e5bfff;background:#ba55d326;border-color:#ba55d366}.project-badge--multiday{color:#a3ffa3;background:#32cd3226;border-color:#32cd3266}.shell__category-list{flex-direction:column;gap:.6rem;padding:.2rem 0;display:flex}.shell__category-group{flex-direction:column;gap:.25rem;display:flex}.shell__category-head{border:1px solid var(--sidebar-border);cursor:pointer;background:#ffffff08;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:.4rem .5rem;transition:all .15s;display:flex}.shell__category-head:hover{background:var(--sidebar-link-hover-bg);border-color:var(--highlight-border)}.shell__category-head-left{align-items:center;gap:.45rem;display:flex}.shell__category-count{color:var(--muted);background:#0003;border-radius:9999px;padding:.1rem .4rem;font-size:.65rem;font-weight:700;line-height:1}body.light-mode .shell__category-count,body.jain-way .shell__category-count{background:#0000000f}.shell__category-chevron{color:var(--muted);opacity:.8;font-size:.65rem}.shell__category-empty{color:var(--muted);padding:.4rem .75rem;font-size:.78rem;font-style:italic}.shell__category-projects{border-left:2px solid var(--sidebar-border);flex-direction:column;gap:.25rem;margin-left:.4rem;padding-left:.5rem;display:flex}.shell__project-link{border-radius:8px;flex-shrink:0;width:100%;padding:.5rem .65rem;font-size:.88rem;overflow:hidden}.shell__project-row{flex-direction:column;gap:.25rem;width:100%;min-width:0;display:flex}.shell__project-title-line{justify-content:space-between;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.shell__project-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-weight:600;overflow:hidden}.shell__project-meta{white-space:nowrap;color:var(--muted);text-overflow:ellipsis;flex-wrap:nowrap;align-items:center;gap:.45rem;min-width:0;font-size:.76rem;display:flex;overflow:hidden}.shell__project-when{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.72rem;font-weight:500;overflow:hidden}body.light-mode .shell__project-when{color:#475569}body.jain-way .shell__project-when{color:#574c43}.shell__link.active .shell__project-when{color:#fffffff2!important}.shell__signup-cue{cursor:help;border-radius:9999px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.shell__signup-cue:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent)}.shell__signup-cue--confirmed{color:#4ade80;background:#22c55e2e;border:1px solid #22c55e73}.shell__signup-cue--waitlist{color:var(--warn);background:#f59e0b29;border:1px solid #f59e0b73}body.light-mode .shell__signup-cue--confirmed,body.jain-way .shell__signup-cue--confirmed{color:#15803d;background:#16a34a1f;border-color:#16a34a66}body.light-mode .shell__signup-cue--waitlist,body.jain-way .shell__signup-cue--waitlist{color:#b45309;background:#d977061f;border-color:#d9770666}.shell__signup-cue--parent{color:#93c5fd;background:#3b82f62e;border:1px solid #3b82f680;font-size:.62rem}.shell__signup-cue--parent-waitlist{color:#fcd34d;background:#f59e0b24;border:1px solid #f59e0b80;font-size:.62rem}body.light-mode .shell__signup-cue--parent,body.jain-way .shell__signup-cue--parent{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb66}body.light-mode .shell__signup-cue--parent-waitlist,body.jain-way .shell__signup-cue--parent-waitlist{color:#b45309;background:#d977061f;border-color:#d9770666}.shell__capacity-cue{color:var(--muted);cursor:help;outline:none;font-size:.7rem;font-weight:600}.shell-tip__bubble{z-index:10000;border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--panel);max-width:min(240px,100vw - 16px);color:var(--ink);letter-spacing:.01em;pointer-events:none;border-radius:10px;padding:.45rem .65rem;font-size:.78rem;font-weight:600;line-height:1.35;animation:.14s ease-out shell-tip-in;position:fixed;transform:translateY(-50%);box-shadow:0 10px 28px #00000047,0 0 0 1px #ffffff08}.shell-tip__bubble:before{content:"";background:var(--panel);width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.shell-tip__bubble--right:before{border-left:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));left:-5px}.shell-tip__bubble--left:before{border-top:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-right:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));right:-5px}@keyframes shell-tip-in{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.shell-tip__bubble--left{animation-name:shell-tip-in-left}@keyframes shell-tip-in-left{0%{opacity:0;transform:translateY(-50%)translate(4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}body.light-mode .shell-tip__bubble,body.jain-way .shell-tip__bubble{box-shadow:0 12px 28px #0f172a24,0 0 0 1px #0f172a0a}body.light-mode .project-badge--drive{color:#c2410c;background:#ea580c1f;border-color:#ea580c59}body.light-mode .project-badge--independent{color:#0284c7;background:#0ea5e91f;border-color:#0ea5e959}body.light-mode .project-badge--singleday{color:#7e22ce;background:#9333ea1f;border-color:#9333ea59}body.light-mode .project-badge--multiday{color:#15803d;background:#16a34a1f;border-color:#16a34a59}body.jain-way .project-badge--drive{color:#c2410c;background:#ea580c1f;border-color:#ea580c59}body.jain-way .project-badge--independent{color:#0f766e;background:#0d94881f;border-color:#0d948859}body.jain-way .project-badge--singleday{color:#92400e;background:#b453091f;border-color:#b4530959}body.jain-way .project-badge--multiday{color:#15803d;background:#16a34a1f;border-color:#16a34a59}.shell__link{color:var(--sidebar-link);border:1px solid #0000;border-radius:12px;flex-shrink:0;align-items:center;gap:.65rem;min-height:44px;padding:.7rem .8rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.shell__link:hover{background:var(--sidebar-link-hover-bg);color:var(--sidebar-link-hover-color)}.shell__link.active{background:var(--accent);color:#fff;box-shadow:0 8px 24px var(--accent-shadow)}.shell__link.active .project-badge{color:#fff!important;background:#ffffff40!important;border-color:#ffffff73!important}.shell__projects-status{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-weight:600}body.light-mode .shell__projects-status{color:#475569}body.jain-way .shell__projects-status{color:#574c43}.shell__link.active .shell__projects-status{color:#fffffff2!important}.shell__link--dashed{border:1px dashed var(--sidebar-border);color:var(--sidebar-link);margin-top:.35rem}.shell__link--dashed.active{border-style:solid}.shell__icon{text-align:center;opacity:.9;width:1.25rem}.shell__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--highlight);background:var(--accent-soft);border:1px solid var(--highlight-border);border-radius:999px;margin-left:auto;padding:.15rem .45rem;font-size:.68rem;font-weight:700;line-height:1}.shell__link.active .shell__badge{color:#fff!important;background:#ffffff40!important;border-color:#ffffff73!important}.shell__projects{border-top:1px solid var(--sidebar-border);flex-direction:column;flex:auto;gap:.75rem;min-height:0;margin-top:.75rem;padding-top:.75rem;display:flex}.shell__projects-head-btn{letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--sidebar-projects-head);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;min-height:44px;padding:.45rem .4rem;font-size:.75rem;font-weight:700;transition:background .15s;display:flex}.shell__projects-head-btn:hover{background:var(--accent-soft);color:var(--ink)}.shell__projects-toggle-icon{opacity:.85;font-size:.65rem}.shell__projects-head{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-projects-head);justify-content:space-between;align-items:center;padding:0 .35rem;font-size:.75rem;font-weight:700;display:flex}.shell__projects-controls{flex-direction:column;flex-shrink:0;gap:.5rem;padding:0 .15rem .35rem;display:flex}.shell__projects-search-wrap{width:100%;position:relative}.shell__projects-search{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--ink);border-radius:8px;padding:.45rem 1.8rem .45rem .65rem;font-family:inherit;font-size:.82rem}.shell__projects-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.shell__projects-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.75rem;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.shell__filter-group{flex-direction:column;gap:.25rem;display:flex}.shell__filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem;font-weight:700}.shell__filter-chips{flex-wrap:wrap;gap:.3rem;display:flex}.shell__filter-chip{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-family:inherit;font-size:.74rem;font-weight:600;transition:all .15s}.shell__filter-chip:hover{background:var(--btn-secondary-bg-hover);color:var(--ink);border-color:var(--accent-soft)}.shell__filter-chip--active{background:var(--accent-soft,#7c3aed26);color:var(--accent);border-color:var(--accent)}.shell__projects-placeholder strong{color:var(--sidebar-strong);font-weight:700}.shell__projects-list{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;flex-direction:column;flex:auto;gap:.25rem;min-height:0;max-height:none;padding-bottom:.15rem;padding-right:.15rem;display:flex;overflow:auto}body.light-mode .shell__projects-list,body.jain-way .shell__projects-list{scrollbar-color:#0f172a4d transparent}.shell__main{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.shell__header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;display:flex}.shell__welcome{font-family:DM Sans,sans-serif;font-size:1.35rem;font-weight:600}.shell__subtitle{color:var(--muted);margin-top:.15rem;font-size:.9rem}.shell__header-actions{align-items:center;gap:.65rem;display:flex}.shell__program-chip{border:1px solid var(--highlight-border);background:var(--accent-soft);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.82rem;font-weight:700;display:inline-flex}.shell__program-chip span{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-weight:700}.shell__program-chip--closed{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 12%, var(--panel))}.shell__profile{position:relative}.shell__profile-button{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:.3rem .65rem .3rem .35rem;display:inline-flex}.shell__profile-button:hover,.shell__profile-button[aria-expanded=true]{border-color:var(--signout-hover-border);background:var(--panel-2)}.shell__profile-avatar{background:var(--accent-soft);width:1.85rem;height:1.85rem;color:var(--highlight);border-radius:50%;place-items:center;font-size:.88rem;font-weight:800;display:inline-grid}.shell__profile-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.shell__profile-text span:first-child{font-size:.84rem;font-weight:700}.shell__profile-text span:last-child{color:var(--muted);text-transform:capitalize;font-size:.7rem}.shell__profile-menu{z-index:40;border:1px solid var(--border);background:var(--panel);min-width:220px;color:var(--ink);border-radius:14px;padding:.45rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 18px 42px #00000038}.shell__profile-menu-head{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;margin-bottom:.35rem;padding:.55rem .65rem .65rem;display:flex}.shell__profile-menu-head strong{font-size:.88rem}.shell__profile-menu-head span{color:var(--muted);text-transform:capitalize;font-size:.76rem}.shell__profile-menu-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.55rem .65rem;font-size:.86rem}.shell__profile-menu-item:hover{background:var(--accent-soft);color:var(--highlight)}.shell__profile-menu-item--danger:hover{background:color-mix(in srgb, var(--danger) 12%, var(--panel));color:var(--danger)}.program-dialog-backdrop{z-index:70;background:#1418207a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.program-dialog{border:1px solid var(--border);background:var(--panel);width:min(720px,100%);max-height:min(90vh,760px);color:var(--ink);border-radius:16px;padding:1.15rem;overflow:auto;box-shadow:0 24px 60px #0000003d}.program-dialog__head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.program-dialog__head h2{margin:0;font-family:DM Sans,sans-serif;font-size:1.2rem}.program-dialog__close{border:1px solid var(--border);background:var(--panel);width:2rem;height:2rem;color:var(--ink);cursor:pointer;border-radius:10px;place-items:center;font-size:1.2rem;line-height:1;display:inline-grid}.program-dialog__close:hover{border-color:var(--signout-hover-border);background:var(--panel-2)}.program-year-panel{flex-direction:column;gap:1rem;max-width:42rem;display:flex}.program-year-panel__head h2{margin:0 0 .35rem;font-family:DM Sans,sans-serif;font-size:1.15rem}.program-year-panel__head p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.program-year-panel__status{background:var(--accent-soft);border:1px solid var(--highlight-border);color:var(--ink);border-radius:10px;padding:.65rem .85rem;font-size:.9rem}.program-year-panel__status--closed{background:color-mix(in srgb, var(--danger) 12%, var(--panel));border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.program-year-controls{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.program-year-controls--panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:.85rem 1rem}.program-year-controls__label{color:var(--muted);font-size:.8rem;font-weight:600}.program-year-controls__select{border:1px solid var(--border);background:var(--header-bg);color:var(--ink);border-radius:8px;padding:.35rem .55rem;font-size:.88rem}.program-year-controls__open{border:1px solid var(--highlight-border);background:var(--accent-soft);color:var(--highlight);cursor:pointer;border-radius:8px;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.program-year-controls__activate,.program-year-panel__list-activate{border:1px solid var(--border);background:var(--header-bg);color:var(--ink);cursor:pointer;border-radius:8px;padding:.35rem .7rem;font-size:.82rem;font-weight:600}.program-year-controls__open:disabled,.program-year-controls__activate:disabled,.program-year-panel__list-activate:disabled{opacity:.6;cursor:not-allowed}.program-year-controls__error{color:var(--danger);font-size:.82rem}.program-year-controls__hint{color:var(--muted);font-size:.78rem}.program-year-panel__list{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:.85rem 1rem}.program-year-panel__list h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .55rem;font-size:.85rem;font-weight:700}.program-year-panel__list ul{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.program-year-panel__list li{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.9rem;display:flex}.program-year-panel__list-label{font-weight:600}.program-year-panel__list-status{color:var(--muted);text-transform:capitalize;font-size:.82rem}.program-year-panel__list-current{background:var(--accent-soft);color:var(--highlight);border:1px solid var(--highlight-border);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.program-wizard-backdrop{z-index:80;background:#14182073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.program-wizard{background:var(--panel);width:min(520px,100%);max-height:min(90vh,720px);color:var(--ink);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.35rem 1.35rem;overflow:auto;box-shadow:0 18px 48px #0000002e}.program-wizard h2{margin:0 0 .4rem;font-family:DM Sans,sans-serif;font-size:1.25rem}.program-wizard__lead{color:var(--muted);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.program-wizard__field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.88rem;font-weight:600;display:flex}.program-wizard__field input{border:1px solid var(--border);background:var(--header-bg);color:var(--ink);border-radius:8px;padding:.45rem .55rem;font-weight:500}.program-wizard__check{align-items:flex-start;gap:.5rem;margin-bottom:.45rem;font-size:.88rem;font-weight:500;display:flex}.program-wizard__check--select-all{border-bottom:1px solid var(--border);padding-bottom:.5rem;font-weight:700}.program-wizard__tabs{border:1px solid var(--border);background:var(--header-bg);border-radius:12px;gap:.35rem;margin:.35rem 0 .8rem;padding:.2rem;display:inline-flex}.program-wizard__tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.42rem .75rem;font-size:.84rem;font-weight:700}.program-wizard__tab--active{background:var(--accent-soft);color:var(--highlight)}.program-wizard__transfer-list,.program-wizard__projects{border:1px solid var(--border);border-radius:10px;max-height:min(38vh,360px);margin:.75rem 0 1rem;padding:.65rem .75rem .4rem;overflow:auto}.program-wizard__transfer-list legend,.program-wizard__projects legend{padding:0 .25rem;font-size:.82rem;font-weight:700}.program-wizard__hint,.program-wizard__meta{color:var(--muted);font-size:.8rem;font-weight:500}.program-wizard__share-note{color:var(--muted);margin:-.25rem 0 .85rem;font-size:.82rem;line-height:1.45}.program-wizard__share-note code{color:var(--ink);word-break:break-all;font-size:.78rem}.program-wizard__error{color:var(--danger);margin:0 0 .75rem;font-size:.88rem}.program-wizard__progress{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.35rem;margin:0 0 1rem;padding:.65rem .75rem;list-style:none;display:flex}.program-wizard__progress-item{color:var(--muted);align-items:center;gap:.45rem;font-size:.86rem;display:flex}.program-wizard__progress-item--active{color:var(--ink);font-weight:600}.program-wizard__progress-item--ok,.program-wizard__progress-item--skip{color:var(--ink)}.program-wizard__progress-item--error{color:var(--danger);font-weight:600}.program-wizard__progress-mark{text-align:center;width:1.1rem;font-weight:700}.program-wizard__actions{justify-content:flex-end;gap:.55rem;display:flex}.program-wizard__cancel,.program-wizard__submit{cursor:pointer;border-radius:10px;padding:.5rem .9rem;font-size:.9rem;font-weight:600}.program-wizard__cancel{border:1px solid var(--border);background:var(--panel);color:var(--ink)}.program-wizard__submit{border:1px solid var(--highlight-border);background:var(--accent-soft);color:var(--highlight)}.program-wizard__cancel:disabled,.program-wizard__submit:disabled{opacity:.6;cursor:not-allowed}.shell__role{background:var(--accent-soft);color:var(--highlight);text-transform:capitalize;border:1px solid var(--highlight-border);border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:700}.shell__signout{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:.45rem .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.shell__signout:hover{border-color:var(--signout-hover-border)}.shell__refresh{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;padding:.45rem .85rem}.shell__refresh:hover:not(:disabled){border-color:var(--signout-hover-border);background:var(--panel-2)}.shell__refresh:disabled{opacity:.7;cursor:wait}.shell__refresh-message{color:var(--muted);text-align:right;max-width:34rem;font-size:.78rem}.shell__theme-toggle{background:radial-gradient(circle at 28% 25%, #ffffff14, transparent 48%), linear-gradient(170deg, color-mix(in srgb, var(--panel-2) 90%, #fff 10%), var(--panel));border:1px solid color-mix(in srgb, var(--border) 65%, var(--highlight-border));cursor:pointer;min-width:44px;min-height:44px;box-shadow:inset 0 1px 0 #ffffff0f, 0 7px 16px color-mix(in srgb, var(--shadow-panel) 78%, transparent);border-radius:14px;justify-content:center;align-items:center;padding:.45rem;font-size:1.2rem;line-height:1;transition:transform .14s,border-color .14s,box-shadow .14s;display:inline-flex}.shell__theme-toggle:hover{border-color:color-mix(in srgb, var(--highlight-border) 50%, var(--signout-hover-border));box-shadow:inset 0 1px 0 #ffffff1a, 0 10px 20px color-mix(in srgb, var(--shadow-panel) 82%, transparent);transform:translateY(-1px)}.shell__theme-toggle:focus-visible{outline:2px solid var(--focus-border);outline-offset:2px}.shell__theme-icon{justify-content:center;align-items:center;width:1.2rem;height:1.2rem;transition:transform .18s;display:inline-flex}.shell__theme-toggle:hover .shell__theme-icon{transform:scale(1.08)}.shell__theme-svg{width:100%;height:100%;display:block}.shell__theme-svg--sun{color:#ffbf3a;text-shadow:0 0 14px #ffbf3a73;filter:drop-shadow(0 0 6px #ffbf3a59)}.shell__theme-svg--moon{color:#c6cfdd;text-shadow:0 0 12px #c6cfdd59;filter:drop-shadow(0 0 6px #c6cfdd47)}.shell__outlet{flex-direction:column;flex:1;padding:1.5rem;display:flex}.page__lead{color:var(--muted);max-width:52rem;margin:0 0 1.25rem}.page__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.button{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;padding:.5rem .95rem;font-weight:600}.dash-role{text-transform:capitalize;color:var(--highlight);font-weight:600}.dash-status{color:var(--muted);margin:0 0 1rem}.dash-status--error{color:var(--danger)}.dash-stats{grid-template-columns:minmax(0,16rem);margin-bottom:1.5rem}.dash-section{margin-bottom:1.5rem}.dash-section__title{color:var(--ink);margin:0 0 .65rem;font-size:1rem;font-weight:700}.dash-empty{color:var(--muted);margin:0;font-size:.95rem}.dashboard-tabs{border-bottom:1px solid var(--border);gap:.4rem;margin-bottom:1.25rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.dashboard-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px 10px 0 0;flex:none;padding:.65rem .9rem;font-weight:650}.dashboard-tab:hover{color:var(--ink);background:var(--accent-soft)}.dashboard-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-tab--active{border-color:var(--border);background:var(--panel);color:var(--ink)}.dashboard-tab-panel{min-width:0}.award-progress{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:16px;padding:1rem}.award-progress__heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.award-progress__heading p{color:var(--muted);margin:0}.award-progress__next{background:var(--accent-soft);color:var(--ink);border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.85rem;font-weight:700}.award-progress__track{background:var(--border);border-radius:999px;height:.8rem;overflow:hidden}.award-progress__track>span{border-radius:inherit;background:linear-gradient(90deg,#b7791f,#a0aec0 70%,#f6c453);height:100%;display:block}.parent-progress-column{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.award-progress--compact{border-radius:12px;width:100%;padding:.6rem}.award-progress--compact .award-progress__track{height:.6rem}.award-progress__compact-label{flex-direction:column;display:flex}.award-progress__compact-hours{color:var(--muted);font-size:.85rem}.award-progress__milestones{color:var(--muted);grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.65rem;font-size:.8rem;display:grid}.award-progress__milestones span{flex-direction:column;display:flex}.award-progress__milestones span:nth-child(2){align-items:center}.award-progress__milestones span:last-child{align-items:flex-end}.award-progress__milestones strong{color:var(--ink)}.dash-table-wrap{border:1px solid var(--border);background:var(--panel);border-radius:14px;overflow-x:auto}.dash-hours-table{border-collapse:collapse;width:100%;font-size:.92rem}.dash-hours-table th,.dash-hours-table td{border-bottom:1px solid var(--border);text-align:left;padding:.8rem .9rem}.dash-hours-table th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.dash-hours-table th:last-child,.dash-hours-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.dash-hours-table tbody tr:last-child td{border-bottom:none}.dash-list{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.dash-list__item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.dash-list__item:last-child{border-bottom:none}.dash-list__main{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;min-width:0;display:flex}.dash-list__name{font-weight:600}.dash-list__status{text-transform:capitalize;color:var(--muted);font-size:.8rem}.dash-list__hours{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9rem}.dash-list__item--button{padding:0}.youth-pick{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.youth-pick:hover:not(:disabled){background:#ffffff0a}.youth-pick:disabled{cursor:not-allowed;opacity:.7}.youth-pick--active{background:var(--accent-soft)}.progress-panel{margin-top:1rem}.progress-lookup{margin-bottom:1rem}.progress-lookup__label{color:var(--muted);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.progress-lookup__row{flex-wrap:wrap;gap:.65rem;display:flex}.progress-lookup__input{border:1px solid var(--border);background:var(--panel);min-width:0;color:var(--ink);font:inherit;border-radius:10px;flex:14rem;padding:.55rem .75rem}.progress-lookup__input:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.progress-lookup__btn{border:1px solid var(--border);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:10px;padding:.55rem 1rem;font-weight:600}.button:hover:not(:disabled){border-color:#fff3}.button:disabled{opacity:.55;cursor:default}.button--primary{background:var(--accent);color:#fff;box-shadow:0 8px 24px var(--accent-shadow);border-color:#0000}.button--primary:hover:not(:disabled){filter:brightness(1.08)}.button--small{padding:.3rem .7rem;font-size:.85rem}.modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050812a6;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal__panel{border-radius:16px;width:min(720px,100%);max-height:calc(100vh - 3rem);animation:.15s ease-out modal-in;overflow-y:auto;box-shadow:0 24px 60px #00000073}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.vform{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;margin:0;padding:1.25rem}.vform__title{margin:0 0 1rem;font-family:DM Sans,sans-serif;font-size:1.2rem;font-weight:600}.vform__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem 1rem;display:grid}.vform__field{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.vform__field input,.vform__field select{border:1px solid var(--border);color:var(--ink);background:#ffffff0a;border-radius:10px;padding:.55rem .7rem;font-family:inherit;font-size:.95rem}.vform__field input:focus,.vform__field select:focus{border-color:var(--focus-border);background:var(--focus-fill);outline:none}.lpick{position:relative}.lpick-group{gap:.5rem}.lpick-group>.button{align-self:flex-start}.nparent{border:1px dashed #ffffff2e;border-radius:12px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.nparent__title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}.nparent__fields{flex-direction:column;gap:.5rem;display:flex}.nparent__fields input{border:1px solid var(--border);color:var(--ink);background:#ffffff0a;border-radius:10px;padding:.55rem .7rem;font-family:inherit;font-size:.95rem}.nparent__fields input:focus{border-color:var(--focus-border);background:var(--focus-fill);outline:none}.nparent__actions{gap:.5rem;display:flex}.lpick__chips{flex-wrap:wrap;gap:.35rem;display:flex}.lpick__chip{background:var(--accent-soft);color:var(--highlight);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .35rem .2rem .55rem;font-size:.82rem;font-weight:600;display:inline-flex}.lpick__remove{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 .15rem;font-size:.95rem;line-height:1}.lpick__remove:hover{color:#fff}.lpick__results{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 12px 30px var(--shadow-panel);border-radius:10px;max-height:12rem;margin:.35rem 0 0;padding:.25rem;list-style:none;overflow-y:auto}.lpick__option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;display:flex}.lpick__option:hover{background:var(--accent-soft)}.lpick__meta{color:var(--muted);text-transform:capitalize;font-size:.78rem}.lpick__empty{color:var(--muted);padding:.5rem .6rem;font-size:.85rem;font-weight:400}.vform__hint{color:var(--info);font-size:.8rem;font-weight:400}.vform__warning{color:#f5c66d;margin:.9rem 0 0;font-size:.9rem}.vform__error{color:var(--danger);margin:.9rem 0 0;font-size:.9rem}.vform__actions{gap:.6rem;margin-top:1.1rem;display:flex}.cprofile__fields{gap:.9rem;margin-top:.5rem;display:grid}.roster-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.roster-toolbar__search{border:1px solid var(--border);min-width:0;color:var(--ink);font:inherit;background:#ffffff0a;border-radius:10px;flex:16rem;padding:.55rem .8rem}.roster-toolbar__search:focus{border-color:var(--focus-border);background:var(--focus-fill);outline:none}.roster-toolbar__search::placeholder{color:var(--muted)}.roster-toolbar__sort{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.roster-toolbar__sort select{border:1px solid var(--border);background:var(--panel);color:var(--ink);font:inherit;border-radius:10px;padding:.5rem .65rem}.roster{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:16px;overflow-x:auto}.roster-view-toggle{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.25rem;padding:.2rem;display:flex}.roster-view-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:44px;padding:.35rem .65rem;font-size:.78rem;font-weight:600;transition:all .15s}.roster-view-btn:hover{color:var(--ink)}.roster-view-btn--active{background:var(--panel);color:var(--highlight);box-shadow:0 1px 3px #00000026}.roster-mobile-card-list{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.roster-mobile-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.roster-mobile-card--senior{background:#3dd68c12;border-color:#3dd68c59}.roster-mobile-card__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.roster-mobile-card__who{align-items:center;gap:.5rem;display:flex}.roster-mobile-card__num{color:var(--muted);background:#ffffff0d;border-radius:6px;padding:.15rem .45rem;font-size:.78rem;font-weight:700}.roster-mobile-card__body{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem 0;font-size:.82rem;display:grid}.roster-mobile-card__field{flex-direction:column;gap:.15rem;display:flex}.roster-mobile-card__label{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-size:.7rem;font-weight:700}.roster-mobile-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (width<=900px){.roster__table th:nth-child(2),.roster__table td:nth-child(2),.reports-projects__table th:first-child,.reports-projects__table td:first-child,.dash-hours-table th:first-child,.dash-hours-table td:first-child{z-index:5;background:var(--panel-2);position:sticky;left:0;box-shadow:3px 0 8px #00000040}body.light-mode .roster__table th:nth-child(2),body.light-mode .roster__table td:nth-child(2),body.light-mode .reports-projects__table th:first-child,body.light-mode .reports-projects__table td:first-child,body.light-mode .dash-hours-table th:first-child,body.light-mode .dash-hours-table td:first-child{background:#fff;box-shadow:3px 0 8px #0f172a1a}body.jain-way .roster__table th:nth-child(2),body.jain-way .roster__table td:nth-child(2),body.jain-way .reports-projects__table th:first-child,body.jain-way .reports-projects__table td:first-child,body.jain-way .dash-hours-table th:first-child,body.jain-way .dash-hours-table td:first-child{background:#fff;box-shadow:3px 0 8px #291a101a}}.roster__table{border-collapse:collapse;width:100%;font-size:.92rem}.roster__table th,.roster__table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem .9rem}.roster__table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:700}.roster__table tbody tr:last-child td{border-bottom:none}.roster-row--senior td{background:#3dd68c12}.roster__table tbody tr:hover{background:#ffffff08}.roster__role{text-transform:capitalize;color:var(--ink);background:#ffffff0f;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700}.roster__role--coordinator{background:var(--accent-soft);color:var(--highlight)}.roster__role--youth{background:var(--info-soft);color:var(--info)}.roster__name-button{appearance:none;min-height:36px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;padding:.2rem .3rem;font-weight:700;display:inline-flex}.roster__name-button:hover,.roster__name-button:focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;text-decoration:underline}body.light-mode .roster__role--coordinator{background:var(--accent-soft);color:var(--highlight)}body.light-mode .roster__role--youth{background:var(--info-soft);color:var(--info)}body.light-mode .roster__table tbody tr:hover{background:#0f172a05}body.jain-way .roster__role--coordinator{background:var(--accent-soft);color:var(--highlight)}body.jain-way .roster__role--youth{color:#15803d;background:#16a34a1a}body.jain-way .roster__table tbody tr:hover{background:#291a1005}.roster__row--flash{animation:2.5s ease-out roster-flash}@keyframes roster-flash{0%{background:var(--accent-soft)}70%{background:var(--accent-soft)}to{background:0 0}}.roster__missing{color:var(--danger);background:#f0717829;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700}.roster__senior{color:var(--ok);background:#3dd68c29;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700}.roster__linked{color:var(--muted);font-size:.85rem}.roster__loading{color:var(--muted)}.roster__error{color:var(--danger)}.progress-lookup__btn:hover:not(:disabled){filter:brightness(1.08)}.progress-lookup__btn:disabled{opacity:.7;cursor:not-allowed}.reports-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.reports-stats--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.chart-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;flex-direction:column;justify-content:flex-start;padding:1.25rem;display:flex}.chart-card__title{color:var(--ink);margin:0 0 .5rem;font-size:.97rem;font-weight:700;line-height:1.3}.chart-card--embedded{background:0 0;border:none;border-radius:0;min-height:0;padding:0}.stat-card--members{margin-bottom:1.5rem;padding-bottom:.35rem}.stat-card--members-inline{grid-column:span 1}.role-breakdown-list{border-top:1px solid var(--border);flex-direction:column;gap:.45rem;margin-top:.85rem;padding-top:.75rem;display:flex}.role-breakdown-item{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .65rem;font-size:.88rem;transition:background .15s;display:flex}.role-breakdown-item:hover{background:var(--btn-secondary-bg-hover)}.role-breakdown-name{color:var(--ink);font-weight:600}.role-breakdown-badge{color:var(--muted);font-size:.82rem}.role-breakdown-badge strong{color:var(--highlight);font-weight:700}.stat-card--members-inline .chart-card--embedded{margin-top:.35rem}.stat-card__members-head{margin-bottom:.25rem}.stat-card__members-head h2{margin:0}.stat-card__members-head .stat-card__meta{margin-top:.25rem}.timeline__lead,.h-timeline__lead{color:var(--muted);margin:-.25rem 0 .85rem;font-size:.92rem}.h-timeline__frame{background:radial-gradient(700px 180px at 10% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%), radial-gradient(600px 160px at 90% 100%, color-mix(in srgb, var(--info) 18%, transparent), transparent 55%), linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:18px;padding:1.25rem 1rem 1rem}.h-timeline__rail{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;align-items:flex-start;gap:1.75rem;padding:1.75rem .75rem .5rem;display:flex;position:relative;overflow-x:auto}.h-timeline__line{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--info) 55%, transparent), color-mix(in srgb, var(--ok) 55%, transparent), color-mix(in srgb, var(--warn) 45%, transparent), color-mix(in srgb, var(--accent) 18%, transparent));border-radius:999px;height:3px;position:absolute;top:2.15rem;left:.75rem;right:.75rem}.h-timeline__stop{z-index:1;flex-direction:column;flex:none;align-items:center;gap:.55rem;width:4.5rem;display:flex;position:relative}.h-timeline__dot{background:var(--dot-color,var(--accent));width:1.15rem;height:1.15rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--dot-color,var(--accent)) 28%, transparent), 0 8px 18px #00000040;cursor:pointer;border:2px solid #ffffffd9;border-radius:999px;transition:transform .16s,box-shadow .16s}.h-timeline__dot:hover,.h-timeline__dot:focus-visible,.h-timeline__stop--active .h-timeline__dot{box-shadow:0 0 0 6px color-mix(in srgb, var(--dot-color,var(--accent)) 34%, transparent), 0 10px 22px #0000004d;outline:none;transform:scale(1.28)}.h-timeline__stop--past .h-timeline__dot{filter:saturate(.75);opacity:.85}.h-timeline__date{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:700}.h-timeline__tooltip{display:none}.h-timeline__detail-panel{background:0 0;border:none;border-radius:10px;min-height:0;margin-top:.55rem;padding:.15rem .25rem;transition:none}.h-timeline__detail-panel--open{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);border-radius:12px;padding:.75rem .9rem}.h-timeline__detail-hint{color:var(--muted);letter-spacing:.02em;opacity:.85;text-align:center;margin:0;font-size:.72rem;font-weight:600}.h-timeline__detail-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--role-color);margin-bottom:.3rem;font-size:.75rem;font-weight:700}.h-timeline__detail-title{font-family:DM Sans,sans-serif;font-size:1.2rem;font-weight:600}.h-timeline__detail-when{color:var(--muted);margin-top:.25rem;font-size:.9rem}.h-timeline__detail-extra{color:var(--ink);margin-top:.45rem;font-size:.9rem}body.light-mode .h-timeline__frame,body.jain-way .h-timeline__frame{background:radial-gradient(700px 180px at 10% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), radial-gradient(600px 160px at 90% 100%, color-mix(in srgb, var(--info) 10%, transparent), transparent 55%), linear-gradient(180deg, var(--panel-2), var(--panel))}body.light-mode .h-timeline__dot,body.jain-way .h-timeline__dot{border-color:var(--on-accent)}body.light-mode .h-timeline__detail-panel{background:#0f172a08}body.jain-way .h-timeline__detail-panel{background:#291a100a}.reports-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.reports-projects{margin-top:1.5rem}.reports-projects__head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.reports-projects__head h2,.reports-projects__head p{margin:0}.reports-projects__head p{color:var(--muted);margin-top:.25rem;font-size:.9rem}.reports-filters{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.reports-filter{border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .75rem;font-size:.82rem;font-weight:600}.reports-filter:hover,.reports-filter--active{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:var(--accent-soft);color:var(--highlight)}.reports-projects__table-wrap{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:16px;overflow-x:auto}.reports-projects__table{border-collapse:collapse;width:100%;font-size:.92rem}.reports-projects__table th,.reports-projects__table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.8rem .9rem}.reports-projects__table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.reports-projects__table tbody tr:last-child td{border-bottom:none}.reports-projects__table tbody tr:hover{background:#ffffff08}.reports-projects__table tbody tr[role=link]{cursor:pointer}.reports-projects__table tbody tr[role=link]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.reports-projects__name{color:var(--ink);font-weight:600}.reports-projects__table tbody tr[role=link]:hover .reports-projects__name{color:var(--highlight)}.month-calendar{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:18px;margin-top:1.25rem;padding:1.1rem}.month-calendar__head{justify-content:center;align-items:center;gap:1rem;display:flex}.month-calendar__head h2{text-align:center;min-width:15rem;margin:0}.month-calendar__head button{border:1px solid var(--border);background:var(--panel);width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;font-size:1.5rem;display:grid}.month-calendar__head button:hover{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:var(--accent-soft)}.month-calendar__lead{color:var(--muted);text-align:center;margin:.35rem 0 1rem;font-size:.9rem}.month-calendar__controls{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.month-calendar__view-options{border:1px solid var(--border);background:#0000001a;border-radius:10px;padding:.2rem;display:inline-flex}.month-calendar__view-options button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.45rem .75rem;font-size:.82rem;font-weight:700}.month-calendar__view-options button:hover,.month-calendar__view-options button.is-active{background:var(--accent-soft);color:var(--ink)}.month-calendar__view-options button.is-active{box-shadow:inset 0 0 0 1px #7c5cff80}.month-calendar__legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.55rem 1rem;margin:-.35rem 0 1rem;font-size:.78rem;display:flex}.month-calendar__legend-item{align-items:center;gap:.4rem;display:inline-flex}.month-calendar__legend-swatch{border-radius:3px;width:.7rem;height:.7rem}.month-calendar__grid,.week-calendar__grid{border-top:1px solid var(--border);border-left:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.day-calendar__list{border:1px solid var(--border);background:#ffffff04;border-radius:12px;max-width:46rem;min-height:12rem;margin:0 auto;padding:1rem}.day-calendar__list .month-calendar__event{gap:.3rem;padding:.75rem;font-size:.9rem}.day-calendar__empty{color:var(--muted);text-align:center;margin:4rem 0}.week-calendar__day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#ffffff04;min-height:16rem;padding:.45rem}.week-calendar__day-head{border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;background:#7c5cff14;justify-content:space-between;align-items:center;margin:-.45rem -.45rem .55rem;padding:.55rem;font-size:.72rem;display:flex}.week-calendar__day-head strong{color:var(--ink);font-size:.9rem}.month-calendar__weekday{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--focus-fill);color:var(--muted);letter-spacing:.05em;text-align:center;text-transform:uppercase;padding:.55rem .35rem;font-size:.72rem;font-weight:700}.month-calendar__day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#ffffff04;min-height:8.5rem;padding:.45rem}.month-calendar__day--blank{background:#00000014}.month-calendar__date{color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:block}.month-calendar__event{border-left:3px solid var(--calendar-event-border,var(--info));background:var(--calendar-event-background,#22b8cf21);border-radius:7px;gap:.15rem;margin-bottom:.35rem;padding:.4rem;font-size:.72rem;display:grid}.month-calendar__event>a{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.month-calendar__event>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-calendar__event-actions{gap:.4rem;display:flex}.month-calendar__event-actions a,.month-calendar__event-actions button{color:var(--calendar-event-link,var(--info));font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.year-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.year-calendar__month{border:1px solid var(--border);background:#ffffff04;border-radius:12px;padding:.75rem}.year-calendar__month-name{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 auto .55rem;font-weight:800;display:block}.year-calendar__month-name:hover{color:#cbbdff;text-decoration:underline}.year-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.year-calendar__weekday{color:var(--muted);text-align:center;font-size:.62rem;font-weight:700}.year-calendar__day{min-height:1.8rem;color:var(--ink);border-radius:5px;place-items:center;font-size:.68rem;display:grid;position:relative}.year-calendar__day:has(.year-calendar__event-dots){background:var(--accent-soft);font-weight:800}.year-calendar__day--blank{visibility:hidden}.year-calendar__event-dots{justify-content:center;gap:2px;display:flex;position:absolute;bottom:2px;left:2px;right:2px}.year-calendar__event-dot{border-radius:999px;width:3px;height:3px}.youth-projects{margin-top:1.5rem}.youth-projects__head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.youth-projects__head h2,.youth-projects__head p{margin:0}.youth-projects__head p{color:var(--muted);margin-top:.25rem;font-size:.9rem}.youth-project-list{gap:.7rem;display:grid}.youth-project-card{border:1px solid var(--border);background:linear-gradient(135deg, #22b8cf24, var(--panel));border-radius:16px;overflow:hidden}.youth-project-card__summary{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(9rem,.8fr) minmax(14rem,2fr) auto auto;align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.youth-project-card__summary:hover{background:#ffffff09}.youth-project-card__date,.youth-project-card__main{gap:.2rem;min-width:0;display:grid}.youth-project-card__date span,.youth-project-card__main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.youth-project-card__badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.youth-project-card__mine{color:var(--info);text-transform:capitalize;background:#22b8cf29;border-radius:999px;padding:.18rem .5rem;font-size:.75rem;font-weight:700}body.light-mode .youth-project-card__mine,body.jain-way .youth-project-card__mine{color:#0369a1;background:#0ea5e91f}.youth-project-card__arrow{font-size:1.35rem}.youth-project-card__details{border-top:1px solid var(--border);background:#00000014;padding:1rem}.youth-project-card__details>p{color:var(--muted);margin:0 0 .85rem;line-height:1.55}.youth-project-card__details dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:.88rem;display:grid}.youth-project-card__details dt{color:var(--muted)}.youth-project-card__details dd{margin:0}.youth-project-card__actions{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.youth-report{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:18px;margin-top:1.5rem;padding:1.25rem}.youth-report__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.youth-report__heading h2,.youth-report__heading p{margin:0}.youth-report__heading p,.youth-report__period{color:var(--muted);margin-top:.3rem;font-size:.9rem}.youth-report__controls{flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;margin:1.25rem 0 .75rem;display:flex}.youth-report__controls label{color:var(--muted);gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.youth-report__controls select{border:1px solid var(--border);background:var(--panel);min-width:12rem;color:var(--ink);font:inherit;border-radius:10px;padding:.5rem .7rem}.youth-report__controls .youth-report__checkbox{min-height:2.35rem;color:var(--ink);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.youth-report__checkbox input{width:1rem;height:1rem;accent-color:var(--accent)}.youth-report__period{margin-bottom:1rem}.youth-report__table{font-size:.86rem}.youth-report__table tbody tr.youth-report__row--behind{background:#f0717814}.youth-report__table tbody tr.youth-report__row--behind:hover{background:#f0717824}.youth-report__sort{color:inherit;font:inherit;font-weight:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0}.youth-report__sort:hover{color:var(--accent)}.youth-report__name{color:var(--ink);font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent);text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.youth-report__name:hover{color:var(--highlight);text-decoration-color:currentColor}.youth-report__behind,.youth-report__on-track{border-radius:999px;padding:.18rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.youth-report__behind{color:var(--danger);background:#f0717824}.youth-report__on-track{color:var(--ok);background:#3dd68c24}.youth-report__parents{gap:.2rem;display:grid}.youth-report__parents span{color:var(--muted);font-size:.82rem}.youth-report__parents .youth-report__behind-text{color:var(--danger)}.youth-report__modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050810c7;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.youth-report__modal{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:18px;width:min(780px,100%);max-height:calc(100vh - 3rem);padding:1.25rem;overflow-y:auto;box-shadow:0 24px 70px #00000080}.youth-report__modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.youth-report__modal-head h2,.youth-report__modal-head p{margin:0}.youth-report__modal-head p{color:var(--muted);margin-top:.25rem}.youth-report__parent-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.youth-report__parent-cards h3,.youth-report__parent-cards p{margin:0}.youth-report__parent-cards p{color:var(--muted);margin-top:.35rem;font-size:.85rem}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.stat-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.2rem}.stat-card h2{color:var(--muted);margin:0;font-size:.85rem;font-weight:600}.stat-card__value{text-transform:capitalize;margin:.55rem 0 .25rem;font-family:DM Sans,sans-serif;font-size:1.8rem}.stat-card__meta{color:var(--muted);margin:0;font-size:.88rem}.detail-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.detail-status{text-transform:capitalize;background:var(--accent-soft);color:var(--highlight);border:1px solid var(--highlight-border);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.detail-status--toggle{cursor:pointer;appearance:none;padding:.45rem 1rem;font-family:inherit;font-size:1rem;line-height:1.2;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 1px #00000014}.detail-status--toggle:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.detail-status--toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-status--toggle:disabled{opacity:.7;cursor:wait}.detail-status--draft{color:#cbd5e1;background:#94a3b833;border-color:#94a3b873}.detail-status--announced{color:#7dd3fc;background:#38bdf829;border-color:#38bdf873}body.light-mode .detail-status--draft{color:#475569;background:#64748b24;border-color:#64748b59}body.light-mode .detail-status--announced{color:#0369a1;background:#0284c71f;border-color:#0284c759}body.jain-way .detail-status--draft{color:#475569;background:#64748b24;border-color:#64748b59}body.jain-way .detail-status--announced{color:#0369a1;background:#0284c71f;border-color:#0284c759}.detail-status--open_for_signup{color:var(--ok);background:#3dd68c24;border-color:#3dd68c66}body.light-mode .detail-status--open_for_signup,body.jain-way .detail-status--open_for_signup{color:#15803d;background:#16a34a24;border-color:#16a34a66}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.detail-grid--rosters{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.detail-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.2rem}.detail-card__title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.85rem;font-weight:700}.detail-card__count{background:var(--accent-soft);color:var(--highlight);border-radius:999px;margin-left:.35rem;padding:.1rem .5rem;font-weight:700}.detail-card__empty{color:var(--muted);margin:0;font-size:.9rem}.detail-meta{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;display:grid}.detail-meta dt{color:var(--muted);font-size:.88rem}.detail-meta dd{margin:0;font-size:.92rem}.area-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.area-list__item{border:1px solid var(--border);background:#ffffff08;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .6rem;font-size:.92rem;display:flex}.area-list__limit{color:var(--muted);font-size:.8rem}.signup-form{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;margin-bottom:1.25rem;padding:1.1rem 1.2rem}.signup-form__row{flex-wrap:wrap;gap:.6rem;display:flex}.signup-form__input,.signup-form__select{border:1px solid var(--border);color:var(--ink);background:#ffffff0a;border-radius:10px;padding:.55rem .7rem;font-size:.92rem}.signup-form__input{flex:16rem}.signup-form__input::placeholder{color:var(--muted)}.signup-form__submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.55rem 1.1rem;font-weight:700}.signup-form__submit:disabled{opacity:.55;cursor:not-allowed}.roster{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.roster__row{border:1px solid var(--border);background:#ffffff08;border-radius:10px;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.roster__who{flex-direction:column;flex:1;min-width:0;display:flex}.roster__name{font-size:.95rem;font-weight:600}.roster__id{color:var(--muted);font-size:.78rem}.roster__area{color:var(--muted);white-space:nowrap;font-size:.85rem}.roster__name-btn{cursor:pointer;color:inherit;text-align:left;text-underline-offset:2px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3}.roster__name-btn:hover{color:var(--accent,#a78bfa);text-decoration-color:currentColor}.peek-modal__header{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.roster__remove{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #f0717866;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:.35rem .65rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.roster__remove:hover:not(:disabled){background:#f071781f}.roster__remove:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.roster__remove:disabled{opacity:.6;cursor:wait}.detail-error{color:var(--danger);margin:.75rem 0 0;font-size:.92rem}.project-gallery{flex-wrap:wrap;gap:.75rem;margin:0 0 1.25rem;display:flex}.project-gallery__item{border:1px solid var(--border);background:var(--panel);border-radius:12px;width:160px;height:110px;display:block;overflow:hidden}.project-gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.project-gallery__item:hover img{transform:scale(1.04)}.image-uploader__grid{flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem;display:flex}.image-uploader__thumb{border:1px solid var(--border);background:var(--panel);border-radius:10px;width:110px;height:80px;position:relative;overflow:hidden}.image-uploader__thumb img{object-fit:cover;width:100%;height:100%;display:block}.image-uploader__remove{color:#fff;cursor:pointer;background:#050812bf;border:none;border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;font-size:.9rem;line-height:1;display:grid;position:absolute;top:.25rem;right:.25rem}.image-uploader__remove:hover{background:var(--danger)}.image-uploader__pick{color:#d7def0;cursor:pointer;background:#ffffff08;border:1px dashed #ffffff40;border-radius:10px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.image-uploader__pick:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.image-uploader__pick--busy{opacity:.6;cursor:wait}.lead-picker{position:relative}.lead-picker__chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.lead-picker__chip{background:var(--accent-soft);border:1px solid var(--highlight-border);color:var(--highlight);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .6rem;font-size:.85rem;font-weight:600;display:flex}.lead-picker__chip-x{width:1.15rem;height:1.15rem;color:inherit;cursor:pointer;background:#00000040;border:none;border-radius:999px;place-items:center;font-size:.85rem;line-height:1;display:grid}.lead-picker__chip-x:hover{color:#fff;background:#f0717859}.lead-picker__list{z-index:30;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;max-height:240px;margin:.35rem 0 0;padding:.35rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #00000073}.lead-picker__option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;font-size:.9rem;display:flex}.lead-picker__option:hover{background:var(--accent-soft)}.lead-picker__meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.lead-picker__empty{color:var(--muted);padding:.5rem .65rem;font-size:.88rem}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050812b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:16px;width:min(520px,100%);margin:auto;padding:1.5rem;box-shadow:0 24px 60px #0000008c}.modal__title{margin:0 0 .4rem;font-family:DM Sans,sans-serif;font-size:1.25rem;font-weight:600}.modal__lead{color:var(--muted);margin:0 0 1rem;font-size:.92rem}.modal__input{width:100%}.modal__actions{justify-content:flex-end;gap:.6rem;margin-top:1.25rem;display:flex}.youth-signup-overlay{z-index:100}.youth-signup-dialog{width:min(560px,100%);max-height:88vh;padding:0;animation:.18s ease-out modal-in;overflow-y:auto}.youth-signup-dialog__head{border-bottom:1px solid var(--border);background:radial-gradient(120% 90% at 0% 0%, var(--accent-soft), transparent 55%), linear-gradient(180deg, var(--panel-2), var(--panel));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.5rem 1.1rem;display:flex}.youth-signup-dialog__head-text{min-width:0}.youth-signup-dialog__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--highlight);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.youth-signup-dialog__head .modal__title{margin:0 0 .35rem;font-size:1.35rem;line-height:1.25}.youth-signup-dialog__head .modal__lead{max-width:36ch;margin:0}.youth-signup-dialog__close{border:1px solid var(--border);background:var(--btn-secondary-bg);width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;font-size:1.25rem;line-height:1}.youth-signup-dialog__close:hover{color:var(--ink);background:var(--btn-secondary-bg-hover)}.youth-signup-dialog__section,.youth-signup-dialog__card{margin:1.15rem 1.5rem}.youth-signup-dialog__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem;font-size:.78rem;font-weight:700;display:block}.youth-signup-dialog__optional{letter-spacing:.04em;text-transform:lowercase;color:color-mix(in srgb, var(--muted) 80%, transparent);margin-left:.35rem;font-weight:600}.youth-signup-dialog__control{width:100%}.youth-signup-self{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-soft);border-radius:12px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.youth-signup-self__avatar{background:var(--accent);width:2.5rem;height:2.5rem;color:var(--on-accent);letter-spacing:.02em;border-radius:999px;place-items:center;font-size:.85rem;font-weight:700;display:grid}.youth-signup-self__meta{flex-direction:column;gap:.15rem;min-width:0;display:flex}.youth-signup-self__meta strong{font-size:1rem}.youth-signup-self__meta span{color:var(--muted);font-size:.82rem}.youth-signup-dialog__card{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-2) 70%, transparent);border-radius:14px;padding:.95rem}.youth-signup-dialog__toggle{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.youth-signup-dialog__toggle input{opacity:0;pointer-events:none;position:absolute}.youth-signup-dialog__toggle-ui{border:1.5px solid color-mix(in srgb, var(--muted) 55%, var(--border));background:var(--panel);border-radius:6px;flex:none;width:1.2rem;height:1.2rem;margin-top:.15rem;transition:border-color .15s,background .15s,box-shadow .15s}.youth-signup-dialog__toggle input:checked+.youth-signup-dialog__toggle-ui{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3.5px var(--accent)}.youth-signup-dialog__toggle-copy{flex-direction:column;gap:.15rem;display:flex}.youth-signup-dialog__toggle-copy strong{font-size:.98rem}.youth-signup-dialog__toggle-copy span{color:var(--muted);font-size:.84rem}.youth-signup-dialog__expand{border-top:1px solid var(--border);margin-top:.95rem;padding-top:.95rem}.youth-signup-dialog__hint{color:var(--muted);margin:0;font-size:.9rem}.youth-signup-parent-grid,.youth-signup-role-grid{gap:.55rem;margin-bottom:1rem;display:grid}.youth-signup-parent-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.youth-signup-role-grid{grid-template-columns:1fr;margin-bottom:0}.youth-signup-choice{border:1px solid var(--border);background:var(--panel);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .85rem;transition:border-color .15s,background .15s,transform .12s;display:flex}.youth-signup-choice:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-soft)}.youth-signup-choice--selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.youth-signup-choice__title{font-size:.95rem;font-weight:600}.youth-signup-choice__blurb{color:var(--muted);font-size:.8rem;line-height:1.35}.youth-signup-dialog__notes-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.youth-signup-dialog__notes-head .youth-signup-dialog__label{margin-bottom:.55rem}.youth-signup-dialog__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.youth-signup-dialog__count--warn{color:var(--warn)}.youth-signup-dialog__notes{border:1px solid var(--border);background:var(--panel);width:100%;min-height:5.5rem;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:.75rem .85rem}.youth-signup-dialog__notes:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-fill);outline:none}.youth-signup-dialog__notes::placeholder{color:color-mix(in srgb, var(--muted) 85%, transparent)}.youth-signup-dialog__error{margin:0 1.5rem .25rem}.youth-signup-dialog__actions{border-top:1px solid var(--border);background:linear-gradient(180deg, transparent, var(--panel) 28%);margin:0;padding:1rem 1.5rem 1.35rem;position:sticky;bottom:0}@media (width<=560px){.youth-signup-dialog__head,.youth-signup-dialog__actions{padding-left:1.1rem;padding-right:1.1rem}.youth-signup-dialog__section,.youth-signup-dialog__card{margin-left:1.1rem;margin-right:1.1rem}.youth-signup-self{align-items:flex-start}}.volunteer-peek{aspect-ratio:1;border-radius:24px;flex-direction:column;width:min(300px,86vw);min-height:min(300px,70vh);padding:1rem 1.1rem;display:flex}.volunteer-peek__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.volunteer-peek__close{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.volunteer-peek__content{gap:.75rem;display:grid}.volunteer-peek__contact{grid-template-columns:auto 1fr;gap:.45rem .9rem;margin:0;display:grid}.volunteer-peek__contact dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.volunteer-peek__contact dd{margin:0}.volunteer-peek__links{gap:.85rem;display:grid}.volunteer-peek__links h3{margin:0 0 .25rem;font-size:.95rem}.volunteer-peek__links p{color:var(--muted);margin:0;line-height:1.5}.toast{z-index:50;background:var(--panel);max-width:min(380px,100vw - 2.5rem);color:var(--ink);cursor:pointer;border:1px solid #3dd68c66;border-radius:12px;align-items:center;gap:.6rem;padding:.8rem 1.1rem;font-size:.92rem;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 16px 40px #00000073}.toast__icon{width:1.4rem;height:1.4rem;color:var(--ok);background:#3dd68c29;border-radius:999px;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:700;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.shell__backdrop{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0508128c;animation:.2s ease-out fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.shell{grid-template-columns:1fr}.shell__nav{border-right:none;border-bottom:1px solid var(--sidebar-border);z-index:40;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);gap:.75rem;height:auto;min-height:0;max-height:none;padding:.75rem 1rem;position:sticky;top:0;overflow:visible}.shell__nav--open{max-height:min(100dvh,100vh);overflow:hidden auto;box-shadow:0 16px 40px #00000059}.shell__brand{flex-direction:row;justify-content:space-between;align-items:center;padding:0}.shell__mobile-toggle{justify-content:center;align-items:center;display:inline-flex}.shell__nav:not(.shell__nav--open) .shell__menu,.shell__nav:not(.shell__nav--open) .shell__projects{display:none}.shell__nav--open .shell__menu,.shell__nav--open .shell__projects{animation:.22s ease-out drawer-slide-down;display:flex}.shell__projects-list{max-height:280px;overflow-y:auto}.shell__projects{min-height:0;margin-top:.25rem;padding-top:.6rem}.shell__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .9rem}.shell__welcome{font-size:1.05rem;line-height:1.25}.shell__subtitle{margin-top:.05rem;font-size:.78rem}.shell__header-actions{gap:.45rem}.detail-card,.roster-card,.award-progress,.project-form-card{margin-bottom:.85rem;padding:1rem}.shell__projects-list{flex:0 auto;overflow:auto visible}.stat-row{grid-template-columns:1fr}.reports-charts{grid-template-columns:1fr;gap:.9rem}.reports-stats{grid-template-columns:1fr 1fr}.reports-stats--wide,.reports-breakdowns{grid-template-columns:1fr}.reports-projects__head{flex-direction:column;align-items:flex-start}.reports-filters{justify-content:flex-start}.month-calendar{overflow-x:auto}.month-calendar__grid,.week-calendar__grid{min-width:700px}.year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.youth-projects__head{flex-direction:column;align-items:flex-start}.youth-project-card__summary{grid-template-columns:minmax(7rem,.8fr) 2fr auto}.youth-project-card__badges{display:none}.youth-report__heading,.youth-report__modal-head{flex-direction:column}.youth-report__controls{flex-direction:column;align-items:stretch}.youth-report__controls select{width:100%}}@media (width<=640px){.shell__header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem}.shell__header-actions{justify-content:flex-end;gap:.4rem;width:auto}.shell__welcome{font-size:.98rem}.shell__subtitle{font-size:.75rem}.shell__role{display:none}.shell__outlet{padding:.75rem .6rem}.project-form-actions{flex-direction:column;align-items:stretch}.project-form-actions .btn{width:100%;min-height:44px}.roster,.reports-projects__table-wrap,.dash-table-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.roster__table th,.roster__table td,.reports-projects__table th,.reports-projects__table td,.dash-hours-table th,.dash-hours-table td{padding:.55rem .6rem;font-size:.85rem}.reports-projects__name,.roster__name-button{white-space:normal;word-break:break-word;max-width:150px;line-height:1.3}.reports-projects__table td,.roster__table td{white-space:normal}.reports-projects__table th,.roster__table th{white-space:nowrap}}.form-group{margin-bottom:1.25rem}.form-label{color:var(--muted);margin-bottom:.4rem;font-size:.88rem;font-weight:600;display:block}.form-control{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--ink);border-radius:10px;padding:.65rem .85rem;font-family:inherit;font-size:.95rem}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}.month-calendar__controls{flex-wrap:wrap}.year-calendar{grid-template-columns:1fr}}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px var(--accent-shadow)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--btn-secondary-bg);border-color:var(--border);color:var(--ink)}.btn-secondary:hover{background:var(--btn-secondary-bg-hover)}.btn-danger{color:var(--danger);background:#f0717826;border-color:#f0717840}.btn-danger:hover{background:#f0717840}.service-area-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.roster-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.roster-card__subcounts{gap:.5rem;font-size:.82rem;font-weight:600;display:flex}.roster-subcount{border:1px solid #0000;border-radius:999px;padding:.15rem .55rem}.roster-subcount--confirmed{color:var(--ok);background:#3dd68c1f;border-color:#3dd68c4d}.roster-subcount--waitlist{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.roster-index{color:var(--muted);font-feature-settings:"tnum";font-weight:700}.roster-index--waitlist{color:var(--warn)}.roster-divider td{text-align:center;letter-spacing:.08em;color:var(--divider-danger);background:var(--divider-danger-soft);border-top:2px dashed var(--divider-danger-border);border-bottom:2px dashed var(--divider-danger-border);padding:.6rem .9rem;font-size:.82rem;font-weight:700}.roster-notes{color:var(--ink);font-size:.88rem}.roster-hours-value{color:var(--muted);white-space:nowrap;font-size:.8rem}.roster-badge{border-radius:999px;padding:.15rem .55rem;font-size:.76rem;font-weight:700;display:inline-block}.roster-badge--lead{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.roster-badge--co-lead{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.roster-badge--volunteer{color:var(--muted);border:1px solid var(--border);background:#ffffff14}.roster-badge--assigned{color:var(--ok);background:#3dd68c26;border:1px solid #3dd68c4d}.roster-promote-btn{color:#c084fc;background:#a855f71a;border-color:#a855f759;transition:all .15s}.roster-promote-btn:hover:not(:disabled){color:#d8b4fe;background:#a855f733;border-color:#a855f780}.project-form-page--landscape{width:100%;max-width:min(1680px,100%);margin:0 auto}.project-form-page--landscape .project-form-card{width:100%}.roster-attendance-btn{padding:.2rem .55rem;font-size:.78rem;transition:all .15s}.roster-attendance-edit-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#ffffff0d;border-radius:8px;width:1.75rem;height:1.75rem;font-size:.85rem;line-height:1;transition:all .15s}.roster-attendance-edit-btn:hover{color:var(--ink);background:#ffffff1a}.roster-attendance-check-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.9rem;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.roster-attendance-check-btn:disabled{opacity:.6;cursor:wait}.roster-attendance-check-btn--static{cursor:default;white-space:nowrap;border-radius:999px;width:auto;height:auto;padding:.15rem .55rem;font-size:.76rem}.roster-attendance-check-btn--attended{color:var(--ok);background:#3dd68c1a;border:1px solid #3dd68c59}.roster-attendance-check-btn--attended:hover:not(:disabled){background:#3dd68c33;border-color:#3dd68c80}.roster-attendance-check-btn--excused,.roster-attendance-check-btn--late{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2466}.roster-attendance-check-btn--excused:hover:not(:disabled),.roster-attendance-check-btn--late:hover:not(:disabled){background:#fbbf2438;border-color:#fbbf2499}.roster-attendance-check-btn--noshow{color:var(--danger);background:#f071781a;border:1px solid #f0717859}.roster-attendance-check-btn--noshow:hover:not(:disabled){background:#f0717833;border-color:#f0717880}.project-form-card{flex-direction:column;gap:1.25rem;display:flex}.project-form-top{align-items:start}.project-form-top--with-lead{grid-template-columns:1fr 1fr 1fr;gap:1.25rem;display:grid}.project-form-top .form-group{margin-bottom:0}@media (width<=900px){.project-form-top--with-lead{grid-template-columns:1fr 1fr}}@media (width<=640px){.project-form-top--with-lead{grid-template-columns:1fr}}.project-form-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.35rem;padding-bottom:.35rem;display:flex}.project-form-tab{appearance:none;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px 8px 0 0;padding:.55rem .85rem;font-size:.92rem;font-weight:600}.project-form-tab:hover{color:var(--ink);background:#7f7f7f14}.project-form-tab--active{color:var(--ink);background:var(--accent-soft,#7c3aed1f);box-shadow:inset 0 -2px 0 var(--accent)}.project-form-tab-panel{min-height:280px;padding:.35rem .15rem .5rem}.project-form-tab-panel__stack{flex-direction:column;gap:.25rem;display:flex}.project-form-tab-panel__stack .form-group{margin-bottom:1rem}.project-form-tab-empty{text-align:center;color:var(--muted);margin:2.5rem 0;font-size:1rem}.project-form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding-top:1.25rem;display:flex}@media (width<=768px){.project-form-tabs{gap:.2rem}.project-form-tab{padding:.45rem .55rem;font-size:.82rem}}.audit-page .page__lead{margin-bottom:1rem}.audit-filters{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:16px;flex-direction:column;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.1rem;display:flex}.audit-filters__row{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;display:flex}.audit-filters__row--search{align-items:flex-end}.audit-filters__group{flex-direction:column;gap:.45rem;min-width:0;display:flex}.audit-filters__group--grow{flex:16rem}.audit-filters__group--actor{flex:0 18rem}.audit-filters__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.audit-filters__chips{flex-wrap:wrap;gap:.4rem;display:flex}.audit-chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .8rem;font-size:.84rem;font-weight:600}.audit-chip:hover,.audit-chip--active{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:var(--accent-soft);color:var(--role-color)}.audit-filters__select,.audit-filters__search{border:1px solid var(--border);width:100%;color:var(--ink);font:inherit;background:#ffffff0a;border-radius:10px;padding:.55rem .8rem}.audit-filters__select:focus,.audit-filters__search:focus{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);outline:none}.audit-filters__search::placeholder{color:var(--muted)}.audit-filters__clear{flex:none;align-self:flex-end}.audit-results__meta{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.audit-results__meta strong{color:var(--ink)}.audit-table-wrap{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-2), var(--panel));border-radius:16px;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-size:.92rem}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.85rem 1rem}.audit-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:700}.audit-table tbody tr:last-child td{border-bottom:none}.audit-table tbody tr:hover{background:#ffffff08}.audit-table__when{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.audit-table__actor{word-break:break-word;min-width:11rem;font-weight:600}.audit-actor{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.audit-actor__name{color:var(--ink)}.audit-actor__email{color:var(--muted);word-break:break-all;font-size:.78rem;font-weight:500}.audit-actor__role{letter-spacing:.02em;border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;margin-top:.1rem;padding:.12rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.audit-actor__role--coordinator{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--role-color)}.audit-actor__role--adult{color:color-mix(in srgb, #38bdf8 80%, var(--ink));background:#38bdf824;border-color:#38bdf873}.audit-actor__role--youth{color:color-mix(in srgb, #2f9e6b 75%, var(--ink));background:#2f9e6b24;border-color:#2f9e6b73}.audit-table__target{white-space:normal;max-width:20rem}.audit-target{flex-direction:column;gap:.15rem;min-width:0;display:flex}.audit-target__kind{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.audit-target__id{word-break:break-word;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.audit-target__sep{color:var(--muted);margin:0 .35rem}.audit-table__detail{color:var(--ink);white-space:normal;max-width:16rem}.audit-action{white-space:nowrap;border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.audit-action--project{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft);color:var(--role-color)}.audit-action--signup-add{color:color-mix(in srgb, #2f9e6b 75%, var(--ink));background:#2f9e6b29;border-color:#2f9e6b80}.audit-action--signup-remove{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.audit-action--volunteer{color:color-mix(in srgb, #38bdf8 80%, var(--ink));background:#38bdf824;border-color:#38bdf880}.audit-action--other{color:var(--muted)}.audit-empty{border:1px dashed var(--border);background:var(--panel);border-radius:16px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem 1.25rem;display:flex}.audit-empty__title{color:var(--ink);margin:0;font-size:1.05rem;font-weight:700}.audit-empty__body{color:var(--muted);max-width:36rem;margin:0 0 .35rem}@media (width<=768px){.audit-filters__row--search{flex-direction:column;align-items:stretch}.audit-filters__clear{align-self:stretch}.audit-table__detail{max-width:12rem}}.detail-card--prereqs{border:1px solid var(--prereq-border);background:var(--prereq-bg);margin-bottom:1.5rem}.detail-card--prereqs .detail-card__title--prereqs{color:var(--prereq);text-transform:none;letter-spacing:0;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1rem;display:flex}.detail-card__prereq-body{white-space:pre-wrap;color:var(--prereq-body);margin:0;font-size:.92rem;line-height:1.5}.detail-status--waitlist-inline{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border);padding:.15rem .5rem;font-size:.75rem}.calendar-chip-link{color:var(--info)}.md-editor{flex-direction:column;gap:.55rem;display:flex}.md-editor__toolbar{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, var(--accent-soft));border-radius:10px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem;display:flex}.md-editor__btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:.35rem .55rem;font-size:.82rem;font-weight:600}.md-editor__btn:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.md-editor__btn--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.md-editor__sep{background:var(--border);width:1px;height:1.4rem;margin:0 .15rem}.md-editor__select-wrap{color:var(--muted);flex-direction:column;gap:.1rem;font-size:.68rem;display:inline-flex}.md-editor__select-label{padding-left:.15rem}.md-editor__select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:8px;max-width:7.5rem;padding:.3rem .4rem;font-size:.8rem}.md-editor__textarea{min-height:10rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.45}.md-editor__preview{min-height:10rem;overflow:auto}.md-editor__preview-empty{color:var(--muted);margin:0}.md-editor__hint{color:var(--muted);margin:0;font-size:.8rem}.md-editor--tiptap .ProseMirror{border:1px solid var(--border);background:var(--panel);min-height:14rem;color:var(--ink);border-radius:10px;outline:none;padding:.75rem .85rem;font-size:.95rem;line-height:1.5}.md-editor--tiptap .ProseMirror:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.md-editor--tiptap .ProseMirror p.is-editor-empty:first-child:before{color:var(--muted);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.md-editor--tiptap .ProseMirror h2{margin:.6rem 0 .35rem;font-size:1.2rem}.md-editor--tiptap .ProseMirror ul,.md-editor--tiptap .ProseMirror ol{margin:.35rem 0 .35rem 1.2rem;padding:0}.md-editor__attached{flex-direction:column;gap:.5rem;display:flex}.md-editor__attached-label{color:var(--muted);font-size:.82rem;font-weight:600}.markdown-content,.project-description-md{color:var(--ink);margin:0 0 1.25rem;font-size:.98rem;line-height:1.55}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--ink);margin:.85rem 0 .4rem;line-height:1.25}.markdown-content h2{font-size:1.2rem}.markdown-content p{margin:.45rem 0}.markdown-content ul,.markdown-content ol{margin:.4rem 0 .4rem 1.2rem;padding:0}.markdown-content li{margin:.2rem 0}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.markdown-content u{text-decoration:underline}.md-font-sans{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.md-font-serif{font-family:Georgia,Times New Roman,serif}.md-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.md-size-sm{font-size:.85em}.md-size-md{font-size:1em}.md-size-lg{font-size:1.25em}.md-fg--saffron{color:#ea580c}.md-fg--gold{color:#ca8a04}.md-fg--green{color:#16a34a}.md-fg--red{color:#dc2626}.md-fg--brown{color:#92400e}.md-hl{border-radius:.2em;padding:.05em .2em}.md-hl--saffron{background:#ea580c38}.md-hl--gold{background:#ca8a0438}.md-hl--green{background:#16a34a33}.md-hl--red{background:#dc26262e}.md-hl--brown{background:#92400e33}.audit-card-list,.dash-hours-card-list,.reports-project-card-list,.youth-compliance-card-list{flex-direction:column;gap:.75rem;width:100%;display:flex}.audit-card,.dash-hours-card,.reports-project-card,.youth-compliance-card{border:1px solid var(--border);background:var(--panel);box-sizing:border-box;border-radius:14px;flex-direction:column;gap:.6rem;width:100%;padding:.85rem 1rem;display:flex;box-shadow:0 2px 8px #0000001f}.reports-project-card{cursor:pointer;transition:transform .15s,border-color .15s}.reports-project-card:hover{border-color:var(--accent);transform:translateY(-1px)}.audit-card__head,.dash-hours-card__head,.reports-project-card__head,.youth-compliance-card__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.dash-hours-card__title,.reports-project-card__name{color:var(--ink);font-size:.95rem;font-weight:700}.dash-hours-card__badge{color:var(--ok);background:#3dd68c1f;border:1px solid #3dd68c4d;border-radius:999px;padding:.15rem .55rem;font-size:.85rem;font-weight:700}.dash-hours-card__date,.reports-project-card__meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.82rem;display:flex}.audit-card__body{flex-direction:column;gap:.45rem;display:flex}.audit-card__row{justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.88rem;display:flex}.audit-card__label,.youth-compliance-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-shrink:0;font-size:.72rem;font-weight:700}.youth-compliance-card--behind{background:linear-gradient(180deg, #f071780a, var(--panel));border-color:#f0717866}.youth-compliance-card__who{align-items:center;gap:.5rem;display:flex}.youth-compliance-card__num{color:var(--muted);font-size:.85rem;font-weight:700}.youth-compliance-card__age{color:var(--muted);font-size:.78rem}.youth-compliance-card__grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.4rem 0;display:grid}.youth-compliance-card__field{flex-direction:column;gap:.15rem;display:flex}.youth-compliance-card__val{color:var(--ink);font-size:.88rem;font-weight:600}.youth-compliance-card__quarters{border-top:1px dashed var(--border);gap:.4rem;padding:.4rem 0;display:flex}.youth-compliance-card__q{border:1px solid var(--border);background:#ffffff08;border-radius:6px;flex-direction:column;flex:1;align-items:center;padding:.25rem;display:flex}.youth-compliance-card__q-label{color:var(--muted);font-size:.65rem;font-weight:700}.youth-compliance-card__q-val{color:var(--ink);font-size:.82rem;font-weight:700}.youth-compliance-card__parents{align-items:center;gap:.4rem;padding-top:.2rem;font-size:.82rem;display:flex}.roster-card-list{flex-direction:column;gap:.75rem;width:100%;display:flex}.roster-card{border:1px solid var(--border);background:var(--panel);box-sizing:border-box;border-radius:14px;flex-direction:column;gap:.6rem;width:100%;padding:.85rem 1rem;display:flex;box-shadow:0 2px 8px #0000001f}.roster-card--highlight{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.roster-card__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.roster-card__who{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.roster-card__name{color:var(--ink);font-size:.95rem;font-weight:700}.roster-card__body{flex-direction:column;gap:.45rem;display:flex}.roster-card__row{justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.88rem;display:flex}.roster-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-shrink:0;font-size:.72rem;font-weight:700}.roster-card__val{color:var(--ink);word-break:break-word;font-weight:500}.chart-other-btn{color:var(--accent);background:var(--accent-soft);border:1px solid var(--highlight-border);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.chart-other-btn:hover{background:var(--highlight-border);color:#fff}.chart-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;place-items:center;padding:1rem;animation:.15s ease-out chart-modal-fade;display:grid;position:fixed;inset:0}@keyframes chart-modal-fade{0%{opacity:0}to{opacity:1}}.chart-modal-dialog{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:85vh;animation:.18s ease-out chart-modal-pop;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000073}@keyframes chart-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.chart-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.chart-modal-title{color:var(--ink);margin:0;font-size:1.15rem;font-weight:700}.chart-modal-sub{color:var(--muted);margin:.25rem 0 0;font-size:.82rem}.chart-modal-close{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .5rem;font-size:1.25rem;font-weight:700}.chart-modal-close:hover{color:var(--ink);background:#ffffff14}.chart-modal-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.chart-modal-table{border-collapse:collapse;width:100%;font-size:.88rem}.chart-modal-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);padding:.6rem .75rem;font-size:.75rem;font-weight:700}.chart-modal-table td{border-bottom:1px solid var(--border);color:var(--ink);padding:.65rem .75rem}.chart-modal-name{font-weight:600}.chart-modal-count{font-weight:700}.chart-modal-pct{color:var(--muted)}.chart-modal-footer{border-top:1px solid var(--border);background:#0000001a;justify-content:flex-end;padding:1rem 1.5rem;display:flex}
