:root{--color-background: #ffffff;--color-grey-50: #f9fafb;--color-grey-100: #f2f4f6;--color-grey-200: #e5e8eb;--color-grey-300: #d1d6db;--color-grey-400: #b0b8c1;--color-grey-500: #8b95a1;--color-grey-600: #6b7684;--color-grey-700: #4e5968;--color-grey-800: #333d4b;--color-grey-900: #191f28;--color-blue-50: #e8f3ff;--color-blue-100: #c9e2ff;--color-blue-200: #90c2ff;--color-blue-300: #64a8ff;--color-blue-400: #4593fc;--color-blue-500: #3182f6;--color-blue-600: #2272eb;--color-blue-700: #1b64da;--color-blue-800: #1957c2;--color-blue-900: #194aa6;--color-red-100: #ffd4d6;--color-red-50: #ffeeee;--color-red-200: #feafb4;--color-red-300: #fb8890;--color-red-400: #f66570;--color-red-500: #f04452;--color-red-600: #e42939;--color-red-700: #d22030;--color-red-800: #bc1b2a;--color-red-900: #a51926;--color-green-100: #aeefd5;--color-green-50: #f0faf6;--color-green-200: #76e4b8;--color-green-300: #3fd599;--color-green-400: #15c47e;--color-green-500: #03b26c;--color-green-600: #02a262;--color-green-700: #029359;--color-green-800: #028450;--color-green-900: #027648;--color-orange-100: #ffe0b0;--color-orange-50: #fff3e0;--color-orange-200: #ffcd80;--color-orange-300: #ffbd51;--color-orange-400: #ffa927;--color-orange-500: #fe9800;--color-orange-600: #fb8800;--color-orange-700: #f57800;--color-orange-800: #ed6700;--color-orange-900: #e45600;--color-yellow-50: #fff9e7;--color-yellow-100: #ffefbf;--color-yellow-200: #ffe69b;--color-yellow-300: #ffdd78;--color-yellow-400: #ffd158;--color-yellow-500: #ffc342;--color-yellow-600: #ffb331;--color-yellow-700: #faa131;--color-yellow-800: #ee8f11;--color-yellow-900: #dd7d02;--color-teal-50: #edf8f8;--color-teal-100: #bce9e9;--color-teal-200: #89d8d8;--color-teal-300: #58c7c7;--color-teal-400: #30b6b6;--color-teal-500: #18a5a5;--color-teal-600: #109595;--color-teal-700: #0c8585;--color-teal-800: #097575;--color-teal-900: #076565;--color-purple-50: #f9f0fc;--color-purple-100: #edccf8;--color-purple-200: #da9bef;--color-purple-300: #c770e4;--color-purple-400: #b44bd7;--color-purple-500: #a234c7;--color-purple-600: #9128b4;--color-purple-700: #8222a2;--color-purple-800: #73228e;--color-purple-900: #65237b;--opacity-grey-50: rgba(0, 23, 51, .02);--opacity-grey-100: rgba(2, 32, 71, .05);--opacity-grey-200: rgba(0, 27, 55, .1);--opacity-grey-300: rgba(0, 29, 58, .18);--opacity-grey-400: rgba(0, 25, 54, .31);--opacity-grey-500: rgba(3, 24, 50, .46);--opacity-grey-600: rgba(0, 19, 43, .58);--opacity-grey-700: rgba(3, 18, 40, .7);--opacity-grey-800: rgba(0, 12, 30, .8);--opacity-grey-900: rgba(2, 9, 19, .91);--background: var(--color-background);--grey-background: var(--color-grey-100);--layered-background: var(--color-background);--floated-background: var(--color-background);--bg-1: var(--color-grey-100);--bg-2: var(--color-grey-50);--ink-1: var(--color-grey-900);--ink-2: var(--color-grey-800);--ink-3: var(--color-grey-600);--line: var(--opacity-grey-300);--glass: color-mix(in srgb, var(--color-background) 84%, transparent);--glass-strong: color-mix(in srgb, var(--color-background) 96%, transparent);--action-primary: var(--color-blue-400);--action-primary-hover: var(--color-blue-500);--action-primary-pressed: var(--color-blue-600);--action-primary-soft: var(--color-blue-50);--primary: var(--color-grey-900);--primary-strong: var(--color-grey-800);--primary-soft: var(--color-grey-100);--link: var(--color-blue-600);--info: var(--color-blue-500);--info-soft: var(--color-blue-50);--focus-ring: var(--opacity-grey-300);--success: var(--color-green-500);--danger: var(--color-red-500);--warning: var(--color-orange-500);--shadow-lg: 0 18px 48px var(--opacity-grey-300);--shadow-md: 0 10px 28px var(--opacity-grey-200);--radius-card: 22px;--radius-soft: 14px;--font-body: "Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--font-heading: "Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--fs-body: 15px;--lh-body: 1.6;--tracking-body: -.004em;--fs-h1: clamp(24px, 2.1vw, 30px);--fs-h2: clamp(17px, 1.15vw, 20px);--fs-kpi: clamp(30px, 2.3vw, 36px);--ls-h1: -.03em;--ls-h2: -.015em;--overlay-seat-size: 30px;--overlay-shift-x: calc(var(--overlay-seat-size) / 2);--overlay-shift-y: calc(var(--overlay-seat-size) * 2 / 3);color-scheme:light;font-family:var(--font-body)}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-y:scroll;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--ink-1);background:var(--grey-background)}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0}#root{min-height:100vh}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:24px}.container>.nav{width:100%}.app-shell{max-width:1460px;margin:0 auto;padding:18px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;min-height:100vh;align-items:start}.app-main{min-width:0;display:grid;gap:14px;align-content:start;position:relative;z-index:1}.route-loading-shell{width:100%;min-height:min(68dvh,560px);display:grid;place-items:center;padding:32px 16px}.route-loading-indicator{color:var(--color-grey-600);display:grid;place-items:center;gap:14px;font-size:13px;font-weight:650;letter-spacing:-.01em;text-align:center}.route-loading-spinner{width:32px;height:32px;border:3px solid var(--color-grey-200);border-top-color:var(--color-blue-500);border-radius:50%;animation:route-loading-spin .78s linear infinite}@keyframes route-loading-spin{to{transform:rotate(360deg)}}.app-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:10px;z-index:30;min-height:86px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--color-background) 96%,transparent),color-mix(in srgb,var(--color-grey-100) 90%,transparent));box-shadow:0 10px 24px var(--opacity-grey-200)}.app-topbar-head{min-width:0;display:grid;gap:4px}.app-topbar-brand{font-family:var(--font-heading);font-size:clamp(21px,1.8vw,28px);font-weight:800;letter-spacing:-.03em;line-height:1.1}.app-topbar-mainline{width:100%;gap:10px;align-items:center;flex-wrap:nowrap}.app-topbar-mainline .app-topbar-brand{flex:1 1 auto;min-width:0}.app-topbar-meta{justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.app-topbar-user{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-user-btn{max-width:220px}.admin-workspace-tabs{width:min(100%,680px);min-width:0;display:grid;grid-template-columns:repeat(var(--admin-workspace-tab-count, 2),minmax(0,1fr));gap:3px;padding:4px;justify-self:start;border:0;border-radius:13px;background:var(--color-grey-200)}.admin-workspace-tab{min-width:0;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:0;border-radius:10px;color:var(--color-grey-600);font-size:13px;font-weight:700;line-height:1.35;white-space:nowrap;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.admin-workspace-tab:hover{color:var(--color-grey-800);background:color-mix(in srgb,var(--color-background) 52%,transparent)}.admin-workspace-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.admin-workspace-tab b{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;color:var(--color-blue-700);background:var(--color-blue-50);font-size:11px;font-weight:800}.account-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--opacity-grey-600)}.account-modal-card{width:min(96vw,560px);max-height:min(90vh,760px);overflow:auto}.account-modal-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.app-topbar-logout{margin-left:auto;flex:0 0 auto}.side-nav{min-width:0;width:100%;display:grid;gap:12px;align-content:start;position:static;overflow:visible;background:linear-gradient(180deg,color-mix(in srgb,var(--color-background) 96%,transparent),color-mix(in srgb,var(--color-grey-50) 95%,transparent));border-color:var(--line);color:var(--ink-2)}.side-nav-head{display:flex;align-items:center;gap:18px;padding:2px 2px 6px}.side-nav-user{flex:1 1 auto;min-width:0;display:grid;gap:4px;margin-top:0}.side-nav-user-name{width:100%;min-width:0;display:flex;align-items:center;gap:4px;font-size:14px;font-weight:800;color:var(--ink-1);line-height:1.2;white-space:nowrap}.side-nav-display-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.side-nav-role-label{flex:0 0 auto}.side-nav .muted{color:var(--ink-3)}.academy-logo-lockup{display:inline-flex;align-items:center;gap:10px;overflow:visible}.academy-logo-image,.academy-logo-fallback{width:42px;height:42px;border-radius:0;border:0;background:transparent;object-fit:contain;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.academy-logo-fallback{font-family:var(--font-heading);font-size:20px;font-weight:800;color:var(--color-blue-900)}.academy-logo-lockup.sm .academy-logo-image,.academy-logo-lockup.sm .academy-logo-fallback{width:32px;height:32px;border-radius:0}.academy-logo-lockup.lg .academy-logo-image,.academy-logo-lockup.lg .academy-logo-fallback{width:192px;height:192px;border-radius:0}.side-nav .academy-logo-lockup.lg .academy-logo-image,.side-nav .academy-logo-lockup.lg .academy-logo-fallback{width:96px;height:96px}.academy-logo-text{font-family:var(--font-heading);font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--ink-1);line-height:1.2}.academy-logo-lockup.sm .academy-logo-text{font-size:15px}.academy-logo-lockup.lg .academy-logo-text{font-size:30px}.login-stage{position:relative;min-height:100vh;padding:clamp(20px,3vw,42px);overflow:hidden}.login-stage-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1100px 580px at -5% -8%,var(--opacity-grey-100),transparent 62%),linear-gradient(145deg,var(--color-grey-100) 0%,var(--color-grey-50) 100%);pointer-events:none}.login-grid{position:relative;z-index:1;max-width:1260px;margin:0 auto;min-height:calc(100vh - clamp(40px,6vw,84px));display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,520px);gap:clamp(20px,3.2vw,40px);align-items:stretch}.login-hero{position:relative;padding:clamp(20px,3vw,42px);border-radius:30px;border:1px solid var(--opacity-grey-200);background:linear-gradient(152deg,var(--opacity-grey-900),var(--opacity-grey-900)),radial-gradient(620px 280px at 15% 0%,color-mix(in srgb,var(--color-teal-400) 18%,transparent),transparent 62%);box-shadow:0 24px 60px var(--opacity-grey-400);overflow:hidden;color:var(--color-grey-50);display:grid;align-content:center;gap:14px}.login-hero:before{content:"";position:absolute;right:-80px;bottom:-120px;width:380px;height:380px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-grey-500) 28%,transparent);background:radial-gradient(circle at 40% 40%,var(--opacity-grey-300),var(--opacity-grey-50) 62%,transparent 72%);pointer-events:none}.login-hero-logo{margin-bottom:8px}.login-hero-logo .academy-logo-lockup{gap:10px}.login-hero-logo .academy-logo-lockup.sm .academy-logo-image,.login-hero-logo .academy-logo-lockup.sm .academy-logo-fallback{width:38px;height:38px}.login-hero-logo .academy-logo-text{color:var(--color-grey-50);font-size:19px;letter-spacing:-.02em}.login-hero-eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.18em;color:color-mix(in srgb,var(--color-grey-200) 84%,transparent)}.login-hero-title{margin:0;font-family:SUIT,Pretendard Variable,Pretendard,Noto Sans KR,Segoe UI,sans-serif;font-size:clamp(46px,7vw,98px);line-height:.9;letter-spacing:-.04em;color:var(--color-grey-50);text-wrap:balance}.login-hero-copy{margin:8px 0 2px;max-width:580px;font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:color-mix(in srgb,var(--color-grey-200) 86%,transparent)}.login-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.login-hero-tags span{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-grey-500) 34%,transparent);background:var(--opacity-grey-400);font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--color-blue-50)}.login-panel{padding:clamp(18px,2.2vw,30px);border-radius:28px;border:1px solid color-mix(in srgb,var(--color-grey-500) 38%,transparent);background:color-mix(in srgb,var(--color-background) 90%,transparent);box-shadow:0 22px 52px var(--opacity-grey-300);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;align-content:start;gap:14px}.login-panel-head{display:grid;gap:4px}.login-panel-title{font-family:SUIT,Pretendard Variable,Pretendard,Noto Sans KR,Segoe UI,sans-serif;font-size:clamp(28px,2.4vw,36px);font-weight:800;letter-spacing:-.03em;color:var(--color-grey-900)}.login-panel-subtitle{font-size:14px;color:var(--ink-3)}.login-segment{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-segment-btn{min-height:42px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 38%,transparent);background:color-mix(in srgb,var(--color-grey-50) 90%,transparent);color:var(--ink-2);font-size:14px;font-weight:700;cursor:pointer;transition:all .16s ease}.login-segment-btn.active{border-color:var(--color-grey-400);background:var(--color-grey-100);color:var(--color-grey-900)}.login-form{display:grid;gap:10px}.login-form label{display:inline-block;margin-bottom:5px;font-size:12px;font-weight:700;color:var(--color-grey-800)}.login-form input,.login-form select{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 40%,transparent);background:color-mix(in srgb,var(--color-background) 92%,transparent);padding:10px 12px;font-size:14px;color:var(--color-grey-900)}.login-form input:focus,.login-form select:focus{outline:none;border-color:color-mix(in srgb,var(--color-blue-500) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-blue-500) 16%,transparent)}.login-email-preview{margin-top:6px;font-size:12px}.login-error{border:1px solid color-mix(in srgb,var(--color-red-500) 32%,transparent);border-radius:12px;background:color-mix(in srgb,var(--color-red-50) 72%,transparent);color:var(--color-red-800);padding:10px 12px;font-size:13px;line-height:1.45}.login-submit{min-height:48px;border-radius:12px;font-weight:800}.login-footnote{margin-top:4px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--color-grey-500) 30%,transparent);font-size:12px;line-height:1.55;color:var(--color-grey-600)}@media (max-width: 980px){.login-grid{grid-template-columns:1fr;min-height:auto}.login-hero{gap:12px;min-height:280px}.login-hero-title{font-size:clamp(40px,11vw,64px)}}.login-minimal-stage{min-height:100vh;background:var(--color-grey-100);display:grid;place-items:center;padding:24px 20px}.login-minimal-wrap{width:100%;max-width:460px;display:grid;gap:14px;padding:30px 28px 24px;border-radius:24px;border:1px solid var(--opacity-grey-200);background:color-mix(in srgb,var(--color-background) 96%,transparent);box-shadow:0 18px 42px var(--opacity-grey-200)}.login-minimal-logo{display:flex;justify-content:center;margin-bottom:2px}.login-minimal-logo .academy-logo-lockup.lg .academy-logo-image,.login-minimal-logo .academy-logo-lockup.lg .academy-logo-fallback{width:168px;height:168px}.login-minimal-form{display:grid;gap:14px}.login-phone-row,.login-verify-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.login-verify-actions{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.login-email-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(150px,200px);gap:8px;align-items:center}.login-email-at{font-size:14px;font-weight:700;color:var(--color-grey-600)}.login-line-field-inline{margin-top:8px}.login-phone-row .btn,.login-verify-row .btn{min-height:42px;white-space:nowrap}.login-phone-notice{margin-top:-4px;margin-bottom:2px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 90%,transparent);padding:10px 12px;font-size:13px;font-weight:700}.login-phone-notice.success{border-color:color-mix(in srgb,var(--color-green-500) 35%,transparent);background:color-mix(in srgb,var(--color-green-100) 28%,transparent);color:var(--color-green-900)}.login-phone-notice.error{border-color:color-mix(in srgb,var(--color-red-500) 38%,transparent);background:color-mix(in srgb,var(--color-red-100) 40%,transparent);color:var(--color-red-900)}.login-check-notice{margin-top:6px;font-size:12px;font-weight:700}.login-check-notice.success{color:var(--color-green-900)}.login-check-notice.error{color:var(--color-red-900)}.login-line-field label{display:block;font-size:13px;font-weight:600;color:var(--color-grey-700);margin-bottom:6px}.login-role-picker{display:grid;gap:8px}.login-role-picker.stage{gap:10px}.login-signup-role-stage{display:grid;gap:12px;padding:8px 2px 2px}.login-signup-role-headline{font-size:19px;font-weight:800;color:var(--color-grey-800);text-align:center}.login-signup-role-subtitle{margin-top:-4px;font-size:12px;color:var(--color-grey-600);text-align:center}.login-signup-phone-stage{display:grid;gap:12px}.login-signup-phone-headline{font-size:18px;font-weight:800;color:var(--color-grey-800);text-align:center}.login-signup-phone-subtitle{margin-top:-4px;font-size:12px;font-weight:700;color:var(--color-grey-700);text-align:center}.login-signup-next-btn{min-height:46px;border-radius:12px;margin-top:10px;margin-bottom:4px}.login-role-card{width:100%;border:1px solid var(--color-grey-200);background:linear-gradient(180deg,color-mix(in srgb,var(--color-background) 98%,transparent),color-mix(in srgb,var(--color-grey-50) 92%,transparent));border-radius:14px;min-height:66px;padding:10px 12px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.login-role-card:hover{border-color:var(--color-grey-400);box-shadow:0 8px 20px var(--opacity-grey-200)}.login-role-card:focus-visible{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-blue-500) 12%,transparent)}.login-role-card.active{border-color:var(--color-grey-900);background:var(--color-grey-100);box-shadow:0 10px 24px var(--opacity-grey-200)}.login-role-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--color-grey-800);border:1px solid var(--color-grey-300);background:var(--color-grey-100)}.login-role-icon svg{width:24px;height:24px;display:block}.login-role-copy{display:grid;gap:2px;text-align:left}.login-role-copy strong{font-size:14px;line-height:1.2;color:var(--color-grey-800)}.login-role-copy small{font-size:11px;line-height:1.35;color:var(--color-grey-700)}.login-signup-role-flag{margin-bottom:-2px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--color-grey-300);background:var(--color-grey-100)}.login-signup-role-flag span{font-size:12px;font-weight:700;color:var(--color-grey-700)}.login-role-back-btn{border:1px solid var(--color-grey-300);background:var(--color-background);color:var(--color-grey-800);border-radius:10px;min-height:32px;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.login-line-field input,.login-line-field select{width:100%;border:1px solid var(--color-grey-200);background:var(--color-background);border-radius:12px;min-height:48px;padding:11px 13px;font-size:16px;font-weight:600;color:var(--ink-1);transition:border-color .14s ease,box-shadow .14s ease}.login-line-field input::placeholder{color:var(--color-grey-400);font-size:15px;font-weight:500}.login-line-field input:focus,.login-line-field select:focus{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-blue-500) 12%,transparent)}.login-email-preview{margin-top:6px;font-size:11px;color:var(--color-grey-500)}.login-minimal-submit{width:100%;min-height:50px;border:1px solid var(--action-primary);border-radius:12px;background:var(--action-primary)!important;color:var(--color-background)!important;font-size:16px;font-weight:700;box-shadow:0 10px 22px var(--opacity-grey-300);margin-top:10px;margin-bottom:4px}.login-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;margin-bottom:4px}.login-text-link{border:1px solid var(--color-grey-200);background:var(--color-background);border-radius:12px;min-height:46px;font-size:14px;color:var(--ink-2);font-weight:600;cursor:pointer}.login-text-link-single{width:100%;margin-top:8px}.login-footnote{text-align:center;border-top:0;padding-top:0;margin-top:2px;font-size:11px;color:var(--color-grey-500)}.login-error{font-size:13px;border-radius:10px;padding:8px 10px}@media (max-width: 520px){.login-minimal-stage{padding:6px;min-height:100dvh;place-items:center}.login-minimal-wrap{max-width:100%;gap:16px;padding:14px 12px 12px;border-radius:14px}.login-minimal-logo .academy-logo-lockup.lg .academy-logo-image,.login-minimal-logo .academy-logo-lockup.lg .academy-logo-fallback{width:152px;height:152px}.login-line-field label{font-size:14px;margin-bottom:7px}.login-role-card{min-height:74px;grid-template-columns:46px minmax(0,1fr)}.login-signup-role-headline{font-size:20px}.login-signup-role-subtitle{font-size:13px}.login-signup-phone-headline{font-size:19px}.login-signup-phone-subtitle{font-size:13px}.login-signup-role-flag{padding:12px}.login-role-copy strong{font-size:15px}.login-role-copy small{font-size:12px}.login-line-field input,.login-line-field select{min-height:52px;font-size:17px;padding:12px 14px}.login-line-field input::placeholder{font-size:16px}.login-phone-row,.login-verify-row{grid-template-columns:1fr;gap:8px}.login-email-row{grid-template-columns:1fr}.login-verify-actions{justify-content:stretch}.login-phone-row .btn,.login-verify-row .btn,.login-verify-actions .btn{width:100%;min-height:46px}.login-minimal-submit,.login-text-link{min-height:50px;font-size:16px}.login-phone-notice{font-size:14px;padding:11px 12px}}.side-nav-groups{display:grid;gap:10px}.side-nav-group{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--color-background) 76%,transparent);padding:8px}.side-nav-group-title{font-size:12px;font-weight:800;color:var(--color-grey-700);letter-spacing:.01em;text-transform:none;margin:2px 4px 6px}.side-nav-items{display:grid;gap:6px}.side-link{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;border:1px solid transparent;border-radius:10px;padding:9px 12px;color:var(--color-grey-800);font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease,color .15s ease}.side-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer}.side-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.side-link-badge{margin-left:8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-red-500) 38%,transparent);background:color-mix(in srgb,var(--color-red-500) 14%,transparent);color:var(--color-red-600);font-size:11px;font-weight:800;line-height:18px;text-align:center;flex:0 0 auto}.side-link:hover{background:var(--color-grey-50);color:var(--ink-1)}.side-link.active{border-color:var(--color-grey-300);background:var(--color-grey-100);color:var(--color-grey-900)}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:var(--glass);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:var(--shadow-lg)}.brand{font-weight:800;letter-spacing:.2px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card{border:1px solid var(--line);border-radius:var(--radius-card);padding:18px;background:var(--glass);backdrop-filter:blur(10px) saturate(132%);-webkit-backdrop-filter:blur(10px) saturate(132%);box-shadow:var(--shadow-md);min-width:0}.desktop-only{display:block}.mobile-only{display:none!important}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--opacity-grey-400);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;z-index:70}.mobile-nav-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav-drawer{position:fixed;left:0;top:0;bottom:0;width:min(88vw,360px);padding:10px;transform:translate(-108%);opacity:0;pointer-events:none;transition:transform .24s ease,opacity .24s ease;z-index:80}.mobile-nav-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.mobile-nav-drawer .side-nav{position:static;top:auto;max-height:calc(100vh - 20px);height:100%;width:100%;padding:14px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.mobile-nav-drawer .side-nav .side-nav-groups{overflow:auto;min-height:0;padding-right:2px}.mobile-nav-drawer .side-nav .side-nav-user-name{font-size:15px}.mobile-nav-drawer .side-nav .side-nav-group-title{font-size:12px}.mobile-nav-drawer .side-nav .side-link{min-height:46px;font-size:15px;padding:10px 12px}.mobile-nav-drawer .side-nav .side-link-badge{min-width:22px;height:22px;line-height:20px;font-size:12px}@media (min-width: 921px){.mobile-nav-overlay,.mobile-nav-drawer{display:none}}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2>*,.grid.cols-3>*{min-width:0}.schedule-page,.schedule-page .grid,.schedule-page .grid-2,.schedule-page .card,.schedule-page .sheet-wrap{width:100%;min-width:0}.schedule-section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:min(100%,460px);justify-self:start;padding:4px;border-radius:13px;background:var(--color-grey-200)}.schedule-section-tabs .member-schedule-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border-radius:10px;color:var(--color-grey-600);font-size:13px;font-weight:700;letter-spacing:-.012em;-webkit-tap-highlight-color:transparent}.schedule-section-tabs .member-schedule-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.schedule-section-tabs .member-schedule-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (max-width: 920px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.grid-2,.grid-3,.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.container{padding:12px}.app-shell{width:100%;max-width:100%;margin:0;padding:10px 8px;gap:10px;grid-template-columns:1fr}.app-main{width:100%;max-width:100%;min-width:0;gap:10px;padding-top:112px}.grid,.card{width:100%;max-width:100%;min-width:0}.row>*{min-width:0}.app-topbar{position:fixed;flex-direction:column;align-items:stretch;top:max(6px,env(safe-area-inset-top));left:8px;right:8px;width:auto;margin:0;border-radius:16px;padding:14px;z-index:90}.app-topbar .row{width:100%;justify-content:flex-start}.app-topbar-head{width:100%}.app-topbar .row{flex-wrap:nowrap;gap:8px}.app-topbar-brand{min-width:0;font-size:clamp(18px,5.6vw,24px);line-height:1.2;overflow-wrap:anywhere;word-break:keep-all}.app-topbar-meta{width:100%;justify-content:flex-start;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;gap:6px;padding-bottom:2px;padding-right:2px;-webkit-overflow-scrolling:touch}.app-topbar-meta .app-topbar-logout{margin-left:auto}.app-topbar-user{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.badge{max-width:100%;white-space:normal;line-height:1.35}.desktop-only{display:none!important}.mobile-only{display:inline-flex!important}.side-nav{position:static;max-height:none}.side-nav-groups{grid-template-columns:1fr}.card{border-radius:16px;padding:14px}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid,.dashboard-tables-grid,.dashboard-parent-schedule-grid{grid-template-columns:1fr}.dashboard-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero-main{flex-direction:column;align-items:stretch}.dashboard-hero-controls{width:100%}.dashboard-sheet-wrap{max-height:260px}.dashboard-announcement-targets,.notice-board-targets{grid-template-columns:repeat(2,minmax(0,1fr));max-height:180px}.monitor-slot-pill .monitor-slot-range{display:none}.demerit-actions input{width:100%}.demerit-note-cell{max-width:260px}}.h1{font-size:clamp(22px,1.9vw,28px);font-family:var(--font-heading);font-weight:800;line-height:1.25;margin:0 0 8px;letter-spacing:var(--ls-h1)}.h2{font-size:clamp(16px,1.1vw,19px);font-family:var(--font-heading);font-weight:700;line-height:1.35;margin:0 0 6px;letter-spacing:var(--ls-h2);color:var(--ink-1)}.muted{color:var(--ink-3);font-size:13px;font-weight:500;letter-spacing:-.002em}hr{border:none;border-top:1px solid var(--line);margin:12px 0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-family:var(--font-body);font-size:14px;letter-spacing:-.003em;color:var(--ink-1);background:var(--glass-strong);outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--color-grey-600);box-shadow:0 0 0 4px var(--focus-ring)}textarea{min-height:86px;resize:vertical}label{display:block;font-size:12px;color:var(--ink-2);margin:0 0 6px;font-weight:700;letter-spacing:.01em}.btn{background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;font-family:var(--font-body);font-size:14px;letter-spacing:-.003em;padding:9px 12px;color:var(--ink-1);cursor:pointer;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px var(--opacity-grey-300)}.btn.primary{background:var(--action-primary);color:var(--color-background);border-color:var(--action-primary)}.btn.primary:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover)}.btn.primary:active{background:var(--action-primary-pressed);border-color:var(--action-primary-pressed)}.btn.danger{background:var(--color-red-500);color:var(--color-background);border-color:var(--color-red-500)}.btn.success{background:var(--color-green-500);color:var(--color-background);border-color:var(--color-green-500)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.nav-arrow-btn{width:34px;min-width:34px;min-height:34px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.nav-date-chip{min-height:34px;padding:7px 12px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 86%,transparent);color:var(--ink-2);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:-.003em;vertical-align:middle}.table th{color:var(--ink-3);font-weight:700;letter-spacing:.005em}.table tbody tr:nth-child(2n){background:var(--opacity-grey-50)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-blue-500) 6%,transparent)}.table tbody tr.member-row-group-start td{border-top:2px solid color-mix(in srgb,var(--color-blue-500) 20%,transparent)}.table tbody tr.member-row-parent td{background:color-mix(in srgb,var(--color-blue-500) 3.5%,transparent)}.member-name-cell{display:inline-flex;align-items:center;gap:6px;font-weight:600}.member-type-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.3;border:1px solid transparent}.member-type-pill.adult{background:color-mix(in srgb,var(--color-green-500) 12%,transparent);color:var(--color-green-600);border-color:color-mix(in srgb,var(--color-green-500) 28%,transparent)}.member-name-cell.is-parent{font-weight:500;color:var(--ink-2)}.member-name-cell.is-parent:before{content:"↳";color:var(--ink-3);font-weight:700}.member-link-summary{margin-top:6px}.member-link-stack{display:flex;flex-direction:column;gap:4px}.member-link-item{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.member-link-chip{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent;line-height:1.3}.member-link-chip.parent{background:color-mix(in srgb,var(--color-blue-600) 10%,transparent);color:var(--color-blue-800);border-color:color-mix(in srgb,var(--color-blue-600) 25%,transparent)}.member-link-chip.student{background:color-mix(in srgb,var(--color-teal-600) 10%,transparent);color:var(--color-teal-800);border-color:color-mix(in srgb,var(--color-teal-600) 25%,transparent)}.member-link-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}.member-link-status.connected,.member-link-status.adult{background:color-mix(in srgb,var(--color-green-500) 12%,transparent);color:var(--color-green-600);border-color:color-mix(in srgb,var(--color-green-500) 30%,transparent)}.member-link-status.warning{background:color-mix(in srgb,var(--color-orange-500) 15%,transparent);color:var(--color-orange-900);border-color:color-mix(in srgb,var(--color-orange-500) 32%,transparent)}.member-link-status.missing{background:color-mix(in srgb,var(--color-red-500) 12%,transparent);color:var(--color-red-600);border-color:color-mix(in srgb,var(--color-red-500) 30%,transparent)}.member-link-status.na{background:var(--opacity-grey-100);color:var(--ink-3);border-color:var(--opacity-grey-200)}.member-action-stack{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table th.is-sortable{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:20px}.table th.is-sortable:after{content:"↕";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--color-grey-500)}.table th.is-sortable:hover{color:var(--ink-1)}.table th.is-sortable.is-sorted-asc:after{content:"▲";color:var(--primary-strong)}.table th.is-sortable.is-sorted-desc:after{content:"▼";color:var(--primary-strong)}.student-schedule-panels .card{min-width:0;height:100%;display:flex;flex-direction:column}.student-schedule-panels{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1.3fr);gap:12px;align-items:stretch}.student-schedule-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 88%,transparent);color:var(--ink-2);font-size:12px;font-weight:700;white-space:nowrap}.student-schedule-chip.type-regular{border-color:var(--opacity-grey-300);background:var(--opacity-grey-200)}.student-schedule-chip.type-late{border-color:color-mix(in srgb,var(--color-orange-500) 35%,transparent);color:var(--color-red-900);background:color-mix(in srgb,var(--color-orange-500) 16%,transparent)}.student-schedule-chip.type-outing{border-color:color-mix(in srgb,var(--color-blue-500) 35%,transparent);color:var(--color-blue-800);background:color-mix(in srgb,var(--color-blue-500) 14%,transparent)}.student-schedule-chip.type-early_leave{border-color:color-mix(in srgb,var(--color-blue-500) 35%,transparent);color:var(--color-blue-900);background:color-mix(in srgb,var(--color-blue-500) 14%,transparent)}.student-schedule-chip.type-absence{border-color:color-mix(in srgb,var(--color-red-500) 35%,transparent);color:var(--color-red-800);background:color-mix(in srgb,var(--color-red-500) 14%,transparent)}.student-schedule-chip.status-approved{border-color:color-mix(in srgb,var(--color-green-500) 35%,transparent);color:var(--color-green-600);background:color-mix(in srgb,var(--color-green-500) 14%,transparent)}.student-schedule-chip.status-rejected{border-color:color-mix(in srgb,var(--color-red-500) 35%,transparent);color:var(--color-red-800);background:color-mix(in srgb,var(--color-red-500) 14%,transparent)}.student-schedule-chip.status-pending_parent,.student-schedule-chip.status-pending_admin{border-color:color-mix(in srgb,var(--color-orange-500) 35%,transparent);color:var(--color-red-900);background:color-mix(in srgb,var(--color-orange-500) 14%,transparent)}.student-regular-row.today{box-shadow:inset 4px 0 color-mix(in srgb,var(--color-blue-500) 45%,transparent)}.student-regular-row.today.type-late{background:color-mix(in srgb,var(--color-orange-500) 8%,transparent)}.student-regular-row.today.type-outing,.student-regular-row.today.type-early_leave{background:color-mix(in srgb,var(--color-blue-500) 8%,transparent)}.student-regular-row.today.type-absence{background:color-mix(in srgb,var(--color-red-500) 8%,transparent)}.student-irregular-row.type-late{background:color-mix(in srgb,var(--color-orange-500) 6%,transparent)}.student-irregular-row.type-outing,.student-irregular-row.type-early_leave{background:color-mix(in srgb,var(--color-blue-500) 6%,transparent)}.student-irregular-row.type-absence{background:color-mix(in srgb,var(--color-red-500) 6%,transparent)}.student-irregular-table{min-width:760px;table-layout:auto}.student-irregular-table th,.student-irregular-table td{white-space:nowrap}.student-irregular-table .student-irregular-reason{min-width:280px;white-space:normal;word-break:keep-all;line-height:1.45}.student-regular-scroll,.student-irregular-scroll{height:420px;overflow:auto}.student-patrol-scroll{height:280px;overflow:auto;scrollbar-gutter:stable}.student-patrol-table{min-width:720px}.student-patrol-table th,.student-patrol-table td{white-space:nowrap}.demerit-note{white-space:pre-line;line-height:1.45}.demerit-entry-card,.demerit-page-card{min-width:0}.demerit-member-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;padding:4px;border-radius:13px;background:var(--color-grey-200)}.demerit-member-tabs .member-schedule-tab{min-height:40px;padding:0 12px;border:0;border-radius:10px;color:var(--color-grey-600);background:transparent;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer}.demerit-member-tabs .member-schedule-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.demerit-section-heading,.demerit-page-head{display:grid;gap:3px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-grey-200)}.demerit-section-heading .h2,.demerit-page-head .h2{margin-bottom:0;font-size:15px;font-weight:700}.demerit-section-heading>span,.demerit-page-head>span{color:var(--color-grey-600);font-size:12px;font-weight:500;line-height:1.45}.demerit-entry-fields{gap:10px;flex-wrap:wrap}.demerit-entry-content{margin-top:12px}.demerit-entry-help,.demerit-summary-context{color:var(--color-grey-600);font-size:12px;font-weight:500;line-height:1.45}.demerit-entry-help{margin-top:7px}.demerit-entry-submit{justify-content:flex-end;margin-top:12px}.demerit-filter-layout{min-width:0}.demerit-reason-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:2px}.demerit-reason-overview>div,.demerit-reason-overview>button{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding:12px 32px 12px 13px;border:1px solid var(--color-grey-200);border-radius:12px;background:var(--color-grey-50)}.demerit-reason-overview>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;border-color:var(--color-grey-300);background:var(--color-background);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.demerit-reason-overview>button:hover{border-color:var(--color-grey-400);background:var(--color-grey-50)}.demerit-reason-overview>button:focus-visible{outline:3px solid var(--color-blue-100);outline-offset:2px}.demerit-reason-overview>button strong:after{content:"›";position:absolute;top:50%;right:13px;transform:translateY(-50%);color:var(--color-grey-500);font-weight:700}.demerit-reason-overview>div.is-available{border-color:var(--color-blue-100);background:var(--color-blue-50)}.demerit-reason-overview span{color:var(--color-grey-600);font-size:11.5px;font-weight:700;white-space:nowrap}.demerit-reason-overview strong{color:var(--color-grey-900);font-size:17px;font-weight:800;line-height:1.25;white-space:nowrap}.demerit-admin-review-tabs{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:12px 0 18px;padding:4px;border:1px solid var(--color-grey-200);border-radius:12px;background:var(--color-grey-100)}.demerit-admin-review-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:0;border-radius:9px;color:var(--color-grey-600);background:transparent;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer}.demerit-admin-review-tab:hover{color:var(--color-grey-800)}.demerit-admin-review-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.demerit-admin-review-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.demerit-admin-review-count{min-width:30px;padding:3px 7px;border-radius:999px;color:var(--color-blue-700);background:var(--color-blue-50);font-size:11px;font-weight:800;line-height:1.2;text-align:center}.demerit-submitted-reason-cell{color:var(--color-grey-900);font-weight:650;line-height:1.55;white-space:normal}.demerit-review-actions{flex-wrap:nowrap}.demerit-filter-controls label{color:var(--color-grey-600);font-size:12px;font-weight:700}.demerit-summary-panel{display:grid;flex:0 0 248px;gap:8px;min-width:0;margin-left:auto;padding:13px 14px;border:1px solid var(--color-grey-200);border-radius:14px;background:var(--color-grey-50)}.demerit-summary-primary{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.demerit-summary-primary span{color:var(--color-grey-600);font-size:12px;font-weight:700}.demerit-summary-primary strong{color:var(--color-grey-900);font-size:17px;font-weight:800;line-height:1.25;white-space:nowrap}.demerit-reason-deadline{color:var(--color-grey-600);font-size:11.5px;font-weight:650;white-space:nowrap}.demerit-reason-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border:1px solid var(--color-grey-200);border-radius:999px;color:var(--color-grey-700);background:var(--color-grey-100);font-family:var(--font-body);font-size:11.5px;font-weight:750;line-height:1.2;white-space:nowrap;cursor:pointer}.demerit-reason-status-badge.is-pending{border-color:var(--color-blue-100);color:var(--color-blue-700);background:var(--color-blue-50)}.demerit-reason-status-badge.is-approved{border-color:var(--color-green-100);color:var(--color-green-700);background:var(--color-green-50)}.demerit-reason-status-badge.is-rejected{border-color:var(--color-red-100);color:var(--color-red-700);background:var(--color-red-50)}.demerit-reason-status-badge:focus-visible{outline:3px solid var(--color-blue-100);outline-offset:2px}.demerit-page-card>hr{margin:14px 0;border-color:var(--color-grey-200)}.demerit-table th,.demerit-table td{text-align:center;vertical-align:middle}.demerit-table{min-width:1320px;font-size:12.5px}.demerit-table th{color:var(--color-grey-600);background:var(--color-grey-50);font-size:11.5px;font-weight:750}.demerit-table td{color:var(--color-grey-800);line-height:1.45}.demerit-table tbody tr:hover td{background:color-mix(in srgb,var(--color-blue-50) 46%,var(--color-background))}.demerit-table select,.demerit-table input[type=number]{min-height:34px;font-size:12.5px}.demerit-table input[type=number]{text-align:center}.demerit-entry-type-cell,.demerit-point-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.demerit-note-cell{text-align:left!important;white-space:normal;max-width:280px}.demerit-note-text{display:-webkit-box;overflow:hidden;color:var(--color-grey-700);line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.demerit-empty-state{display:grid;min-height:140px;place-items:center;padding:20px;color:var(--color-grey-600);font-size:13px;text-align:center}.demerit-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.demerit-pagination .btn{min-width:72px}.demerit-pagination>span{min-width:56px;color:var(--color-grey-600);font-size:12.5px;font-weight:650;text-align:center}.demerit-pagination>span b{color:var(--color-grey-900);font-weight:800}.demerit-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}.demerit-actions .btn{min-width:78px;width:78px;height:34px;padding:0 9px;font-size:12px;font-weight:700;border-radius:10px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center}.sheet-wrap .table td .btn{height:30px;min-height:30px;padding-top:0;padding-bottom:0;border-radius:10px;font-size:12px;line-height:1.2}.payment-amount-edit{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.payment-amount-input{flex:1 1 auto;min-width:0;text-align:right}.payment-amount-save-btn{flex:0 0 auto;min-width:64px;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.payment-summary-card{min-width:0}.meal-payment-table{min-width:1080px}.textbook-payment-entry-grid{display:grid;grid-template-columns:minmax(280px,1.8fr) minmax(130px,.7fr) minmax(150px,.8fr) auto;gap:10px;align-items:end}.textbook-payment-student-field{grid-column:1 / -1;display:grid;gap:8px}.textbook-student-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.textbook-student-picker-head label{margin:0}.textbook-student-picker-head strong{margin-left:6px;color:var(--color-blue-600);font-size:12px}.textbook-student-picker-head .btn.compact{min-height:32px;padding:0 10px;font-size:12px}.textbook-student-search{max-width:280px}.textbook-student-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;max-height:174px;padding:8px;overflow-y:auto;border:1px solid var(--color-grey-200);border-radius:12px;background:var(--color-grey-50)}.textbook-student-option{display:flex;align-items:center;gap:7px;min-width:0;min-height:36px;margin:0;padding:0 10px;border:1px solid transparent;border-radius:9px;color:var(--color-grey-700);background:var(--color-background);cursor:pointer}.textbook-student-option.selected{border-color:var(--color-blue-200);color:var(--color-blue-700);background:var(--color-blue-50)}.textbook-student-option input{width:16px;min-width:16px;height:16px;margin:0}.textbook-student-option span{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.textbook-student-empty{grid-column:1 / -1;padding:8px;text-align:center}.textbook-payment-entry-grid>div,.textbook-payment-entry-grid input,.textbook-payment-entry-grid select{min-width:0}.textbook-payment-create-btn{min-width:112px;white-space:nowrap}.textbook-payment-table{min-width:1250px}.textbook-payment-table input{min-width:0;width:100%}.member-payment-page{width:100%}.member-payment-head,.member-payment-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.member-payment-month-control{display:flex;align-items:center;gap:6px}.member-payment-month-control input{width:150px}.member-payment-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start}.member-payment-section{display:flex;flex-direction:column;height:330px;min-width:0;overflow:hidden}.member-payment-section-head.has-month-control{flex-wrap:wrap}.member-payment-title-status{display:flex;align-items:center;gap:8px;min-width:0;flex:0 0 auto}.member-payment-month-control-inline{gap:4px}.member-payment-month-control-inline input{width:132px;min-height:34px;padding:5px 8px;font-size:13px}.member-payment-month-control-inline .nav-arrow-btn{width:34px;min-width:34px;min-height:34px;padding:0}.member-payment-detail-list{display:grid;gap:0;margin-top:12px}.member-payment-unpaid-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.member-payment-unpaid-summary>div{display:grid;align-content:center;gap:5px;min-width:0;min-height:64px;padding:10px 12px;border-radius:12px;background:var(--color-grey-50)}.member-payment-unpaid-summary span{color:var(--color-grey-600);font-size:12px}.member-payment-unpaid-summary strong{color:var(--color-grey-900);font-size:16px;font-weight:750}.member-payment-detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border-top:1px solid var(--color-grey-100)}.member-payment-detail-list span,.member-textbook-row span{color:var(--color-grey-600);font-size:12px}.member-payment-detail-list strong,.member-textbook-row strong{color:var(--color-grey-900);font-size:14px;font-weight:750}.member-payment-unpaid-summary strong.is-unpaid{color:var(--color-red-500)}.member-payment-empty{margin-top:14px}.member-textbook-list{display:grid;align-content:start;min-height:0;margin-top:12px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain}.member-textbook-month-summary{padding:10px 0;border-top:1px solid var(--color-grey-100);font-size:12px}.member-textbook-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:8px 0;border-top:1px solid var(--color-grey-100)}.member-textbook-row>div:first-child{display:grid;gap:3px;min-width:0}.member-textbook-row>div:first-child strong{overflow-wrap:anywhere}.member-textbook-row-payment{display:flex;align-items:center;gap:8px;flex:0 0 auto}.payment-load-error{color:var(--color-red-600)}@media (max-width: 1080px){.textbook-payment-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.textbook-payment-item-field{grid-column:span 2}.textbook-payment-create-btn{width:100%}}@media (max-width: 640px){.textbook-payment-entry-grid{grid-template-columns:1fr}.textbook-payment-item-field{grid-column:auto}.textbook-student-picker-head{align-items:flex-start}.textbook-student-search{max-width:none}.textbook-student-checklist{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.member-payment-head{align-items:flex-start;flex-direction:column}.member-payment-sections{grid-template-columns:1fr}.member-payment-month-control,.member-payment-month-control input{width:100%}.member-payment-month-control input{flex:1 1 auto}.member-payment-section-head.has-month-control{align-items:center;flex-direction:row}.member-payment-month-control-inline{width:auto;margin-left:auto}.member-payment-month-control-inline input{flex:0 1 122px;width:122px}.member-textbook-row{align-items:flex-start}.member-textbook-row-payment{align-items:flex-end;flex-direction:column}}.meal-payment-breakdown{display:grid;gap:3px;white-space:nowrap}.meal-payment-breakdown span{color:var(--ink-3);font-size:11px;font-weight:700}.meal-payment-breakdown strong{color:var(--ink-1);font-weight:800;white-space:nowrap}.demerit-actions input{width:220px}.demerit-inline-note{width:100%;text-align:left}.reason-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--opacity-grey-500);display:flex;align-items:center;justify-content:center;z-index:120;padding:16px}.reason-overlay-card{width:min(460px,100%);border:1px solid var(--line);border-radius:14px;background:var(--color-background);box-shadow:0 16px 32px var(--opacity-grey-300);padding:14px;display:grid;gap:8px}.reason-overlay-title{font-weight:700;color:var(--ink-1)}.reason-overlay-line{color:var(--ink-2);line-height:1.45;word-break:break-word}.menu-board-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;background:var(--opacity-grey-600);display:flex;align-items:center;justify-content:center;padding:12px}.menu-board-card{width:min(1120px,100%);max-height:calc(100vh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--color-background);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 24px 52px var(--opacity-grey-400)}.menu-board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 96%,transparent)}.menu-board-title{font-size:15px;font-weight:800;color:var(--ink-1)}.menu-board-body{overflow:auto;padding:10px;background:var(--color-grey-50);touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.menu-board-image{display:block;width:max(960px,100%);height:auto;border:1px solid var(--line);border-radius:10px;background:var(--color-background)}.jundosirak-menu-table{margin:0;background:var(--color-background)}.jundosirak-menu-table th,.jundosirak-menu-table td{vertical-align:top}.fixed-meal-table{margin:0;background:var(--color-background);table-layout:fixed}.fixed-meal-table th,.fixed-meal-table td{vertical-align:top;padding:8px 10px;line-height:1.45}.fixed-meal-menu-cell{white-space:pre-line;line-height:1.55}.weekly-menu-card{margin-bottom:18px;padding:0;border:0;background:transparent;box-shadow:none}.weekly-menu-card:after{display:none}.meal-section-kicker{width:max-content;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:900;line-height:1.2}.meal-section-kicker.choice{background:var(--color-grey-100);color:var(--color-grey-700)}.weekly-menu-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:16px;align-items:start}.weekly-menu-meta-card,.weekly-menu-board-card{padding:16px;border:1px solid var(--opacity-grey-100);border-radius:var(--radius-card);box-shadow:0 10px 24px var(--opacity-grey-100);background:var(--color-background)}.meal-section-kicker.apply{background:var(--color-teal-50);color:var(--color-green-900)}.weekly-menu-top{justify-content:flex-start;align-items:flex-start}.weekly-menu-headline{padding-top:2px}.weekly-menu-meta-panels{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.weekly-menu-week-panel{width:100%}.weekly-menu-fixed-week{display:grid;gap:3px}.weekly-menu-fixed-week strong{color:var(--color-grey-900);font-size:14px}.weekly-menu-fixed-week span{color:var(--color-grey-600);font-size:12px}.weekly-menu-side-panel{display:flex;flex-direction:column;justify-content:flex-start;border:1px solid color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-radius:16px;padding:14px;min-height:88px;background:var(--color-background);box-shadow:none}.weekly-menu-side-title,.weekly-menu-board-header{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--color-grey-600);text-transform:uppercase}.weekly-menu-board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.weekly-menu-board-head .weekly-menu-board-header{margin-bottom:0}.weekly-menu-swipe-guide{display:none;align-items:center;gap:4px;color:var(--color-grey-500);font-size:11px;font-weight:700;white-space:nowrap}.weekly-menu-swipe-guide b{color:var(--color-grey-600);font-size:17px;font-weight:600;line-height:1}.weekly-menu-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weekly-menu-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--color-grey-100);color:var(--color-grey-700);font-size:13px;font-weight:900;white-space:normal;line-height:1.35;text-align:center}.weekly-menu-status.is-closed{background:var(--color-grey-100);color:var(--ink-3)}.weekly-menu-confirm-btn{width:100%}.weekly-menu-day-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-radius:12px;background:var(--color-background)}.weekly-menu-day-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.weekly-menu-date-line{display:flex;flex:1 1 auto;align-items:baseline;gap:7px;min-width:0}.weekly-menu-date{flex:0 0 auto;font-weight:800;color:var(--ink-1)}.weekly-menu-current-choice{min-width:0;color:var(--color-grey-600);font-size:12px;font-weight:650;line-height:1.4;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.weekly-menu-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}.weekly-menu-choice-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:start;gap:4px 8px;min-height:94px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-radius:10px;background:var(--color-background);color:var(--color-grey-700);text-align:left;cursor:pointer;box-shadow:0 1px 0 var(--opacity-grey-50);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.weekly-menu-choice-btn .weekly-menu-choice-category{grid-column:1;font-size:14px;font-weight:900;line-height:1.2;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance;white-space:normal}.weekly-menu-choice-copy{grid-column:1 / -1;display:grid;gap:2px;min-width:0}.weekly-menu-choice-copy strong{color:var(--color-grey-700);font-size:12px;font-weight:650;line-height:1.4;word-break:keep-all;overflow-wrap:break-word;white-space:normal}.weekly-menu-choice-copy small{color:var(--color-grey-500);font-size:11px;font-weight:500;line-height:1.4;word-break:keep-all;overflow-wrap:break-word;white-space:normal}.weekly-menu-choice-btn em{grid-column:2;grid-row:1;width:max-content;justify-self:end;padding:3px 7px;border-radius:999px;background:var(--color-grey-50);color:var(--color-grey-600);font-size:11px;font-style:normal;font-weight:900;line-height:1}.weekly-menu-choice-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-grey-500) 28%,transparent);color:var(--color-grey-800);box-shadow:0 6px 14px var(--opacity-grey-100)}.weekly-menu-choice-btn.active{border-color:color-mix(in srgb,var(--color-blue-500) 24%,transparent);background:var(--color-grey-50);color:var(--color-blue-900);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-blue-500) 12%,transparent)}.weekly-menu-choice-btn.active em{background:var(--color-blue-500);color:var(--color-background)}.weekly-menu-choice-btn:disabled{cursor:not-allowed;opacity:.58}.weekly-menu-state{flex:0 0 auto;justify-self:start;padding:4px 7px;border-radius:999px;background:var(--color-grey-50);color:var(--color-grey-600);font-size:12px;font-weight:800;white-space:nowrap}.weekly-menu-state.is-locked{background:var(--color-grey-100);color:var(--ink-3)}.meal-admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--color-grey-200)}.meal-admin-card-head>div:first-child{display:grid;gap:3px;min-width:0}.meal-admin-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.meal-admin-overview-item{display:grid;align-content:start;gap:5px;min-width:0;padding:15px 16px;border:1px solid var(--color-grey-200);border-radius:13px;background:var(--color-grey-50)}.meal-admin-overview-item>span{color:var(--color-grey-600);font-size:12px;font-weight:700}.meal-admin-overview-item>strong{color:var(--color-grey-900);font-size:22px;font-weight:800;line-height:1.25;letter-spacing:-.025em}.meal-admin-overview-item>small{color:var(--color-grey-500);font-size:11px;font-weight:650;line-height:1.4}.meal-admin-overview-item.needs-action{border-color:var(--color-blue-100);background:var(--color-blue-50)}.meal-admin-overview-item.needs-action>strong{color:var(--color-blue-700)}.meal-admin-choice-summary-card{display:grid;gap:18px;min-width:0}.meal-admin-choice-head{align-items:flex-end}.meal-admin-choice-week-field{display:grid;flex:0 1 360px;gap:5px;width:min(100%,360px)}.meal-admin-choice-week-field label{color:var(--color-grey-600);font-size:11px;font-weight:700}.meal-admin-choice-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.8fr);gap:14px;align-items:stretch}.meal-admin-choice-section,.meal-admin-choice-status{min-width:0;padding:15px 16px;border:1px solid var(--color-grey-200);border-radius:13px;background:var(--color-background)}.meal-admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:8px}.meal-admin-section-title strong{color:var(--color-grey-900);font-size:13px;font-weight:800}.meal-admin-section-title span{color:var(--color-grey-500);font-size:11px;font-weight:700}.meal-admin-choice-status{display:grid;align-content:start;gap:7px;background:var(--color-grey-50)}.meal-admin-choice-status>span{color:var(--color-grey-600);font-size:12px;font-weight:700}.meal-admin-choice-status>strong{color:var(--color-grey-900);font-size:24px;font-weight:800;line-height:1.2}.meal-admin-choice-status>p{margin:0;color:var(--color-grey-600);font-size:12px;font-weight:650;line-height:1.55;word-break:keep-all}.meal-admin-choice-status.needs-action{border-color:var(--color-blue-100);background:var(--color-blue-50)}.meal-admin-choice-status.needs-action>strong{color:var(--color-blue-700)}.meal-admin-choice-detail{min-width:0;padding-top:16px;border-top:1px solid var(--color-grey-200)}.meal-admin-empty-state{padding:18px 4px 8px;color:var(--color-grey-500);font-size:12px;text-align:center}.weekly-admin-summary-list{display:grid;gap:0}.monthly-choice-order-summary{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-grey-200)}.monthly-choice-order-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}.monthly-choice-order-head b{color:var(--ink-1);font-size:13px;font-weight:900}.monthly-choice-order-head span{color:var(--color-grey-600);font-size:12px;font-weight:750}.monthly-choice-order-items{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.monthly-choice-order-item{display:inline-flex;align-items:baseline;gap:5px;padding:6px 9px;border:1px solid var(--color-grey-200);border-radius:999px;background:var(--color-grey-50);color:var(--color-grey-700);font-size:12px;font-weight:800;white-space:nowrap}.monthly-choice-order-item strong{color:var(--color-blue-800);font-size:13px;font-weight:900}.weekly-admin-summary-row{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-grey-100)}.weekly-admin-summary-row:last-child{border-bottom:0}.weekly-admin-summary-date{font-size:14px;font-weight:900;color:var(--ink-1)}.weekly-admin-summary-chips{display:flex;flex-wrap:wrap;gap:8px}.weekly-admin-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--color-grey-50);color:var(--color-grey-700);border:1px solid var(--color-grey-200)}.weekly-admin-summary-chip b{font-size:12px;font-weight:900}.weekly-admin-summary-chip em{font-size:12px;font-style:normal;font-weight:800;color:var(--color-blue-600)}.weekly-admin-group-table-wrap{overflow-x:auto;border:1px solid var(--color-grey-200);border-radius:13px;background:var(--color-background)}.weekly-admin-group-table{min-width:760px}.weekly-admin-group-table thead th{background:var(--color-grey-50);font-size:12px;font-weight:900}.weekly-admin-group-table tbody td{vertical-align:top}.weekly-admin-group-date-cell{font-size:13px;font-weight:900;color:var(--ink-1);white-space:nowrap}.weekly-admin-group-category{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--color-teal-50);color:var(--color-blue-800);font-size:11px;font-weight:900;white-space:nowrap}.weekly-admin-group-menu-cell{font-size:15px;font-weight:800;line-height:1.45;color:var(--color-grey-900);min-width:180px}.weekly-admin-group-count-cell{font-size:13px;font-weight:900;color:var(--color-blue-600);white-space:nowrap}.weekly-admin-student-tags{display:flex;flex-wrap:wrap;gap:8px}.weekly-admin-student-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:10px;background:var(--color-grey-50);border:1px solid color-mix(in srgb,var(--color-grey-500) 14%,transparent);color:var(--color-grey-800);font-size:12px;font-weight:800}@media (max-width: 1180px){.meal-admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-admin-choice-overview{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.meal-admin-card-head{align-items:stretch;flex-direction:column}.meal-admin-card-head>.btn{align-self:flex-start}.meal-admin-choice-head{align-items:stretch}.meal-admin-choice-week-field{width:100%}.meal-admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.meal-admin-overview-item{padding:13px 12px}.meal-admin-overview-item>strong{font-size:19px}.monthly-choice-order-head{align-items:flex-start;flex-direction:column}.weekly-admin-summary-row{grid-template-columns:minmax(0,1fr);gap:7px}.monthly-choice-order-summary{gap:9px}.weekly-menu-layout{grid-template-columns:1fr}.weekly-menu-board-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-inline:0;padding:0;overflow:visible}.weekly-menu-day-card{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:12px}.weekly-menu-day-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;padding:0;border-right:0}.weekly-menu-swipe-guide{display:inline-flex}.weekly-menu-category-grid{display:flex;gap:8px;margin-inline:-2px;padding:2px 22px 8px 2px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:2px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.weekly-menu-category-grid::-webkit-scrollbar{display:none}.weekly-menu-choice-btn{flex:0 0 calc(88% - 8px);scroll-snap-align:start;scroll-snap-stop:always}}@media (max-width: 1200px) and (min-width: 721px){.weekly-menu-layout{grid-template-columns:1fr}.weekly-menu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1200px) and (min-width: 721px){.weekly-menu-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.meal-apply-card{border-top:0;background:var(--color-background)}.meal-registration-card>.h2{margin-bottom:2px}.meal-register-step-heading{margin-bottom:12px}.meal-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;padding:4px;border-radius:13px;background:var(--color-grey-200)}.meal-section-tabs .meal-section-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:0;border-radius:10px;color:var(--color-grey-600);background:transparent;font:inherit;font-size:12px;font-weight:700;letter-spacing:-.012em;cursor:pointer;-webkit-tap-highlight-color:transparent}.meal-section-tabs .meal-section-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.meal-section-tabs .meal-section-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.meal-page-grid>.meal-section-tabs,.meal-page-grid>.meal-admin-scope-card{order:1}.meal-page-grid>.meal-section-card,.meal-page-grid>.meal-admin-summary-card{order:2}.meal-page-grid>.meal-registration-card{order:3}.meal-page-grid>.meal-admin-choice-summary-card{order:4}.meal-page-grid>.meal-fixed-upload-card{order:5}.meal-page-grid>.meal-admin-student-card{order:6}.meal-section-toolbar{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-grey-200)}.meal-admin-scope-card .meal-section-toolbar{margin:0;padding:0;border:0}.meal-priority-task-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid var(--color-blue-100);border-radius:12px;background:var(--color-blue-50)}.meal-priority-task-alert>div{display:grid;gap:3px}.meal-priority-task-alert strong{color:var(--color-grey-900);font-size:13px}.meal-priority-task-alert span{color:var(--color-grey-600);font-size:12px}.meal-section-card,.meal-primary-task-card,.meal-history-card{min-width:0}.meal-primary-task-head{display:flex;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-grey-200)}.meal-primary-task-card .meal-register-choice-step{padding-top:0;border-top:0}.weekly-menu-guidance{margin-bottom:10px;font-size:12px}.weekly-menu-confirm-footer{padding-top:14px;border-top:1px solid var(--color-grey-200)}.weekly-menu-confirm-footer .weekly-menu-confirm-btn{width:100%;min-height:52px;font-size:15px}.meal-choice-empty{display:grid;gap:6px;min-height:180px;place-content:center;padding:24px;border:1px solid var(--color-grey-200);border-radius:16px;color:var(--color-grey-600);background:var(--color-grey-50);text-align:center}.meal-choice-empty strong{color:var(--color-grey-900);font-size:16px}.meal-choice-empty span{font-size:13px;line-height:1.5}.meal-choice-empty.has-confirmed-choice{place-content:stretch;min-height:0;text-align:left}.meal-current-choice-summary{margin-bottom:12px}.meal-choice-confirmed-list{display:grid;gap:6px;margin:8px 0}.meal-choice-confirmed-list>div{display:grid;grid-template-columns:minmax(82px,auto) minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;border-radius:10px;background:var(--color-background)}.meal-choice-confirmed-list>div>span{padding-top:1px;color:var(--color-grey-600);font-size:11px}.meal-choice-confirmed-detail{display:grid;gap:2px;min-width:0;text-align:left}.meal-choice-confirmed-detail b{color:var(--color-grey-900);font-size:12px;line-height:1.3;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}.meal-choice-confirmed-detail span{color:var(--color-grey-600);font-size:12px;font-weight:600;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}.meal-choice-confirmed-detail em{color:var(--color-grey-500);font-size:11px;font-style:normal;line-height:1.35;overflow-wrap:anywhere}.meal-history-content{display:grid;gap:14px}.meal-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--color-grey-200)}.meal-history-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:var(--color-grey-600);background:var(--color-grey-100);font-size:11px;font-weight:850}.meal-history-status.is-applied{color:var(--color-blue-800);background:var(--color-blue-50)}.meal-history-calendar{display:grid;gap:8px}.calendar-cell.day.meal-history-calendar-cell{min-height:82px;background:var(--color-background);cursor:default}.calendar-cell.day.meal-history-calendar-cell.saturday{border-color:var(--color-grey-300);background:var(--color-grey-100)}.calendar-cell.day.meal-history-calendar-cell:hover{border-color:color-mix(in srgb,var(--color-grey-500) 18%,transparent);box-shadow:none;transform:none}.calendar-cell.day.meal-history-calendar-cell.is-today{border-color:var(--color-blue-300);box-shadow:inset 0 0 0 1px var(--color-blue-100);background:var(--color-blue-50)}.meal-history-calendar-cell .calendar-day-head em{color:var(--color-blue-700);font-size:9px;font-style:normal;font-weight:850}.meal-history-calendar-meals{display:grid;gap:3px;margin-top:4px}.meal-history-calendar-meals span{padding:4px 5px;border-radius:7px;color:var(--color-grey-500);border:1px solid var(--color-grey-100);background:var(--color-grey-50);font-size:10px;font-weight:750;line-height:1.1;text-align:center;white-space:nowrap}.meal-history-calendar-meals span.is-selected{border-color:var(--color-green-200);color:var(--color-green-800);background:var(--color-green-50)}.meal-history-summary{display:grid;gap:0;border-top:1px solid var(--color-grey-100)}.meal-history-summary>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--color-grey-100)}.meal-history-summary>.meal-history-payment-row{margin-top:6px;padding-top:14px;border-top:1px solid var(--color-grey-200);border-bottom:0}.meal-history-summary span{color:var(--color-grey-600);font-size:12px}.meal-history-summary strong{min-width:0;color:var(--color-grey-900);font-size:13px;text-align:right;overflow-wrap:anywhere}.meal-history-section-title{margin-bottom:6px;color:var(--color-grey-600);font-size:11px;font-weight:850}.meal-history-weeks{display:grid;gap:6px}.meal-history-current-choice{margin-bottom:2px;padding-bottom:14px;border-bottom:1px solid var(--color-grey-200)}.meal-history-week-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:var(--color-grey-50)}.meal-history-week-row>span{min-width:0;color:var(--color-grey-700);font-size:11px;line-height:1.4}.meal-history-choice-detail{display:grid;justify-items:end;gap:2px;min-width:0;text-align:right}.meal-history-choice-detail strong{color:var(--color-blue-700);font-size:11px;line-height:1.3;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}.meal-history-choice-detail span{color:var(--color-grey-600);font-size:12px;font-weight:600;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}.meal-history-choice-detail em{color:var(--color-grey-500);font-size:10px;font-style:normal;line-height:1.35;overflow-wrap:anywhere}.meal-history-payment-guide{margin-top:0;padding:12px;border-radius:12px}.meal-history-empty{display:grid;gap:12px;min-height:160px;place-content:center;color:var(--color-grey-600);font-size:13px;text-align:center}.meal-month-field{min-width:170px}.meal-month-field.is-fixed{min-width:150px}.meal-fixed-month-value{display:flex;align-items:center;min-height:42px;padding:0 13px;border:1px solid var(--color-grey-200);border-radius:10px;color:var(--color-grey-900);background:var(--color-grey-50);font-size:14px;font-weight:800}.meal-application-status-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.meal-application-status-strip>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:11px;background:var(--color-grey-50)}.meal-application-status-strip span{color:var(--color-grey-600);font-size:12px}.meal-application-status-strip strong{color:var(--color-grey-900);font-size:13px}.meal-application-status-strip strong.is-paid{color:var(--color-blue-700)}.meal-application-window-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 14px;padding:11px 13px;border:1px solid var(--color-grey-200);border-radius:10px;background:var(--color-grey-50)}.meal-application-window-status>div{display:grid;gap:3px}.meal-application-window-status strong{color:var(--color-grey-900);font-size:13px}.meal-application-window-status span{color:var(--muted);font-size:11px;font-weight:650}.meal-application-window-status em{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:var(--color-blue-50);color:var(--color-blue-700);font-size:10px;font-style:normal;font-weight:850}.meal-application-window-status.upcoming{border-color:color-mix(in srgb,var(--color-blue-600) 24%,transparent);background:color-mix(in srgb,var(--color-blue-600) 7%,transparent)}.meal-application-window-status.upcoming strong{color:var(--color-blue-800)}.meal-application-window-status.upcoming em{background:var(--color-blue-50);color:var(--color-blue-800)}.meal-application-window-status.closed{border-color:var(--opacity-grey-300);background:var(--color-grey-100)}.meal-application-window-status.closed strong{color:var(--color-grey-700)}.meal-application-window-status.closed em{background:var(--color-grey-200);color:var(--color-grey-700)}.meal-apply-card .meal-calendar-top{justify-content:space-between;align-items:flex-start}.meal-apply-headline{padding-top:2px}.meal-apply-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}.meal-apply-layout>.meal-apply-calendar-shell{order:1}.meal-apply-layout>.meal-apply-meta-card{order:2}.meal-apply-layout>.meal-apply-meta-card,.meal-apply-layout>.meal-apply-calendar-shell{padding:18px 0;border:0;border-top:1px solid var(--color-grey-200);border-radius:0;box-shadow:none;background:transparent}.meal-apply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.meal-payment-guide{margin-top:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-green-600) 18%,transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-green-50) 95%,transparent),color-mix(in srgb,var(--color-background) 98%,transparent))}.meal-payment-guide-title{margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--color-green-900);text-transform:uppercase}.meal-payment-guide-line{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;color:var(--color-grey-900)}.meal-payment-guide-line+.meal-payment-guide-line{margin-top:6px}.meal-summary-payment-guide{margin-top:10px;padding:12px;border-radius:12px}.meal-payment-copy-btn{min-height:28px;padding:0 9px;border:0;border-radius:8px;color:var(--color-blue-700);background:var(--color-blue-50);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.meal-payment-copy-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.meal-payment-copy-error{margin-top:6px;color:var(--color-red-600);font-size:11px}.meal-payment-guide-note{margin-top:8px;font-size:13px;color:var(--color-grey-700)}.meal-apply-panel{min-width:0;border:1px solid color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-radius:16px;padding:14px;background:var(--color-background);box-shadow:none}.meal-apply-panel-title{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--color-grey-600);text-transform:uppercase}.meal-apply-summary-panel{display:grid;align-content:start;gap:4px;border:0;background:var(--color-grey-50)}.meal-apply-save-panel{display:grid;align-content:start;gap:8px;border-color:var(--color-grey-200)}.meal-apply-calendar-panel{padding:0;border:0;background:transparent;box-shadow:none}.meal-admin-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.meal-apply-message{margin-top:4px;line-height:1.45}.meal-apply-rule-note{margin-top:10px;font-size:12px;line-height:1.45}.meal-register-choice-step{margin:0;padding-top:18px;border-top:1px solid var(--color-grey-200)}.meal-register-choice-step .weekly-menu-layout{grid-template-columns:minmax(0,1fr);gap:12px}.meal-register-choice-step .weekly-menu-meta-card,.meal-register-choice-step .weekly-menu-board-card{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.meal-register-choice-step .weekly-menu-meta-panels{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.meal-register-choice-step .weekly-menu-side-panel{min-height:0;padding:12px;border:0;border-radius:12px;background:var(--color-grey-50)}.meal-register-choice-step .weekly-menu-board-header{margin:2px 0 10px}.meal-register-choice-step .weekly-menu-board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 1360px) and (min-width: 981px){.meal-register-choice-step .weekly-menu-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px) and (min-width: 721px){.meal-register-choice-step .weekly-menu-board-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.meal-priority-task-alert,.meal-section-toolbar{align-items:stretch;flex-direction:column}.meal-section-toolbar .meal-month-field{width:100%}.calendar-cell.day.meal-history-calendar-cell{min-height:78px;padding:5px}.meal-history-calendar-meals span{padding:4px 2px;font-size:9px}.meal-priority-task-alert .btn{width:100%}.meal-apply-layout{grid-template-columns:1fr}.meal-apply-meta-card,.meal-apply-calendar-shell{padding:16px 0}.meal-apply-grid{grid-template-columns:1fr}.meal-apply-calendar-panel{grid-column:auto}.meal-admin-controls,.meal-register-choice-step .weekly-menu-meta-panels,.meal-register-choice-step .weekly-menu-board-grid{grid-template-columns:1fr}}.calendar-cell.day.is-past-disabled{opacity:.68}.calendar-cell.day.is-past-disabled .meal-half{cursor:not-allowed}.fixed-meal-optional-title{font-weight:800;color:var(--ink-1)}.fixed-meal-optional-items{display:flex;flex-wrap:wrap;gap:6px}.optional-meal-list{display:grid;gap:8px}.fixed-meal-board+.optional-meal-section{margin-top:14px}.optional-meal-row{border:1px solid var(--line);border-radius:8px;background:var(--color-background);padding:10px}.optional-meal-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.optional-meal-date{font-weight:800;color:var(--ink-1)}.optional-meal-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--glass-strong);color:var(--ink-2);font-size:12px;font-weight:700}.badge-btn{font-family:var(--font-body);cursor:pointer}.badge-btn:disabled{cursor:not-allowed;opacity:.6}.badge.paid{border-color:color-mix(in srgb,var(--color-green-500) 30%,transparent);color:var(--color-green-600);background:color-mix(in srgb,var(--color-green-500) 12%,transparent)}.badge.scheduled{border-color:color-mix(in srgb,var(--color-blue-500) 34%,transparent);color:var(--color-blue-700);background:color-mix(in srgb,var(--color-blue-500) 14%,transparent)}.badge.unpaid{border-color:color-mix(in srgb,var(--color-red-500) 28%,transparent);color:var(--color-red-600);background:color-mix(in srgb,var(--color-red-500) 12%,transparent)}.badge.unapplied{border-color:color-mix(in srgb,var(--color-grey-600) 30%,transparent);color:var(--color-grey-700);background:color-mix(in srgb,var(--color-grey-600) 13%,transparent)}.badge.applying{border-color:color-mix(in srgb,var(--color-blue-500) 32%,transparent);color:var(--color-blue-700);background:color-mix(in srgb,var(--color-blue-500) 14%,transparent)}.badge.selected-meal{border-color:var(--opacity-grey-500);background:var(--opacity-grey-200);color:var(--color-grey-900);font-weight:800}.badge.suneung{border-color:color-mix(in srgb,var(--color-blue-600) 32%,transparent);color:var(--color-blue-800);background:color-mix(in srgb,var(--color-blue-600) 12%,transparent)}.kpi{font-size:var(--fs-kpi);font-family:var(--font-heading);font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:3px 0}.kpi-card{min-height:124px;display:grid;align-content:space-between}.dashboard-page{width:100%}.dashboard-hero{display:grid;gap:12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-grey-500) 30%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--color-background) 94%,transparent),color-mix(in srgb,var(--color-grey-100) 86%,transparent))}.dashboard-hero-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.dashboard-hero-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.dashboard-month-input{min-width:170px}.dashboard-hero-links{display:flex;gap:8px;flex-wrap:wrap}.dashboard-announcement-card{display:grid;gap:10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-grey-500) 34%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--color-background) 96%,transparent),color-mix(in srgb,var(--color-grey-50) 90%,transparent))}.dashboard-announcement-list{display:grid;gap:8px}.dashboard-announcement-item{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:6px;background:color-mix(in srgb,var(--color-background) 88%,transparent)}.dashboard-announcement-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.dashboard-announcement-title{font-size:15px;font-weight:700;color:var(--ink-1)}.dashboard-announcement-body{white-space:pre-wrap;color:var(--ink-2);line-height:1.5}.dashboard-announcement-owner{border-top:1px dashed color-mix(in srgb,var(--color-grey-500) 42%,transparent);margin-top:2px;padding-top:10px}.dashboard-announcement-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;max-height:180px;overflow:auto}.notice-board-card{display:grid;gap:10px}.notice-board-write-card{display:grid;gap:10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-grey-500) 34%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--color-background) 96%,transparent),color-mix(in srgb,var(--color-grey-50) 90%,transparent))}.notice-board-write-grid{display:grid;gap:8px}.notice-board-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;max-height:180px;overflow:auto}.notice-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.notice-board-table-wrap{max-height:520px}.notice-board-table tbody tr.active{background:color-mix(in srgb,var(--color-blue-500) 10%,transparent)}.notice-board-actions{display:flex;flex-wrap:wrap;gap:6px}.notice-detail-card{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--color-blue-500) 25%,transparent);background:linear-gradient(175deg,color-mix(in srgb,var(--color-background) 95%,transparent),color-mix(in srgb,var(--color-grey-100) 85%,transparent))}.notice-detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.notice-detail-meta{font-size:13px;line-height:1.5}.notice-detail-body{white-space:pre-wrap;line-height:1.65;color:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:12px;background:color-mix(in srgb,var(--color-background) 85%,transparent)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-kpi-card{position:relative;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-grey-500) 28%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--color-background) 95%,transparent),color-mix(in srgb,var(--color-grey-50) 90%,transparent))}.dashboard-kpi-card .kpi{font-size:clamp(22px,1.7vw,28px);line-height:1.15}.dashboard-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}.dashboard-kpi-card.kpi-1:before,.dashboard-kpi-card.kpi-2:before,.dashboard-kpi-card.kpi-3:before,.dashboard-kpi-card.kpi-4:before{background:var(--color-grey-400)}.dashboard-main-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;align-items:stretch}.dashboard-panel{display:grid;gap:10px;align-content:start;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-grey-500) 28%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--color-background) 96%,transparent),color-mix(in srgb,var(--color-grey-100) 90%,transparent))}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.dashboard-mini-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-mini-kpi-grid .card{border-radius:12px;padding:12px;background:color-mix(in srgb,var(--color-background) 90%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.dashboard-tables-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-parent-schedule-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}.dashboard-table-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--color-background) 80%,transparent);display:grid;gap:8px}.parent-monitor-page-head{display:grid;align-items:stretch;gap:12px}.parent-monitor-date-nav{width:100%;display:grid;grid-template-columns:82px minmax(0,1fr) 82px;align-items:stretch;gap:6px}.parent-monitor-nav-btn{min-width:68px;min-height:38px;padding:6px 10px;border-color:var(--color-grey-200);background:var(--color-background);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--color-grey-700);font-size:12.5px}.parent-monitor-nav-btn:hover{border-color:var(--color-grey-300);background:var(--color-grey-50);box-shadow:none;transform:none}.parent-monitor-nav-btn>span{color:var(--color-grey-500);font-size:18px;font-weight:500;line-height:1}.parent-monitor-nav-btn>b{font-weight:700}.parent-monitor-date-chip{min-width:0;min-height:38px;padding:5px 12px;border:1px solid var(--color-grey-200);border-radius:10px;background:var(--color-grey-50);display:grid;place-content:center;gap:1px;text-align:center}.parent-monitor-date-chip>span{color:var(--color-grey-500);font-size:10px;font-weight:650;line-height:1.2}.parent-monitor-date-chip>strong{color:var(--color-grey-800);font-size:12.5px;font-weight:750;line-height:1.25;white-space:nowrap}.parent-monitor-voluntary-day{min-height:96px;margin-top:12px;padding:20px 22px;border:1px solid var(--color-grey-200);border-radius:16px;background:var(--color-grey-50);display:flex;align-items:center;justify-content:center;gap:14px;text-align:left}.parent-monitor-voluntary-icon{width:46px;height:46px;flex:0 0 46px;border:1px solid var(--color-grey-200);border-radius:15px;background:var(--color-background);display:grid;place-items:center}.parent-monitor-voluntary-icon>svg{width:23px;height:23px;fill:none;stroke:var(--color-grey-700);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.parent-monitor-voluntary-copy{min-width:0;display:grid;align-items:center}.parent-monitor-voluntary-copy>strong{color:var(--color-grey-900);font-size:18px;font-weight:750;line-height:1.35;letter-spacing:-.02em}.movement-range-meta{font-size:12px;white-space:nowrap}.monitor-table-wrap .table td{vertical-align:middle}.monitor-round-pill{width:86px;min-width:86px;max-width:86px;min-height:28px;padding:2px 8px;text-align:center;white-space:nowrap}.schedule-week-pill.monitor-slot-pill{min-width:0;justify-content:flex-start;padding:3px 10px}.schedule-week-pill.monitor-slot-pill.monitor-round-pill{justify-content:center}.schedule-week-pill.monitor-slot-pill.monitor-slot-pill-success{background:color-mix(in srgb,var(--color-green-400) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-green-400) 28%,transparent);color:var(--color-green-900)}.schedule-week-pill.monitor-slot-pill.monitor-slot-pill-danger{background:color-mix(in srgb,var(--color-red-500) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-red-500) 28%,transparent);color:var(--color-red-900)}.schedule-week-pill.monitor-slot-pill.monitor-slot-pill-neutral{background:color-mix(in srgb,var(--color-grey-600) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-grey-600) 30%,transparent);color:var(--color-grey-800)}.schedule-week-pill.monitor-slot-pill.monitor-slot-pill-penalty{background:color-mix(in srgb,var(--color-orange-500) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-orange-500) 32%,transparent);color:var(--color-red-900)}.monitor-slot-label{display:inline}.monitor-slot-range{display:inline;margin-left:6px}.monitor-text-cell{display:inline-block;white-space:normal;word-break:keep-all;line-height:1.4}.monitor-result-cell{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.monitor-result-main{margin-right:2px}.monitor-locker-cell{min-width:88px;display:inline-flex;align-items:center;justify-content:center}.monitor-locker-btn{width:52px;min-width:52px;display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;font-size:12px}.monitor-locker-thumb-btn{min-height:30px;padding:0 10px;border:1px solid var(--opacity-grey-200);border-radius:9px;background:var(--color-background);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--color-grey-900);cursor:pointer;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.monitor-locker-thumb-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-blue-600) 28%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--color-blue-600) 12%,transparent)}.monitor-locker-thumb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--color-blue-600) 35%,transparent);outline-offset:2px}.monitor-locker-thumb{width:54px;height:54px;display:block;object-fit:cover;border-radius:10px;border:1px solid var(--opacity-grey-200);box-shadow:0 4px 12px var(--opacity-grey-200);background:var(--color-background)}.monitor-cell-empty{color:var(--ink-3);font-weight:700}.dashboard-sheet-wrap{max-height:320px;overflow:auto}.schedule-preview-wrap.dashboard-sheet-wrap{max-height:none;overflow-x:auto;overflow-y:visible}.dashboard-regular-table{min-width:680px}.dashboard-irregular-table{min-width:460px}.dashboard-right-panel{grid-auto-rows:min-content}.schedule-preview-card{border:1px solid var(--line);background:var(--color-background)}.schedule-preview-wrap{border-radius:0;overflow-x:auto;overflow-y:visible;max-height:none;background:transparent;border:0}.member-home-schedule-focus{--member-schedule-inset: 18px;--member-schedule-value-size: 13px;border-radius:16px;background:var(--color-grey-50);overflow:hidden;margin-bottom:4px}.member-home-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px var(--member-schedule-inset) 13px}.member-home-schedule-head>div{display:grid;gap:4px}.member-home-schedule-eyebrow,.member-home-schedule-primary>span,.member-home-schedule-details span{color:var(--color-grey-500);font-size:12px;font-weight:650}.member-home-schedule-head strong{color:var(--color-grey-900);font-size:var(--member-schedule-value-size);line-height:1.45}.member-home-schedule-state{flex:0 0 auto;color:var(--color-grey-700);font-size:13px;font-weight:700;line-height:1.35}.member-home-schedule-primary{display:grid;gap:5px;padding:15px var(--member-schedule-inset);border-top:1px solid var(--color-grey-200);border-bottom:1px solid var(--color-grey-200);background:var(--color-background)}.member-home-schedule-primary strong{color:var(--color-grey-900);font-size:var(--member-schedule-value-size);line-height:1.45;overflow-wrap:anywhere}.member-home-schedule-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:13px var(--member-schedule-inset)}.member-home-schedule-details>div{min-width:0;display:grid;gap:4px}.member-home-schedule-details>div+div{padding-left:var(--member-schedule-inset);border-left:1px solid var(--color-grey-200)}.member-home-schedule-details strong{color:var(--color-grey-800);font-size:var(--member-schedule-value-size);line-height:1.45;overflow-wrap:anywhere}.member-home-schedule-link{min-height:48px;padding:0 var(--member-schedule-inset) 2px;border-top:1px solid var(--color-grey-200);color:var(--color-grey-700);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.member-home-schedule-link>span{color:var(--color-grey-500);font-size:20px;line-height:1}.schedule-preview-table thead th{background:var(--opacity-grey-100);color:var(--ink-1)}.schedule-preview-table tbody tr:nth-child(2n){background:var(--opacity-grey-50)}.schedule-preview-table tbody tr.today{background:color-mix(in srgb,var(--color-blue-500) 8%,transparent)}.schedule-preview-table tbody tr.today.today-in{background:color-mix(in srgb,var(--color-green-400) 16%,transparent)}.schedule-preview-table tbody tr.today.today-out{background:color-mix(in srgb,var(--color-red-500) 14%,transparent)}.schedule-preview-table{table-layout:auto;width:100%;min-width:620px}.schedule-preview-table th,.schedule-preview-table td{white-space:normal}.schedule-date-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--opacity-grey-200);color:var(--ink-1);font-weight:700}.schedule-date-pill.today{background:color-mix(in srgb,var(--color-blue-500) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-blue-500) 28%,transparent)}.schedule-week-pill{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 8px;border-radius:999px;background:var(--opacity-grey-100);color:var(--color-grey-900);font-weight:700}.schedule-week-pill.today{background:color-mix(in srgb,var(--color-blue-500) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-blue-500) 28%,transparent)}.schedule-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.schedule-status-chip.pending,.schedule-status-chip.temporary{background:color-mix(in srgb,var(--color-grey-500) 16%,transparent);color:var(--color-grey-800);border-color:color-mix(in srgb,var(--color-grey-500) 28%,transparent)}.schedule-status-chip.approved{background:color-mix(in srgb,var(--color-green-400) 12%,transparent);color:var(--color-green-900);border-color:color-mix(in srgb,var(--color-green-400) 24%,transparent)}.schedule-status-chip.rejected{background:color-mix(in srgb,var(--color-red-500) 12%,transparent);color:var(--color-red-800);border-color:color-mix(in srgb,var(--color-red-500) 24%,transparent)}.schedule-presence-chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.schedule-presence-chip.in{color:var(--color-green-900);background:color-mix(in srgb,var(--color-green-400) 12%,transparent);border-color:color-mix(in srgb,var(--color-green-400) 24%,transparent)}.schedule-presence-chip.out{color:var(--color-red-800);background:color-mix(in srgb,var(--color-red-500) 12%,transparent);border-color:color-mix(in srgb,var(--color-red-500) 24%,transparent)}.schedule-presence-chip.na{color:var(--color-grey-800);background:color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-color:color-mix(in srgb,var(--color-grey-500) 28%,transparent)}.dashboard-student-top-tools{grid-column:1 / -1}.dashboard-coupon-box{border:1px solid var(--color-grey-200);border-radius:14px;padding:12px;background:var(--color-background);display:grid;gap:10px}.dashboard-coupon-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.dashboard-coupon-kpis .card{border-radius:12px;padding:12px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.dashboard-runtime-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-runtime-head .h2{margin:0}.dashboard-runtime-lines{display:grid;gap:6px}.dashboard-runtime-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-grey-500) 20%,transparent);background:var(--color-background);color:var(--ink-2);font-size:13px}.dashboard-runtime-line b{color:var(--ink-1);font-weight:700}.dashboard-runtime-btn{flex:0 0 auto;width:108px;min-width:108px;max-width:108px;padding-right:14px;padding-left:14px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.dashboard-shortcuts{border:1px solid var(--line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--color-background) 84%,transparent);display:grid;gap:8px}.dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-inline-notice{border:1px solid color-mix(in srgb,var(--color-orange-700) 28%,transparent);border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-yellow-50) 96%,transparent),color-mix(in srgb,var(--color-background) 94%,transparent));color:var(--color-red-900);font-size:14px;font-weight:700;line-height:1.45}.dashboard-owner-section{min-width:0;display:grid;gap:10px}.dashboard-section-heading{min-height:32px;display:flex;align-items:end;justify-content:space-between;gap:12px}.dashboard-section-heading .h2{margin:0}.dashboard-owner-operation-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.dashboard-manager-operation-grid{display:grid;gap:12px}.dashboard-owner-operation-grid>.dashboard-table-card{min-width:0;align-content:start}.dashboard-owner-operation-grid .grid-2{grid-template-columns:minmax(0,1fr)}.dashboard-owner-operation-grid .dashboard-operation-pair-grid,.dashboard-manager-operation-grid .dashboard-operation-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 920px){.dashboard-owner-operation-grid .dashboard-operation-pair-grid,.dashboard-manager-operation-grid .dashboard-operation-pair-grid{grid-template-columns:minmax(0,1fr)}}.banner-settings-page{width:100%;max-width:none;margin:0;justify-self:stretch;gap:16px!important}.banner-settings-overview,.banner-settings-card{min-width:0}.banner-settings-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.banner-settings-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.banner-settings-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--color-grey-200);border-radius:16px;background:var(--color-grey-200)}.banner-settings-status-item{min-width:0;min-height:92px;padding:16px;background:var(--color-background)}.banner-settings-status-item .h2{margin-top:6px;margin-bottom:0}.banner-settings-password-card .cols-2,.banner-settings-card .cols-2{gap:12px}.banner-notice-editor{padding:14px 16px;border:1px solid var(--color-grey-200);border-radius:16px;background:var(--color-grey-50)}.banner-notice-actions{gap:6px;flex-wrap:nowrap}.banner-notice-actions .btn{min-width:36px;min-height:34px;padding:6px 10px}.banner-settings-save-row{align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-grey-200)}.banner-mock-exam-form{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr) auto auto;align-items:end;gap:10px;margin-top:16px}.banner-schedule-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.banner-schedule-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-grey-200);border-radius:12px;background:var(--color-grey-50);color:var(--color-grey-800);font-size:13px;font-weight:700}.banner-test-presets{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-top:12px}.banner-test-presets .btn{padding-inline:8px}.banner-test-actions{align-items:stretch}.banner-security-card{background:var(--color-grey-50)}@media (max-width: 920px){.banner-settings-status-grid{grid-template-columns:minmax(0,1fr)}.banner-mock-exam-form{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-test-presets{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 600px){.banner-settings-head-actions,.banner-settings-head-actions .btn{width:100%}.banner-settings-head-actions{justify-content:flex-start}.banner-mock-exam-form,.banner-test-presets{grid-template-columns:minmax(0,1fr)}.banner-settings-save-row>.btn,.banner-test-actions>.btn{flex:1 1 100%}}.dashboard-owner-summary-card{align-content:start}.dashboard-owner-month-picker{gap:6px;align-items:center;flex-wrap:nowrap}.dashboard-summary-stack{display:grid;gap:8px}.dashboard-summary-line{display:grid;grid-template-columns:120px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 20%,transparent);background:color-mix(in srgb,var(--color-background) 78%,transparent)}.dashboard-summary-link{color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.dashboard-summary-link:hover{border-color:var(--color-blue-200);background:var(--color-blue-50)}.dashboard-summary-link i{align-self:center;color:var(--color-grey-400);font-size:20px;font-style:normal;font-weight:500;line-height:1}.dashboard-summary-line span{font-size:12px;font-weight:700;color:var(--ink-3)}.dashboard-summary-line b{min-width:0;font-size:13px;line-height:1.5;color:var(--ink);word-break:keep-all}.meal-card{overflow:hidden}.meal-calendar-top{display:flex;justify-content:flex-end;align-items:stretch;gap:12px}.meal-calendar-headline{display:grid;align-content:center;gap:4px;min-width:0}.meal-calendar-side{display:grid;gap:8px;justify-items:stretch;min-width:220px}.meal-calendar-summary{min-width:200px;text-align:right;border:1px solid color-mix(in srgb,var(--color-grey-500) 18%,transparent);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--color-background) 86%,transparent)}.meal-summary-menu-btn-row{justify-content:flex-end;margin-top:8px}.meal-calendar-summary-price{font-size:clamp(22px,2vw,28px);line-height:1.1;margin:2px 0 4px}.meal-calendar-summary-status{margin-top:4px;font-size:15px;font-weight:700;color:var(--ink-2)}.meal-calendar-summary-unpaid{color:var(--color-red-600)}.table tbody tr.meal-owner-row.is-unpaid td:first-child{box-shadow:inset 4px 0 color-mix(in srgb,var(--color-red-500) 85%,transparent)}.table tbody tr.meal-owner-row.is-paid td:first-child{box-shadow:inset 4px 0 color-mix(in srgb,var(--color-green-500) 85%,transparent)}.table tbody tr.meal-owner-row.is-selected td{background:color-mix(in srgb,var(--color-blue-500) 10%,transparent)}.meal-owner-payment-cell .badge{min-width:78px;justify-content:center}.meal-owner-payment-actions .btn{min-width:56px;height:30px;padding:0 8px;font-size:12px;white-space:nowrap;justify-content:center}.meal-calendar-actions.has-controls{justify-content:space-between}.meal-calendar-actions.actions-only{justify-content:flex-end}.meal-save-btn{min-width:120px;justify-content:center}.calendar-grid-head,.calendar-grid-body{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.calendar-week-label{text-align:center;font-size:12px;font-weight:700;color:var(--color-grey-500);padding-bottom:6px}.calendar-week-label.saturday{color:var(--color-grey-500)}.calendar-cell{border:1px solid color-mix(in srgb,var(--color-grey-500) 18%,transparent);border-radius:14px;min-height:84px}.calendar-cell.blank{border-style:dashed;opacity:.28;background:color-mix(in srgb,var(--color-grey-50) 32%,transparent)}.calendar-cell.day{background:color-mix(in srgb,var(--color-background) 94%,transparent);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.calendar-cell.day.outside-month{background:linear-gradient(180deg,color-mix(in srgb,var(--color-grey-50) 92%,transparent),color-mix(in srgb,var(--color-background) 96%,transparent));border-color:color-mix(in srgb,var(--color-grey-500) 24%,transparent)}.calendar-cell.day:hover{transform:translateY(-1px);box-shadow:0 10px 18px var(--opacity-grey-100);border-color:color-mix(in srgb,var(--color-grey-500) 28%,transparent)}.calendar-cell.day.saturday{background:color-mix(in srgb,var(--color-grey-50) 96%,transparent)}.calendar-cell.day.saturday.outside-month{background:linear-gradient(180deg,color-mix(in srgb,var(--color-grey-50) 94%,transparent),color-mix(in srgb,var(--color-grey-50) 98%,transparent))}.calendar-day-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px}.calendar-day-num{font-size:14px;font-weight:800;color:var(--ink-1)}.calendar-cell.day.saturday .calendar-day-num{color:var(--ink-1)}.calendar-cell.day.split{justify-content:flex-start;align-items:stretch;gap:4px;padding:6px}.meal-split{display:grid;gap:4px;margin-top:4px}.meal-half{border:1px solid color-mix(in srgb,var(--color-grey-500) 16%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-grey-50) 95%,transparent);color:var(--color-grey-700);font-size:12px;font-weight:700;padding:7px 8px;cursor:pointer;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.meal-half span{font-size:12px;font-weight:800;line-height:1.15}.meal-half.active{border-color:var(--color-green-600);background:var(--color-green-500);color:var(--color-background);box-shadow:none}.meal-half.top.active,.meal-half.bottom.active{border-color:var(--color-green-600);background:var(--color-green-500)}.calendar-cell.day.outside-reviewed{border-color:color-mix(in srgb,var(--color-teal-700) 28%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-teal-700) 12%,transparent)}.meal-half.outside-default{border-color:var(--color-purple-200);background:var(--color-purple-50);color:var(--color-purple-700);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-purple-500) 14%,transparent)}.meal-half.outside-skipped{border-color:color-mix(in srgb,var(--color-grey-500) 36%,transparent);background:var(--color-grey-200);color:var(--color-grey-700)}.meal-half.outside-selected{color:var(--color-background)}.meal-half:disabled{opacity:.56;cursor:not-allowed;background:color-mix(in srgb,var(--color-grey-100) 90%,transparent)}.meal-half.outside-default:disabled{opacity:1;border-color:var(--color-purple-200);background:var(--color-purple-50);color:var(--color-purple-700)}.meal-half.active:disabled{opacity:1;background:var(--color-green-50);border-color:var(--color-green-200);color:var(--color-green-800)}.meal-half.top.active:disabled,.meal-half.bottom.active:disabled{background:var(--color-green-50);border-color:var(--color-green-200);color:var(--color-green-800)}.calendar-cell.day.meal-application-calendar-cell.saturday{border-color:var(--color-grey-300);background:var(--color-grey-100)}.calendar-cell.day.meal-application-calendar-cell.is-today{border-color:var(--color-blue-300);background:var(--color-blue-50);box-shadow:inset 0 0 0 1px var(--color-blue-100)}.meal-application-calendar-cell .calendar-day-head em{color:var(--color-blue-700);font-size:9px;font-style:normal;font-weight:850}.meal-next-month-summary{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 18%,transparent);background:var(--color-grey-50)}.meal-next-month-summary.needs-review{border-color:color-mix(in srgb,var(--color-yellow-900) 28%,transparent);background:var(--color-yellow-50)}.meal-next-month-summary.is-complete{border-color:color-mix(in srgb,var(--color-green-600) 22%,transparent);background:var(--color-green-50)}.meal-next-month-summary-title{font-size:12px;font-weight:900;color:var(--ink-1)}.meal-next-month-summary-line{margin-top:4px;font-size:12px;font-weight:700;color:var(--color-grey-700);line-height:1.45}.meal-next-month-summary-note{margin-top:5px;font-size:11px;font-weight:700;line-height:1.45;color:var(--color-purple-600)}.meal-menu-select{width:100%;min-height:28px;padding:3px 6px;font-size:11px;border-radius:6px;border:1px solid var(--line);background:var(--color-background);color:var(--ink-1)}.calendar-cell.day.split.has-selection{border-color:color-mix(in srgb,var(--color-blue-600) 34%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-blue-600) 16%,transparent)}.meal-aggregate-panel{display:grid;gap:12px}.meal-aggregate-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:16px}.meal-aggregate-actions{display:inline-flex;gap:6px;justify-content:flex-end}.meal-aggregate-copy-message{text-align:right}.meal-aggregate-calendar{min-width:0}.meal-aggregate-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:92px;color:var(--color-grey-900);font-family:var(--font-body);text-align:left}.meal-aggregate-cell.is-selected{border-color:var(--color-blue-300);background:var(--color-blue-50);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-blue-500) 18%,transparent)}.meal-aggregate-cell.is-today .calendar-day-num{color:var(--color-blue-700)}.meal-aggregate-cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.meal-aggregate-today-label{padding:2px 6px;border-radius:999px;color:var(--color-blue-700);background:var(--color-blue-100);font-size:10px;font-weight:800}.meal-aggregate-line{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;color:var(--color-grey-600);font-size:12px;line-height:1.35}.meal-aggregate-line strong{color:var(--color-grey-800);font-size:13px}.meal-aggregate-detail{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--color-grey-200)}.meal-aggregate-detail-head .h2{margin:0;font-size:15px}.meal-aggregate-detail-table{width:100%;min-width:560px}.meal-aggregate-detail-table th:first-child,.meal-aggregate-detail-table td:first-child{width:90px}.meal-aggregate-detail-table th:nth-child(2),.meal-aggregate-detail-table td:nth-child(2){width:80px;text-align:center}.meal-aggregate-student-names{color:var(--color-grey-700);font-size:13px;line-height:1.6;white-space:normal}.tuition-calendar-cell{min-height:110px;justify-content:flex-start;align-items:stretch}.tuition-calendar-events{display:grid;gap:4px;width:100%;margin-top:2px}.tuition-calendar-entry{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 90%,transparent);padding:4px 6px;min-height:22px;font-size:11px;font-weight:700;line-height:1.2}.tuition-calendar-entry.is-due{border-color:color-mix(in srgb,var(--color-yellow-700) 42%,transparent);background:color-mix(in srgb,var(--color-orange-50) 78%,transparent);color:var(--color-red-900)}.tuition-calendar-entry.is-due.is-scheduled{border-color:color-mix(in srgb,var(--color-blue-500) 40%,transparent);background:color-mix(in srgb,var(--color-blue-50) 76%,transparent);color:var(--color-blue-800)}.tuition-calendar-entry.is-paid{border-color:color-mix(in srgb,var(--color-green-400) 42%,transparent);background:color-mix(in srgb,var(--color-teal-100) 80%,transparent);color:var(--color-green-900)}.tuition-calendar-entry-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tuition-calendar-entry-amount{flex:0 0 auto;font-variant-numeric:tabular-nums}.tuition-calendar-more{margin-top:1px;font-size:11px;font-weight:700;color:var(--ink-3)}.patrol-layout{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:stretch}.patrol-panel-right{min-width:0;position:relative;display:flex}.patrol-panel-left{min-width:0;display:grid;gap:8px}.patrol-map-toolbar{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--color-background) 85%,transparent);display:grid;gap:6px}.patrol-quick-seats{display:flex;flex-wrap:wrap;gap:6px}.patrol-quick-seat-btn{min-height:30px;padding:5px 9px;border-radius:999px;font-size:12px}.patrol-qr-card{display:grid;gap:8px}.patrol-qr-card-fit{width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.patrol-log-section{margin-top:10px;display:flex;flex:1 1 auto;min-height:0;overflow:hidden;flex-direction:column}.patrol-log-actions{margin-top:10px;display:flex;justify-content:stretch}.patrol-log-actions .patrol-svg-action-btn{width:100%;justify-content:center}.patrol-phone-capture{margin-top:10px;display:flex;align-items:center;gap:8px;font-weight:700;flex-wrap:wrap}.patrol-phone-capture-split{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.patrol-phone-capture-split .btn{width:100%;min-height:44px;font-weight:800}.patrol-phone-camera-wrap{position:relative;display:grid;align-content:start;min-height:180px;height:180px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--color-grey-900)}.patrol-phone-camera-overlay{position:absolute;top:8px;right:8px;z-index:3;color:var(--color-grey-800);font-size:12px;font-weight:800;letter-spacing:-.01em;line-height:1;padding:6px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-grey-500) 28%,transparent);background:color-mix(in srgb,var(--color-background) 50%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.patrol-phone-camera-video{width:100%;height:100%;background:var(--color-grey-900);object-fit:contain}.patrol-phone-camera-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:var(--opacity-grey-800);z-index:2}.patrol-phone-camera-saved{position:absolute;right:8px;top:40px;z-index:4;color:var(--color-grey-800);font-size:12px;font-weight:800;line-height:1;padding:6px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-green-400) 36%,transparent);background:color-mix(in srgb,var(--color-teal-50) 62%,transparent)}.patrol-qr-reader-host{width:100%;height:100%}.patrol-qr-frame{--qr-corner-radius: 16px;--qr-corner-size: 34px;--qr-corner-thickness: 3px;position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;border-radius:var(--qr-corner-radius);border:0;box-shadow:0 0 0 9999px var(--opacity-grey-400),inset 0 0 0 1px color-mix(in srgb,var(--color-background) 8%,transparent);overflow:hidden}.patrol-qr-frame:after{content:none}.patrol-qr-frame .corner{position:absolute;z-index:1;width:var(--qr-corner-size);height:var(--qr-corner-size);border-color:var(--color-green-400);border-style:solid;border-width:0;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--color-green-400) 45%,transparent))}.patrol-qr-frame .corner.tl{left:1px;top:1px;border-left-width:var(--qr-corner-thickness);border-top-width:var(--qr-corner-thickness);border-top-left-radius:var(--qr-corner-radius)}.patrol-qr-frame .corner.tr{right:1px;top:1px;border-right-width:var(--qr-corner-thickness);border-top-width:var(--qr-corner-thickness);border-top-right-radius:var(--qr-corner-radius)}.patrol-qr-frame .corner.bl{left:1px;bottom:1px;border-left-width:var(--qr-corner-thickness);border-bottom-width:var(--qr-corner-thickness);border-bottom-left-radius:var(--qr-corner-radius)}.patrol-qr-frame .corner.br{right:1px;bottom:1px;border-right-width:var(--qr-corner-thickness);border-bottom-width:var(--qr-corner-thickness);border-bottom-right-radius:var(--qr-corner-radius)}.patrol-phone-orientation{position:absolute;left:8px;right:8px;bottom:8px;z-index:4;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.patrol-phone-orientation-left,.patrol-phone-orientation-right{color:var(--color-grey-900);font-size:11px;font-weight:800;line-height:1;padding:5px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-grey-500) 28%,transparent);background:color-mix(in srgb,var(--color-background) 58%,transparent)}.patrol-camera-center-msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;color:var(--color-grey-900);font-size:13px;font-weight:800;line-height:1.2;text-align:center;padding:7px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-grey-500) 42%,transparent);background:color-mix(in srgb,var(--color-background) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.floor-wrap{position:relative;width:100%;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--color-background) 75%,transparent)}.floor-zoom-content{position:relative;width:100%;transform:scale(1.05);transform-origin:center center}.floor-img{width:100%;display:block}.patrol-seat-map{width:100%;height:auto;display:block}.patrol-svg-actions{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:16;display:flex;justify-content:center;pointer-events:none;max-width:calc(100% - 20px)}.patrol-svg-action-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;line-height:1;white-space:nowrap;font-weight:800;font-size:14px;letter-spacing:-.01em;pointer-events:auto;border-width:1px;border-style:solid;border-color:color-mix(in srgb,var(--color-background) 45%,transparent);box-shadow:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.patrol-svg-action-btn:hover,.patrol-svg-action-btn:active{transform:none;box-shadow:none}.patrol-svg-action-icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-background) 26%,transparent);flex:0 0 auto}.patrol-svg-action-icon svg{width:14px;height:14px;display:block}.patrol-svg-action-label{display:inline-flex;align-items:center;min-width:0}.patrol-seat-node:focus-visible rect{stroke:var(--color-blue-800);stroke-width:3px}.patrol-seat-node.is-active{transform-box:fill-box;transform-origin:center}.patrol-seat-node.is-active:hover{transform:translateY(-1px) scale(1.015)}.overlay-seat{position:absolute;width:var(--overlay-seat-size);height:var(--overlay-seat-size);transform:translate(calc(-50% + var(--overlay-shift-x)),calc(-50% + var(--overlay-shift-y)));border-radius:4px;border:2px solid var(--color-grey-700);background:color-mix(in srgb,var(--color-background) 95%,transparent);font-size:11px;font-weight:800;color:var(--color-grey-900);cursor:pointer;box-shadow:0 2px 5px var(--opacity-grey-300);display:inline-flex;align-items:center;justify-content:center}.overlay-seat:hover{transform:translate(calc(-50% + var(--overlay-shift-x)),calc(-50% + var(--overlay-shift-y) - 1px))}.overlay-seat:disabled{cursor:not-allowed;opacity:.82}.overlay-seat.required{border-color:var(--color-grey-800)}.overlay-seat.not-required{border-color:var(--color-grey-600);background:color-mix(in srgb,var(--color-grey-200) 95%,transparent);color:var(--color-grey-800);opacity:.62}.overlay-seat.checked{background:var(--color-blue-100);border-color:var(--color-teal-400);color:var(--color-teal-900)}.overlay-seat.sleep{background:var(--color-yellow-100);border-color:var(--color-orange-500);color:var(--color-red-900)}.overlay-seat.absent{background:var(--color-grey-900);border-color:var(--color-grey-900);color:var(--color-grey-100)}.overlay-seat.custom{background:var(--color-blue-50);border-color:var(--color-purple-500);color:var(--color-purple-900)}.overlay-seat.coupon{background:var(--color-teal-50);border-color:var(--color-green-700);color:var(--color-green-900)}.overlay-seat.open-room{background:var(--color-grey-100);border-color:var(--color-grey-600);color:var(--color-grey-800)}.overlay-seat.unassigned{pointer-events:none;opacity:.45}.overlay-seat:after{content:attr(data-name);position:absolute;top:100%;left:50%;transform:translate(-50%,3px);font-size:11px;white-space:nowrap;color:var(--color-grey-900);font-weight:700}.overlay-seat:before{content:"";position:absolute;left:-7px;top:-7px;width:11px;height:11px;border-radius:50%;background:var(--color-grey-500);box-shadow:0 0 0 2px var(--opacity-grey-300)}.overlay-seat[data-state=등원]:before{background:var(--color-teal-500)}.overlay-seat[data-state=미등원]:before{background:var(--color-red-500)}.overlay-seat[data-check="1"]{background:var(--color-blue-100);border-color:var(--color-teal-400);color:var(--color-teal-900)}.overlay-seat[data-check="2"]{background:var(--color-yellow-100);border-color:var(--color-orange-500);color:var(--color-red-900)}.overlay-seat[data-check="3"]{background:var(--color-grey-900);border-color:var(--color-grey-900);color:var(--color-grey-100)}.overlay-seat[data-check="4"]{background:var(--color-blue-50);border-color:var(--color-purple-500);color:var(--color-purple-900)}.overlay-seat[data-check="5"]{background:var(--color-teal-50);border-color:var(--color-green-700);color:var(--color-green-900)}.seat-num{line-height:1}.seat-state-mini{position:absolute;right:-7px;top:-7px;min-width:14px;height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;border:1px solid var(--opacity-grey-400);color:var(--color-background)}.seat-state-mini.state-1{background:var(--color-teal-400)}.seat-state-mini.state-2{background:var(--color-orange-500)}.seat-state-mini.state-3{background:var(--color-grey-900)}.seat-state-mini.state-4{background:var(--color-purple-500)}.seat-state-mini.state-5{background:var(--color-green-700)}.overlay-zone{position:absolute;width:52px;height:30px;transform:translate(calc(-50% + var(--overlay-shift-x)),calc(-50% + var(--overlay-shift-y)));border-radius:8px;border:2px solid var(--color-grey-600);background:color-mix(in srgb,var(--color-background) 88%,transparent);font-size:12px;font-weight:800;color:var(--color-grey-900);cursor:pointer}.overlay-zone:disabled{opacity:.7;cursor:not-allowed}.overlay-zone.ok{background:var(--color-green-50);border-color:var(--color-green-700);color:var(--color-green-900)}.seat-reason-pop{position:absolute;transform:translate(-50%,calc(-100% - 14px));min-width:220px;max-width:320px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--color-background) 97%,transparent);box-shadow:0 10px 22px var(--opacity-grey-300);font-size:12px;color:var(--color-grey-900);z-index:12;pointer-events:auto}.seat-reason-pop-title{font-weight:800;margin-bottom:4px}.patrol-log{display:grid;align-content:start;gap:6px;font-size:12px;color:var(--ink-2)}.patrol-log-fixed{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--color-background) 85%,transparent);padding:8px;height:280px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.patrol-log-fill{flex:1 1 0;min-height:0;height:100%}.patrol-log-line{display:flex;align-items:flex-start;gap:8px;line-height:1.45;padding:2px 0;min-width:0;width:100%}.patrol-log-time{flex:0 0 auto;color:var(--ink-3);font-size:11px;font-variant-numeric:tabular-nums}.patrol-log-text{flex:1 1 auto;min-width:0;color:var(--ink-1);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.patrol-floor-meta{position:absolute;right:32px;top:26px;bottom:auto;z-index:14;width:250px;padding:5px 7px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-grey-500) 32%,transparent);background:color-mix(in srgb,var(--color-background) 28%,transparent);box-shadow:0 3px 8px var(--opacity-grey-200);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:grid;gap:1px;font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;transform:scale(.72);transform-origin:top right}.patrol-floor-meta-actions{display:flex;justify-content:flex-end}.patrol-floor-meta-actions-floating{position:absolute;right:10px;bottom:10px;z-index:15}.patrol-status-legend{position:absolute;right:10px;bottom:10px;z-index:14;font-size:10px;line-height:1.2;padding:4px 7px;border-radius:8px;background:color-mix(in srgb,var(--color-background) 50%,transparent);border:1px solid color-mix(in srgb,var(--color-grey-500) 35%,transparent);pointer-events:none;display:grid;gap:3px}.patrol-status-legend-row{display:flex;align-items:center;gap:6px}.patrol-status-dot{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:var(--color-background);border:1px solid var(--opacity-grey-400)}.patrol-status-dot.is-absent{background:var(--color-red-500)}.patrol-status-dot.is-normal{background:var(--color-blue-500)}.patrol-status-dot.is-sleep{background:var(--color-green-700)}.patrol-status-dot.is-openroom{background:var(--color-orange-700)}.patrol-summary-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.patrol-summary-item{min-width:96px;border:1px solid var(--line);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--color-background) 85%,transparent)}.patrol-history-layout{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:12px}.patrol-history-list{min-width:0}.patrol-history-logs{height:280px;overflow:auto;display:grid;gap:6px;font-size:12px;color:var(--ink-2)}.patrol-case-wrap{min-height:300px;max-height:560px;overflow:auto;scrollbar-gutter:stable}.patrol-day-scroll{height:560px;overflow:auto;display:grid;gap:8px}.patrol-day-item{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:left;background:color-mix(in srgb,var(--color-background) 88%,transparent);cursor:pointer}.patrol-day-item.active{border-color:color-mix(in srgb,var(--color-blue-500) 45%,transparent);background:color-mix(in srgb,var(--color-blue-500) 12%,transparent)}.patrol-matrix-table thead th{text-align:center;vertical-align:middle;white-space:nowrap}.patrol-matrix-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.patrol-matrix-cell{display:grid;gap:2px;align-content:start}.patrol-matrix-status{font-weight:700;color:var(--ink-1)}.patrol-matrix-qr-row{background:color-mix(in srgb,var(--color-blue-500) 7%,transparent)}.excel-sheet-wrap{max-height:560px;overflow:auto;position:relative}.excel-sheet-wrap .table{min-width:max-content}.excel-sheet-wrap .table thead th{position:sticky;top:0;z-index:4;background:var(--color-grey-50)}.patrol-matrix-table thead th{position:sticky;top:0;z-index:20;background:var(--color-grey-50)}.patrol-matrix-table th.sticky-col-1,.patrol-matrix-table td.sticky-col-1,.patrol-matrix-table th.sticky-col-2,.patrol-matrix-table td.sticky-col-2{position:sticky;z-index:15;background:var(--color-grey-50);background-clip:padding-box}.patrol-matrix-table .sticky-col-1{left:0}.patrol-matrix-table .sticky-col-2{left:96px}.patrol-matrix-table thead .sticky-col-1,.patrol-matrix-table tbody .sticky-col-1{width:96px;min-width:96px}.patrol-matrix-table thead .sticky-col-1,.patrol-matrix-table thead .sticky-col-2{top:0;z-index:30}.patrol-matrix-table tbody .sticky-col-1,.patrol-matrix-table tbody .sticky-col-2{z-index:7;background:color-mix(in srgb,var(--color-background) 98%,transparent)}.schedule-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.schedule-column{border:1px solid var(--line);border-radius:14px;padding:10px;background:color-mix(in srgb,var(--color-background) 72%,transparent)}.schedule-column-list{display:grid;gap:8px;max-height:280px;overflow:auto}.schedule-item{border:1px solid var(--line);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--color-background) 90%,transparent)}.sheet-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--color-background) 90%,transparent);scrollbar-gutter:stable}.sheet-wrap .table{min-width:max-content}.sheet-wrap .table thead th{position:sticky;top:0;z-index:2;background:var(--color-grey-50)}.records-scroll{min-height:220px;max-height:500px;overflow:auto}.records-scroll-sm{min-height:160px;max-height:320px;overflow:auto}.records-scroll-lg{min-height:300px;max-height:620px;overflow:auto}.sheet-toolbar{display:grid;gap:10px}.sheet-toolbar-group{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.sheet-stat-line{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--color-background) 70%,transparent);font-size:13px;color:var(--ink-2)}.sheet-table{min-width:1180px;margin:0}.sheet-wrap .table.schedule-approval-table{width:100%;min-width:1280px!important;table-layout:auto!important}.schedule-approval-table th,.schedule-approval-table td{word-break:keep-all!important}.schedule-approval-table th:not(:nth-child(6)):not(:nth-child(7)),.schedule-approval-table td:not(:nth-child(6)):not(:nth-child(7)){white-space:nowrap!important}.schedule-admin-review-actions,.schedule-admin-followup-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.schedule-admin-review-actions .btn,.schedule-admin-followup-actions .btn{flex:0 0 auto;min-width:52px;white-space:nowrap;word-break:keep-all}.schedule-approval-student-cell{font-weight:800;color:var(--color-grey-900)}.schedule-approval-student-cell small{display:block;margin-top:3px;color:var(--color-red-600);font-size:10px;font-weight:700}.schedule-admin-target-panel{margin-top:12px;padding:14px;border:1px solid var(--color-grey-200);border-radius:14px;background:var(--color-grey-50)}.schedule-admin-target-head,.schedule-bulk-toolbar{display:flex;align-items:center;gap:8px}.schedule-admin-target-head{min-width:0;justify-content:flex-start;flex-wrap:nowrap}.schedule-admin-target-head>strong{flex:0 0 auto;color:var(--color-grey-900);font-size:14px;white-space:nowrap}.schedule-admin-target-mode{padding:3px;border-radius:10px;background:var(--color-grey-100);display:inline-flex;gap:2px}.schedule-admin-target-mode button{min-height:32px;padding:0 12px;border:0;border-radius:8px;color:var(--color-grey-600);background:transparent;font-family:var(--font-body);font-size:12.5px;font-weight:750;cursor:pointer}.schedule-admin-target-mode button.is-active{color:var(--color-blue-700);background:var(--color-background);box-shadow:0 1px 4px var(--opacity-grey-200)}.schedule-admin-target-mode button:disabled{color:var(--color-grey-400);cursor:not-allowed}.schedule-bulk-picker{margin-top:10px;display:grid;gap:10px}.schedule-admin-target-count{flex:1 1 100px;min-width:0;color:var(--color-blue-700);font-size:12.5px;font-weight:800;white-space:nowrap}.schedule-bulk-toolbar{flex-wrap:wrap}.schedule-bulk-toolbar input[type=search]{flex:1 1 220px;min-width:180px;max-width:360px;min-height:38px}.schedule-bulk-toolbar>span{margin-left:auto;color:var(--color-blue-700);font-size:12.5px;font-weight:800}.schedule-bulk-student-list{max-height:248px;padding:6px;border:1px solid var(--color-grey-200);border-radius:12px;background:var(--color-background);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow-y:auto}.schedule-bulk-student-list label{min-width:0;min-height:42px;padding:7px 9px;border:1px solid transparent;border-radius:9px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:7px;align-items:center;cursor:pointer}.schedule-bulk-student-list label:hover{background:var(--color-grey-50)}.schedule-bulk-student-list label.is-selected{border-color:var(--color-blue-200);background:var(--color-blue-50)}.schedule-bulk-student-list input{grid-row:1 / 3;margin:0}.schedule-bulk-student-list strong,.schedule-bulk-student-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-bulk-student-list strong{color:var(--color-grey-900);font-size:12.5px}.schedule-bulk-student-list span,.schedule-bulk-help,.schedule-bulk-empty{color:var(--color-grey-500);font-size:11px}.schedule-bulk-empty{grid-column:1 / -1;padding:24px 10px;text-align:center}.schedule-admin-single-picker,.schedule-admin-single-picker>div{flex:0 1 180px;width:180px;min-width:0!important;max-width:180px}.schedule-admin-single-picker select{width:100%;min-width:0;max-width:100%}.schedule-register-flow{display:grid;margin-top:12px}.schedule-register-block{min-width:0;padding:18px 0;border-top:1px solid var(--color-grey-200)}.schedule-register-block:first-child{padding-top:4px;border-top:0}.schedule-register-heading{min-width:0;margin-bottom:12px;display:flex;align-items:flex-start;gap:10px}.schedule-register-heading>div{min-width:0;display:grid;gap:3px}.schedule-register-heading strong{color:var(--color-grey-900);font-size:15px;line-height:1.4}.schedule-register-heading>div>span{color:var(--color-grey-600);font-size:12.5px;line-height:1.45}.schedule-register-heading-with-meta .schedule-registration-badge{margin-left:auto}.schedule-register-step{width:26px;min-width:26px;height:26px;border-radius:9px;color:var(--color-blue-600);background:var(--color-blue-50);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.schedule-kind-options,.schedule-request-options{display:grid;gap:8px}.schedule-kind-options{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-request-options{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-choice-card{min-width:0;min-height:68px;padding:12px 14px;border:1px solid var(--color-grey-200);border-radius:13px;color:var(--color-grey-800);background:var(--color-background);display:grid;align-content:center;gap:4px;text-align:left;font-family:var(--font-body);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.schedule-choice-card strong{font-size:14px;line-height:1.35}.schedule-choice-card span{color:var(--color-grey-600);font-size:12px;line-height:1.4}.schedule-choice-card:hover{border-color:var(--color-grey-400);background:var(--color-grey-50)}.schedule-choice-card.is-selected{border-color:var(--color-blue-300);color:var(--color-blue-700);background:var(--color-blue-50)}.schedule-choice-card.is-selected span{color:var(--color-blue-700)}.schedule-choice-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.schedule-register-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-register-fields>*,.schedule-native-control{min-width:0;max-width:100%}.schedule-native-control{--schedule-native-field-height: 42px;width:100%;height:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:14px;background:var(--glass-strong);display:flex;align-items:center;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.schedule-native-control:focus-within{border-color:var(--color-grey-600);box-shadow:0 0 0 4px var(--focus-ring)}.schedule-native-control>input[type=date],.schedule-native-control>input[type=time]{display:block;flex:1 1 0;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%;height:var(--schedule-native-field-height);min-height:var(--schedule-native-field-height);margin:0;padding:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink-1);-webkit-text-fill-color:currentColor;opacity:1;font-size:16px;line-height:normal;vertical-align:middle;text-align:center}.schedule-native-control>input[type=date]:disabled,.schedule-native-control>input[type=time]:disabled{color:var(--color-grey-600);-webkit-text-fill-color:var(--color-grey-600);opacity:1}.schedule-native-control>input[type=date]:focus,.schedule-native-control>input[type=time]:focus{border:0;box-shadow:none}@supports (-webkit-touch-callout: none){.schedule-native-control>input[type=date],.schedule-native-control>input[type=time]{display:flex;align-items:center;justify-content:center;line-height:var(--schedule-native-field-height)}.schedule-native-control>input[type=date]::-webkit-date-and-time-value,.schedule-native-control>input[type=time]::-webkit-date-and-time-value{display:flex;align-items:center;justify-content:center;height:var(--schedule-native-field-height);min-height:var(--schedule-native-field-height);margin:0;padding:0;line-height:var(--schedule-native-field-height);text-align:center}.schedule-native-control>input[type=date]::-webkit-datetime-edit,.schedule-native-control>input[type=time]::-webkit-datetime-edit{display:flex;align-items:center;justify-content:center;height:var(--schedule-native-field-height);min-width:0;min-height:var(--schedule-native-field-height);margin:0;padding:0;line-height:normal;text-align:center}.schedule-native-control>input[type=date]::-webkit-datetime-edit-fields-wrapper,.schedule-native-control>input[type=time]::-webkit-datetime-edit-fields-wrapper{display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:0}}.schedule-register-date-field,.schedule-register-time-field.is-single{grid-column:1 / -1}.schedule-register-fields label{margin-bottom:6px}.schedule-register-field-help{margin-top:6px;color:var(--color-grey-600);font-size:12px;line-height:1.45}.schedule-register-field-help.is-warning{color:var(--color-orange-900)}.schedule-registration-badge{flex:0 0 auto;min-height:26px;padding:0 9px;border-radius:999px;color:var(--color-blue-700);background:var(--color-blue-50);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:750;white-space:nowrap}.schedule-register-reason{min-height:192px;resize:vertical}.schedule-register-review{margin-top:2px;padding:15px 16px;border-radius:14px;background:var(--color-grey-50);display:grid;gap:5px}.schedule-register-review-label{margin-bottom:2px;color:var(--color-grey-500);font-size:11.5px;font-weight:750}.schedule-register-review strong{color:var(--color-grey-900);font-size:15px;line-height:1.45}.schedule-register-review>span:not(.schedule-register-review-label){color:var(--color-grey-700);font-size:13px;line-height:1.45}.schedule-register-review small{margin-top:3px;color:var(--color-grey-600);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.schedule-register-submit-row{padding-top:14px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.schedule-register-submit{width:180px;min-height:44px}.schedule-parent-approved-submit{width:180px;min-width:0}.schedule-register-notice{margin-top:10px;padding:11px 12px;border-radius:11px;color:var(--color-grey-700);background:var(--color-grey-100);font-size:12.5px;line-height:1.5}.schedule-register-notice.is-warning{color:var(--color-orange-900);background:var(--color-orange-50)}.regular-table{min-width:760px}.regular-section-label{margin-bottom:8px;font-size:13px;font-weight:700;color:var(--ink-2)}.regular-toggle-label{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:700;color:var(--ink-2);width:max-content;min-width:0;margin:0;white-space:nowrap}.regular-toggle-label input[type=checkbox]{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0}.regular-toggle-label span{white-space:nowrap;display:inline-block;min-width:0;margin:0;padding:0;text-align:left}.regular-time-field-label,.regular-mobile-controls{display:none}.regular-outing-action{display:flex;justify-content:flex-start}.regular-outing-row td{padding:10px 12px!important;border-top:1px dashed color-mix(in srgb,var(--color-grey-500) 28%,transparent)}.regular-table tbody tr.regular-stripe-odd>td{background:var(--color-background)}.regular-table tbody tr.regular-stripe-even>td{background:var(--opacity-grey-50)}.regular-table tbody tr.regular-stripe-odd:hover>td,.regular-table tbody tr.regular-stripe-even:hover>td{background:color-mix(in srgb,var(--color-blue-500) 8%,transparent)}.regular-outing-day-cell,.regular-outing-status-cell{font-size:13px;font-weight:700;color:var(--ink-2);white-space:nowrap}.regular-outing-status-cell{min-width:110px}.regular-outing-input-wrap{display:grid;gap:6px;min-width:0}.regular-outing-input-wrap label{margin:0;font-size:12px;font-weight:700;color:var(--ink-3)}.regular-outing-row input{min-width:0;width:100%}.regular-outing-clear-btn{min-width:108px;white-space:nowrap;padding-inline:10px}.sheet-table thead th{position:sticky;top:0;z-index:1;background:var(--color-grey-50)}.sheet-table tbody tr:nth-child(2n){background:var(--opacity-grey-50)}.sheet-table tbody tr:hover{background:color-mix(in srgb,var(--color-blue-500) 8%,transparent)}.qr-box{position:relative;overflow:hidden;border:1px dashed var(--line);border-radius:12px;padding:8px;background:color-mix(in srgb,var(--color-background) 72%,transparent)}.qr-overlay-title{position:absolute;z-index:2;left:8px;right:8px;top:8px;text-align:center;font-size:12px;font-weight:800;color:var(--color-grey-900);border-radius:8px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--color-grey-500) 35%,transparent);background:color-mix(in srgb,var(--color-background) 62%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.patrol-qr-zones{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px}.patrol-qr-zone-btn{flex:1 0 0;min-width:50px;justify-content:center;white-space:nowrap;padding:5px 4px;font-size:11px}.qr-reader{width:100%;min-height:180px}.consultation-page{display:grid;gap:14px}.consultation-page-head,.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.consultation-head-actions,.consultation-form-actions,.consultation-scope-tabs{display:flex;gap:8px;flex-wrap:wrap}.consultation-filter-card,.consultation-form-card{display:grid;gap:12px}.consultation-filter-grid,.consultation-form-grid,.consultation-followup-grid{display:grid;gap:10px 12px}.consultation-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.consultation-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.consultation-followup-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.consultation-filter-grid label,.consultation-form-grid label,.consultation-followup-grid label{display:grid;gap:6px;min-width:0}.consultation-filter-grid label>span,.consultation-form-grid label>span,.consultation-followup-grid label>span{font-size:12px;font-weight:700;color:var(--ink-2)}.consultation-form-wide,.consultation-filter-search,.consultation-followup-agenda{grid-column:span 2}.consultation-followup-box{border:1px solid var(--line);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--color-grey-50) 72%,transparent);display:grid;gap:10px}.consultation-followup-action{display:flex;align-items:end}.consultation-body-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.consultation-side-panel,.consultation-main-stack{min-width:0}.consultation-main-stack{display:grid;gap:14px}.consultation-side-panel{position:sticky;top:94px;display:grid;gap:12px}.consultation-side-section{display:grid;gap:10px;padding-bottom:2px}.consultation-side-section+.consultation-side-section{border-top:1px solid color-mix(in srgb,var(--color-grey-500) 20%,transparent);padding-top:12px}.consultation-side-title{font-size:13px;font-weight:800;color:var(--ink-2)}.consultation-student-name{font-size:20px;font-weight:800;color:var(--ink-1)}.consultation-student-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.consultation-student-meta-grid div,.consultation-side-note{border:1px solid color-mix(in srgb,var(--color-grey-500) 24%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-grey-50) 72%,transparent);padding:9px 10px}.consultation-student-meta-grid span,.consultation-side-note b{display:block;margin-bottom:4px;font-size:11px;color:var(--ink-3)}.consultation-student-meta-grid strong{display:block;font-size:13px;color:var(--ink-1);line-height:1.4}.consultation-side-note div{font-size:12px;color:var(--ink-2);line-height:1.55;white-space:pre-wrap}.consultation-quick-list{display:grid;gap:8px}.consultation-quick-item{display:grid;gap:2px;justify-items:start;text-align:left;width:100%;min-height:0;padding:10px 11px;border:1px solid color-mix(in srgb,var(--color-grey-500) 22%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-grey-50) 92%,transparent);color:var(--ink-1)}.consultation-quick-item strong{font-size:12px;color:var(--ink-1)}.consultation-quick-item span{font-size:13px;font-weight:700;color:var(--ink-2)}.consultation-quick-item small{font-size:11px;color:var(--ink-3)}.consultation-quick-item.is-warning{border-color:color-mix(in srgb,var(--color-orange-500) 30%,transparent);background:color-mix(in srgb,var(--color-yellow-50) 92%,transparent)}.consultation-quick-empty{border:1px dashed color-mix(in srgb,var(--color-grey-500) 34%,transparent);border-radius:10px;padding:10px 11px;font-size:12px;color:var(--ink-3);background:color-mix(in srgb,var(--color-grey-50) 64%,transparent)}.consultation-sheet-wrap{max-height:540px}.consultation-table{min-width:1500px}.consultation-history-table{min-width:1900px}.consultation-row.is-selected>td{background:color-mix(in srgb,var(--color-blue-500) 13%,transparent)!important}.consultation-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.consultation-status.is-scheduled{background:color-mix(in srgb,var(--color-blue-500) 12%,transparent);color:var(--color-blue-800);border-color:color-mix(in srgb,var(--color-blue-500) 20%,transparent)}.consultation-status.is-completed{background:color-mix(in srgb,var(--color-green-700) 12%,transparent);color:var(--color-green-900);border-color:color-mix(in srgb,var(--color-green-700) 20%,transparent)}.consultation-status.is-canceled{background:color-mix(in srgb,var(--color-red-500) 12%,transparent);color:var(--color-red-800);border-color:color-mix(in srgb,var(--color-red-500) 20%,transparent)}.consultation-status.is-no-show{background:color-mix(in srgb,var(--color-orange-500) 14%,transparent);color:var(--color-orange-900);border-color:color-mix(in srgb,var(--color-orange-500) 22%,transparent)}.linkish-button{border:0;background:transparent;padding:0;color:var(--color-blue-800);font-weight:700;cursor:pointer;text-align:left}.linkish-button:hover{text-decoration:underline}@media (max-width: 1080px){.patrol-layout{grid-template-columns:1fr}.patrol-panel-right{position:static}.patrol-history-layout,.schedule-columns,.consultation-body-layout{grid-template-columns:1fr}.consultation-side-panel{position:static}.consultation-filter-grid,.consultation-form-grid,.consultation-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 920px){:root{--fs-body: 14px;--fs-h1: clamp(20px, 7vw, 24px);--fs-h2: clamp(15px, 4.5vw, 17px);--fs-kpi: clamp(24px, 8vw, 28px)}.h1{margin-bottom:8px}.muted{font-size:12px}.table th,.table td{padding:8px 6px;font-size:12px}.sheet-toolbar-group>div{min-width:0!important;flex:1 1 170px}.consultation-page-head,.section-title-row,.consultation-form-actions,.consultation-head-actions{align-items:stretch}.consultation-student-meta-grid{grid-template-columns:1fr}.consultation-form-wide,.consultation-filter-search,.consultation-followup-agenda{grid-column:span 1}.records-scroll{min-height:180px;max-height:380px}.records-scroll-sm{min-height:140px;max-height:260px}.records-scroll-lg{min-height:220px;max-height:440px}.patrol-case-wrap{min-height:220px;max-height:420px}.patrol-day-scroll{height:420px}.patrol-log-fixed{height:220px}.patrol-log-fill{min-height:0}.student-regular-scroll,.student-irregular-scroll{height:320px}.student-patrol-scroll{height:220px}:root{--overlay-seat-size: 26px}.overlay-seat{width:var(--overlay-seat-size);height:var(--overlay-seat-size)}.overlay-seat:after{font-size:10px}.overlay-zone{width:46px;height:28px;font-size:11px}.student-schedule-panels{grid-template-columns:1fr}.patrol-floor-meta{right:14px;min-width:0;width:min(68vw,220px);top:14px;bottom:auto;white-space:normal;line-height:1.25;padding:6px 8px}.patrol-floor-meta-actions-floating{right:8px;bottom:8px}.patrol-status-legend{right:8px;bottom:8px;font-size:9px}.patrol-status-dot{width:16px;height:16px;font-size:10px}.patrol-svg-actions{top:8px;left:50%;transform:translate(-50%);max-width:calc(100% - 16px)}.patrol-svg-action-btn{min-height:40px;padding:0 12px;font-size:13px;gap:6px}.patrol-svg-action-icon{width:18px;height:18px}.patrol-svg-action-icon svg{width:12px;height:12px}.meal-calendar-top{flex-direction:column;gap:8px}.meal-aggregate-toolbar{grid-template-columns:minmax(0,1fr);gap:10px}.meal-aggregate-actions{justify-content:flex-start}.meal-aggregate-cell{min-height:82px;padding:7px}.meal-aggregate-line{gap:4px;font-size:11px}.meal-aggregate-line strong{font-size:12px}.meal-calendar-summary{width:100%;min-width:0;text-align:right}.meal-summary-menu-btn-row{justify-content:flex-end}.meal-calendar-side{width:100%;min-width:0}.meal-save-btn{width:100%}.tuition-calendar-cell{min-height:98px}}.billing-control-page{display:grid;gap:18px}.billing-control-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--color-grey-200);border-radius:22px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--color-blue-500) 15%,transparent),transparent 42%),linear-gradient(135deg,var(--color-background) 0%,var(--color-grey-50) 100%);box-shadow:0 12px 28px var(--opacity-grey-100)}.billing-control-kicker{display:block;margin-bottom:7px;color:var(--color-blue-600);font-size:11px;font-weight:850;letter-spacing:.14em}.billing-control-hero h2{margin:0;color:var(--color-grey-900);font-size:26px;letter-spacing:-.04em}.billing-control-hero p{margin:7px 0 0;color:var(--color-grey-600);font-size:14px}.billing-control-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}.billing-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.billing-feedback{padding:13px 16px;border:1px solid;border-radius:13px;font-size:14px;font-weight:700}.billing-feedback.is-success{color:var(--color-green-800);border-color:var(--color-green-200);background:var(--color-green-50)}.billing-feedback.is-error{color:var(--color-red-800);border-color:var(--color-red-200);background:var(--color-red-50)}.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr)) minmax(210px,1.8fr);gap:10px}.billing-summary-grid article{min-height:104px;padding:17px 19px;border:1px solid var(--color-grey-200);border-radius:17px;background:var(--color-background);box-shadow:0 8px 18px var(--opacity-grey-100)}.billing-summary-grid span{display:block;margin-bottom:9px;color:var(--color-grey-600);font-size:12px;font-weight:750}.billing-summary-grid strong{color:var(--color-grey-900);font-size:27px;letter-spacing:-.04em}.billing-summary-grid em{margin-left:3px;color:var(--color-grey-500);font-size:12px;font-style:normal}.billing-summary-grid .is-wide{background:var(--color-grey-900)}.billing-summary-grid .is-wide span{color:var(--color-grey-400)}.billing-summary-grid .is-wide strong{color:var(--color-background);font-size:23px}.billing-list-card{padding:0;overflow:hidden}.billing-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--color-grey-200)}.billing-list-toolbar>div:first-child{display:flex;align-items:baseline;gap:9px}.billing-list-toolbar>div:first-child strong{color:var(--color-grey-900);font-size:17px}.billing-list-toolbar>div:first-child span{color:var(--color-grey-500);font-size:12px}.billing-list-filters{display:flex;gap:8px}.billing-list-filters input,.billing-list-filters select{min-height:38px;padding:0 12px;border:1px solid var(--color-grey-300);border-radius:10px;background:var(--color-background);color:var(--color-grey-800);font:inherit;font-size:13px}.billing-list-filters input{width:220px}.billing-table-wrap{overflow-x:auto}.billing-control-table{min-width:940px;margin:0}.billing-control-table th{white-space:nowrap;font-size:12px}.billing-control-table td{vertical-align:middle}.billing-control-table td>strong,.billing-control-table td>span:not(.billing-status){display:block}.billing-control-table td>strong{color:var(--color-grey-900);font-size:13px}.billing-control-table td>span:not(.billing-status){margin-top:3px;color:var(--color-grey-500);font-size:11px}.billing-control-table tr.is-disabled td{background:var(--color-grey-50);opacity:.72}.billing-amount-cell{color:var(--color-grey-900);font-size:14px;font-weight:800;white-space:nowrap}.billing-status{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.billing-status.is-active{color:var(--color-green-800);background:var(--color-green-50)}.billing-status.is-off{color:var(--color-grey-600);background:var(--color-grey-200)}.billing-row-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.billing-row-actions button{min-height:31px;padding:0 9px;border:1px solid var(--color-grey-300);border-radius:8px;background:var(--color-background);color:var(--color-grey-700);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.billing-row-actions button:hover:not(:disabled){color:var(--color-blue-700);border-color:var(--color-blue-300);background:var(--color-blue-50)}.billing-row-actions button:disabled{opacity:.42;cursor:default}.billing-empty{padding:52px 20px;color:var(--color-grey-500);text-align:center;font-size:14px}.public-bill-page,.public-bill-state{min-height:100vh;font-family:var(--font-body)}.public-bill-page{padding:36px 16px 52px;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--color-blue-500) 16%,transparent),transparent 34%),linear-gradient(180deg,var(--color-grey-100) 0%,var(--color-blue-50) 100%)}.public-bill-owner-preview{display:flex;align-items:center;justify-content:center;gap:9px;width:min(720px,100%);margin:0 auto 10px;padding:10px 14px;border:1px solid var(--color-blue-200);border-radius:12px;color:var(--color-blue-800);background:var(--color-blue-50);font-size:12px}.public-bill-owner-preview strong{font-size:12px}.public-bill-owner-preview span{color:var(--color-blue-700)}.public-bill-sheet{width:min(720px,100%);margin:0 auto;padding:38px;border:1px solid var(--opacity-grey-200);border-radius:26px;background:var(--color-background);box-shadow:0 26px 70px var(--opacity-grey-300)}.public-bill-header{display:flex;align-items:center;gap:22px;padding-bottom:27px;border-bottom:2px solid var(--color-grey-900)}.public-bill-logo{display:block;flex:0 0 auto;width:118px;height:auto}.public-bill-header>div:last-child{min-width:0;margin-left:auto;text-align:right}.public-bill-header h1{margin:0;color:var(--color-grey-900);font-size:25px;letter-spacing:-.045em}.public-bill-header p{margin:4px 0 0;color:var(--color-grey-500);font-size:13px}.public-bill-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:24px 0;overflow:hidden;border:1px solid var(--color-grey-200);border-radius:14px;background:var(--color-grey-200)}.public-bill-meta div{display:flex;align-items:center;gap:13px;min-height:54px;padding:0 15px;background:var(--color-grey-50)}.public-bill-meta span{flex:0 0 58px;color:var(--color-grey-500);font-size:11px;font-weight:700}.public-bill-meta strong{color:var(--color-grey-900);font-size:13px}.public-bill-items{overflow:hidden;border:1px solid var(--color-grey-200);border-radius:14px 14px 0 0}.public-bill-item-head,.public-bill-item{display:grid;grid-template-columns:54px 1fr 130px;align-items:center}.public-bill-item-head{min-height:40px;color:var(--color-grey-500);background:var(--color-grey-100);font-size:11px;font-weight:750}.public-bill-item{min-height:52px;border-top:1px solid var(--color-grey-200);color:var(--color-grey-700);font-size:13px}.public-bill-item-head span,.public-bill-item>*{padding:0 15px}.public-bill-item-head span:last-child,.public-bill-item>span:last-child{text-align:right}.public-bill-item strong{color:var(--color-grey-900);font-weight:700}.public-bill-total{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 19px;border-radius:0 0 14px 14px;color:var(--color-background);background:var(--color-grey-900)}.public-bill-total span{color:var(--color-grey-300);font-size:13px;font-weight:700}.public-bill-total strong{font-size:25px;letter-spacing:-.04em}.public-bill-payment{margin-top:26px}.public-bill-payment h2{margin:0 0 10px;color:var(--color-grey-900);font-size:17px}.public-bill-payrow{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:13px 15px;border:1px solid var(--color-grey-200);border-radius:13px;background:var(--color-grey-50)}.public-bill-payrow+.public-bill-payrow{margin-top:8px}.public-bill-payrow div{min-width:0}.public-bill-payrow span,.public-bill-payrow strong,.public-bill-payrow em{display:block}.public-bill-payrow span{margin-bottom:3px;color:var(--color-grey-500);font-size:11px;font-weight:700}.public-bill-payrow strong{color:var(--color-grey-900);font-size:15px;word-break:keep-all}.public-bill-payrow em{margin-top:2px;color:var(--color-grey-600);font-size:11px;font-style:normal}.public-bill-payrow button,.public-bill-footer button{flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid var(--color-blue-200);border-radius:9px;background:var(--color-blue-50);color:var(--color-blue-700);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.public-bill-notices{margin-top:20px;padding:14px 16px;border-radius:12px;background:var(--color-grey-100)}.public-bill-notices p{margin:0;color:var(--color-grey-600);font-size:11px;line-height:1.65}.public-bill-notices p+p{margin-top:2px}.public-bill-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:24px;padding-top:19px;border-top:1px solid var(--color-grey-200);color:var(--color-grey-500);font-size:11px;font-weight:700;text-align:center}.public-bill-footer span{grid-column:2}.public-bill-footer button{grid-column:3;justify-self:end}.public-bill-footer button{color:var(--color-grey-600);border-color:var(--color-grey-300);background:var(--color-background)}.public-bill-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--color-grey-900);background:var(--color-grey-50);text-align:center}.public-bill-state strong{font-size:19px}.public-bill-state p,.public-bill-state>span:last-child{margin:0;color:var(--color-grey-500);font-size:13px}.public-bill-state-mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:8px;border-radius:50%;color:var(--color-red-600);background:var(--color-red-50);font-size:25px;font-weight:900}.public-bill-spinner{width:34px;height:34px;margin-bottom:10px;border:3px solid var(--color-blue-100);border-top-color:var(--color-blue-500);border-radius:50%;animation:public-bill-spin .8s linear infinite}@keyframes public-bill-spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.billing-control-hero{align-items:flex-start;flex-direction:column}.billing-control-actions{justify-content:flex-start}.billing-summary-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}.billing-summary-grid .is-wide{grid-column:span 2}}@media (max-width: 640px){.billing-control-hero{padding:20px}.billing-control-actions .btn{flex:1 1 calc(50% - 8px)}.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-summary-grid .is-wide{grid-column:1 / -1}.billing-list-toolbar{align-items:stretch;flex-direction:column}.billing-list-filters input{width:100%}.billing-list-filters select{flex:0 0 105px}.public-bill-page{padding:0;background:var(--color-background)}.public-bill-sheet{padding:25px 18px 32px;border:0;border-radius:0;box-shadow:none}.public-bill-owner-preview{margin:0;border-width:0 0 1px;border-radius:0}.public-bill-header{align-items:flex-start;gap:14px}.public-bill-logo{width:94px}.public-bill-header h1{font-size:21px}.public-bill-meta{grid-template-columns:1fr}.public-bill-meta div{min-height:46px}.public-bill-item-head,.public-bill-item{grid-template-columns:42px 1fr 102px}.public-bill-item-head span,.public-bill-item>*{padding:0 10px}.public-bill-total strong{font-size:22px}}@media print{.public-bill-page{min-height:auto;padding:0;background:var(--color-background)}.public-bill-sheet{width:100%;padding:0;border:0;border-radius:0;box-shadow:none}.public-bill-owner-preview,.public-bill-payrow button,.public-bill-footer button{display:none}}@media (max-width: 920px){.app-shell,.app-shell.nav-expanded,.app-shell.nav-collapsed{grid-template-columns:1fr!important}.dashboard-page{width:100%!important;max-width:100%!important}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-owner-operation-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page,.dashboard-main-grid,.dashboard-main-grid>*,.dashboard-table-card,.dashboard-coupon-kpis,.dashboard-coupon-kpis>*{min-width:0;width:100%}.dashboard-coupon-kpis{grid-template-columns:1fr}.dashboard-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.menu-board-overlay{padding:8px}.menu-board-card{max-height:calc(100vh - 16px);border-radius:12px}.menu-board-head{align-items:flex-start;flex-direction:column}.menu-board-title{font-size:14px}.menu-board-image{width:max(860px,100%)}.dashboard-announcement-targets,.notice-board-targets{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-sheet-wrap{max-width:100%;overflow-x:auto}.dashboard-sheet-wrap .table,.dashboard-regular-table,.dashboard-irregular-table{width:100%;min-width:100%!important}.app-shell,.app-main,.schedule-page,.dashboard-page,.grid,.card{width:100%!important;max-width:100vw!important;min-width:0!important}.sheet-wrap{width:100%!important;max-width:100%!important;overflow-x:auto}.sheet-wrap .table,.sheet-table,.regular-table{width:100%!important;min-width:0!important;table-layout:fixed}.sheet-wrap .table th,.sheet-wrap .table td{white-space:normal;word-break:break-word}.sheet-wrap .table.demerit-table{width:max-content!important;min-width:960px!important;table-layout:auto!important}.sheet-wrap .table.demerit-table th,.sheet-wrap .table.demerit-table td{white-space:nowrap!important;word-break:keep-all!important}.sheet-wrap .table.demerit-table .demerit-note-cell{max-width:240px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.sheet-wrap .table.demerit-table .demerit-actions{flex-wrap:nowrap}.schedule-preview-wrap.dashboard-sheet-wrap{overflow-x:auto!important}.schedule-preview-table{width:100%!important;min-width:620px!important;table-layout:auto!important}.schedule-preview-table th,.schedule-preview-table td{white-space:normal!important;overflow-wrap:anywhere;word-break:keep-all}}@media (max-width: 560px){.dashboard-kpi-grid,.dashboard-shortcut-grid,.dashboard-announcement-targets,.notice-board-targets{grid-template-columns:1fr!important}.consultation-filter-grid,.consultation-form-grid,.consultation-followup-grid{grid-template-columns:1fr}.dashboard-kpi-grid.dashboard-kpi-grid-mobile-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-summary-line{grid-template-columns:minmax(0,1fr) 18px;gap:3px 8px}.dashboard-summary-line span,.dashboard-summary-line b{grid-column:1}.dashboard-summary-link i{grid-column:2;grid-row:1 / span 2}.dashboard-owner-month-picker{width:100%}}@media (min-width: 681px) and (max-width: 920px){.grid-2,.grid-3,.dashboard-main-grid,.dashboard-parent-schedule-grid,.dashboard-shortcut-grid,.dashboard-announcement-targets,.notice-board-targets{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width: 680px){.app-shell{padding:8px 6px!important;gap:8px!important}.app-main{padding-top:104px}.card{padding:12px!important;border-radius:14px!important}.app-topbar{left:6px;right:6px;padding:12px!important;gap:8px}.app-topbar-meta .badge{font-size:11px;padding:3px 9px}.btn.nav-arrow-btn{width:30px;min-width:30px;min-height:30px;font-size:11px;border-radius:9px}.nav-date-chip{min-height:30px;padding:6px 10px;font-size:12px}.monitor-round-pill{width:86px;min-width:86px;max-width:86px;min-height:26px;font-size:11px;padding:2px 6px}.monitor-locker-btn{width:38px;min-width:38px;min-height:22px;padding:1px 6px;font-size:11px;border-radius:10px}.sheet-toolbar-group{align-items:stretch}.sheet-toolbar-group>div{flex:1 1 100%!important;min-width:0!important}.sheet-wrap{overflow-x:auto!important}.sheet-wrap .table,.sheet-table,.regular-table{min-width:620px!important;table-layout:auto!important}.table th,.table td{font-size:11.5px!important;padding:7px 6px!important;line-height:1.4}.patrol-svg-actions{max-width:calc(100% - 10px);flex-wrap:wrap;row-gap:6px}.patrol-svg-action-btn{min-height:36px;padding:0 10px;font-size:12px}.patrol-floor-meta{width:min(74vw,210px)!important;transform:scale(.68)!important;transform-origin:top right}}.member-mobile-only{display:none!important}@media (max-width: 920px){.app-shell{font-size:15px;min-height:100dvh}.app-shell .app-main{padding-top:0}.member-shell .app-main{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.admin-shell .app-main{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.admin-workspace-tabs{margin-top:-4px;border-radius:12px}.admin-workspace-tab{min-height:42px;padding:0 8px;font-size:12.5px}.app-shell .app-topbar{position:sticky;top:env(safe-area-inset-top);left:auto;right:auto;width:100%;align-self:start}.app-shell .card.app-topbar{min-height:56px;padding:8px 10px!important;border:0;border-radius:0;background:var(--grey-background);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell .app-topbar>.app-topbar-head,.app-shell .app-topbar>.app-topbar-meta{display:none}.portal-mobile-appbar.mobile-only{width:100%;min-width:0;display:flex!important;align-items:center;gap:8px}.portal-mobile-logo{flex:0 0 auto}.portal-mobile-home{flex:0 0 auto;min-width:81.4px;min-height:40px;display:inline-flex;align-items:center;border-radius:10px;-webkit-tap-highlight-color:transparent}.portal-mobile-home:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.portal-mobile-logo.academy-logo-lockup.sm .academy-logo-image,.portal-mobile-logo.academy-logo-lockup.sm .academy-logo-fallback{width:81.4px;height:26.4px}.portal-mobile-context{min-width:0;margin-left:auto;color:var(--color-grey-600);display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:12px;line-height:1;white-space:nowrap}.portal-mobile-context.is-admin-context{display:grid;justify-items:end;gap:2px;line-height:1.15}.portal-mobile-page-title{max-width:min(36vw,180px);overflow:hidden;color:var(--color-grey-900);font-size:13px;font-weight:750;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.portal-mobile-user{min-width:0;max-width:104px;padding:2px 0;border:0;color:var(--color-grey-600);background:transparent;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;cursor:pointer}.portal-mobile-user:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.portal-mobile-divider{color:var(--color-grey-300)}.portal-mobile-dday{color:var(--color-grey-500);font-size:12px;font-weight:650;letter-spacing:-.012em}.portal-mobile-menu{flex:0 0 40px;width:40px;height:40px;padding:9px;border:0;border-radius:12px;color:var(--color-grey-700);background:transparent;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.portal-mobile-menu:hover,.portal-mobile-menu:focus-visible{color:var(--color-grey-900);background:var(--color-grey-200);outline:none}.portal-mobile-menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-nav-drawer{width:min(86vw,340px);min-height:100dvh;padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))}.member-shell .mobile-nav-drawer{width:min(78vw,288px)}.mobile-nav-drawer .side-nav{max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));height:auto;grid-template-rows:auto minmax(0,1fr) auto;align-content:start;gap:0;padding:12px;overflow:hidden;border:1px solid var(--color-grey-200);border-radius:16px;background:var(--color-background);box-shadow:0 18px 48px var(--opacity-grey-300);backdrop-filter:none;-webkit-backdrop-filter:none}.admin-shell .mobile-nav-drawer .side-nav{height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)))}.mobile-nav-drawer .side-nav-head{gap:9px;min-height:42px;padding:0 4px 9px}.mobile-nav-drawer .side-nav .academy-logo-image,.mobile-nav-drawer .side-nav .academy-logo-fallback{width:72px;height:24px}.mobile-nav-drawer .side-nav .side-nav-user-name{font-size:13px;font-weight:750;letter-spacing:-.01em}.mobile-nav-dismiss{flex:0 0 36px;width:36px;height:36px;margin-left:auto;padding:7px;border:0;border-radius:10px;color:var(--color-grey-600);background:transparent;display:grid;place-items:center;cursor:pointer}.mobile-nav-dismiss svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-nav-dismiss:hover,.mobile-nav-dismiss:focus-visible{color:var(--color-grey-800);background:var(--color-grey-100);outline:none}.mobile-nav-drawer .side-nav-groups{grid-auto-rows:max-content;align-content:start;gap:0;min-height:0;padding:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-grey-300) transparent}.mobile-nav-drawer .side-nav-groups::-webkit-scrollbar{width:5px}.mobile-nav-drawer .side-nav-groups::-webkit-scrollbar-thumb{border-radius:999px;background:var(--color-grey-300)}.mobile-nav-drawer .side-nav-group{padding:9px 0;border:0;border-top:1px solid var(--color-grey-100);border-radius:0;background:transparent}.mobile-nav-drawer .side-nav-group:first-child{border-top:0}.mobile-nav-drawer .side-nav-group-title{margin:0 9px 4px;color:var(--color-grey-500);font-size:10.5px;font-weight:700;letter-spacing:-.01em}.mobile-nav-drawer .side-nav-items{gap:1px}.mobile-nav-drawer .side-nav .side-link{min-height:42px;padding:0 10px;border:0;border-radius:8px;font-size:13px;font-weight:650;letter-spacing:-.012em}.mobile-nav-drawer .side-nav .side-link:hover{box-shadow:none;background:var(--color-grey-50)}.mobile-nav-drawer .side-nav .side-link.active{border-color:transparent;color:var(--color-grey-900);background:var(--color-grey-100)}.mobile-nav-logout{width:100%;min-height:42px;margin-top:2px;padding:10px;border:0;border-top:1px solid var(--color-grey-100);color:var(--color-grey-600);background:transparent;font-family:var(--font-body);font-size:13px;font-weight:650;text-align:left;cursor:pointer}.mobile-nav-logout:hover,.mobile-nav-logout:focus-visible{color:var(--color-grey-800);background:var(--color-grey-50);outline:none}.admin-shell .app-main .card:not(.app-topbar){border-color:var(--color-grey-200);background:var(--color-background);box-shadow:0 3px 14px var(--opacity-grey-100);backdrop-filter:none;-webkit-backdrop-filter:none}.admin-shell .h1{font-size:clamp(21px,5.8vw,25px)}.admin-shell .h2{font-size:clamp(16px,4.4vw,19px)}.admin-shell .muted,.admin-shell label{font-size:13px;line-height:1.5}.admin-shell input:not([type=checkbox]):not([type=radio]),.admin-shell select,.admin-shell textarea{max-width:100%;min-height:44px;font-size:16px}.admin-shell .btn,.admin-shell button.badge-btn{min-height:42px;font-size:14px;line-height:1.25}.admin-shell .sheet-wrap{width:100%;max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-grey-300) var(--color-grey-100);-webkit-overflow-scrolling:touch}.admin-shell .sheet-wrap::-webkit-scrollbar{width:6px;height:6px}.admin-shell .sheet-wrap::-webkit-scrollbar-track{border-radius:999px;background:var(--color-grey-100)}.admin-shell .sheet-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:var(--color-grey-300)}.member-shell .h1{font-size:clamp(21px,5.8vw,25px)}.member-shell .h2{font-size:clamp(16px,4.4vw,19px)}.member-shell .muted,.member-shell label{font-size:13px;line-height:1.5}.member-shell input:not([type=checkbox]):not([type=radio]),.member-shell select,.member-shell textarea{min-height:48px;font-size:16px;padding:11px 12px}.member-shell input[type=checkbox],.member-shell input[type=radio]{flex:0 0 22px;width:22px;height:22px;min-height:22px;padding:0}.member-shell .btn,.member-shell button.badge-btn{min-height:44px;font-size:14px;line-height:1.25}.member-shell .sheet-wrap .table td .btn,.member-shell .demerit-actions .btn{height:auto;min-height:44px;font-size:14px}.member-shell .btn.nav-arrow-btn,.member-shell .nav-date-chip,.member-shell .monitor-locker-btn,.member-shell .monitor-locker-thumb-btn{min-width:44px;min-height:44px}.member-shell .sheet-wrap{scrollbar-width:thin;scrollbar-color:var(--opacity-grey-500) color-mix(in srgb,var(--color-grey-200) 72%,transparent);-webkit-overflow-scrolling:touch}.member-shell .sheet-wrap::-webkit-scrollbar{width:6px;height:6px}.member-shell .sheet-wrap::-webkit-scrollbar-track{border-radius:999px;background:color-mix(in srgb,var(--color-grey-200) 72%,transparent)}.member-shell .sheet-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:var(--opacity-grey-500)}.member-bottom-nav.mobile-only{position:fixed;left:50%;right:auto;bottom:0;z-index:105;display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:min(100%,560px);padding:5px 7px calc(5px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb,var(--color-grey-500) 30%,transparent);border-bottom:0;border-radius:15px 15px 0 0;background:color-mix(in srgb,var(--color-background) 96%,transparent);box-shadow:0 -10px 30px var(--opacity-grey-200);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);transform:translate(-50%)}.member-bottom-link{position:relative;min-width:0;min-height:50px;padding:4px 2px 2px;border-radius:10px;color:var(--color-grey-600);display:grid;place-items:center;align-content:center;gap:2px;font-size:11.5px;font-weight:750;line-height:1.15;-webkit-tap-highlight-color:transparent}.member-bottom-link.active{color:var(--color-grey-900);background:var(--color-grey-100)}.member-shell .member-schedule-tabs{width:100%;padding:4px;border-radius:13px;background:var(--color-grey-200);grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.member-shell .member-schedule-tabs.meal-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.member-shell .member-schedule-tabs.meal-section-tabs .member-schedule-tab{padding-inline:6px;font-size:12px}.member-shell .member-schedule-tab{min-height:42px;padding:0 12px;border-radius:10px;color:var(--color-grey-600);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:-.012em;-webkit-tap-highlight-color:transparent}.member-shell .member-schedule-tab.active{color:var(--color-grey-900);background:var(--color-background);box-shadow:0 1px 3px var(--opacity-grey-200)}.member-shell .member-schedule-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.member-bottom-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.member-bottom-icon{position:relative;width:22px;height:22px;display:grid;place-items:center}.member-bottom-icon svg{width:20px;height:20px}.member-bottom-badge{position:absolute;top:-5px;right:-12px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--color-background);border-radius:999px;color:var(--color-background);background:var(--color-red-500);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:850;line-height:1}.app-shell .account-modal-backdrop,.member-shell .reason-overlay-backdrop{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.app-shell .account-modal-card,.member-shell .reason-overlay-card{max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));overflow-y:auto}@supports selector(.member-shell:has(input:focus)){.member-shell:has(input:focus) .member-bottom-nav,.member-shell:has(select:focus) .member-bottom-nav,.member-shell:has(textarea:focus) .member-bottom-nav{display:none!important}}}@media (max-width: 680px){.member-shell .app-main{padding-top:0}.member-shell .app-topbar{left:auto;right:auto;gap:6px;padding:8px 10px!important}.member-shell .app-topbar-brand{font-size:18px}.member-shell .app-topbar .btn,.member-shell .app-topbar button.badge-btn{min-height:40px}.member-shell .app-topbar-date{display:none}.member-shell .app-topbar-meta .badge{min-height:40px}.member-shell .card{padding:12px!important;background:var(--color-background);backdrop-filter:none;-webkit-backdrop-filter:none}.member-shell .table th,.member-shell .table td{font-size:13px!important;padding:9px 8px!important;line-height:1.5}.member-shell .member-mobile-only{display:grid!important}.member-shell .member-desktop-only{display:none!important}.member-shell .dashboard-kpi-grid.dashboard-kpi-grid-mobile-2{gap:8px}.member-shell .dashboard-kpi-card{min-height:112px;padding:13px 12px 12px 15px!important}.member-shell .dashboard-kpi-card .kpi{font-size:clamp(22px,7vw,28px)}.member-schedule-list,.member-history-list,.member-approval-list,.member-demerit-list,.parent-monitor-list{gap:8px}.member-schedule-card,.member-history-card,.member-approval-card,.member-demerit-card,.parent-monitor-card{min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--color-grey-500) 30%,transparent);border-radius:12px;background:var(--color-background);box-shadow:0 5px 16px var(--opacity-grey-100)}.member-schedule-card.is-today{border-color:var(--color-grey-400);background:var(--color-grey-50)}.member-schedule-card-head,.member-history-head,.member-demerit-head,.parent-monitor-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.member-schedule-date{display:flex;align-items:baseline;gap:7px;min-width:0}.member-schedule-date strong{color:var(--color-grey-900);font-size:16px}.member-schedule-date span,.member-history-head time{color:var(--color-grey-600);font-size:13px;font-weight:650}.member-schedule-card-row,.parent-monitor-card-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start;margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--color-grey-200) 90%,transparent)}.member-schedule-card-row>span,.parent-monitor-card-row>span,.member-demerit-reason>span,.member-history-reason>span{color:var(--color-grey-600);font-size:12.5px;font-weight:700}.member-schedule-card-row>strong,.parent-monitor-card-row>strong,.parent-monitor-value{min-width:0;color:var(--color-grey-900);font-size:13.5px;line-height:1.4;text-align:left;word-break:keep-all;overflow-wrap:anywhere}.member-schedule-card-row.is-primary>strong{color:var(--color-grey-900)}.member-shell .schedule-status-chip{flex:0 0 auto;min-width:66px;min-height:30px;padding:5px 8px;font-size:12px}.member-history-detail{display:block;margin-top:12px;color:var(--color-grey-900);font-size:15px;line-height:1.55;word-break:keep-all}.member-history-reason,.member-demerit-reason{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;margin-top:10px;padding:10px;border-radius:10px;background:var(--color-grey-50);color:var(--color-grey-800);font-size:13px;line-height:1.5}.member-history-approval{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.member-history-approval span{padding:5px 8px;border-radius:999px;color:var(--color-grey-700);background:var(--color-grey-100);font-size:12px;font-weight:700}.member-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.member-demerit-card{border-left:3px solid var(--color-blue-200)}.member-demerit-card.is-bonus{border-left-color:var(--color-green-100)}.member-demerit-head>div:first-child{min-width:0;display:grid;gap:3px}.member-demerit-head>div:first-child strong{color:var(--color-grey-800);font-size:12.5px;font-weight:700;line-height:1.4}.member-demerit-date{color:var(--color-grey-600);font-size:12px;font-weight:650}.member-demerit-title-line{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.member-demerit-title-line>strong{min-width:0}.member-demerit-title-line .demerit-reason-status-badge{min-height:24px;padding:3px 8px;font-size:10.5px}.member-demerit-points{flex:0 0 auto;min-width:60px;text-align:right}.member-demerit-points span,.member-demerit-points strong{display:block}.member-demerit-points span{color:var(--color-grey-600);font-size:11px;font-weight:700}.member-demerit-points strong{color:var(--color-grey-900);font-size:17px;font-weight:800;line-height:1.25}.member-demerit-points.is-bonus span{color:var(--color-green-700)}.member-demerit-content{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-grey-200)}.member-demerit-content>span{color:var(--color-grey-600);font-size:12.5px;font-weight:700;line-height:1.45}.member-demerit-content>strong{min-width:0;color:var(--color-grey-900);font-size:13px;font-weight:650;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.member-demerit-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid var(--color-grey-200);color:var(--color-grey-600);font-size:12px;font-weight:600}.member-demerit-validity{display:inline-flex;align-items:center;gap:6px;min-width:0}.member-demerit-validity b{color:var(--color-grey-700);font-size:12px;font-weight:700}.member-demerit-validity em{color:var(--color-grey-500);font-size:11.5px;font-style:normal}.member-demerit-reason-status{flex:0 0 auto;padding:5px 8px;border:0;border-radius:999px;color:var(--color-grey-700);background:var(--color-grey-100);font-size:11.5px;font-weight:650;line-height:1.3}.member-demerit-deadline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 10px;border-radius:10px;background:var(--color-blue-50)}.member-demerit-deadline span{color:var(--color-grey-600);font-size:11.5px;font-weight:700}.member-demerit-deadline strong{color:var(--color-grey-800);font-size:12px;font-weight:750}.member-demerit-submit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.member-demerit-submit .btn{white-space:nowrap}.parent-monitor-card{border-left:4px solid var(--color-grey-400)}.parent-monitor-card-head .monitor-round-pill{width:auto;min-width:0;max-width:100%;min-height:32px;padding:0 8px;font-size:12px}.parent-monitor-card-head-actions{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.member-shell .parent-monitor-card-head-actions>.monitor-locker-thumb-btn{width:68px;min-width:68px;max-width:68px;height:32px;min-height:32px;padding:0 6px;border-radius:9px;font-size:12px}.member-shell .parent-monitor-card-head-actions>.monitor-locker-thumb-btn{color:var(--color-grey-700);background:var(--color-background);box-shadow:none}.parent-monitor-page-head{display:grid;align-items:stretch;gap:10px}.parent-monitor-date-nav{width:100%;grid-template-columns:64px minmax(0,1fr) 64px;gap:5px}.member-shell .parent-monitor-nav-btn{min-width:0;min-height:40px;padding:5px 7px;border-radius:10px;font-size:12px}.parent-monitor-date-chip{min-height:40px;padding:4px 6px}.parent-monitor-date-chip>strong{font-size:12px}.parent-monitor-slot{min-width:0;color:var(--color-grey-600);font-size:12px;text-align:right}.parent-monitor-card-row>strong .monitor-result-cell{justify-content:flex-end}.parent-monitor-value .monitor-result-cell{justify-content:flex-end}.member-shell .demerit-filter-layout,.member-shell .demerit-filter-controls{width:100%;align-items:stretch!important}.member-shell .demerit-filter-controls>div,.member-shell .demerit-summary-panel{width:100%;min-width:0!important;flex:1 1 100%!important;margin-left:0!important}.member-shell .demerit-summary-panel{padding:12px;border-radius:12px;background:var(--color-grey-50)}.member-shell .demerit-reason-overview{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.member-shell .demerit-reason-overview>div,.member-shell .demerit-reason-overview>button{padding:11px 30px 11px 12px}.member-shell .demerit-reason-overview>button strong:after{right:12px}.member-shell .schedule-register-block{padding:16px 0}.member-shell .schedule-register-heading{margin-bottom:10px;gap:8px}.member-shell .schedule-register-heading strong{font-size:14px}.member-shell .schedule-register-heading>div>span{font-size:12px}.member-shell .schedule-request-options{grid-template-columns:repeat(2,minmax(0,1fr))}.member-shell .schedule-choice-card{min-height:70px;padding:10px 11px;border-radius:12px}.member-shell .schedule-choice-card strong{font-size:13.5px}.member-shell .schedule-register-fields{gap:8px}.member-shell .schedule-native-control{min-width:0;max-width:100%;height:44px;min-height:44px;padding:0 9px}.member-shell .schedule-native-control>input[type=date],.member-shell .schedule-native-control>input[type=time]{inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%;height:var(--schedule-native-field-height);min-height:var(--schedule-native-field-height);padding:0!important;font-size:16px}.member-shell .schedule-register-review{padding:14px}.member-shell .schedule-register-submit{width:100%;min-height:46px}.member-shell .regular-card-list-wrap{overflow:visible;border:0;border-radius:0;background:transparent;scrollbar-gutter:auto}.member-shell .regular-table{display:grid;gap:8px;min-width:0!important;width:100%!important}.member-shell .regular-table thead{display:none}.member-shell .regular-table tbody{display:grid;gap:0;overflow:hidden;border:1px solid var(--color-grey-200);border-radius:11px;background:var(--color-background)}.member-shell .regular-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:0;border-radius:0;background:var(--color-background)!important}.member-shell .regular-table td{display:grid;align-content:start;gap:4px;border:0;border-top:1px solid var(--color-grey-100);background:transparent!important}.member-shell .regular-table td:before{content:attr(data-label);color:var(--color-grey-600);font-size:11.5px;font-weight:750}.member-shell .regular-table .regular-mobile-day{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px!important;border-top:0;color:var(--color-grey-900);background:var(--color-grey-100)!important;font-size:14px!important;font-weight:800}.member-shell .regular-table .regular-mobile-day:before{display:none}.member-shell .regular-mobile-controls{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-left:auto}.member-shell .regular-mobile-toggle{min-height:40px;margin:0;padding:5px 4px;border-radius:9px;background:color-mix(in srgb,var(--color-background) 90%,transparent);display:inline-flex;align-items:center;gap:1px;color:var(--color-grey-800);font-size:12px;font-weight:750;white-space:nowrap}.member-shell .regular-mobile-toggle input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;padding:0}.member-shell .regular-mobile-toggle span{display:inline-block;min-width:0;margin:0;padding:0}.member-shell .regular-mobile-outing-btn{min-height:40px;padding:5px 6px;border:1px solid var(--color-grey-300);border-radius:9px;color:var(--color-grey-800);background:var(--color-background);font:inherit;font-size:12px;font-weight:750}.member-shell .regular-mobile-outing-btn.is-active{color:var(--color-red-800);border-color:color-mix(in srgb,var(--color-red-500) 24%,transparent);background:var(--color-grey-50)}.member-shell .regular-attendance-cell,.member-shell .regular-outing-cell,.member-shell .regular-outing-row>.regular-outing-day-cell,.member-shell .regular-outing-row>.regular-outing-status-cell,.member-shell .regular-outing-progress-cell{display:none!important}.member-shell .regular-table .regular-main-row td:last-child,.member-shell .regular-table .regular-outing-row td:last-child{grid-column:1 / -1}.member-shell .regular-table .regular-main-row td:nth-child(3),.member-shell .regular-table .regular-main-row td:nth-child(4){padding:8px 9px!important}.member-shell .regular-table .regular-main-row td:nth-child(3):before,.member-shell .regular-table .regular-main-row td:nth-child(4):before{display:none}.member-shell .regular-time-field-label{display:block;color:var(--color-grey-600);font-size:11.5px;font-weight:750;line-height:1.35}.member-shell .regular-table .regular-outing-row{border-top:1px solid var(--color-grey-200);background:var(--color-grey-50)!important}.member-shell .regular-table .regular-outing-row td{padding:10px!important;border-top:0;background:transparent!important}.member-shell .regular-outing-input-wrap label{display:none}.member-shell .regular-table .schedule-native-control,.member-shell .regular-outing-action .btn,.member-shell .schedule-page #register>.row:last-of-type .btn{width:100%}.member-shell .regular-table .schedule-native-control{--schedule-native-field-height: 40px;height:42px;min-height:42px;padding:0 8px;border-radius:12px}.member-shell .regular-table .schedule-native-control>input[type=time]{height:var(--schedule-native-field-height);min-height:var(--schedule-native-field-height);padding:0!important;font-size:16px}.member-shell .regular-toggle-label{min-height:44px}}@media (max-width: 480px){.member-shell .schedule-register-fields{grid-template-columns:minmax(0,1fr)}.member-shell .schedule-register-date-field,.member-shell .schedule-register-time-field.is-single{grid-column:auto}}@media (max-width: 380px){.member-demerit-submit{grid-template-columns:1fr}.member-demerit-submit .btn{width:100%}}.manager-student-overview,.member-home-overview-wrap{min-width:0}.member-home-attention{min-width:0;padding:16px 18px;border:1px solid var(--color-blue-100);border-radius:18px;background:var(--color-blue-50);display:flex;align-items:center;justify-content:space-between;gap:14px}.member-home-attention.is-error{border-color:var(--color-grey-200);background:var(--color-grey-50)}.member-home-attention-copy{min-width:0;display:grid;gap:3px}.member-home-attention-copy span{color:var(--color-blue-600);font-size:12px;font-weight:700}.member-home-attention.is-error .member-home-attention-copy span{color:var(--color-grey-600)}.member-home-attention-copy strong{color:var(--color-grey-900);font-size:15px;line-height:1.4}.member-home-attention .btn{flex:0 0 auto;min-width:88px}@media (max-width: 480px){.member-home-attention{padding:14px}.member-home-attention-copy strong{font-size:14px}}.manager-student-overview{display:grid;gap:8px}.manager-dashboard-page>.dashboard-hero{order:0}.manager-dashboard-page>.manager-student-overview{order:1}.manager-dashboard-page>.dashboard-table-card{order:2}.manager-today-menu{display:-webkit-box;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.member-shell .member-home-overview{padding:4px 20px!important;border:0;border-radius:20px!important;background:var(--color-background);box-shadow:0 4px 18px var(--opacity-grey-100);backdrop-filter:none;-webkit-backdrop-filter:none}.member-shell .member-home-summary-row{min-width:0;min-height:84px;padding:12px 0;color:var(--color-grey-900);display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:12px;-webkit-tap-highlight-color:transparent}.member-shell .member-home-summary-row+.member-home-summary-row{border-top:1px solid var(--color-grey-100)}.member-shell .member-home-summary-row:not(a){grid-template-columns:40px minmax(0,1fr)}.member-shell .member-home-summary-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:10px}.member-shell .member-home-summary-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center}.member-shell .member-home-summary-icon.demerit,.member-shell .member-home-summary-icon.payment,.member-shell .member-home-summary-icon.meal{color:var(--color-blue-300);background:var(--color-blue-50)}.member-shell .member-home-summary-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.member-shell .member-home-summary-content{min-width:0;display:grid;gap:4px}.member-shell .member-home-summary-label{color:var(--color-grey-500);font-size:12px;font-weight:650;line-height:1.2}.member-shell .member-home-summary-content>strong{color:var(--color-grey-900);font-size:13px;font-weight:750;letter-spacing:-.012em;line-height:1.35}.member-shell .member-home-summary-values{min-width:0;display:flex;align-items:center;flex-wrap:wrap;column-gap:14px;row-gap:3px;color:var(--color-grey-600);font-size:13px;line-height:1.35}.member-shell .member-home-summary-values b{margin-left:3px;color:var(--color-grey-900);font-weight:750}.member-shell .member-home-summary-values b.is-unpaid{color:var(--color-red-500)}.member-shell .member-home-summary-content small{color:var(--color-grey-500);font-size:11.5px;font-weight:550;line-height:1.35}.member-shell .member-home-summary-content .member-home-summary-notice{color:var(--color-yellow-900)}.member-shell .member-home-summary-chevron{color:var(--color-grey-400);font-size:24px;font-weight:350;line-height:1;text-align:right}.member-home-content-grid{min-width:0;display:grid;gap:12px}@media (min-width: 921px){.app-shell{max-width:1680px;grid-template-columns:232px minmax(0,1fr);gap:22px;padding:24px}.app-shell>.side-nav{position:sticky;top:24px;max-height:calc(100vh - 48px);padding:16px 12px;overflow-y:auto;border-color:var(--color-grey-200);border-radius:20px;background:var(--color-background);box-shadow:0 6px 24px var(--opacity-grey-100);backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell>.side-nav .side-nav-head{min-height:74px;padding:2px 8px 14px;border-bottom:1px solid var(--color-grey-100)}.app-shell>.side-nav .academy-logo-lockup.lg .academy-logo-image,.app-shell>.side-nav .academy-logo-lockup.lg .academy-logo-fallback{width:88px;height:56px}.app-shell>.side-nav .side-nav-groups{gap:0}.app-shell>.side-nav .side-nav-group{padding:12px 4px;border:0;border-top:1px solid var(--color-grey-100);border-radius:0;background:transparent}.app-shell>.side-nav .side-nav-group:first-child{border-top:0}.app-shell>.side-nav .side-nav-group-title{margin:0 8px 5px;color:var(--color-grey-500);font-size:11px;font-weight:700}.app-shell>.side-nav .side-nav-items{gap:2px}.app-shell>.side-nav .side-link{min-height:42px;padding:9px 10px;border:0;border-radius:10px;font-size:13.5px;font-weight:650}.app-shell>.side-nav .side-link.active{color:var(--color-grey-900);background:var(--color-grey-100)}.app-shell .app-main{gap:16px}.app-shell .app-main .card:not(.app-topbar){padding:22px;border-color:var(--color-grey-200);background:var(--color-background);box-shadow:0 4px 18px var(--opacity-grey-100);backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell .app-main .card.app-topbar{min-height:76px;padding:15px 20px;border-color:var(--color-grey-200);background:var(--color-background);box-shadow:0 4px 18px var(--opacity-grey-100);backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell .app-topbar-head{flex:1 1 auto;gap:5px}.app-shell .app-topbar-brand{font-size:22px;line-height:1.2}.app-shell .app-topbar-meta{flex:0 1 auto;flex-wrap:nowrap;gap:8px}.app-shell .app-topbar-meta .badge{min-height:34px;padding:6px 11px;border-color:var(--color-grey-200);color:var(--color-grey-700);background:var(--color-grey-50)}.app-shell .app-topbar-meta .badge.suneung{color:var(--color-blue-700);border-color:var(--color-blue-100);background:var(--color-blue-50)}.admin-shell .app-main>.grid,.admin-shell .dashboard-page,.admin-shell .dashboard-owner-section,.admin-shell .dashboard-main-grid,.admin-shell .dashboard-tables-grid{gap:16px!important}.app-shell .app-main .h2{font-size:17px;font-weight:750;line-height:1.4}.admin-shell .dashboard-kpi-grid{gap:12px}.admin-shell .dashboard-kpi-card{min-height:124px;border-color:var(--color-grey-200)}.admin-shell .sheet-wrap{border-color:var(--color-grey-200);background:var(--color-background)}.admin-shell .meal-section-tabs{width:min(100%,680px);justify-self:start}}.dashboard-owner-operation-grid .dashboard-sheet-wrap{max-height:230px}@media (min-width: 921px) and (max-width: 1279px){.admin-shell .dashboard-main-grid,.dashboard-owner-operation-grid{grid-template-columns:minmax(0,1fr)}}@media (min-width: 921px){.member-shell .app-main>.grid,.member-shell .member-home-content-grid{gap:16px!important}.member-shell .meal-section-tabs{width:min(100%,620px);justify-self:start}.member-shell .demerit-member-tabs{width:min(100%,460px);justify-self:start}.app-shell .schedule-page #register{width:100%;max-width:none;justify-self:stretch}.app-shell .schedule-register-flow{margin-top:16px}.app-shell .schedule-register-block{padding:22px 0}.member-shell .dashboard-coupon-box{padding:18px}.member-shell .member-home-overview{padding-right:22px!important;padding-left:22px!important;box-shadow:0 4px 18px var(--opacity-grey-100)}}@media (min-width: 1180px){.member-shell .member-home-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8px!important}.member-shell .member-home-summary-row{min-height:116px;padding:18px 16px}.member-shell .member-home-summary-row+.member-home-summary-row{border-top:0;border-left:1px solid var(--color-grey-100)}}@media (min-width: 1280px){.member-shell .member-home-content-grid.has-actions{grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);align-items:start}.member-shell .member-home-content-grid.has-actions .dashboard-coupon-kpis{grid-template-columns:minmax(0,1fr);align-content:start}.member-shell .member-home-content-grid.has-actions .schedule-preview-card{align-self:stretch}}@media (max-width: 680px){.member-shell .member-home-overview{padding-right:16px!important;padding-left:16px!important}.member-shell .member-home-summary-row{min-height:80px;grid-template-columns:38px minmax(0,1fr) 16px;gap:11px}.member-shell .member-home-summary-row:not(a){grid-template-columns:38px minmax(0,1fr)}.member-shell .member-home-summary-icon{width:38px;height:38px;border-radius:13px}}.integrity-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-top:14px}.integrity-kpi-grid>div{display:grid;gap:6px;padding:14px;border-radius:12px;background:var(--color-grey-50)}.integrity-kpi-grid strong{font-size:20px}.integrity-report-meta{margin-top:14px}.integrity-sample-list{display:grid;margin-top:10px}.integrity-sample-list>div{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--color-grey-100)}@media (max-width: 760px){.integrity-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 920px){.schedule-bulk-student-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.schedule-admin-target-panel{padding:10px}.schedule-admin-target-head{align-items:center;gap:6px}.schedule-admin-target-mode{flex:0 0 auto;width:auto}.schedule-admin-target-mode button{min-height:30px;padding:0 7px;font-size:11.5px}.schedule-admin-target-head>strong{font-size:12.5px}.schedule-admin-single-picker{flex:1 1 76px;width:auto;max-width:none}.schedule-admin-single-picker select{min-height:36px;padding-right:26px;padding-left:9px;font-size:13px}.schedule-bulk-toolbar input[type=search]{flex-basis:100%;max-width:none}.schedule-bulk-toolbar>span{width:100%;margin-left:0}.schedule-bulk-student-list{grid-template-columns:minmax(0,1fr)}.app-shell .schedule-register-submit-row{display:grid;grid-template-columns:minmax(0,1fr)}.app-shell .schedule-register-submit{width:100%;min-width:0;max-width:100%}}@media (prefers-reduced-motion: reduce){.route-loading-spinner{animation-duration:1.4s}.member-shell *,.member-shell *:before,.member-shell *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.owner-attention-inbox{padding:0;overflow:hidden}.owner-attention-head,.owner-attention-error,.owner-attention-row{display:grid;align-items:center;gap:12px}.owner-attention-head{grid-template-columns:auto 1fr;padding:16px 18px;border-bottom:1px solid var(--color-grey-100)}.owner-attention-list{display:grid;border-top:1px solid var(--color-grey-100)}.owner-attention-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:8px;padding:12px 14px 14px}.owner-attention-summary-link{min-width:0;min-height:62px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;border-radius:10px;color:var(--color-grey-600);background:var(--color-grey-50);font-size:12px;font-weight:700;line-height:1.35;text-decoration:none;transition:background .15s ease,color .15s ease}.owner-attention-summary-link strong{color:var(--color-grey-900);font-size:18px;line-height:1.25}.owner-attention-summary-link:hover{color:var(--color-blue-700);background:var(--color-blue-50)}.owner-attention-row{grid-template-columns:104px minmax(100px,.7fr) minmax(120px,1fr) 16px;min-height:48px;padding:10px 18px;color:var(--color-grey-900);text-decoration:none;border-bottom:1px solid var(--color-grey-100)}.owner-attention-row:last-child{border-bottom:0}.owner-attention-row:hover{background:var(--color-grey-50)}.owner-attention-label{color:var(--color-blue-600);font-weight:700}.owner-attention-error{grid-template-columns:1fr auto;padding:14px 18px;color:var(--color-red-600)}.owner-attention-empty{padding:18px}@media (max-width: 680px){.owner-attention-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-attention-row{grid-template-columns:88px minmax(82px,.8fr) minmax(90px,1fr) 12px;gap:8px;padding-inline:14px}}
