:root{--palette-transparent: transparent;--palette-canvas: oklch(.978 .004 121.6);--palette-canvas-alt: oklch(.97 .006 133);--palette-canvas-muted: oklch(.959 .008 145.5);--palette-ink: oklch(.246 .03 259.1);--palette-ink-strong: oklch(.216 .024 259.5);--palette-ink-muted: oklch(.446 .037 257.3);--palette-ink-subtle: oklch(.551 .031 257.5);--palette-ink-inverse: oklch(.985 .004 240);--palette-line: oklch(.894 .013 137.8);--palette-line-soft: oklch(.914 .011 142);--palette-line-muted: oklch(.93 .009 141);--palette-line-faint: oklch(.95 .008 141);--palette-line-strong: oklch(.852 .014 140);--palette-line-focus: oklch(.725 .032 255);--palette-accent: oklch(.511 .086 186.4);--palette-accent-strong: oklch(.437 .071 188.2);--palette-accent-soft: oklch(.855 .125 181.1 / .2);--palette-accent-surface: oklch(.979 .021 166.1);--palette-accent-border: oklch(.511 .086 186.4 / .22);--palette-accent-focus-ring: oklch(.511 .086 186.4 / .18);--palette-accent-focus-outline: oklch(.511 .086 186.4 / .28);--palette-success: oklch(.448 .108 151.3);--palette-success-strong: oklch(.53 .126 150.5);--palette-success-surface: oklch(.94 .045 153);--palette-success-surface-soft: oklch(.982 .018 155.8);--palette-success-border: oklch(.871 .136 154.4);--palette-success-glow: oklch(.871 .136 154.4 / .38);--palette-success-wash: oklch(.871 .136 154.4 / .32);--palette-success-gradient-strong: oklch(.94 .045 153 / .95);--palette-success-gradient-soft: oklch(.982 .018 155.8 / .95);--palette-warning: oklch(.769 .165 70.1);--palette-warning-text: oklch(.471 .102 63.5);--palette-warning-surface: oklch(.987 .021 95.3);--palette-warning-surface-strong: oklch(.94 .07 96);--palette-warning-border: oklch(.901 .11 90);--palette-warning-caution-text: oklch(.543 .132 56.8);--palette-danger: oklch(.505 .19 27.5);--palette-danger-surface: oklch(.936 .031 17.7);--palette-danger-surface-soft: oklch(.97 .017 17 / .95);--palette-danger-border: oklch(.808 .092 20.8);--palette-danger-gradient-strong: oklch(.936 .031 17.7 / .95);--palette-danger-gradient-soft: oklch(.97 .017 17 / .95);--palette-info: oklch(.488 .217 264.4);--palette-info-surface: oklch(.932 .032 255.6);--palette-info-border: oklch(.809 .096 251.8);--palette-female: oklch(.459 .17 3.8);--palette-female-border: oklch(.798 .122 347.5);--palette-female-surface: oklch(.948 .028 342.3);--palette-female-surface-strong: oklch(.948 .028 342.3 / .9);--palette-other: oklch(.491 .241 292.6);--palette-other-border: oklch(.81 .08 294);--palette-other-surface: oklch(.943 .028 294.6);--palette-other-surface-strong: oklch(.943 .028 294.6 / .92);--palette-neutral: oklch(.333 .032 255);--palette-neutral-surface: oklch(.928 .02 248);--palette-neutral-surface-hover: oklch(.879 .024 248);--palette-neutral-border: oklch(.879 .024 248);--palette-white: oklch(1 0 0);--palette-black: oklch(.216 .024 259.5);--palette-white-94: oklch(1 0 0 / .94);--palette-white-82: oklch(1 0 0 / .82);--palette-white-98: oklch(1 0 0 / .98);--palette-white-72: oklch(1 0 0 / .72);--palette-white-08: oklch(1 0 0 / .08);--palette-white-06: oklch(1 0 0 / .06);--palette-white-02: oklch(1 0 0 / .02);--palette-white-01: oklch(1 0 0 / .01);--palette-shadow-soft: oklch(.216 .024 259.5 / .07);--palette-shadow-medium: oklch(.216 .024 259.5 / .12);--palette-shadow-large: oklch(.216 .024 259.5 / .12);--palette-shadow-popover: oklch(.216 .024 259.5 / .14);--palette-shadow-floating: oklch(.216 .024 259.5 / .28);--palette-shadow-sheet: oklch(.216 .024 259.5 / .16);--palette-shadow-modal: oklch(.216 .024 259.5 / .22);--palette-overlay: oklch(.216 .024 259.5 / .42);--palette-overlay-gradient-start: oklch(.216 .024 259.5 / .36);--palette-overlay-gradient-end: oklch(.216 .024 259.5 / .54);--palette-overlay-gradient-glow-stop: 40%;--palette-accent-glow: oklch(.855 .125 181.1 / .18);--palette-panel: var(--palette-white);--palette-panel-muted: oklch(.987 .003 130);--palette-panel-subtle: oklch(.985 .004 240);--palette-panel-topbar: var(--palette-white-82);--palette-panel-94: var(--palette-white-94);--palette-panel-98: var(--palette-white-98);--palette-panel-muted-98: oklch(.987 .003 130 / .98);--palette-panel-subtle-92: oklch(.985 .004 240 / .92);--palette-surface-overlay-muted: var(--palette-overlay-muted);--palette-surface-border-soft: var(--palette-white-72);--palette-surface-panel-soft: var(--palette-white-72);--palette-overlay-soft: oklch(.985 .004 240 / .98);--palette-overlay-muted: oklch(.985 .004 240 / .9);--palette-overlay-section-end: oklch(.985 .004 240 / .92);--palette-focus-disabled: oklch(.725 .032 255 / .25);--palette-info-surface-strong: oklch(.932 .032 255.6 / .9);--palette-info-text-soft: oklch(.488 .217 264.4);--palette-female-text-soft: oklch(.459 .17 3.8);--palette-other-text-soft: oklch(.491 .241 292.6);--palette-surface-border-strong-mix: 95%;--palette-accent-contrast: var(--palette-white);--palette-stats-card-top: color-mix(in oklch, var(--palette-accent-surface) 95%, var(--palette-transparent));--palette-stats-card-bottom: var(--palette-white);--palette-stats-card-base: var(--palette-white);--palette-editor-section-top: var(--palette-white-98);--palette-editor-section-bottom: var(--palette-overlay-section-end);--palette-editor-section-base: var(--palette-white);--palette-tooltip-background: var(--palette-ink);--palette-tooltip-text: var(--palette-ink-inverse);--palette-toast-background-source: var(--palette-ink-strong);--palette-toast-text: var(--palette-ink-inverse)}:root[data-theme=dark]{--palette-transparent: transparent;--palette-canvas: oklch(.183 .031 263.4);--palette-canvas-alt: oklch(.209 .03 261.2);--palette-canvas-muted: oklch(.242 .041 257.8);--palette-ink: oklch(.946 .012 248);--palette-ink-strong: oklch(.975 .008 248);--palette-ink-muted: oklch(.811 .025 248.1);--palette-ink-subtle: oklch(.71 .026 249);--palette-ink-inverse: oklch(.169 .021 248.8);--palette-line: oklch(.377 .037 251.8);--palette-line-soft: oklch(.418 .038 252);--palette-line-muted: oklch(.356 .035 251.8);--palette-line-faint: oklch(.318 .031 251.8);--palette-line-strong: oklch(.463 .042 251.5);--palette-line-focus: oklch(.567 .04 252);--palette-accent: oklch(.855 .125 181.1);--palette-accent-strong: oklch(.91 .081 176);--palette-accent-soft: oklch(.855 .125 181.1 / .18);--palette-accent-surface: oklch(.855 .125 181.1 / .14);--palette-accent-border: oklch(.855 .125 181.1 / .28);--palette-accent-focus-ring: oklch(.855 .125 181.1 / .2);--palette-accent-focus-outline: oklch(.855 .125 181.1 / .42);--palette-success: oklch(.871 .136 154.4);--palette-success-strong: oklch(.78 .173 149);--palette-success-surface: oklch(.78 .173 149 / .16);--palette-success-surface-soft: oklch(.78 .173 149 / .22);--palette-success-border: oklch(.78 .173 149 / .32);--palette-success-glow: oklch(.855 .125 181.1 / .16);--palette-success-wash: oklch(.871 .136 154.4 / .26);--palette-success-gradient-strong: oklch(.78 .173 149 / .18);--palette-success-gradient-soft: oklch(.448 .108 151.3 / .22);--palette-warning: oklch(.837 .164 84.4);--palette-warning-text: oklch(.901 .11 90);--palette-warning-surface: oklch(.837 .164 84.4 / .16);--palette-warning-surface-strong: oklch(.837 .164 84.4 / .22);--palette-warning-border: oklch(.837 .164 84.4 / .34);--palette-danger: oklch(.711 .166 22.2);--palette-danger-strong: oklch(.808 .092 20.8);--palette-danger-surface: oklch(.711 .166 22.2 / .16);--palette-danger-surface-soft: oklch(.711 .166 22.2 / .2);--palette-danger-border: oklch(.711 .166 22.2 / .34);--palette-danger-gradient-strong: oklch(.711 .166 22.2 / .18);--palette-danger-gradient-soft: oklch(.37 .133 23 / .24);--palette-info: oklch(.809 .096 251.8);--palette-info-surface: oklch(.699 .105 252 / .18);--palette-info-border: oklch(.699 .105 252 / .34);--palette-info-text-soft: oklch(.882 .043 255);--palette-female: oklch(.725 .175 349.8);--palette-female-border: oklch(.725 .175 349.8 / .34);--palette-female-surface: oklch(.725 .175 349.8 / .18);--palette-female-surface-strong: oklch(.725 .175 349.8 / .16);--palette-female-text-soft: oklch(.906 .04 342);--palette-other: oklch(.627 .233 303.9);--palette-other-border: oklch(.627 .233 303.9 / .34);--palette-other-surface: oklch(.627 .233 303.9 / .18);--palette-other-surface-strong: oklch(.627 .233 303.9 / .16);--palette-other-text-soft: oklch(.913 .035 294);--palette-neutral: oklch(.891 .017 248);--palette-neutral-surface: oklch(.725 .032 255 / .18);--palette-neutral-surface-hover: oklch(.725 .032 255 / .26);--palette-neutral-border: oklch(.725 .032 255 / .32);--palette-white: oklch(.975 .008 248);--palette-white-94: oklch(.244 .027 253.4 / .94);--palette-white-82: oklch(.244 .027 253.4 / .82);--palette-white-98: oklch(.244 .027 253.4 / .98);--palette-white-72: oklch(.324 .028 252.5 / .72);--palette-white-06: oklch(1 0 0 / .06);--palette-white-08: oklch(1 0 0 / .08);--palette-white-02: oklch(1 0 0 / .02);--palette-white-01: oklch(1 0 0 / .01);--palette-black: var(--palette-ink-inverse);--palette-panel: oklch(.244 .027 253.4);--palette-panel-muted: oklch(.291 .029 252.5);--palette-panel-subtle: oklch(.324 .028 252.5);--palette-panel-topbar: oklch(.215 .028 255 / .88);--palette-panel-94: oklch(.244 .027 253.4 / .94);--palette-panel-98: oklch(.244 .027 253.4 / .98);--palette-panel-muted-98: oklch(.291 .029 252.5 / .98);--palette-panel-subtle-92: oklch(.324 .028 252.5 / .92);--palette-surface-overlay-muted: var(--palette-panel-subtle-92);--palette-surface-border-soft: var(--palette-white-06);--palette-surface-panel-soft: var(--palette-white-08);--palette-overlay-soft: var(--palette-panel);--palette-overlay-muted: var(--palette-panel-subtle-92);--palette-overlay-section-end: var(--palette-panel);--palette-shadow-soft: oklch(.145 .019 258 / .42);--palette-shadow-medium: oklch(.145 .019 258 / .46);--palette-shadow-large: oklch(.145 .019 258 / .5);--palette-shadow-popover: oklch(.145 .019 258 / .5);--palette-shadow-floating: oklch(.145 .019 258 / .56);--palette-shadow-sheet: oklch(.145 .019 258 / .52);--palette-shadow-modal: oklch(.145 .019 258 / .62);--palette-overlay: oklch(.145 .019 258 / .58);--palette-overlay-gradient-start: oklch(.145 .019 258 / .58);--palette-overlay-gradient-end: oklch(.145 .019 258 / .74);--palette-overlay-gradient-glow-stop: 42%;--palette-accent-glow: oklch(.855 .125 181.1 / .14);--palette-focus-disabled: oklch(.725 .032 255 / .16);--palette-surface-border-strong-mix: 90%;--palette-accent-contrast: var(--palette-black);--palette-stats-card-top: var(--palette-accent-surface);--palette-stats-card-bottom: var(--palette-panel);--palette-stats-card-base: var(--palette-panel);--palette-editor-section-top: var(--palette-white-02);--palette-editor-section-bottom: var(--palette-white-01);--palette-editor-section-base: var(--palette-panel);--palette-tooltip-background: var(--palette-ink);--palette-tooltip-text: var(--palette-ink-inverse);--palette-toast-background-source: var(--palette-black);--palette-toast-text: var(--palette-ink)}:root{--app-transparent: var(--palette-transparent);--app-white: var(--palette-white);--app-background: var(--palette-canvas);--app-background-alt: var(--palette-canvas-alt);--app-background-muted: var(--palette-canvas-muted);--app-text: var(--palette-ink);--app-text-strong: var(--palette-ink-strong);--app-text-muted: var(--palette-ink-muted);--app-text-subtle: var(--palette-ink-subtle);--app-text-inverse: var(--palette-ink-inverse);--app-panel: var(--palette-panel);--app-surface-base: var(--palette-panel);--app-surface-muted: var(--palette-panel-muted);--app-surface-subtle: var(--palette-panel-subtle);--app-surface-panel: var(--palette-panel-94);--app-surface-topbar: var(--palette-panel-topbar);--app-surface-overlay: var(--palette-panel-98);--app-surface-overlay-muted: var(--palette-surface-overlay-muted);--app-surface-border-soft: var(--palette-surface-border-soft);--app-surface-border-strong: color-mix(in oklch, var(--palette-line) var(--palette-surface-border-strong-mix), var(--palette-transparent));--app-surface-panel-soft: var(--palette-surface-panel-soft);--app-disabled-focus-outline: var(--palette-focus-disabled);--app-border: var(--palette-line);--app-border-strong: var(--palette-line-strong);--app-border-soft: var(--palette-line-soft);--app-border-muted: var(--palette-line-muted);--app-border-faint: var(--palette-line-faint);--app-border-focus: var(--palette-line-focus);--app-overlay: var(--palette-overlay);--app-overlay-gradient: linear-gradient(180deg, var(--palette-overlay-gradient-start), var(--palette-overlay-gradient-end)), radial-gradient(circle at top, var(--palette-accent-glow), var(--palette-transparent) var(--palette-overlay-gradient-glow-stop));--app-focus-ring: var(--palette-accent-focus-ring);--app-focus-outline: var(--palette-accent-focus-outline);--app-accent: var(--palette-accent);--app-accent-strong: var(--palette-accent-strong);--app-accent-soft: var(--palette-accent-soft);--app-accent-surface: var(--palette-accent-surface);--app-accent-border: var(--palette-accent-border);--app-accent-contrast: var(--palette-accent-contrast);--app-success: var(--palette-success);--app-success-strong: var(--palette-success-strong);--app-success-surface: var(--palette-success-surface);--app-success-surface-soft: var(--palette-success-surface-soft);--app-success-border: var(--palette-success-border);--app-success-gradient-strong: var(--palette-success-gradient-strong);--app-success-gradient-soft: var(--palette-success-gradient-soft);--app-warning: var(--palette-warning);--app-warning-text: var(--palette-warning-text);--app-warning-surface: var(--palette-warning-surface);--app-warning-surface-strong: var(--palette-warning-surface-strong);--app-warning-border: var(--palette-warning-border);--app-warning-caution-text: var(--palette-warning-caution-text);--app-danger: var(--palette-danger);--app-danger-surface: var(--palette-danger-surface);--app-danger-surface-soft: var(--palette-danger-surface-soft);--app-danger-border: var(--palette-danger-border);--app-danger-gradient-strong: var(--palette-danger-gradient-strong);--app-danger-gradient-soft: var(--palette-danger-gradient-soft);--app-info: var(--palette-info);--app-info-surface: var(--palette-info-surface);--app-info-border: var(--palette-info-border);--app-info-surface-strong: var(--palette-info-surface-strong);--app-info-text-soft: var(--palette-info-text-soft);--app-female: var(--palette-female);--app-female-border: var(--palette-female-border);--app-female-surface: var(--palette-female-surface);--app-female-surface-strong: var(--palette-female-surface-strong);--app-female-text-soft: var(--palette-female-text-soft);--app-other: var(--palette-other);--app-other-border: var(--palette-other-border);--app-other-surface: var(--palette-other-surface);--app-other-surface-strong: var(--palette-other-surface-strong);--app-other-text-soft: var(--palette-other-text-soft);--app-neutral: var(--palette-neutral);--app-neutral-surface: var(--palette-neutral-surface);--app-neutral-surface-hover: var(--palette-neutral-surface-hover);--app-neutral-border: var(--palette-neutral-border);--app-shadow-soft: var(--palette-shadow-soft);--app-shadow-medium: var(--palette-shadow-medium);--app-shadow-large: var(--palette-shadow-large);--app-shadow-popover: var(--palette-shadow-popover);--app-shadow-floating: var(--palette-shadow-floating);--app-shadow-sheet: var(--palette-shadow-sheet);--app-shadow-modal: var(--palette-shadow-modal);--app-lime-surface: var(--palette-success-wash);--app-lime-text: var(--palette-success);--app-auth-shell-background: radial-gradient(circle at top, var(--palette-success-glow), var(--palette-transparent) 34%), linear-gradient(180deg, var(--palette-canvas-alt) 0%, var(--palette-canvas) 48%, var(--palette-canvas-muted) 100%);--app-stats-card-background: linear-gradient(180deg, var(--palette-stats-card-top), var(--palette-stats-card-bottom)), var(--palette-stats-card-base);--app-editor-modal-background: linear-gradient(180deg, var(--palette-panel-98) 0%, var(--palette-overlay-soft) 100%), var(--palette-panel);--app-editor-section-background: linear-gradient(180deg, var(--palette-editor-section-top) 0%, var(--palette-editor-section-bottom) 100%), var(--palette-editor-section-base);--app-mobile-sheet-background: var(--app-surface-base);--app-tooltip-background: var(--palette-tooltip-background);--app-tooltip-text: var(--palette-tooltip-text);--app-toast-background: color-mix(in oklch, var(--palette-toast-background-source) 94%, var(--palette-transparent));--app-toast-text: var(--palette-toast-text);color:var(--app-text);background:var(--app-background);color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-background);color:var(--app-text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;padding:0}.auth-shell{display:grid;background:var(--app-auth-shell-background)}.auth-screen{display:grid;flex:1;min-height:100vh;padding:32px 24px;place-items:center}.auth-screen-panel{display:grid;gap:28px;width:min(100%,1040px);grid-template-columns:minmax(0,1.05fr) minmax(320px,420px);align-items:center}.auth-screen-copy{display:grid;gap:12px;max-width:520px}.auth-screen-description{margin:0;max-width:42ch;color:var(--app-text-muted);font-size:1rem}.auth-screen-card{display:grid;gap:18px;padding:24px;border:1px solid var(--app-surface-border-strong);border-radius:24px;background:var(--app-surface-panel);box-shadow:var(--app-shadow-large)}.workspace{max-width:1440px;margin:0 auto;padding:16px 24px 24px}.topbar-inner,.editor-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--app-border);background:var(--app-surface-topbar)}.topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand account";align-items:start;column-gap:12px;row-gap:8px;max-width:1440px;margin:0 auto;padding:10px 24px}.topbar-brand{grid-area:brand;min-width:0;display:flex;align-items:center;gap:10px}.topbar-brand h1{font-size:clamp(1.05rem,2.1vw,1.35rem);letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backend-controls{display:grid;gap:14px}.backend-controls-copy{display:grid;gap:6px}.backend-controls-link{color:var(--app-accent);font-size:.76rem;overflow-wrap:anywhere;text-decoration:none}.backend-controls-link:hover{text-decoration:underline}.backend-toggle{display:inline-flex;align-items:center;padding:4px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-base)}.backend-toggle-button{min-height:32px;padding:5px 12px;border:0;border-radius:999px;background:var(--app-transparent);color:var(--app-text-muted);font-size:.84rem;font-weight:700}.backend-toggle-button.active{background:var(--app-lime-surface);color:var(--app-lime-text)}.backend-toggle-button:disabled{cursor:not-allowed;opacity:.5}.workspace-footer-action{display:flex;justify-content:flex-start;margin-top:18px}.topbar-account-row{display:flex;align-items:center;gap:8px}.topbar-account-row{grid-area:account;justify-self:end}.theme-toggle-control{display:inline-flex;align-items:center;gap:0;min-height:36px;padding:6px 10px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);color:var(--app-text)}.theme-toggle-button{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:var(--app-transparent);color:inherit}.theme-toggle-button:focus-visible{outline:3px solid var(--app-focus-ring);border-radius:999px}.theme-toggle-track{position:relative;display:inline-flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:var(--app-neutral-surface);transition:background .12s ease}.theme-toggle-button[aria-checked=true] .theme-toggle-track{background:var(--app-accent)}.theme-toggle-thumb{width:20px;height:20px;border-radius:999px;background:var(--app-surface-base);box-shadow:var(--app-shadow-soft);transform:translate(0);transition:transform .12s ease,background .12s ease}.theme-toggle-button[aria-checked=true] .theme-toggle-thumb{transform:translate(18px)}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--app-text-subtle);opacity:.55;transition:color .12s ease,opacity .12s ease,transform .12s ease}.theme-toggle-icon svg{width:16px;height:16px}.theme-toggle-icon-active{color:var(--app-text);opacity:1;transform:scale(1.05)}.auth-panel{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;border:0;border-radius:0;background:var(--app-transparent);min-width:min(100%,360px)}.auth-panel-standalone{gap:12px;min-width:0}.auth-menu{position:relative}.auth-menu[open]{z-index:5}.auth-menu-trigger{grid-area:2 / 2 / 2 / 2;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);color:var(--app-text);font-size:.86rem;font-weight:700;list-style:none}.auth-menu-trigger::-webkit-details-marker{display:none}.auth-menu-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-menu-caret{color:var(--app-text-subtle);font-size:.72rem}.auth-menu-content{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:8px;min-width:220px;padding:10px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-base);box-shadow:var(--app-shadow-medium)}.auth-menu-email{color:var(--app-text-muted);font-size:.8rem;word-break:break-word}.auth-menu-button{width:100%;justify-content:center}.profile-panel{width:min(100%,720px);margin:0 auto}.profile-card{display:grid;gap:24px;padding:clamp(20px,4vw,36px);border:1px solid var(--app-border);border-radius:18px;background:var(--app-surface-base);box-shadow:var(--app-shadow-soft)}.profile-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.profile-card-heading h2,.profile-card-heading p{margin:0}.profile-card-heading h2{margin-top:4px}.profile-card-heading p:last-child{margin-top:8px;color:var(--app-text-muted)}.profile-details{display:grid;gap:0;margin:0;border-block:1px solid var(--app-border-soft)}.profile-details>div{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:18px;padding:16px 0}.profile-details>div+div{border-top:1px solid var(--app-border-soft)}.profile-details dt{color:var(--app-text-muted);font-weight:700}.profile-details dd{margin:0;color:var(--app-text-strong);font-weight:650;overflow-wrap:anywhere}.profile-name-form,.profile-name-fields{display:grid;gap:16px}.profile-name-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-actions{display:flex;gap:10px}.profile-feedback{margin:-8px 0 0;color:var(--app-text-muted);font-size:.88rem;font-weight:700}@media(max-width:640px){.profile-card-heading{align-items:stretch;flex-direction:column}.profile-card-heading>button{width:100%;justify-content:center}.profile-name-fields{grid-template-columns:minmax(0,1fr)}.profile-form-actions{display:grid}}.auth-status{display:grid;gap:2px;color:var(--app-text-muted);font-size:.82rem}.auth-status strong{color:var(--app-text);font-size:.9rem}.auth-error{color:var(--app-danger);font-size:.82rem}.auth-tabs{display:inline-flex;gap:6px}.auth-tab{min-height:32px;border:1px solid var(--app-border-strong);border-radius:999px;padding:5px 11px;background:var(--app-surface-base);color:var(--app-neutral);font-weight:700;font-size:.88rem}.auth-tab.active{border-color:var(--app-accent);background:var(--app-accent-soft);color:var(--app-accent-strong)}.auth-form{display:grid;gap:7px}.auth-form input{width:100%}.auth-form-row{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-form-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-panel-standalone .auth-tabs{display:flex;flex-wrap:wrap}.auth-panel-standalone .auth-form{gap:10px}.auth-tooltip-button{position:relative;display:inline-flex}.auth-disabled-button{cursor:not-allowed;border-color:var(--app-border-strong);background:var(--app-border-strong);color:var(--app-text-subtle);box-shadow:none}.auth-disabled-button:hover{background:var(--app-border-strong)}.auth-disabled-button:focus-visible{border-color:var(--app-border-focus);outline:3px solid var(--app-disabled-focus-outline);background:var(--app-border-strong)}.auth-inline-tooltip{position:absolute;top:calc(100% + 6px);left:50%;z-index:10;padding:6px 10px;border-radius:8px;background:var(--app-tooltip-background);color:var(--app-tooltip-text);font-size:.75rem;font-weight:700;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.auth-tooltip-button:hover .auth-inline-tooltip,.auth-tooltip-button:focus-within .auth-inline-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}h1,h2{margin:0}h1{font-size:clamp(1.8rem,4vw,3rem)}h2{font-size:1.25rem}.app-menu{position:relative}.app-menu[open]{z-index:5}.app-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:6px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-muted);color:var(--app-text);cursor:pointer;list-style:none}.app-menu-trigger::-webkit-details-marker{display:none}.app-menu-content{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;padding:8px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-base);box-shadow:var(--app-shadow-medium)}.app-menu-tabs{display:grid;gap:4px}.app-menu-button{width:100%;min-height:40px;border:0;border-radius:8px;padding:9px 12px;background:var(--app-transparent);color:var(--app-text-muted);font-weight:700;text-align:left}.app-menu-button.active{background:var(--app-accent);color:var(--app-accent-contrast)}@media(max-width:900px){.auth-screen{padding:20px 16px}.auth-screen-panel{gap:20px;grid-template-columns:minmax(0,1fr)}.auth-screen-copy{max-width:none}.auth-screen-card{padding:20px;border-radius:20px}.topbar-inner{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-inline:16px}.auth-panel{width:auto;min-width:0;align-items:flex-end}.auth-panel-standalone{width:100%;align-items:stretch}.workspace-footer-action{justify-content:stretch}.workspace-footer-action .primary-button{width:100%;justify-content:center}}@media(max-width:640px){.auth-screen-card{padding:18px}.auth-panel-standalone .auth-form-row,.auth-panel-standalone .auth-form-actions{grid-template-columns:minmax(0,1fr)}.auth-panel-standalone .auth-form-actions{display:grid}.auth-panel-standalone .auth-form-actions>*{width:100%;justify-content:center}}.crm-layout{display:block}.editor-panel,.stats-card{border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-base);box-shadow:var(--app-shadow-soft)}.list-panel,.admin-panel,.stats-panel,.stats-status-section{border:0;border-radius:0;background:var(--app-transparent);box-shadow:none}.list-panel,.editor-panel,.admin-panel,.stats-panel{overflow:visible}.toast-region{position:fixed;top:18px;left:50%;z-index:70;pointer-events:none;transform:translate(-50%)}.app-toast{min-width:min(320px,calc(100vw - 24px));max-width:min(520px,calc(100vw - 24px));padding:12px 16px;border:1px solid var(--app-accent-border);border-radius:999px;background:var(--app-toast-background);box-shadow:var(--app-shadow-floating);color:var(--app-toast-text);font-size:.92rem;font-weight:700;text-align:center}.workspace-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:var(--app-content-max-width);margin:12px auto 0;padding:10px 14px;border:1px solid var(--app-accent-border);border-radius:var(--app-radius-medium)}.workspace-notice-error{background:color-mix(in srgb,var(--app-danger, #b42318) 12%,var(--app-surface));border-color:var(--app-danger, #b42318)}.editor-panel,.admin-panel{padding:0}.stats-panel{display:grid;gap:18px;padding:0}.stats-panel-header,.stats-section-header{align-items:end}.stats-total{display:grid;gap:2px;margin:0;color:var(--app-text-subtle);font-size:.8rem;font-weight:700;text-transform:uppercase}.stats-total strong{color:var(--app-text);font-size:1.6rem;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stats-card{display:grid;gap:8px;padding:16px;background:var(--app-stats-card-background)}.stats-card-label{margin:0;color:var(--app-text-muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.stats-card-count{color:var(--app-text);font-size:clamp(1.8rem,3vw,2.3rem);line-height:1}.stats-card-percent{color:var(--app-text-muted);font-size:.85rem}.stats-status-section{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--app-border-muted)}.stats-status-mobile{display:none}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:stretch;justify-content:center;padding:24px;background:var(--app-overlay-gradient);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-modal{width:min(1280px,100%);max-height:100%;overflow:auto;padding:28px;border-radius:28px;border-color:var(--app-surface-border-strong);background:var(--app-editor-modal-background);box-shadow:var(--app-shadow-modal)}.connection-source{display:inline-flex;align-items:center;justify-content:center;min-height:36px;width:36px;padding:6px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);color:var(--app-text-subtle)}.connection-source-connected{color:var(--app-success)}.connection-source-checking{color:var(--app-warning)}.connection-source-unavailable{color:var(--app-danger)}.integration-source-panel{display:grid;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--app-border)}.integration-source-panel h3{margin:4px 0 0}.editor-detail-modal{width:min(1160px,100%);border-radius:0}.editor-modal form{gap:18px}.editor-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;width:100%}.editor-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:1 1 auto;min-width:0;width:100%}.editor-header-identity,.editor-header-gender{display:grid;gap:6px;min-width:0}.editor-header-identity{flex:1 1 auto}.editor-title-field{display:block}.floating-field{position:relative;display:grid;min-width:0;gap:0;padding:10px 10px 8px;border:1px solid var(--app-border-strong);border-radius:8px;background:var(--app-surface-base)}.floating-field-has-label{margin-block-start:.4rem}.floating-field-borderless{border:0}.floating-field-unpadded{padding:0}.floating-field-label{position:absolute;top:0;left:10px;transform:translateY(-50%);padding:0 5px;border-radius:4px;background:var(--app-surface-base);color:var(--app-text-muted);font-size:.78rem;font-weight:750}.floating-field>input,.floating-field>select,.floating-field>textarea{padding:1px 0 0;border:0;border-radius:0;background:transparent;outline:0}.floating-field>input:focus,.floating-field>select:focus,.floating-field>textarea:focus{border-color:transparent;outline:0}.floating-field>select{background-color:var(--app-surface-base);color:var(--app-text)}.floating-field>select option{background-color:var(--app-surface-base);color:var(--app-text)}.floating-field:not(.floating-field-borderless):focus-within{border-color:var(--app-accent);outline:3px solid var(--app-focus-ring)}.editor-title-field input{min-height:52px;padding-top:0;font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.editor-header-gender{flex:0 1 220px;margin-left:auto;justify-items:stretch;text-align:right}.editor-header-gender-fields,.editor-header-gender-display{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:100%}.editor-header-gender-control{display:block;min-width:0}.editor-header-gender-control{min-width:160px}.editor-gender-other{color:var(--app-text-muted);font-size:.84rem;font-weight:650}.editor-subtitle{max-width:56ch;margin:8px 0 0;color:var(--app-text-muted)}.interaction-modal{max-width:680px}.interaction-content{padding-bottom:0}.interaction-checkboxes{display:grid;gap:.75rem}.interaction-warning{margin:.75rem 0 0;color:var(--app-warning-text, #9a3412);font-size:.9rem}.editor-footer-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--app-border)}.editor-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.88fr);gap:18px;align-items:start}.editor-section-stack{display:grid;gap:18px}.editor-section{gap:16px;padding:18px;border-radius:18px;border-color:var(--app-border-soft);background:var(--app-editor-section-background);box-shadow:inset 0 1px 0 var(--app-surface-border-soft)}.editor-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.editor-detail-grid,.editor-followup-stack{display:grid;gap:14px;min-width:0}.editor-followup-stack>label{min-width:0}.editor-detail-row,.editor-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 16px;align-items:start}.profile-grid,.profile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-detail-item{display:grid;gap:5px;min-width:0}.editor-detail-label{color:var(--app-text-subtle);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.editor-detail-value{min-height:1.5rem;color:var(--app-text-strong);font-size:.98rem;font-weight:600;word-break:break-word}.inline-checkbox{align-self:end;display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid var(--app-border-soft);border-radius:12px;background:var(--app-surface-overlay-muted)}.inline-checkbox input{width:16px;height:16px}.followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;min-width:0}.responses-row{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-history-stack{display:grid;gap:10px}.past-notes-list{--past-note-row-gap: 8px;--past-note-row-height: 28px;display:grid;gap:var(--past-note-row-gap);min-width:0;max-height:calc((var(--past-note-row-height) * 3) + (var(--past-note-row-gap) * 2));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.past-notes-row{box-sizing:border-box;min-width:0;min-height:var(--past-note-row-height);padding:2px 0;color:var(--app-text-muted);font-size:.82rem;font-weight:650;line-height:1.45;overflow-x:visible;overflow-y:hidden;white-space:nowrap}.past-notes-row-editable{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;overflow-x:hidden}.past-notes-stamp{color:var(--app-text-subtle);white-space:nowrap}.past-notes-date-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px}.past-notes-date-picker{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.past-notes-row input{min-width:0;overflow-x:auto;white-space:nowrap}.editor-empty-copy{margin:0;color:var(--app-text-subtle);font-size:.92rem}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 4px;border-bottom:1px solid var(--app-border-muted)}.toolbar label,form label{display:grid;gap:5px;color:var(--app-text-muted);font-size:.83rem;font-weight:650}.search-toolbar{align-items:end}.student-list-controls{position:sticky;top:var(--student-list-sticky-top, 66px);z-index:30;background:var(--app-surface-base)}.list-panel{padding-top:56px}.student-list-controls-trigger{display:none;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base);color:var(--app-text);font-weight:750;box-shadow:var(--app-shadow-soft)}.student-list-controls-trigger span{flex:1;text-align:left}.student-list-controls-summary{display:flex;align-items:center;gap:6px 14px;min-width:0;overflow:hidden;color:var(--app-text-muted);font-size:.8rem;font-weight:700;white-space:nowrap}.student-list-controls-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis}.student-list-controls-summary .student-list-controls-summary-value{flex:1 1 0;padding-left:14px;border-left:1px solid var(--app-border-muted)}.student-list-controls-summary .student-list-controls-summary-value:first-child{padding-left:0;border-left:0}.student-list-controls-trigger .is-open{transform:rotate(180deg)}.student-list-controls-overlay-close{display:none;align-items:center;gap:6px;margin-left:auto;padding:8px 0;border:0;background:transparent;color:var(--app-text-muted);font-size:.8rem;font-weight:700}.student-list-controls.is-scrolled{position:fixed;top:calc(var(--student-list-sticky-top, 66px) + 8px);right:max(24px,calc((100vw - 1440px)/2 + 24px));left:max(24px,calc((100vw - 1440px)/2 + 24px));padding:0}.student-list-controls.is-scrolled .student-list-controls-trigger{display:inline-flex}.student-list-controls.is-scrolled.is-open .student-list-controls-trigger{position:relative;z-index:2}.student-list-controls-backdrop,.student-list-controls.is-scrolled .student-list-controls-content{display:none}.student-list-controls.is-scrolled .student-list-controls-content.is-open{display:block;position:fixed;z-index:1;top:calc(var(--student-list-sticky-top, 66px) + 62px);right:12px;left:12px;max-height:calc(100vh - 86px);overflow:auto;padding:0 12px 12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-base);box-shadow:var(--app-shadow-large)}.student-list-controls.is-scrolled.is-open .student-list-controls-backdrop{display:block;position:fixed;z-index:0;top:0;right:0;bottom:0;left:0}.student-list-controls.is-scrolled .student-list-controls-content.is-open .student-list-controls-overlay-close{display:inline-flex}.student-list-controls.is-scrolled .student-list-controls-content.is-open .toolbar:first-child{border-top:0}.search-box{min-width:min(320px,100%);flex:1 1 320px;grid-template-columns:auto minmax(0,1fr);align-items:center}.toolbar-sort{flex:0 1 300px;min-width:180px}.toolbar-sort-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.view-mode-toggle{display:inline-flex;flex:0 0 auto;gap:2px;padding:3px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-muted)}.view-mode-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:0;border-radius:6px;padding:6px 10px;background:transparent;color:var(--app-text-subtle);font-size:.78rem;font-weight:750}.view-mode-button.is-active{background:var(--app-surface-base);color:var(--app-accent);box-shadow:var(--app-shadow-soft)}.sort-direction-button{min-width:40px;padding-inline:0}.toolbar-group{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;width:100%}.toolbar-section-heading{display:inline-flex;align-items:flex-start;gap:10px;flex-wrap:wrap;flex:0 1 auto}.filter-toolbar-controls{display:inline-flex;align-items:flex-start;flex:0 1 auto}.toolbar-title{display:inline-flex;align-items:center;gap:7px;min-height:40px;flex:0 0 auto;color:var(--app-text-muted);font-size:.84rem;font-weight:700}.chip-toolbar{background:var(--app-transparent)}.quick-filter-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.quick-filter-control{flex:1 1 0;min-width:0}.applied-view-control{grid-column:1 / -1}.advanced-controls{border-bottom:1px solid var(--app-border-muted)}.advanced-controls>summary{cursor:pointer;padding:14px 4px;color:var(--app-text-muted);font-size:.84rem;font-weight:700}.advanced-controls-content>.toolbar:last-child{border-bottom:0}.advanced-view-toolbar{justify-content:flex-end}.empty-notes-message{color:var(--app-text-subtle);font-style:italic}.control-chip{position:relative;display:grid;gap:8px;min-width:180px;padding:10px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base)}.control-chip-heading{min-width:196px}.filter-toolbar-saved-controls{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.compact-chip{display:inline-flex;align-items:center;gap:10px;min-width:0}.control-chip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--app-neutral);font-size:.78rem;font-weight:700;text-transform:uppercase}.saved-filters-clear{border:0;padding:0;background:var(--app-transparent);color:var(--app-accent);font-size:.76rem;font-weight:700;text-transform:none;text-decoration:underline}.add-control-field{gap:6px}.add-filter-inline,.add-column-inline,.add-control-chip{min-width:176px}.add-control-heading{min-width:168px}.add-select-shell{position:relative}.add-select-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:var(--app-text-subtle);pointer-events:none}.add-select-shell select{padding-left:34px}.control-chip-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%}.control-chip-inline>span{flex:1 1 auto;text-align:left}.control-chip-inline .popover-shell{justify-self:end}.chip-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:999px;background:var(--app-neutral-surface);color:var(--app-neutral)}.chip-close:hover{background:var(--app-neutral-surface-hover)}.popover-shell{position:relative}.popover-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid var(--app-border-strong);border-radius:6px;padding:8px 10px;background:var(--app-surface-base);color:var(--app-text)}.filter-trigger{width:auto;min-width:40px;padding:8px;justify-content:center;color:var(--app-text-subtle)}.filters-menu-trigger{width:auto;min-width:132px;color:var(--app-text);font-weight:650}.filters-menu-trigger.is-applied{border-color:var(--app-accent);background:var(--app-accent-surface);color:var(--app-accent)}.saved-filters-trigger-label{display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.saved-filters-short-label{display:none}.filter-trigger.is-applied{border-color:var(--app-accent);background:var(--app-accent-surface);color:var(--app-accent)}.popover-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:280px;max-width:380px;max-height:240px;overflow:auto;padding:10px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base);box-shadow:var(--app-shadow-popover)}.filters-panel{grid-template-columns:repeat(2,minmax(180px,1fr));min-width:min(560px,calc(100vw - 32px));max-width:min(680px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:visible}.filters-panel .control-chip,.filters-panel .add-control{min-width:0}.filters-panel .popover-panel{z-index:10}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:stretch;padding-top:48px;background:var(--app-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-sheet{width:100%;max-height:min(80vh,720px);padding:14px 14px 18px;border-radius:24px 24px 0 0;background:var(--app-mobile-sheet-background);box-shadow:var(--app-shadow-sheet)}.mobile-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.mobile-sheet-header h3{margin:2px 0 0;color:var(--app-text);font-size:1.05rem}.mobile-sheet-close{flex-shrink:0}.mobile-sheet-panel{position:static;min-width:0;max-width:none;max-height:min(60vh,560px);padding:0;border:0;border-radius:0;box-shadow:none;background:var(--app-transparent)}.mobile-sheet-panel .popover-shell{width:100%}.mobile-sheet-panel .popover-panel{position:static;min-width:0;max-width:none;margin-top:8px}.popover-actions{grid-column:1 / -1;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px}.popover-clear{border:0;padding:0;background:var(--app-transparent);color:var(--app-accent);font-size:.82rem;font-weight:700;text-decoration:underline}.popover-delete{border:0;padding:0;background:var(--app-transparent);color:var(--app-danger);font-size:.82rem;font-weight:700;text-decoration:underline}.text-filter-panel{grid-template-columns:minmax(220px,1fr);min-width:240px}.saved-filters-panel{grid-template-columns:minmax(240px,1fr);min-width:280px}.add-control{min-width:160px}input,select,textarea{box-sizing:border-box;width:100%;border:1px solid var(--app-border-strong);border-radius:6px;background:var(--app-surface-base);color:var(--app-text);padding:9px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,.popover-trigger:focus,.app-menu-button:focus,.app-menu-trigger:focus{border-color:var(--app-accent);outline:3px solid var(--app-focus-ring)}.primary-button,.secondary-button,.icon-button,.conflict-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--app-transparent);border-radius:6px;padding:8px 12px;font-weight:750}.primary-button{background:var(--app-accent);color:var(--app-accent-contrast)}.primary-button:hover:not(:disabled){background:var(--app-accent-strong)}button:disabled{cursor:not-allowed;border-color:var(--app-border-strong);background:var(--app-border-strong);color:var(--app-text-subtle);box-shadow:none;opacity:.65}.secondary-button,.icon-button,.conflict-actions button{border-color:var(--app-border-strong);background:var(--app-surface-subtle);color:var(--app-text)}.secondary-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.conflict-actions button:hover:not(:disabled){background:var(--app-background-muted)}.checkbox-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.checkbox-label{display:inline-flex;align-items:center;gap:8px}.checkbox-label input{width:auto;margin:0}.popover-panel .popover-option{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:34px;padding:6px 10px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-subtle);color:var(--app-neutral);font-size:.84rem;font-weight:650;line-height:1.1;white-space:nowrap}.popover-panel .popover-option input{width:14px;min-width:14px;height:14px;margin:0;padding:0;border-radius:4px;flex:0 0 auto}.saved-filter-form,.saved-filter-list{display:grid;gap:10px}.saved-filter-row{display:flex;align-items:center;gap:10px}.saved-filter-option{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-start;min-height:38px;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-surface-subtle);color:var(--app-text);font-weight:650}.saved-filter-option:hover{background:var(--app-accent-surface);border-color:var(--app-accent)}.saved-filter-delete{border:0;padding:0;background:var(--app-transparent);color:var(--app-danger);font-size:.82rem;font-weight:700;text-decoration:underline;white-space:nowrap}.saved-filter-empty{margin:0;color:var(--app-text-subtle);font-size:.84rem}.table-wrap{overflow:auto}.customer-list-table-wrap{max-width:100%;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base)}.customer-list-table-wrap .customer-list-table{min-width:980px}.customer-list-table-wrap thead{position:sticky;top:0;z-index:1}.customer-list-table-wrap tbody tr{cursor:pointer}.customer-list-table-wrap tbody tr:focus{outline:2px solid var(--app-focus-outline);outline-offset:-2px}.table-column-header{display:flex;align-items:center;justify-content:space-between;gap:6px;white-space:nowrap}.table-column-remove{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:999px;padding:0;background:var(--app-neutral-surface);color:var(--app-text-subtle)}.table-column-remove:hover{background:var(--app-neutral-surface-hover);color:var(--app-text)}.customer-list-wrap{min-width:0;max-width:100%;overflow-x:clip;padding:4px 4px 0}.student-list-paginator{position:sticky;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;margin:12px 4px 0;padding:5px 7px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base);box-shadow:0 4px 14px #00000014;color:var(--app-text-subtle);font-size:.75rem}.student-list-paginator-range,.student-list-paginator-total,.student-list-paginator-page{white-space:nowrap}.student-list-paginator-range{margin-right:auto}.student-list-paginator-actions{display:flex;align-items:center;gap:3px;white-space:nowrap}.student-list-paginator-button{width:24px;height:24px;min-width:24px;min-height:24px;flex:0 0 24px;padding:0}.student-list-paginator-page{display:inline-flex;align-items:center;gap:2px}.student-list-paginator-page input{width:4ch;min-width:4ch;height:24px;padding:1px 2px;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface-base);color:inherit;font:inherit;text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.student-list-paginator-page input::-webkit-inner-spin-button,.student-list-paginator-page input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.customer-card-list{display:grid;gap:8px;min-width:0;max-width:100%;padding:0}.customer-card{display:grid;gap:8px;width:100%;min-width:0;max-width:100%;overflow-x:clip;padding:12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-gender-surface-background, var(--app-surface-base));color:inherit;text-align:left;cursor:pointer}.customer-card-header{display:grid;gap:6px;min-width:0;max-width:100%}.customer-card-name-row,.customer-card-header-details{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.customer-card-header h3{min-width:0;max-width:48ch;margin:0;color:var(--app-text);font-size:.96rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card-dorm{flex:0 1 auto;min-width:0;max-width:45%;overflow:hidden;color:var(--app-text-subtle);font-size:.78rem;font-weight:700;text-align:right;text-overflow:ellipsis;white-space:nowrap}.customer-card-room{display:flex;flex:0 0 max-content;align-items:center;gap:4px;min-width:0;max-width:100%;overflow:hidden;text-align:right;white-space:nowrap}.customer-card-room span{color:var(--app-text-subtle);font-size:.68rem;font-weight:700;text-transform:uppercase}.customer-card-room strong{min-width:4ch;max-width:16ch;color:var(--app-text);font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-screen-connection{display:grid;justify-items:start;gap:10px}.auth-screen-connection-button{padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.auth-screen-connection-button:focus-visible{outline:2px solid var(--app-focus-ring);outline-offset:3px}.auth-screen-backend-controls{width:min(100%,420px);padding:14px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted)}.stats-loading-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--app-text-subtle);font-size:.78rem;font-weight:600;white-space:nowrap}.stats-loading-indicator .workspace-loading-spinner{width:13px;height:13px;border-width:2px}.customer-list-group+.customer-list-group{margin-top:24px}.customer-list-group>h3{margin:0 0 10px;color:var(--app-text-subtle);font-size:.82rem;text-transform:uppercase}.customer-card-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:4px;margin:0}.customer-card-field{display:grid;gap:2px;min-width:0;padding:5px 6px;border:0;border-radius:0;background:var(--app-transparent)}.customer-card-field dt{color:var(--app-text-subtle);font-size:.68rem;font-weight:700;line-height:1.1;text-transform:uppercase}.customer-card-field dd{margin:0;min-width:0;overflow:hidden;color:var(--app-text);font-size:.82rem;line-height:1.25;word-break:break-word}.customer-card-field-summary{padding:5px 6px;border:0;background:var(--app-transparent)}.customer-card-summary{display:grid;gap:6px;width:100%}.customer-card-summary-responses{display:grid;gap:6px}.customer-card-summary-response{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding:0;border:0;border-radius:0;background:var(--app-transparent)}.customer-card-summary-responses{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-card-summary-response{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.customer-card-summary-response span{color:var(--app-text-subtle);font-size:.68rem;font-weight:700;line-height:1.1;text-transform:uppercase}.customer-card-summary-response .response-badge{text-transform:none}.customer-card-summary-response strong{align-self:stretch;min-width:0;overflow:hidden;color:var(--app-text);font-size:.82rem;line-height:1.25;text-align:left;overflow-wrap:anywhere}.customer-card-summary-completions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:6px;border-top:1px solid var(--app-border-soft)}.readonly-completion-checkbox{display:flex;align-items:flex-start;gap:5px;min-width:0;color:var(--app-text-subtle);font-size:.68rem;font-weight:700;line-height:1.15}.readonly-completion-checkbox input{flex:0 0 auto;width:13px;height:13px;margin:0;accent-color:var(--app-accent)}.readonly-completion-checkbox span{min-width:0;overflow-wrap:anywhere}.response-with-completion{display:grid;gap:7px;min-width:0}.involvement-status-badge{display:inline-flex;align-items:center;min-width:0;max-width:28ch;padding:3px 7px;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:750;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card .day-notes-preview{overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.customer-card .day-notes-line{min-width:0}.involvement-status-badge-neutral{border-color:var(--app-neutral-surface-hover);background:var(--app-text-inverse);color:var(--app-neutral)}.involvement-status-badge-positive{border-color:var(--app-success-border);background:var(--app-success-surface);color:var(--app-success)}.involvement-status-badge-caution{border-color:var(--app-warning-border);background:var(--app-warning-surface-strong);color:var(--app-warning-caution-text)}.involvement-status-badge-negative{border-color:var(--app-danger-border);background:var(--app-danger-surface);color:var(--app-danger)}.involvement-status-badge-info{border-color:var(--app-info-border);background:var(--app-info-surface);color:var(--app-info)}.customer-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:100%;padding-top:8px;border-top:1px solid var(--app-border-faint)}.home-panel{display:grid;gap:28px;max-width:1040px;margin:0 auto;padding:12px 0 32px}.home-panel-header,.home-section{display:grid;gap:10px}.home-panel-header h2,.home-section h3,.home-card strong,.home-card span{margin:0}.home-panel-header h2{font-size:clamp(1.55rem,4vw,2.25rem)}.home-section h3{color:var(--app-text-muted);font-size:.88rem;letter-spacing:.06em;text-transform:uppercase}.home-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.home-card{display:grid;min-width:0;min-height:126px;gap:8px;padding:18px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted);color:var(--app-text);text-align:left}button.home-card{cursor:pointer;transition:border-color .12s ease,transform .12s ease,background .12s ease}button.home-card:hover,button.home-card:focus-visible{border-color:var(--app-focus-outline);background:var(--app-surface-overlay-muted);transform:translateY(-1px)}.home-card strong{font-size:1rem}.home-card span{color:var(--app-text-subtle);font-size:.9rem;line-height:1.4}.home-card-disabled{opacity:.68}.customer-card-interaction-footer{padding-top:0;border-top:0}.customer-card-knock-meta{display:grid;grid-template-columns:minmax(64px,.7fr) minmax(0,1.3fr);flex:1 1 0;gap:4px;min-width:0}.customer-card-knock-box{display:grid;gap:2px;min-width:0;padding:0;border:0;border-radius:0;background:var(--app-transparent)}.customer-card-knock-label{color:var(--app-text-subtle);font-size:.62rem;font-weight:700;line-height:1.1;text-transform:uppercase}.customer-card-knock-meta strong{min-width:0;overflow:hidden;color:var(--app-text);font-size:.82rem;line-height:1.25;word-break:break-word}.knock-button{flex:0 1 104px;min-width:104px;white-space:nowrap}.customer-card-interaction-button{font-size:.75rem}.customer-row-actions{width:1%;white-space:nowrap}.customer-notes-cell{min-width:240px}.responses-cell{display:grid;gap:4px;min-width:0}.followup-cell{display:grid;grid-template-columns:repeat(3,minmax(48px,1fr));gap:6px;min-width:170px}.followup-pill{display:grid;gap:3px;padding:6px;border:1px solid var(--app-border-soft);border-radius:8px;background:var(--app-surface-panel-soft);font-size:.72rem;line-height:1.1}.followup-pill span{color:var(--app-text-subtle);font-weight:700}.followup-pill strong{justify-self:start}.responses-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.responses-line span{color:var(--app-text-muted);font-size:.72rem;font-weight:700;line-height:1.25}.responses-line strong{min-width:0;color:var(--app-text);font-size:.8rem;font-weight:700;text-align:right}.response-badge,.gender-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid var(--app-transparent);font-size:.78rem;font-weight:750;line-height:1.2;text-transform:none;white-space:nowrap}.responsive-response-badge{display:block;width:100%;min-width:0;max-width:100%;container-type:inline-size}.responsive-response-badge-short{display:none}@container (max-width: 144px){.responsive-response-badge-full{display:none}.responsive-response-badge-short{display:inline}}.response-badge-neutral,.gender-badge-neutral{border-color:var(--app-neutral-surface-hover);background:var(--app-text-inverse);color:var(--app-neutral)}.response-badge-positive{border-color:var(--app-success-border);background:var(--app-success-surface);color:var(--app-success)}.response-badge-caution{border-color:var(--app-warning-border);background:var(--app-warning-surface-strong);color:var(--app-warning-caution-text)}.response-badge-negative{border-color:var(--app-danger-border);background:var(--app-danger-surface);color:var(--app-danger)}.response-badge-info{border-color:var(--app-info-border);background:var(--app-info-surface);color:var(--app-info)}.gender-surface-neutral{--app-gender-surface-top: var(--palette-panel);--app-gender-surface-bottom: var(--palette-panel)}.gender-surface-male{--app-gender-surface-top: var(--palette-info-surface-strong);--app-gender-surface-bottom: var(--palette-panel)}.gender-surface-female{--app-gender-surface-top: var(--palette-female-surface-strong);--app-gender-surface-bottom: var(--palette-panel)}.gender-surface-other{--app-gender-surface-top: var(--palette-other-surface-strong);--app-gender-surface-bottom: var(--palette-panel)}.gender-surface{--app-gender-surface-background: linear-gradient( 180deg, var(--app-gender-surface-top, var(--palette-panel)), var(--app-gender-surface-bottom, var(--palette-panel)) )}.gender-badge-male{border-color:var(--app-info-border);background:var(--app-info-surface);color:var(--app-info)}.gender-badge-female{border-color:var(--app-female-border);background:var(--app-female-surface);color:var(--app-female)}.gender-badge-other{border-color:var(--app-other-border);background:var(--app-other-surface);color:var(--app-other)}:root[data-theme=dark] .response-badge-neutral,:root[data-theme=dark] .gender-badge-neutral{border-color:var(--app-neutral-border);background:var(--app-neutral-surface)}:root[data-theme=dark] .response-badge-caution{background:var(--app-warning-surface);color:var(--app-warning-text)}:root[data-theme=dark] .response-badge-info{color:var(--app-info-text-soft)}:root[data-theme=dark] .gender-surface-male{--app-gender-surface-top: var(--palette-info-surface);--app-gender-surface-bottom: var(--palette-panel)}:root[data-theme=dark] .gender-surface-female{--app-gender-surface-top: var(--palette-female-surface-strong);--app-gender-surface-bottom: var(--palette-panel)}:root[data-theme=dark] .gender-surface-other{--app-gender-surface-top: var(--palette-other-surface-strong);--app-gender-surface-bottom: var(--palette-panel)}:root[data-theme=dark] .gender-badge-male{color:var(--app-info-text-soft)}:root[data-theme=dark] .gender-badge-female{color:var(--app-female-text-soft)}:root[data-theme=dark] .gender-badge-other{color:var(--app-other-text-soft)}.day-notes-preview{display:grid;gap:2px;width:100%;max-width:100%;min-width:0;max-height:3.75em;overflow-x:auto;overflow-y:auto;overscroll-behavior-x:contain;padding-right:4px;color:var(--app-text-muted);font-size:.78rem;line-height:1.25;white-space:pre}.day-notes-line{min-width:max-content}.day-notes-input{width:100%;min-width:0}.toolbar-note-initials{display:grid;gap:4px;min-width:96px}.toolbar-note-initials span,.day-note-stamp{color:var(--app-text-subtle);font-size:.76rem}.auto-grow-textarea{overflow:hidden;overflow-x:hidden;resize:none}.day-note-input{min-height:calc(1.5em + 20px);max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}.day-note-history-item{display:grid;gap:5px}.day-note-history-label{color:var(--app-text-muted);font-size:.83rem;font-weight:650}.day-note-history-preview{min-height:calc(4.5em + 20px);padding:9px 10px;border:1px solid var(--app-border-soft);border-radius:6px;background:var(--app-surface-overlay-muted);color:var(--app-text);line-height:1.5;white-space:pre-wrap;word-break:break-word}.schedule-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--app-text-muted);font-size:.8rem}.schedule-legend-item{display:inline-flex;align-items:center;gap:6px}.schedule-dot{width:10px;height:10px;border-radius:999px}.schedule-dot.note,.schedule-badge.note{background:var(--app-success-strong);color:#0b1220}.schedule-dot.knock,.schedule-badge.knock{background:var(--app-danger);color:#0b1220}:root[data-theme=dark] .schedule-dot.note,:root[data-theme=dark] .schedule-badge.note{background:var(--app-success);color:#0b1220}:root[data-theme=dark] .schedule-dot.knock,:root[data-theme=dark] .schedule-badge.knock{color:#0b1220}.schedule-grid-wrap{overflow-x:auto}.schedule-grid{display:grid;grid-template-columns:72px repeat(5,minmax(88px,1fr));gap:1px;min-width:560px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-border)}.schedule-grid-corner,.schedule-day-header,.schedule-time-label,.schedule-cell{background:var(--app-surface-base)}.schedule-grid-corner,.schedule-day-header{position:sticky;top:0;z-index:1}.schedule-day-header{padding:8px 6px;color:var(--app-text-muted);font-size:.76rem;font-weight:700;text-align:center;text-transform:uppercase}.schedule-row{display:contents}.schedule-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 8px 0;color:var(--app-text-subtle);font-size:.68rem;line-height:1}.schedule-cell{min-height:24px;padding:3px 4px}.schedule-cell.has-notes{background:linear-gradient(180deg,var(--app-success-gradient-strong),var(--app-success-gradient-soft))}.schedule-cell.has-knocks{background:linear-gradient(180deg,var(--app-danger-gradient-strong),var(--app-danger-gradient-soft))}.schedule-cell.has-both{background:linear-gradient(135deg,var(--app-success-gradient-strong) 0 50%,var(--app-danger-gradient-strong) 50% 100%)}.schedule-cell-content{display:flex;flex-wrap:wrap;gap:4px}.schedule-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:16px;padding:1px 5px;border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.01em}.schedule-empty-state{margin:0;color:var(--app-text-subtle);font-size:.82rem}.customer-card:focus{outline:3px solid var(--app-focus-ring);outline-offset:-3px}.customer-list-head{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.customer-list-table tbody tr:hover,.customer-card:hover{filter:brightness(.985)}.customer-list-table tbody tr.selected-row{outline:2px solid var(--app-focus-outline);outline-offset:-2px}.table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--app-border-faint);padding:10px 12px;text-align:left;vertical-align:top}.table-wrap th{background:var(--app-surface-muted);color:var(--app-text-muted);font-size:.76rem;text-transform:uppercase}.table-wrap tbody tr{transition:background .12s ease}.table-wrap tbody tr:hover,.customer-card:hover{filter:brightness(.985)}.table-wrap tbody tr.selected-row{outline:2px solid var(--app-focus-outline);outline-offset:-2px}.customer-card.selected-row{box-shadow:inset 0 0 0 2px var(--app-focus-outline)}.empty-state{margin:0;padding:22px 4px;color:var(--app-text-subtle)}.student-list-count{margin:8px 4px 0;color:var(--app-text-subtle);font-size:.82rem}form,.field-admin{display:grid;gap:14px}.field-list{display:grid;gap:10px}.field-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-muted)}.field-chip strong,.field-chip span{display:block}.field-chip span{color:var(--app-text-subtle);font-size:.8rem;text-transform:capitalize}.field-form,.backup-form,.nested-fieldset{display:grid;gap:12px}.field-admin-section{display:grid;gap:12px;padding-top:8px;border-top:1px solid var(--app-border-muted)}.field-admin-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style-position:outside}.field-admin-section>summary::-webkit-details-marker{display:none}.validation-section-chevron{flex:0 0 auto;transition:transform .16s ease}.field-admin-section:not([open])>summary .validation-section-chevron{transform:rotate(-90deg)}.field-admin-section>summary>span{display:grid;gap:3px}.field-admin-section>summary small{color:var(--app-text-muted);font-weight:500}.data-validation-student-link{color:var(--app-accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.data-validation-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:12px;min-width:0}.data-validation-room-grid>*{min-width:0;overflow-wrap:anywhere}.data-validation-room-grid-header{padding:0 12px 4px;color:var(--app-text-muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.discipleship-relationship-table{display:table;width:min(100%,760px);border-collapse:collapse;color:var(--app-text)}.discipleship-relationship-table thead{border-bottom:2px solid var(--app-border)}.discipleship-relationship-table th,.discipleship-relationship-table td{padding:8px;border-bottom:1px solid var(--app-border-muted);overflow-wrap:anywhere;text-align:left;vertical-align:top}.discipleship-relationship-table thead th{color:var(--app-text-muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.discipleship-relationship-table .discipleship-campus-heading th{padding-top:20px;padding-bottom:7px;border-bottom:2px solid var(--app-border);color:var(--app-text);font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}.discipleship-relationship-table .discipleship-relationship-row.is-striped{background:color-mix(in srgb,var(--app-surface-muted) 45%,transparent)}.discipleship-recent-activity{display:grid;gap:6px}.discipleship-recent-activity h4{margin:0}.discipleship-recent-activity ul{display:grid;gap:4px;min-width:0;max-height:3.75em;margin:0;padding:0 4px 0 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;color:var(--app-text-muted);font-size:.78rem;line-height:1.25;list-style:none}.discipleship-recent-activity li{min-width:0;overflow-wrap:anywhere}.discipleship-student-link{padding:0;border:0;color:var(--app-accent-strong);background:transparent;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.discipleship-card{cursor:default}.discipleship-card p{margin:0}.discipleship-contact-pills{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.discipleship-contact-pill{display:inline-flex;align-items:center;min-width:0;max-width:100%;gap:5px;padding:4px 6px 4px 8px;border-radius:999px;background:var(--app-surface-muted)}.discipleship-contact-pill .discipleship-student-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discipleship-remove-contact{display:inline-grid;flex:0 0 auto;width:22px;height:22px;place-items:center;padding:0;border:0;border-radius:50%;color:var(--app-text-subtle);background:transparent;cursor:pointer}.discipleship-remove-contact:hover:not(:disabled){color:var(--app-danger);background:var(--app-surface-base)}.discipleship-dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#00000073}.discipleship-dialog{display:grid;gap:14px;width:min(100%,520px);max-height:min(80vh,700px);overflow:auto;padding:18px;border-radius:12px;background:var(--app-surface-base)}.discipleship-candidate-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.discipleship-candidate-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.field-admin-note{margin:0;color:var(--app-text-subtle);font-size:.9rem}.backup-admin{display:grid;gap:12px;padding:14px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-muted)}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.backup-banner{display:flex;gap:10px;align-items:flex-start;border-radius:8px;padding:12px}.warning-banner{border:1px solid var(--app-warning);background:var(--app-warning-surface);color:var(--app-warning-text)}.backup-error-list{margin:8px 0 0;padding-left:18px}.backup-error-table-wrap{max-width:100%;margin-top:8px;overflow-x:auto}.backup-error-table{width:100%;border-collapse:collapse;font-size:.875rem}.backup-error-table th,.backup-error-table td{padding:6px 8px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);text-align:left;vertical-align:top}.backup-error-table th{font-weight:700}.import-review{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--app-warning);border-radius:8px;background:var(--app-warning-surface);color:var(--app-warning-text)}.import-review h3,.import-review p{margin:0}.import-review-list{display:grid;gap:8px;max-height:220px;margin:0;padding-left:20px;overflow:auto}.import-review-list li{display:grid;gap:2px}.import-review-list span{overflow-wrap:anywhere}.import-version-choice{display:flex;flex-wrap:wrap;gap:12px}.import-version-choice label{display:inline-flex;align-items:center;gap:6px}.import-preview-table-wrap{max-width:100%;min-width:0;border:1px solid var(--app-border-strong);border-radius:6px;overflow-x:auto;background:var(--app-surface-base)}.import-invalid-rows{min-width:0;overflow-x:auto}.import-preview-table{width:max-content;min-width:560px;border-collapse:collapse;color:var(--app-text);background:var(--app-surface-base)}.import-preview-table caption{padding:8px;text-align:left;font-weight:700}.import-preview-table th,.import-preview-table td{padding:8px;border:1px solid var(--app-border-strong);text-align:left;vertical-align:top;white-space:nowrap}.import-preview-table th{background:var(--app-surface-subtle);font-weight:700}.import-preview-table tbody tr:nth-child(2n){background:var(--app-surface-muted)}.import-preview-table tbody tr:hover{background:var(--app-surface-overlay-muted)}.import-error-table th:nth-child(2),.import-error-table td:nth-child(2){width:64px;white-space:nowrap}.import-error-table{min-width:520px}.import-error-table td:last-child{min-width:420px;white-space:normal}.field-form-actions{display:flex;gap:10px;flex-wrap:wrap}.sys-admin-panel{display:grid;gap:14px}.dorm-knowledge-selector{position:sticky;top:0;z-index:2;padding:10px 0;background:var(--app-surface, var(--app-background));border-bottom:1px solid var(--app-border-muted)}.dorm-knowledge-selector small{color:var(--app-text-muted)}.sys-admin-form,.sys-admin-reset-form,.sys-admin-user-list{display:grid;gap:12px}.sys-admin-user-search{max-width:420px;margin-bottom:12px}.sys-admin-user-card{display:grid;gap:12px;padding:14px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-muted)}.sys-admin-user-header,.sys-admin-actions,.sys-admin-badges{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}.sys-admin-user-header p{margin:4px 0 0;color:var(--app-text-subtle)}.sys-admin-badges{justify-content:flex-start}.sys-admin-checkbox{display:flex;width:fit-content;gap:10px;align-items:center}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.status-badge.active{background:var(--app-success-surface);color:var(--app-success)}.status-badge.inactive{background:var(--app-danger-surface);color:var(--app-danger)}.status-badge.admin{background:var(--app-info-surface);color:var(--app-info)}.status-badge.neutral{background:var(--app-neutral-surface);color:var(--app-neutral)}.dorm-house-rule-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dorm-house-rule-badges .status-badge{min-height:24px;padding:3px 8px}.dorm-house-aliases{display:grid;gap:6px}.dorm-house-alias{display:flex;min-width:0;align-items:center;gap:8px}.dorm-house-alias span{min-width:0;overflow-wrap:anywhere}.dorm-house-range-controls{display:flex;min-width:0;align-items:end;gap:10px;flex-wrap:wrap}.dorm-house-range-controls>strong{margin-right:auto}.dorm-house-range-controls label{display:grid;gap:4px}.dorm-house-range-controls input{width:5.5rem}.apply-house-success:disabled{border-color:var(--app-success);background:var(--app-success-surface);color:var(--app-success);opacity:1}.danger-button{color:var(--app-danger)}fieldset{display:grid;gap:12px;margin:0;border:1px solid var(--app-border);border-radius:8px;padding:14px}legend{padding:0 6px;color:var(--app-text-muted);font-weight:750}.save-message,.conflict-banner{display:flex;gap:10px;align-items:flex-start;border-radius:8px;padding:12px}.save-message{margin:0;background:var(--app-success-surface);color:var(--app-success)}.conflict-banner{border:1px solid var(--app-warning);background:var(--app-warning-surface);color:var(--app-warning-text)}.conflict-banner p{margin:2px 0 10px}.conflict-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:760px){.app-shell{padding:0}.workspace{padding:14px}.topbar-inner{grid-template-columns:minmax(0,1fr) auto;padding-inline:16px}.topbar-inner,.editor-header{align-items:flex-start}.editor-header{display:grid;grid-template-columns:minmax(0,1fr)}.toolbar{padding:12px 4px}.student-list-controls{top:var(--student-list-sticky-top, 92px)}.student-list-controls.is-scrolled{top:calc(var(--student-list-sticky-top, 92px) + 8px);right:14px;left:14px}.student-list-controls-summary{gap:4px 8px;font-size:.72rem}.student-list-controls-summary .student-list-controls-summary-value{padding-left:8px}.search-toolbar{display:flex;flex-wrap:nowrap;gap:6px}.search-box{min-width:0;flex:1 1 0}.toolbar-sort{flex:1 1 0;min-width:0;width:auto}.toolbar-sort-control{grid-template-columns:auto minmax(0,1fr) auto;gap:4px}.toolbar-sort .sort-direction-button{min-width:34px}.view-mode-button{gap:4px;padding-inline:8px}.toolbar-sort span{display:inline}.toolbar-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.toolbar-section-heading,.filter-toolbar-controls{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}.filter-toolbar-controls{display:block}.control-chip,.add-control,.toolbar-section-heading>*,.filter-toolbar-controls>*{width:100%}.add-control{min-width:0}.control-chip{min-width:0;padding:8px 10px}.toolbar-title{min-height:34px;font-size:.74rem;gap:6px}.control-chip-header{font-size:.72rem}.popover-trigger{min-height:34px;padding:6px 8px}.filter-trigger{min-width:34px}.filters-menu-trigger{min-width:0;gap:5px;padding-inline:7px}.filters-menu-applied-label{display:none}.saved-filters-clear{font-size:.7rem}.saved-filters-trigger-label{max-width:64px}.saved-filters-full-label{display:none}.saved-filters-short-label{display:inline}.filter-toolbar-saved-controls{align-items:center;flex-wrap:nowrap;gap:5px}.filter-toolbar-saved-controls .popover-shell{min-width:0}.filter-toolbar-saved-controls .saved-filters-clear{flex:0 0 auto;white-space:nowrap}.filter-toolbar-controls>.filter-toolbar-saved-controls{width:auto}.popover-panel{left:0;right:0;min-width:100%;max-width:none}.filters-panel{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-height:min(64vh,560px)}.mobile-sheet-backdrop{padding-top:24px}.mobile-sheet{max-height:86vh;padding:12px 12px 16px}.mobile-sheet-panel{max-height:min(64vh,560px)}.table-wrap{overflow:visible}.customer-list-table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.customer-list-table-wrap .customer-list-table{display:table}.editor-overlay{padding:0;background:var(--app-overlay-gradient);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.editor-modal{width:100%;max-height:100%;border-radius:24px 24px 0 0;margin-top:auto;padding:16px}.editor-content{grid-template-columns:1fr}.editor-field-grid,.editor-detail-row,.editor-inline-grid{gap:10px 12px}.profile-grid,.profile-row,.followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-fields,.responses-row{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-header-actions{width:100%}.editor-header-actions .icon-button,.editor-header-actions .primary-button,.editor-header-actions .secondary-button{flex:1 1 0}.inline-checkbox{min-height:38px;padding:8px 10px;gap:8px;font-size:.78rem}.editor-detail-label{font-size:.72rem}.editor-detail-value{font-size:.88rem}.editor-section label,.editor-section .floating-field-label,.editor-section legend{font-size:.78rem}.editor-section input,.editor-section select,.editor-section textarea{padding:7px 8px;font-size:.88rem}.editor-section .floating-field input,.editor-section .floating-field select,.editor-section .floating-field textarea{padding:1px 0 0}.editor-section{padding:14px;border-radius:14px}table{display:none}.stats-panel,.stats-status-section,.stats-status-section .table-wrap{min-width:0;max-width:100%}.stats-status-section .table-wrap{display:none}.stats-status-mobile{display:grid;gap:8px;min-width:0;margin:0;padding:0;list-style:none}.stats-status-mobile-card{display:flex;flex-wrap:wrap;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-base)}.stats-status-mobile-label{min-width:0;overflow-wrap:anywhere;color:var(--app-text);font-weight:700}.stats-status-mobile-value{flex:0 0 auto;max-width:100%;overflow-wrap:anywhere;padding:4px 8px;border-radius:999px;background:var(--app-surface-muted);color:var(--app-text-muted);font-size:.8rem;font-weight:700;text-align:right}.discipleship-relationship-table{display:table}.customer-card-list{gap:8px}.customer-card{padding:12px}.customer-card-field dd{font-size:.8rem}.customer-card-field-notes{grid-column:1 / -1!important}.popover-panel{min-width:100%}.schedule-grid{grid-template-columns:56px repeat(5,minmax(80px,1fr));min-width:500px}.schedule-time-label{padding-right:6px;font-size:.64rem}}@media(max-width:350px){.topbar-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "account"}}@media(max-width:680px){.editor-header-gender-fields,.editor-header-gender-display{justify-content:flex-end}.editor-header-main{align-items:flex-start;gap:12px}.editor-header-identity{flex:1 1 0}.editor-header-gender{flex:0 1 38%}.editor-title-field{width:100%}.editor-header-gender-control{min-width:120px;width:auto;max-width:100%}}.offline-read-banner{margin:.75rem 1rem;padding:.75rem 1rem;border:1px solid var(--warning-border, #b7791f);border-radius:.5rem;background:var(--warning-background, #fffaf0);color:var(--warning-text, #744210)}.workspace-loading-state,.workspace-load-error{display:flex;align-items:center;gap:12px;max-width:680px;margin:24px auto;padding:18px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted)}.workspace-loading-spinner{width:22px;height:22px;flex:0 0 auto;border:3px solid var(--app-border);border-top-color:var(--app-info);border-radius:50%;animation:workspace-spin .7s linear infinite}.workspace-loading-title,.workspace-loading-copy,.workspace-load-error p,.workspace-refresh-status{margin:0}.workspace-loading-title,.workspace-load-error strong{color:var(--app-text)}.workspace-loading-copy,.workspace-load-error p,.workspace-refresh-status{color:var(--app-text-subtle);font-size:.9rem}.workspace-load-error{align-items:flex-start;justify-content:space-between;border-color:var(--app-danger-border);background:var(--app-danger-surface)}.workspace-refresh-status{padding:8px 4px}@keyframes workspace-spin{to{transform:rotate(360deg)}}
