:root{color:#34363b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--surface-subtle:#f7f7f5;--text:#3f4248;--text-strong:#15171a;--text-muted:#777b84;--border:#e8e8e3;--accent:#f5cf3f;--accent-strong:#c49300;--accent-soft:#fff7d5;--shadow-sm:0 1px 2px #15171a06;background:#f7f7f5;font-family:Inter,Noto Sans KR,Malgun Gothic,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #f5cf3f8c}.app-shell{background:var(--surface-subtle);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:28px 20px 22px;display:flex;position:sticky;top:0}.brand{color:var(--text-strong);align-items:center;gap:11px;padding:0 10px;display:flex}.brand-mark{background:var(--accent);border-radius:11px;place-items:center;width:35px;height:35px;font-size:13px;font-weight:800;display:grid}.brand-name,.brand-caption,.sidebar-footer strong,.sidebar-footer span,.profile-copy strong,.profile-copy small,.notification-copy strong,.notification-copy span,.notification-amount strong,.notification-amount time{display:block}.brand-name{font-size:16px;font-weight:750;line-height:1.1}.brand-caption{color:var(--text-muted);margin-top:3px;font-size:11px}.nav-list{flex-direction:column;gap:5px;margin:42px 0 0;padding:0;list-style:none;display:flex}.nav-item{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:var(--text-strong);background:var(--accent-soft)}.nav-item[aria-disabled=true]{opacity:.65;cursor:default}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent-strong)}.nav-icon{text-align:center;width:20px;font-size:15px}.sidebar-footer{background:var(--text-strong);color:#fff;border-radius:12px;margin-top:auto;padding:15px}.sidebar-footer strong{font-size:13px}.sidebar-footer span{color:#b8bdc7;margin-top:5px;font-size:11px;line-height:1.45}.sign-out-button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:9px;margin-top:10px;padding:10px 12px;font-size:11px;font-weight:700}.sign-out-button:hover{color:var(--text-strong);background:var(--surface-subtle)}.sign-out-button:disabled{opacity:.55;cursor:not-allowed}.sign-out-error{color:#963f26;margin:10px 0 0;font-size:10px;line-height:1.4}.language-toggle{color:var(--text-muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.language-toggle button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:3px 1px}.language-toggle button:hover{color:var(--text-strong)}.language-toggle button[aria-pressed=true]{border-bottom-color:var(--accent-strong);color:var(--text-strong);font-weight:750}.sidebar-language-toggle{margin-top:auto;padding:12px}.sidebar-footer+.sidebar-language-toggle{margin-top:12px}.main-content{min-width:0;padding:38px 42px 48px}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}.page-header h1{color:var(--text-strong);letter-spacing:-.035em;margin:0;font-size:clamp(30px,3vw,40px);line-height:1.1}.page-description{color:var(--text-muted);margin:8px 0 0;font-size:14px}.header-actions,.profile{align-items:center;display:flex}.header-actions{gap:14px}.icon-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--accent-strong);cursor:pointer;border-radius:50%}.profile{gap:10px}.avatar{background:var(--accent);width:42px;height:42px;color:var(--text-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.profile-copy strong{color:var(--text-strong);font-size:13px}.profile-copy small{color:var(--text-muted);margin-top:3px;font-size:11px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:15px;padding:21px}.metric-card.accent{background:var(--accent);border-color:var(--accent)}.metric-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-label{color:var(--text-muted);font-size:12px;font-weight:650}.metric-card.accent .metric-label{color:#5c4b00}.metric-icon{background:var(--surface-subtle);border-radius:9px;place-items:center;width:29px;height:29px;font-size:13px;display:grid}.metric-card.accent .metric-icon{background:#ffffff8c}.metric-value{color:var(--text-strong);letter-spacing:-.035em;margin:22px 0 7px;font-size:clamp(23px,2.2vw,30px);font-weight:780}.metric-note{color:var(--text-muted);margin:0;font-size:11px}.metric-card.accent .metric-note{color:#6a5600}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:20px;margin-top:20px;display:grid}.dashboard-unavailable{border:1px solid var(--border);background:var(--surface);min-height:360px;box-shadow:var(--shadow-sm);text-align:center;border-radius:15px;align-content:center;justify-items:center;padding:32px;display:grid}.dashboard-unavailable h2{color:var(--text-strong);margin:0;font-size:20px}.dashboard-unavailable p{max-width:430px;color:var(--text-muted);margin:10px 0 0;font-size:13px;line-height:1.5}.panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:15px}.panel-header{justify-content:space-between;align-items:center;gap:16px;padding:21px 22px 17px;display:flex}.panel-header h2{color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:17px}.panel-header p{color:var(--text-muted);margin:5px 0 0;font-size:11px}.text-button{color:var(--text-strong);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.table-wrap{overflow-x:auto}.payment-table{border-collapse:collapse;white-space:nowrap;width:100%}.payment-table th,.payment-table td{border-top:1px solid var(--border);text-align:left;padding:14px 18px}.payment-table th{color:var(--text-muted);letter-spacing:.055em;text-transform:uppercase;background:#fcfcfb;font-size:10px;font-weight:750}.payment-table td{color:var(--text);font-size:12px}.student-cell{align-items:center;gap:10px;display:flex}.student-initials{background:var(--accent-soft);color:#6b5600;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:10px;font-weight:800;display:grid}.student-name,.amount{color:var(--text-strong);font-weight:650}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-paid{color:#197044;background:#e9f7ef}.status-pending{color:#806100;background:var(--accent-soft)}.status-review{color:#a04e28;background:#fff0e7}.notification-list{margin:0;padding:0 22px 8px;list-style:none}.notification-item{border-top:1px solid var(--border);grid-template-columns:9px minmax(0,1fr) auto;gap:12px;padding:17px 0;display:grid}.notification-dot{background:var(--accent-strong);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;margin-top:5px}.notification-dot.review{background:#d16b3b;box-shadow:0 0 0 4px #fff0e7}.notification-copy strong{color:var(--text-strong);font-size:12px}.notification-copy span{color:var(--text-muted);margin-top:4px;font-size:10px;line-height:1.4}.notification-status{margin-top:8px}.notification-amount{text-align:right}.notification-amount strong{color:var(--text-strong);font-size:12px}.notification-amount time{color:var(--text-muted);margin-top:4px;font-size:9px}.students-page{max-width:1180px;margin:0 auto}.students-header{margin-bottom:22px}.student-actions,.export-actions{align-items:center;gap:9px;display:flex}.secondary-button{border:1px solid var(--border);color:var(--text-strong);background:var(--surface);cursor:pointer;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:700}.import-workflow{background:#fffdf4;border:1px solid #e3d58e;border-radius:16px;margin-bottom:24px;padding:18px}.import-workflow-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.import-workflow-header h2{color:var(--text-strong);margin:0;font-size:18px}.import-workflow-header p{color:var(--text-muted);margin:5px 0 0;font-size:11px}.privacy-label{color:#655100;background:var(--accent-soft);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:750}.import-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:15px;margin-bottom:20px;padding:22px}.step-heading{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.step-heading>span{color:#4f4000;background:var(--accent);border-radius:9px;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.step-heading h2{color:var(--text-strong);margin:2px 0 0;font-size:16px}.step-heading p{color:var(--text-muted);margin:5px 0 0;font-size:11px}.drop-zone{text-align:center;background:#fcfcfa;border:1.5px dashed #d5d2c6;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:28px;transition:all .2s;display:flex}.drop-zone.dragging{border-color:var(--accent-strong);background:var(--accent-soft);transform:scale(.995)}.upload-icon{color:#5d4b00;background:var(--accent);border-radius:12px;place-items:center;width:43px;height:43px;margin-bottom:13px;font-size:22px;font-weight:700;display:grid}.drop-zone strong{color:var(--text-strong);font-size:14px}.drop-zone>span{color:var(--text-muted);margin:6px 0 16px;font-size:11px}.primary-button{color:#191919;background:var(--accent);cursor:pointer;border:0;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:750}.primary-button:hover{background:#e9bf22}.primary-button:disabled{color:#96928a;cursor:not-allowed;background:#e8e7e2}.primary-button.compact{padding:9px 14px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.import-error,.validation-summary{color:#963f26;background:#fff0e7;border-radius:8px;margin:13px 0 0;padding:10px 12px;font-size:11px;font-weight:650}.mapping-note{color:var(--text-muted);margin:14px 0 0;font-size:10px}.mapping-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;display:grid}.mapping-field>span{min-height:28px;color:var(--text-strong);justify-content:space-between;align-items:flex-start;gap:5px;font-size:11px;font-weight:700;display:flex}.mapping-field em{color:#755c00;background:var(--accent-soft);text-transform:uppercase;border-radius:5px;padding:2px 5px;font-size:8px;font-style:normal}.mapping-field select{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:8px;padding:10px 30px 10px 10px;font-size:11px}.mapping-field select.invalid-input{background:#fffaf7;border-color:#d16b3b}.import-preview{margin-bottom:30px}.preview-count{color:#197044;white-space:nowrap;background:#e9f7ef;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750}.preview-count.has-errors{color:#a04e28;background:#fff0e7}.phone-note{color:#655100;background:var(--accent-soft);border-radius:8px;margin:0 22px 14px;padding:10px 12px;font-size:10px;line-height:1.45}.preview-table td{text-overflow:ellipsis;max-width:200px;overflow:hidden}.invalid-row{background:#fffaf7}.payment-table td.invalid-cell{color:#a04e28;background:#fff0e7;font-weight:700}.row-errors{color:#a04e28;font-size:10px;font-weight:650}.row-valid{color:#197044;font-size:10px;font-weight:700}.import-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.import-actions p{color:var(--text-muted);margin:0;font-size:11px}.import-success{color:#175f3c;background:#e9f7ef;border-radius:9px;margin:0 22px 20px;padding:13px 15px}.import-success strong,.import-success span{display:block}.import-success strong{font-size:12px}.import-success span{margin-top:4px;font-size:10px}.import-review{margin-bottom:30px}.import-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 22px 18px;display:grid}.import-summary span{color:var(--text-muted);background:var(--surface-subtle);border-radius:10px;padding:13px;font-size:11px}.import-summary strong{color:var(--text-strong);margin-bottom:3px;font-size:20px;display:block}.import-summary .has-review{color:#a04e28;background:#fff0e7}.review-table td{vertical-align:top}.review-table td>small{max-width:230px;color:var(--text-muted);white-space:normal;margin-top:5px;line-height:1.4;display:block}.review-table select{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:190px;padding:7px;font-size:11px}.plan-kind{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-block}.plan-new{color:#197044;background:#e9f7ef}.plan-update{color:#806100;background:var(--accent-soft)}.plan-unchanged{color:#666b73;background:#eeefef}.plan-review{color:#a04e28;background:#fff0e7}.change-list{white-space:normal;min-width:230px;color:var(--text-muted);margin:0;padding-left:16px;font-size:10px;line-height:1.5}.change-list strong{color:var(--text-strong)}.student-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.student-form label{color:var(--text-strong);font-size:11px;font-weight:700}.student-form input,.student-form select{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:8px;margin-top:7px;padding:10px;font-size:12px}.form-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;padding-top:5px;display:flex}.edit-student-card{background:#fffdf4;border-color:#e3d58e}.student-inline-editor-row>td{background:#fffdf4;padding:0!important}.student-inline-editor-row .edit-student-card{border-top:2px solid #e3d58e;padding:18px}.edit-button{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:6px 9px}.edit-icon-button{justify-content:center;align-items:center;min-width:32px;padding:6px;font-size:16px;line-height:1;display:inline-flex}.edit-icon{display:block;transform:scaleX(-1)}.student-registry{margin-bottom:30px}.contact-foundation{margin-bottom:20px}.contact-readiness-summary{color:#963f26;background:#fff0e7;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.contact-readiness-summary.is-ready{color:#276246;background:#e8f5ed}.contact-success{color:#276246;background:#e8f5ed;border-radius:8px;margin:13px 0 0;padding:10px 12px;font-size:11px;font-weight:650}.contact-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0;display:grid}.contact-setup-card{border:1px solid var(--border);background:#faf9f7;border-radius:12px;align-content:start;gap:12px;padding:16px;display:grid}.contact-setup-card h3,.contact-setup-card p{margin:0}.contact-setup-card p{color:var(--text-muted);font-size:11px}.contact-setup-card label{color:var(--text-strong);font-size:11px;font-weight:700}.contact-setup-card input,.contact-setup-card select{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:8px;margin-top:6px;padding:9px 10px;font-size:12px}.contact-setup-card fieldset{border:0;min-width:0;margin:0;padding:0}.contact-setup-card legend{color:var(--text-strong);margin-bottom:6px;font-size:11px;font-weight:700}.contact-student-options{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:160px;padding:10px;display:grid;overflow:auto}.contact-student-options label{align-items:center;gap:7px;font-weight:600;display:flex}.contact-student-options input{width:auto;margin:0}.contact-directory{gap:8px;margin:18px 0;display:grid}.contact-directory h3,.contact-directory p{margin:0}.contact-directory-row{border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.contact-directory-row>div{gap:3px;display:grid}.contact-directory-row span{color:var(--text-muted);font-size:10px}.contact-directory-row.is-inactive{opacity:.62;background:#f4f2ef}.contact-directory-actions{grid-auto-flow:column;gap:8px!important;display:flex!important}.contact-inline-editor{border-top:1px solid var(--border);flex:1 0 100%;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding-top:12px;display:grid}.contact-inline-editor p{color:#655100;background:var(--accent-soft);border-radius:8px;grid-column:1/-1;padding:9px 11px;font-size:10px}.contact-inline-editor label{font-size:10px;font-weight:700}.contact-inline-editor input{border:1px solid var(--border);border-radius:7px;width:100%;margin-top:5px;padding:8px}.billing-import-card{background:#fffdf4;border:1px solid #d9cc83;border-radius:12px;margin:18px 0;padding:16px}.billing-import-card h3,.billing-import-card p{margin:0}.billing-import-columns{color:var(--text-muted);font-size:10px;margin:10px 0!important}.billing-file-picker{align-items:center;gap:12px;margin:14px 0;display:flex}.billing-file-trigger{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.billing-file-input:focus-visible+.billing-file-trigger{outline-offset:3px;outline:3px solid #8061004d}.billing-file-input:disabled+.billing-file-trigger{cursor:not-allowed;opacity:.55}.billing-file-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.billing-import-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:16px 0 12px;display:grid}.billing-import-metrics div{border:1px solid var(--border);background:#fff;border-radius:9px;min-width:0;padding:10px}.billing-import-metrics dt{color:var(--text-muted);font-size:9px;font-weight:750}.billing-import-metrics dd{color:var(--text-strong);margin:4px 0 0;font-size:18px;font-weight:800}.billing-import-preview{margin-top:12px}.billing-import-table{table-layout:fixed;white-space:normal;width:100%}.billing-import-table th,.billing-import-table td{vertical-align:top;overflow-wrap:anywhere;padding:11px 9px}.billing-import-table th:first-child{width:16%}.billing-import-table th:nth-child(2){width:14%}.billing-import-table th:nth-child(3){width:13%}.billing-import-table th:nth-child(4),.billing-import-table th:nth-child(5){width:8%}.billing-import-table th:nth-child(6){width:12%}.billing-import-table th:nth-child(7){width:29%}.billing-import-preview small{color:var(--text-muted);margin-top:4px;font-size:9px;line-height:1.4;display:block}.shared-contact-label{font-weight:750;color:#655100!important}.import-status-badge{letter-spacing:.03em;border:1px solid #0000;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;display:inline-block}.import-status-ready{color:#197044;background:#e9f7ef;border-color:#bde3cc}.import-status-no-change{color:#525a61;background:#eef0f1;border-color:#d8dcde}.import-status-review{color:#755a00;background:var(--accent-soft);border-color:#e3d58e}.import-status-blocked{color:#963f26;background:#fff0e7;border-color:#f1c8b8}.import-details-button{margin-top:7px;padding:0;font-size:10px;display:block}.import-details-row>td{background:#faf9f7;padding:0 9px 12px}.import-details-row>td>div{border:1px solid var(--border);border-radius:8px;padding:12px}.import-details-row strong{font-size:10px;display:block}.import-details-row ul{color:var(--text-muted);margin:6px 0 10px;padding-left:18px;font-size:10px;line-height:1.55}.import-details-row ul:last-child{margin-bottom:0}.billing-import-confirm{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.billing-import-confirm p{color:var(--text-muted);font-size:10px}.notice-toggle{align-items:center;gap:5px;font-size:10px;display:inline-flex}.contact-link-table{margin-top:6px}.contact-link-table td small{color:var(--text-muted);margin-top:3px;display:block}.contact-link-actions{flex-wrap:wrap;gap:7px;display:flex}.student-contact-readiness{gap:5px;display:grid}.billing-ready-badge,.billing-missing-badge{border-radius:999px;width:fit-content;padding:3px 6px;font-size:9px;font-weight:750}.billing-ready-badge{background:#e8f5ed;color:#276246!important}.billing-missing-badge{background:#fff0e7;color:#963f26!important}.student-data-loading{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:52px 22px;font-size:12px}.student-data-error{color:#963f26;background:#fff0e7;border-radius:8px;margin:0 22px 16px;padding:11px 13px;font-size:11px}.student-list-table small{color:var(--text-muted);margin-top:3px;font-size:9px;display:block}.student-list-table{table-layout:fixed;min-width:960px}.student-list-student-column{width:25%}.student-list-contact-column{width:16%}.student-list-course-column,.student-list-book-column{width:13%}.student-list-amount-column{width:14%}.student-list-status-column{width:12%}.student-list-edit-column{width:7%}.student-list-table th{font-weight:800}.student-list-table th:first-child,.student-list-table td:first-child,.student-list-table th:nth-child(3),.student-list-table td:nth-child(3),.student-list-table th:nth-child(4),.student-list-table td:nth-child(4){white-space:normal;overflow-wrap:anywhere}[lang=ko] .student-list-table th{letter-spacing:0;text-transform:none}.lifecycle-select{border:0;border-radius:999px;padding:6px 24px 6px 9px;font-size:10px;font-weight:750}.lifecycle-select.status-active{color:#197044;background:#e9f7ef}.lifecycle-select.status-on-break{color:#806100;background:var(--accent-soft)}.lifecycle-select.status-inactive{color:#666b73;background:#eeefef}.history-label{color:var(--text-muted);white-space:nowrap;font-size:9px}.payments-page{max-width:1180px;margin:0 auto}.payments-controls{align-items:flex-end;gap:10px;display:flex}.payments-controls select{border:1px solid var(--border);min-width:0;color:var(--text-strong);background:var(--surface);font:inherit;border-radius:9px;padding:10px}@media (width>=1101px){.payments-header .payments-controls{align-items:stretch}.payments-header .payments-controls select,.payments-header .payments-controls .primary-button{box-sizing:border-box;min-height:44px;padding-block:10px;font-size:12px;line-height:20px}}.payments-notice{color:#655100;background:var(--accent-soft);border-radius:9px;margin:-10px 0 20px;padding:11px 13px;font-size:11px}.payments-error{margin-inline:0}.payment-events-error{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.payment-events-error .payments-error{margin-bottom:0}.payments-success{margin-inline:0}.generation-review{border-color:#e3d58e;margin-bottom:20px}.generation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 22px 20px;display:grid}.generation-summary span{color:var(--text-muted);background:var(--surface-subtle);border-radius:10px;padding:14px;font-size:11px}.generation-summary strong{color:var(--text-strong);margin-bottom:4px;font-size:22px;display:block}.generation-actions{align-items:center;gap:10px;display:flex}.monthly-charges{margin-bottom:30px}.charges-total{color:var(--text-strong);font-size:20px}.paid-so-far{color:#197044}.remaining-due{color:#806100}.incoming-payments{margin-top:34px}.incoming-payments-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.incoming-payments-heading h2{color:var(--text-strong);letter-spacing:-.03em;margin:0;font-size:24px}.incoming-payments-heading>div>p:last-child{color:var(--text-muted);margin:7px 0 0;font-size:12px}.payment-event-form-card{background:#fffdf4;border-color:#e3d58e}.payment-event-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.payment-event-form label{color:var(--text-strong);font-size:11px;font-weight:700}.payment-event-form input,.payment-event-form select{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:8px;margin-top:7px;padding:10px;font-size:12px}.payment-events-panel{margin-bottom:30px}.event-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-block}.event-received{color:#806100;background:var(--accent-soft)}.event-review{color:#a04e28;background:#fff0e7}.event-allocated{color:#197044;background:#e9f7ef}.payment-events-panel td>small,.allocation-table td>small{color:var(--text-muted);margin-top:4px;font-size:9px;display:block}.allocation-review{border-color:#e3d58e;margin-bottom:20px}.allocation-event-summary,.allocation-live-summary{gap:10px;padding:0 22px 20px;display:grid}.allocation-event-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.allocation-live-summary{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:20px}.allocation-event-summary span,.allocation-live-summary span{background:var(--surface-subtle);border-radius:10px;min-width:0;padding:12px}.allocation-event-summary small,.allocation-live-summary small{color:var(--text-muted);text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:700;display:block}.allocation-event-summary strong,.allocation-live-summary strong{color:var(--text-strong);text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.allocation-live-summary strong{font-size:18px}.allocation-live-summary .summary-invalid{background:#fff0e7}.allocation-live-summary .summary-invalid strong{color:#a04e28}.allocation-amount{border:1px solid var(--border);border-radius:7px;width:120px;padding:7px 8px;font-size:11px}.suggested-match-banner{background:#fff9db;border:1px solid #e3d58e;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;margin:0 22px 18px;padding:14px;display:flex}.suggested-match-banner strong,.suggested-match-banner span{display:block}.suggested-match-banner strong{color:var(--text-strong);font-size:12px}.suggested-match-banner span{color:var(--text-muted);margin-top:4px;font-size:10px}.suggested-match-row{background:#fffdf4}.suggested-match-label{color:#655100;background:var(--accent-soft);text-transform:uppercase;border-radius:999px;margin-left:7px;padding:3px 6px;font-size:8px;font-weight:800;display:inline-block}.placeholder-page{text-align:center;align-content:center;justify-items:center;min-height:calc(100vh - 86px);display:grid}.placeholder-page h1{color:var(--text-strong);letter-spacing:-.04em;margin:0;font-size:clamp(34px,4vw,48px)}.placeholder-page>p:last-child{max-width:430px;color:var(--text-muted);margin:12px 0 0;font-size:14px}.settings-page{max-width:1180px;margin:0 auto}.settings-header{margin-bottom:22px}.connector-panel{overflow:hidden}.connector-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:24px;display:grid}.connector-heading h2,.device-list-heading h3{color:var(--text-strong);letter-spacing:-.02em;margin:0}.connector-heading h2{font-size:19px}.connector-heading p,.device-list-heading p{color:var(--text-muted);margin:6px 0 0;font-size:11px;line-height:1.5}.connector-icon{color:#5d4b00;background:var(--accent);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:grid}.settings-notice{color:#655100;background:var(--accent-soft);border-radius:9px;margin:0 24px 20px;padding:11px 13px;font-size:11px}.settings-error{margin:0 24px 20px}.pairing-token-card{background:#fffdf4;border:1px solid #e3d58e;border-radius:12px;margin:0 24px 24px;padding:18px}.pairing-token-card code{overflow-wrap:anywhere;color:var(--text-strong);-webkit-user-select:all;user-select:all;margin-top:8px;font-size:14px;font-weight:750;line-height:1.6;display:block}.pairing-token-content{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.pairing-token-details{flex:1;min-width:0}.pairing-token-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.pairing-label{color:#655100;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.pairing-copy-button{color:#4f4200;font:inherit;cursor:pointer;background:#fff;border:1px solid #cdbd68;border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;font-weight:750;display:inline-flex}.pairing-copy-button:hover{background:var(--accent-soft)}.pairing-copy-button:focus-visible{outline-offset:2px;outline:2px solid #5d4b00}.pairing-copy-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:14px;height:14px}.pairing-copy-status{min-height:15px;color:var(--text-muted);margin-top:5px;font-size:9px;display:block}.pairing-copy-copied{color:#197044}.pairing-copy-failed{color:#963f26}.pairing-qr{background:#fff;border:1px solid #e3d58e;border-radius:10px;flex:none;justify-items:center;gap:7px;padding:10px;display:grid}.pairing-qr span{color:var(--text-muted);font-size:9px}.pairing-token-card p{color:var(--text);margin:14px 0 6px;font-size:11px;line-height:1.55}.pairing-token-card small{color:var(--text-muted);font-size:9px}.device-list-heading{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:20px 24px 15px;display:flex}.device-list-heading h3{font-size:15px}.device-table strong{color:var(--text-strong)}.device-status{border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.device-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.device-active{color:#197044;background:#e9f7ef}.device-revoked{color:#666b73;background:#eeefef}.device-unavailable{color:var(--text-muted);font-size:10px}.device-empty{height:110px;color:var(--text-muted)!important;text-align:center!important}.notices-header{align-items:flex-end}.notices-controls{align-items:flex-end;gap:10px;display:flex}.notices-controls label{color:var(--text-muted);gap:6px;font-size:10px;font-weight:750;display:grid}.notices-controls input,.notices-controls select{border:1px solid var(--border);min-width:160px;color:var(--text-strong);background:var(--surface);font:inherit;border-radius:8px;padding:9px 11px}.notice-review-toolbar{color:#5d4b00;background:#fffdf4;border:1px dashed #8b6f00;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:13px 15px;display:flex}.notice-review-toolbar strong,.notice-review-toolbar span{display:block}.notice-review-toolbar strong{font-size:11px}.notice-review-toolbar span{margin-top:3px;font-size:9px}.notice-review-toolbar nav{flex-wrap:wrap;gap:5px;display:flex}.notice-review-toolbar a{color:#5d4b00;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:750;text-decoration:none}.notice-review-toolbar a:hover,.notice-review-toolbar a:focus-visible,.notice-review-toolbar a.active{outline-offset:2px;background:#f1df83}.notices-preview-note{color:#355675;background:#f1f7fd;border:1px solid #cfe0f5;border-radius:11px;align-items:center;gap:12px;margin-bottom:18px;padding:13px 15px;font-size:11px;display:flex}.notices-preview-note strong{color:#244866;flex:none}.notices-empty{min-height:190px;color:var(--text-muted);text-align:center;place-items:center;padding:28px;display:grid}.notices-empty p{max-width:520px;margin:0;line-height:1.6}.notices-error{margin-bottom:18px}.notice-state{border:1px solid;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:16px 18px;display:flex}.notice-state div{align-items:center;gap:10px;display:flex}.notice-state span{letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:750}.notice-state strong{letter-spacing:.04em;border-radius:999px;padding:5px 9px;font-size:10px}.notice-state p{margin:0;font-size:11px}.notice-state-ready{color:#276246;background:#eff8f2;border-color:#cbe4d5}.notice-state-ready strong{background:#dcefe3}.notice-state-blocked{color:#963f26;background:#fff5ef;border-color:#f0d4c7}.notice-state-blocked strong{background:#ffe6da}.notice-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.notice-summary span{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:11px;padding:14px}.notice-summary small{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:750;display:block}.notice-summary strong{color:var(--text-strong);text-overflow:ellipsis;font-size:18px;display:block;overflow:hidden}.notice-issues{margin-bottom:18px;overflow:hidden}.notice-issues ul{color:#7d402d;gap:8px;margin:0;padding:0 22px 20px 39px;font-size:11px;display:grid}.notice-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.notice-prepared-groups{margin-bottom:18px}.notice-group{overflow:hidden}.notice-group-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 20px 15px;display:flex}.notice-recipient-kicker{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.notice-group-heading h2{color:var(--text-strong);margin:4px 0 3px;font-size:16px}.notice-group-heading p{color:var(--text-muted);margin:0;font-size:10px}.notice-group-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.notice-group-badges span{color:var(--text-muted);background:var(--surface-subtle);border-radius:999px;padding:4px 7px;font-size:9px;font-weight:750}.notice-group-badges .shared-contact-badge{color:#315f85;background:#e8f2fb}.notice-items{display:grid}.notice-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:12px 20px;display:flex}.notice-item div{min-width:0}.notice-item strong{color:var(--text-strong);font-size:12px}.notice-item div strong{text-overflow:ellipsis;display:block;overflow:hidden}.notice-item div small{color:var(--text-muted);margin-top:4px;font-size:9px;display:block}.notice-group-total{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:18px;padding:13px 20px;display:flex}.notice-group-total span{color:var(--text-muted);font-size:10px;font-weight:700}.notice-group-total strong{color:var(--text-strong);font-size:14px}.notice-checksum{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:13px 15px;display:flex}.notice-checksum span{color:var(--text-strong);font-size:11px}.notice-checksum p{color:var(--text-muted);text-align:right;margin:0;font-size:10px}.notices-loading{color:var(--text-muted);margin:18px 0;font-size:11px}.notices-feedback{margin-bottom:18px}.notice-lifecycle-none{border-color:var(--border);color:var(--text-muted);background:var(--surface-subtle)}.notice-lifecycle-draft{color:#650;background:#fffdf4;border-color:#e3d58e}.notice-lifecycle-approved{color:#276246;background:#eff8f2;border-color:#cbe4d5}.notice-lifecycle-cancelled{color:#666b73;background:#f4f5f5;border-color:#d8dadd}.notice-metadata,.notice-actions-panel{margin:18px 0;overflow:hidden}.notice-metadata-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:0 24px;display:grid}.notice-metadata-grid label,.notice-confirm-fields label,.notice-cancel-confirmation label{color:var(--text-strong);gap:6px;font-size:10px;font-weight:750;display:grid}.notice-metadata-grid input,.notice-metadata-grid select,.notice-confirm-fields input,.notice-confirm-fields select,.notice-cancel-confirmation textarea{border:1px solid var(--border);width:100%;color:var(--text-strong);background:var(--surface);font:inherit;border-radius:8px;padding:9px 10px}.notice-timezone{color:var(--text-muted);margin:11px 24px 0;font-size:10px}.notice-time-control{gap:4px;display:grid}.notice-time-control small{min-height:13px;color:var(--text-muted);font-size:9px;font-weight:600}.notice-workflow-actions{flex-wrap:wrap;gap:8px;padding:18px 24px 22px;display:flex}.notice-cycle-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.notice-audit{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.notice-audit div{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;padding:12px 14px}.notice-audit dt{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:750}.notice-audit dd{color:var(--text-strong);margin:5px 0 0;font-size:11px}.notice-rendered{border-top:1px solid var(--border);padding:17px 20px 20px}.notice-rendered h3{color:var(--text-muted);text-transform:uppercase;margin:0 0 10px;font-size:10px}.notice-rendered pre{border:1px solid var(--border);color:var(--text-strong);background:var(--surface-subtle);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:15px;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.notice-validation{color:#963f26;margin:-8px 24px 20px;font-size:10px}.notice-confirmation{background:#fffdf4;border:1px solid #cdbd68;border-radius:12px;margin:18px 0;padding:20px 22px}.notice-confirmation h2{color:var(--text-strong);margin:0;font-size:16px}.notice-confirmation>p{color:var(--text);margin:8px 0 15px;font-size:11px;line-height:1.55}.notice-confirmation>div:last-child{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.notice-confirm-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:500px;display:grid}.notice-confirm-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.notice-confirm-summary div{background:#fff;border:1px solid #e3d58e;border-radius:8px;padding:10px}.notice-confirm-summary dt{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:750}.notice-confirm-summary dd{color:var(--text-strong);margin:4px 0 0;font-size:11px;font-weight:700}.notice-cancel-confirmation textarea{resize:vertical;min-height:90px}.notice-cancel-confirmation small{color:var(--text-muted);margin-top:6px;font-size:9px;display:block}.notice-metadata-grid input:focus-visible,.notice-metadata-grid select:focus-visible,.notice-confirmation input:focus-visible,.notice-confirmation select:focus-visible,.notice-confirmation textarea:focus-visible,.notice-confirmation button:focus-visible,.notice-workflow-actions button:focus-visible{outline-offset:2px;outline:2px solid #5d4b00}.revoke-button,.danger-button,.recovery-button{cursor:pointer;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:750}.revoke-button{color:#963f26;background:#fff;border:1px solid #e6b9ab}.recovery-button{color:#4f4200;background:#fffdf4;border:1px solid #cdbd68}.recovery-button:hover{background:var(--accent-soft)}.danger-button{color:#fff;background:#963f26;border:1px solid #963f26}.revoke-confirmation{align-items:center;gap:4px;display:inline-flex}.revoke-button:disabled,.danger-button:disabled,.recovery-button:disabled,.text-button:disabled{opacity:.55;cursor:not-allowed}.device-actions{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.device-id{color:var(--text);font-size:10px}.recovery-confirmation-card{background:#fffdf4;border:1px solid #cdbd68;border-radius:12px;margin:0 24px 24px;padding:18px}.recovery-confirmation-card h3{margin:6px 0 12px}.recovery-confirmation-card p{color:var(--text);margin:10px 0 0;font-size:11px;line-height:1.55}.recovery-device-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.recovery-device-details div{background:#fff;border:1px solid #e3d58e;border-radius:8px;padding:10px}.recovery-device-details dt{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:750}.recovery-device-details dd{color:var(--text-strong);margin:4px 0 0;font-size:11px;font-weight:700}.recovery-confirmation-actions{gap:8px;margin-top:14px;display:flex}.auth-screen{background:var(--surface-subtle);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;width:min(420px,100%);padding:34px;box-shadow:0 18px 55px #15171a14}.auth-language-toggle{justify-content:flex-end;margin-bottom:24px}.auth-brand{color:var(--text-strong);align-items:center;gap:11px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:15px}.auth-brand small{color:var(--text-muted);margin-top:3px;font-size:10px}.auth-heading{margin:36px 0 24px}.auth-heading h1,.access-card h1{color:var(--text-strong);letter-spacing:-.035em;margin:0;font-size:31px}.auth-heading>p:last-child,.access-card p{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.auth-form{flex-direction:column;gap:15px;display:flex}.auth-form label,.password-field>label{color:var(--text-strong);font-size:11px;font-weight:700}.auth-form input{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:9px;margin-top:7px;padding:12px;font-size:13px}.auth-form .primary-button{width:100%;margin-top:3px}.auth-error{color:#963f26;background:#fff0e7;border-radius:8px;margin:0;padding:10px 12px;font-size:11px}.auth-success{color:#175f3c;background:#e9f7ef;border-radius:8px;margin:0;padding:12px 14px;font-size:11px;line-height:1.55}.password-input-shell{margin-top:7px;position:relative}.password-input-shell input{margin-top:0;padding-right:48px}.password-visibility-button{width:42px;height:42px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.password-visibility-button:hover{color:var(--text-strong);background:var(--surface-subtle)}.password-visibility-button:focus-visible,.auth-forgot-action:focus-visible,.auth-secondary-action:focus-visible{outline-offset:2px;outline:2px solid #5d4b00}.password-visibility-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.auth-forgot-action,.auth-secondary-action{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}.auth-forgot-action{align-self:flex-end;margin-top:-7px;padding:5px 0}.auth-secondary-action{margin:15px auto 0;padding:8px;display:block}.auth-forgot-action:hover,.auth-secondary-action:hover{color:var(--text-strong)}.auth-actions{flex-direction:column;gap:7px;display:flex}.auth-actions .primary-button,.auth-full-width{width:100%}.auth-privacy{color:var(--text-muted);text-align:center;margin:20px 0 0;font-size:9px}.auth-loading{color:var(--text-muted);text-align:center}.auth-loading-shell{min-width:min(280px,100%)}.auth-loading-language-toggle{justify-content:center;margin-bottom:24px}.route-loading{place-items:center;min-height:calc(100vh - 86px);display:grid}.auth-loading span{border:3px solid var(--border);border-top-color:var(--accent-strong);border-radius:50%;width:30px;height:30px;margin:0 auto;animation:.8s linear infinite auth-spin;display:block}.auth-loading p{margin:12px 0 0;font-size:12px}.access-card{text-align:center}.access-card .secondary-button{margin-top:24px}.access-icon{color:#806100;background:var(--accent-soft);border-radius:50%;place-items:center;width:45px;height:45px;margin:0 auto 18px;font-weight:800;display:grid}[lang=ko] .eyebrow{letter-spacing:0;text-transform:none}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.app-shell{display:block}.main-content{padding:28px 24px 40px}.page-header,.panel-header,.header-actions,.student-actions,.export-actions,.payments-controls,.notices-controls{flex-wrap:wrap}.page-header>div,.panel-header>div{min-width:0}.page-header button,.export-actions button{min-height:44px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.mapping-grid,.student-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-setup-grid{grid-template-columns:1fr}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-header{align-items:flex-start}.payment-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation-event-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.connector-heading{grid-template-columns:auto minmax(0,1fr)}.connector-heading .primary-button{grid-column:1/-1;justify-self:start}.billing-import-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.notice-summary,.notice-metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.notice-groups{grid-template-columns:1fr}}@media (width<=900px){.billing-import-table,.billing-import-table tbody{display:block}.billing-import-table thead{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.billing-import-table .import-preview-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;display:grid;overflow:hidden}.billing-import-table .import-preview-row td{border-top:1px solid var(--border);grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:10px;padding:9px 11px;display:grid}.billing-import-table .import-preview-row td:first-child{border-top:0}.billing-import-table .import-preview-row td:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.billing-import-table .import-details-row{margin:-13px 0 12px;display:block}.billing-import-table .import-details-row td{border:1px solid var(--border);border-top:0;border-radius:0 0 10px 10px;width:auto;padding:10px;display:block}}@media (width<=760px){.pairing-token-content{flex-direction:column}.pairing-qr{align-self:center}.main-content{padding:26px 18px 36px}.page-header{align-items:flex-start}.profile-copy{display:none}.payments-header{flex-direction:column}.incoming-payments-heading{flex-direction:column;align-items:stretch}.notices-header{flex-direction:column}.notice-review-toolbar,.notice-state,.notice-checksum{flex-direction:column;align-items:flex-start}.notice-cycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-checksum p{text-align:left}}@media (width<=520px){.metrics-grid{grid-template-columns:1fr}.page-description,.icon-button{display:none}.metric-card{padding:18px}.metric-value{margin-top:14px}.panel-header,.notification-list{padding-inline:16px}.students-header{flex-direction:column;align-items:flex-start}.student-actions{width:100%}.student-actions button{flex:1}.privacy-label{text-align:center;max-width:85px}.import-card{padding:17px}.mapping-grid,.student-form,.contact-student-options{grid-template-columns:1fr}.mapping-field>span{min-height:0;margin-bottom:6px}.import-actions{flex-direction:column;align-items:stretch;padding:16px}.primary-button{width:100%}.auth-card{padding:26px 22px}.import-summary{padding-inline:16px}.payments-controls{flex-direction:column;align-items:stretch;width:100%}.payments-controls .primary-button{width:100%}.notices-controls{flex-direction:column;align-items:stretch;width:100%}.notices-controls .primary-button{width:100%}.notice-summary,.notice-metadata-grid,.notice-cycle-summary,.notice-audit,.notice-confirm-fields,.notice-confirm-summary{grid-template-columns:1fr}.notice-group-heading{flex-direction:column}.notice-group-badges{justify-content:flex-start}.generation-summary{grid-template-columns:1fr;padding-inline:16px}.generation-actions{flex-direction:column-reverse;align-items:stretch}.payment-event-form{grid-template-columns:1fr}.allocation-event-summary,.allocation-live-summary{grid-template-columns:1fr;padding-inline:16px}.suggested-match-banner{flex-direction:column;align-items:stretch;margin-inline:16px}.connector-heading{grid-template-columns:1fr;padding:20px 16px}.connector-icon{display:none}.connector-heading .primary-button{width:100%}.billing-file-picker{flex-direction:column;align-items:stretch}.billing-file-trigger{width:100%}.billing-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-import-table .import-preview-row td{grid-template-columns:88px minmax(0,1fr)}.billing-import-confirm{flex-direction:column;align-items:stretch}.pairing-token-card,.settings-notice,.settings-error{margin-inline:16px}.device-list-heading{padding-inline:16px}.payments-header .payments-controls{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.payments-header .payments-controls select,.payments-header .payments-controls .primary-button{width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:12px}.payments-header .payments-controls .primary-button{white-space:normal;overflow-wrap:anywhere}}.selected-payment-event>td{background:#fff9db;border-top:2px solid #8b6f00}.allocation-detail-row>td{white-space:normal;padding:12px}.inline-allocation-review{width:min(1100px,100vw - 340px);min-width:0}.inline-review-heading{margin:0 0 12px;scroll-margin-top:16px}.inline-review-heading:focus-visible{outline-offset:4px;outline:2px solid #8b6f00}.inline-allocation-review .table-wrap{max-width:100%;overflow-x:auto}@media (width<=1100px){.inline-allocation-review{width:calc(100vw - 80px)}}@media (width<=900px){.inline-allocation-review .panel-header,.inline-allocation-review .import-actions{flex-wrap:wrap}}@media (width<=760px){.inline-allocation-review{width:calc(100vw - 80px)}}.payments-page>.incoming-payments{margin-top:0}.activity-panel-header{flex-wrap:wrap;align-items:flex-start}.activity-panel-header>button{flex:none;width:auto}.payment-events-panel>.payment-event-form-card{margin:0 22px 18px}.activity-date-lines{display:none}.payments-page [hidden]{display:none!important}.payments-subnav{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.payments-subnav button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-strong);cursor:pointer;border-radius:9px;padding:10px 16px}.payments-subnav button[aria-current=page]{background:var(--accent-soft);border-color:var(--accent-strong);font-weight:750}.activity-controls{border:0;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;min-width:0;margin:0;padding:12px 22px;display:grid}.activity-controls label{gap:6px;min-width:0;font-size:12px;display:grid}.activity-controls input,.activity-controls select{border:1px solid var(--border);width:100%;min-width:0;min-height:44px;color:var(--text-strong);background:var(--surface);font:inherit;border-radius:8px;padding:8px}.activity-controls button,.activity-pagination button,.incoming-payments button{white-space:normal;min-height:44px}.activity-pagination{flex-wrap:wrap;align-items:center;gap:10px;padding:0 22px 14px;font-size:12px;display:flex}.activity-pagination>span:first-child{margin-right:auto}.activity-help{padding:0 22px;font-size:12px}.activity-cell-label,.allocation-cell-label{display:none}.inline-review-header{justify-content:space-between;align-items:center;gap:10px;display:flex}@media (width<=900px){.activity-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-date-inline{display:none}.activity-date-lines{overflow-wrap:normal;gap:2px;font-size:11px;line-height:1.45;display:grid}.activity-date-time{white-space:nowrap}.activity-table,.activity-table tbody,.allocation-table,.allocation-table tbody{width:100%;min-width:0;display:block}.activity-table thead,.allocation-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.activity-table>tbody{padding:12px}.activity-table>tbody>tr:not(.allocation-detail-row){border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"amount source provider status""date method payer action";gap:8px 12px;margin-bottom:10px;padding:12px;display:grid}.activity-table>tbody>tr>td,.allocation-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.activity-table>tbody>tr:not(.allocation-detail-row)>td:first-child{grid-area:amount}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(2){grid-area:date}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(3){grid-area:source}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(4){grid-area:method}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(5){grid-area:provider}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(6){grid-area:payer}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(7){grid-area:status}.activity-table>tbody>tr:not(.allocation-detail-row)>td:nth-child(8){grid-area:action}.activity-table .activity-cell-label,.allocation-table .allocation-cell-label{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:500;display:block}.activity-table>tbody>.selected-payment-event{background:#fff9db;border-color:#8b6f00!important}.activity-table .event-status{white-space:normal;max-width:100%}.activity-table .allocation-detail-row{margin-bottom:16px;display:block}.activity-table .inline-allocation-review{width:100%}.payment-events-panel>.table-wrap,.activity-table .inline-allocation-review .table-wrap{overflow:visible}.allocation-table tbody{padding:12px}.allocation-table tr{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;padding:12px;display:grid}.allocation-table .allocation-amount{width:100%;min-width:0;min-height:44px}.allocation-table input[type=checkbox]{width:24px;height:24px;margin:10px}.allocation-event-summary,.allocation-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation-event-summary>span,.allocation-live-summary>span{overflow-wrap:anywhere;min-width:0}.incoming-payments .payment-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.activity-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:16px}.payment-events-panel>.payment-event-form-card{margin-inline:16px}.activity-pagination{padding-inline:16px}}@media (width<=520px){.activity-table>tbody>tr:not(.allocation-detail-row){grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"amount source payer""date method status"".provider action";column-gap:8px}.activity-panel-header>button{width:100%}.activity-pagination>span:first-child{flex-basis:100%}.allocation-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.incoming-payments .payment-event-form{grid-template-columns:minmax(0,1fr)}}.navigation-bar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}@media (width<=1100px){html{scroll-padding-top:80px}}.navigation-menu-button,.navigation-close-button{border:1px solid var(--border);background:var(--surface);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-strong);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:650;line-height:1;display:flex}.navigation-menu-button>span,.navigation-close-button>span{text-align:center;flex:none;margin:0;padding:0;font-family:Arial,sans-serif;font-weight:400;line-height:1;display:block}.navigation-menu-button:focus-visible,.navigation-close-button:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}.navigation-menu-button{flex:none}.navigation-current-page{overflow-wrap:anywhere;min-width:0;font-weight:650}.navigation-drawer{background:var(--surface);width:min(340px,100vw - 24px);max-width:none;height:100dvh;max-height:100dvh;color:var(--text);overscroll-behavior:contain;border:0;margin:0;padding:0;overflow-y:auto}.navigation-drawer:not([open]){display:none}.navigation-drawer::backdrop{background:#0006}body:has(.navigation-drawer[open]){overflow:hidden}.navigation-close-button{margin:12px 16px 0 auto}.navigation-drawer .sidebar{border:0;height:auto;min-height:calc(100dvh - 68px);padding:20px 16px;position:static}.navigation-drawer .brand-caption{overflow-wrap:anywhere}.navigation-drawer .nav-list{margin-top:24px}.navigation-drawer .nav-item{min-height:44px}.navigation-drawer .language-toggle{white-space:normal;flex-wrap:wrap}.navigation-drawer .language-toggle button{min-width:44px;min-height:44px;padding:10px 8px}.navigation-drawer .sign-out-button{min-height:44px}.responsive-cell-label{display:none}@media (width<=900px){.student-list-table,.contact-link-table .payment-table,.import-review .review-table{table-layout:auto;width:100%;min-width:0;display:block}.student-list-table colgroup{display:none}.student-list-table thead,.contact-link-table thead,.import-review .review-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-list-table tbody,.contact-link-table tbody,.import-review .review-table tbody{padding:12px;display:block}.student-list-table tr,.contact-link-table tr,.import-review .review-table tr{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;padding:16px;display:grid}.student-list-table td,.contact-link-table td,.import-review .review-table td{white-space:normal;overflow-wrap:anywhere;text-align:start;border:0;min-width:0;max-width:none;padding:0;display:block}.student-list-table td>.responsive-cell-label,.contact-link-table td>.responsive-cell-label,.import-review .review-table td>.responsive-cell-label{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:650;display:block}.student-list-table td:first-child,.student-list-table td:nth-child(2),.contact-link-table td:first-child,.import-review .review-table td:nth-child(n+3){grid-column:1/-1}.student-list-table .student-cell,.student-list-table .student-cell>span{min-width:0}.student-list-table .student-initials{flex-shrink:0}.student-list-table .student-inline-editor-row{border-color:#e3d58e;margin-top:-12px;padding:0;display:block}.student-form,.contact-inline-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form label,.contact-inline-editor label,.contact-directory-summary,.contact-setup-card label{overflow-wrap:anywhere;min-width:0}.contact-inline-editor{grid-template-columns:minmax(0,1fr)}.contact-directory-actions,.student-form .form-actions{flex-wrap:wrap}.contact-directory-row,.contact-readiness-summary,.contact-inline-editor p{overflow-wrap:anywhere}.student-registry button,.student-registry select,.student-form button,.student-form input,.student-form select,.contact-foundation button,.contact-inline-editor input,.contact-setup-card select,.contact-setup-card input:not([type=checkbox]),.import-review button,.import-review select{min-height:44px}.student-registry .edit-button{min-width:44px}.contact-foundation button,.student-form button,.import-review button{white-space:normal;overflow-wrap:anywhere}.contact-link-table .notice-toggle,.contact-student-options label{min-height:44px}.contact-link-table .notice-toggle{white-space:normal;align-items:center;gap:8px;display:flex}.contact-link-table .notice-toggle input{flex-shrink:0}.import-review .review-table select,.student-list-table select{width:100%;min-width:0;max-width:100%}.import-review .change-list{min-width:0}.import-review .review-table td>small{max-width:none}.import-review input[type=checkbox]{width:44px;height:44px;margin:0}.import-review .import-actions,.import-preview .import-actions{flex-wrap:wrap}.billing-import-card .import-details-button{min-height:44px}.billing-import-confirm{flex-wrap:wrap}}@media (width<=760px){.student-list-table tr,.contact-link-table tr,.import-review .review-table tr{gap:10px;padding:12px}.student-registry .panel-header,.contact-foundation .panel-header,.import-review .panel-header{align-items:flex-start}}@media (width<=520px){.student-form,.contact-student-options,.students-page .mapping-grid,.contact-link-table tr,.import-review .review-table tr{grid-template-columns:minmax(0,1fr)}.contact-directory-actions{flex-wrap:wrap;width:100%}.student-form .form-actions>button{flex:100%}.student-list-table .student-inline-editor-row .edit-student-card{padding:12px}}@media (width<=900px){.student-list-table tr:not(.student-inline-editor-row),.contact-link-table tr{row-gap:8px;padding-block:10px}.student-list-table tr:not(.student-inline-editor-row) td>.responsive-cell-label,.contact-link-table td>.responsive-cell-label{margin-bottom:3px}.student-list-table .lifecycle-select{width:auto;max-width:100%;min-height:44px}}.students-page [hidden]{display:none!important}.students-subnav{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.students-subnav button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-strong);cursor:pointer;border-radius:9px;padding:10px 16px}.students-subnav button[aria-current=page]{background:var(--accent-soft);border-color:var(--accent-strong);font-weight:750}.management-tools{padding:16px}.management-toolbar{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:0;display:grid}.management-tools-contacts .management-toolbar{grid-template-columns:repeat(6,minmax(0,1fr))}.management-toolbar label{flex:160px;gap:6px;min-width:0;font-size:12px;display:grid}.management-toolbar input,.management-toolbar select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--text-strong);border-radius:8px;padding:8px;font-size:12px}.management-pagination{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.management-pagination button{min-height:44px}.management-pagination>span:first-child{margin-right:auto}@media (width<=900px){.student-list-table tr:not(.student-inline-editor-row){grid-template-areas:"identity edit""amount status""contact contact""course book"}.student-list-table tr:not(.student-inline-editor-row)>td:first-child{grid-area:identity}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(2){grid-area:contact}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(3){grid-area:course}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(4){grid-area:book}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(5){grid-area:amount}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(6){grid-area:status}.student-list-table tr:not(.student-inline-editor-row)>td:nth-child(7){grid-area:edit;justify-self:end}.student-list-table tr:not(.student-inline-editor-row)>td:is(:first-child,:nth-child(7))>.responsive-cell-label{display:none}.student-list-table .student-contact-readiness{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-list-table .student-initials{display:none}.contact-link-table tbody{padding:8px}.contact-link-table tr{padding-inline:10px}}@media (width<=520px){.management-toolbar label{flex-basis:100%}.management-tools{padding:12px}.contact-link-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-link-table td:first-child{grid-column:auto}.contact-link-table td:last-child{grid-column:1/-1}}.contact-foundation{--contact-gutter:22px}.contact-foundation>.management-tools,.contact-foundation>div>.management-tools{padding-inline:var(--contact-gutter)}.contact-relationships,.contact-foundation .contact-directory,.contact-foundation .contact-setup-actions{margin:16px var(--contact-gutter)}.contact-relationships h3,.contact-directory h3{margin:0 0 12px;font-size:14px}.contact-setup-actions{align-items:start;gap:10px}.contact-setup-actions details{border:1px solid var(--border);background:var(--surface);border-radius:9px;min-width:0}.contact-setup-actions summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:12px;font-size:12px;font-weight:650}.contact-setup-actions summary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.contact-setup-actions .contact-setup-card{border:0;border-top:1px solid var(--border);border-radius:0 0 9px 9px}.contact-directory-row{gap:8px}.contact-directory-summary{overflow-wrap:anywhere;flex:140px;min-width:0}.contact-directory-actions{flex-wrap:wrap;flex:0 auto;align-items:center}.contact-directory-actions button,.contact-link-table .secondary-button{white-space:normal;min-height:44px}.contact-directory-actions .edit-icon-button{min-width:44px}.contact-foundation.is-import-view{box-shadow:none;background:0 0;border:0}.students-page .billing-import-card{background:#fffdf4;border:1px solid #e3d58e;border-radius:16px;margin:0 0 24px;padding:18px}.students-page .billing-import-card h3{font-size:18px}.students-page .billing-file-picker{border:1px solid var(--border);background:var(--surface);border-radius:15px;flex-wrap:wrap;min-height:100px;padding:22px}.students-page .billing-file-trigger{min-height:44px}.students-page .billing-file-name{overflow-wrap:anywhere;white-space:normal}.students-page .drop-zone{background:var(--surface);min-height:150px;padding:20px}@media (width<=1350px){.management-tools-contacts .management-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=521px) and (width<=900px){.student-list-table tr:not(.student-inline-editor-row){grid-template-columns:repeat(3,minmax(0,1fr)) 44px;grid-template-areas:"identity contact course edit""amount status book edit";align-items:start;gap:6px 10px}.contact-link-table tr{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"student relationship primary""contact status notices""contact status action";gap:6px 10px}.contact-link-table td:first-child{grid-area:student}.contact-link-table td:nth-child(2){grid-area:contact}.contact-link-table td:nth-child(3){grid-area:relationship}.contact-link-table td:nth-child(4){grid-area:status}.contact-link-table td:nth-child(5){grid-area:primary}.contact-link-table td:nth-child(6){grid-area:notices}.contact-link-table td:nth-child(7){grid-area:action}}@media (width<=900px){.management-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-link-table tbody{padding:0}.contact-directory-row{padding:10px}.student-list-table tr:not(.student-inline-editor-row) td>.responsive-cell-label,.contact-link-table td>.responsive-cell-label{margin-bottom:2px}.contact-setup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.contact-foundation{--contact-gutter:16px}.management-tools-contacts .management-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.contact-directory-actions{width:auto}.contact-setup-actions{grid-template-columns:minmax(0,1fr)}.students-page .billing-file-picker{padding:16px}}.pencil-icon{flex-shrink:0;display:block}.contact-view-nav{margin:12px var(--contact-gutter);flex-wrap:wrap;gap:8px;display:flex}.contact-view-nav button{min-height:44px}.contact-view-nav [aria-current=page]{background:var(--accent-soft);border-color:var(--accent-strong)}.contact-directory-row{justify-content:flex-start}.contact-directory-summary{flex:0 320px}.relationship-contact-name{text-align:start;text-underline-offset:3px;white-space:normal;overflow-wrap:anywhere;min-height:44px;text-decoration:underline}.relationship-overflow{display:none}.relationship-editor-row>td{background:#fffdf4;padding:12px}.relationship-editor-row .contact-inline-editor{border:0;margin:0;padding:0}.contact-confirmation{border:1px solid var(--border);width:min(440px,100vw - 32px);color:var(--text-strong);background:var(--surface);border-radius:12px;padding:22px}.contact-confirmation::backdrop{background:#0006}.contact-confirmation h2{margin-top:0;font-size:18px}.contact-confirmation p{overflow-wrap:anywhere;line-height:1.5}.contact-confirmation button{min-height:44px}.contact-confirmation .form-actions{flex-wrap:wrap}.import-file-surface{margin-bottom:16px}.import-file-example{margin:12px 0;font-size:12px}.import-file-example summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;width:fit-content;min-height:44px;padding:12px}.import-file-example p{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:8px;padding:12px;margin:8px 0!important}.import-file-example summary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.students-page .drop-zone,.students-page .billing-file-picker{background:var(--surface);border:1.5px dashed #d5d2c6;border-radius:13px;min-height:150px;margin:0;padding:20px}.students-page .billing-file-picker{flex-direction:column;justify-content:center;align-items:center;display:flex}.students-page .billing-file-trigger{width:auto}@media (width<=900px){.student-list-table .student-name{font-size:15px}.student-list-table .lifecycle-select{border-radius:8px;min-height:44px}.management-tools .management-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.management-tools .management-toolbar label{grid-column:auto}.contact-relationships .table-wrap{overflow:visible}.contact-link-table tr{position:relative}.contact-link-table tr:not(.relationship-editor-row)>td:last-child{position:absolute;top:8px;right:8px}.contact-link-table tr:not(.relationship-editor-row)>td:last-child>.responsive-cell-label,.relationship-desktop-action{display:none}.contact-link-table tr:not(.relationship-editor-row)>td:first-child{padding-right:44px}.relationship-overflow{display:block}.relationship-overflow summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:44px;height:44px;font-size:24px;list-style:none;display:grid}.relationship-overflow summary::-webkit-details-marker{display:none}.relationship-overflow summary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.relationship-action-list{z-index:15;border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:4px;width:min(220px,100vw - 90px);padding:8px;display:grid;position:absolute;right:0;box-shadow:0 4px 12px #00000026}.relationship-action-list button{text-align:start;white-space:normal;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-strong);border-radius:6px;padding:8px}.contact-link-table .relationship-editor-row{display:block}.contact-link-table .relationship-editor-row>td{width:100%;display:block}}@media (width>=521px) and (width<=900px){.contact-link-table tr:not(.relationship-editor-row){grid-template-columns:repeat(3,minmax(0,1fr)) 44px;grid-template-areas:"student relationship primary action""contact status notices action"}.contact-link-table tr:not(.relationship-editor-row)>td:last-child{grid-area:action;position:static}.contact-link-table tr:not(.relationship-editor-row)>td:first-child{padding-right:0}}.contact-foundation .contact-directory{grid-template-columns:minmax(0,1fr);align-items:start}.contact-directory>h3,.contact-directory>.contact-empty{grid-column:1/-1}.contact-directory .contact-directory-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.contact-directory .contact-directory-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto}.contact-directory .contact-directory-actions .secondary-button{max-width:120px;padding:6px 10px}.contact-directory .contact-inline-editor{grid-column:1/-1}.students-page .upload-icon{margin-bottom:8px;font-size:26px;font-weight:800}.students-page .billing-file-picker{text-align:center;gap:10px}.students-page .billing-file-picker strong{overflow-wrap:anywhere;font-size:14px}@media (width>=1200px){.contact-foundation .contact-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-directory .contact-inline-editor{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.contact-link-table .relationship-contact-name{min-height:44px;margin:0;padding:0;line-height:1.3;display:block}.contact-link-table td small{margin-top:0}.contact-link-table tr:not(.relationship-editor-row){align-items:start;row-gap:6px}.student-list-table .lifecycle-select{border-radius:8px;min-height:32px;padding-block:2px;line-height:1.2}}@media (width<=900px) and (pointer:coarse){.student-list-table .lifecycle-select{min-height:40px}}@media (width<=520px){.contact-link-table tr:not(.relationship-editor-row){grid-template-columns:repeat(2,minmax(0,1fr)) 44px;grid-template-areas:"student contact action""relationship status action""primary notices action"}.contact-link-table tr:not(.relationship-editor-row)>td:first-child{grid-area:student;padding-right:0}.contact-link-table tr:not(.relationship-editor-row)>td:nth-child(2){grid-area:contact}.contact-link-table tr:not(.relationship-editor-row)>td:nth-child(3){grid-area:relationship}.contact-link-table tr:not(.relationship-editor-row)>td:nth-child(4){grid-area:status}.contact-link-table tr:not(.relationship-editor-row)>td:nth-child(5){grid-area:primary}.contact-link-table tr:not(.relationship-editor-row)>td:nth-child(6){grid-area:notices}.contact-link-table tr:not(.relationship-editor-row)>td:last-child{grid-area:action;position:static}}.students-page .import-workflow-header :is(h2,h3){color:var(--text-strong);margin:0;font-size:18px}.students-page .drop-zone,.students-page .billing-file-picker{gap:0}.students-page .upload-icon svg{fill:currentColor;width:25px;height:25px}.students-page .drop-zone>strong,.students-page .billing-file-picker>strong{color:var(--text-strong);overflow-wrap:anywhere;max-width:100%;font-size:14px}.students-page .drop-zone>span,.students-page .billing-file-picker>.import-format-hint{color:var(--text-muted);margin:6px 0 16px;font-size:11px}.students-page .drop-zone .primary-button,.students-page .billing-file-trigger{justify-content:center;align-items:center;min-height:44px;padding:9px 14px;font-size:12px;display:inline-flex}@media (width<=520px){.student-list-table tr:not(.student-inline-editor-row){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"identity edit""status amount""contact course""contact book";align-items:start}}.contact-link-table .relationship-contact-name{text-align:left;margin:0;padding:0}.student-export-menu{flex-shrink:0;margin-left:auto;position:relative}.student-export-menu summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:8px 14px;font-size:12px;font-weight:650;list-style:none;display:flex}.student-export-menu summary::-webkit-details-marker{display:none}.student-export-menu summary:focus-visible,.student-export-options button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.student-export-options{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(190px,100vw - 64px);padding:6px;position:absolute;right:0;box-shadow:0 4px 12px #00000026}.student-export-options button{background:var(--surface);width:100%;min-height:44px;color:var(--text-strong);text-align:start;white-space:normal;cursor:pointer;border:0;border-radius:5px;padding:8px;display:block}.student-export-options button:not(:disabled):is(:hover,:focus-visible){background:var(--accent-soft)}@media (width<=520px){.students-page .drop-zone .primary-button,.students-page .billing-file-trigger{width:100%}.contact-link-table tr:not(.relationship-editor-row){grid-template-areas:"student primary action""contact status action""contact notices action""relationship notices action"}.contact-link-table .relationship-contact-name{min-height:32px;line-height:1.3}.contact-link-table .notice-toggle{align-items:flex-start;min-height:32px;padding-top:3px}.contact-link-table td small{margin-top:0;line-height:1.3}}@media (width<=520px) and (pointer:coarse){.contact-link-table .relationship-contact-name,.contact-link-table .notice-toggle{min-height:40px}}.charge-cell-label,.charges-heading-mobile{display:none}.charge-management-controls{border:0;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr) minmax(0,1.2fr) auto;align-items:end;gap:12px;min-width:0;margin:0;padding:12px 22px;display:grid}.charge-management-controls label{gap:6px;min-width:0;font-size:12px;display:grid}.charge-management-controls input,.charge-management-controls select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--text-strong);font:inherit;border-radius:8px;padding:8px}.charge-management-controls button,.charge-management-pagination button{white-space:normal;min-height:44px}.charge-management-pagination{flex-wrap:wrap;align-items:center;gap:10px;padding:0 22px 14px;font-size:12px;display:flex}.charge-management-pagination>span:first-child{margin-right:auto}@media (width<=900px){.monthly-charges .table-wrap{overflow:visible}.monthly-charge-table,.monthly-charge-table tbody{width:100%;min-width:0;display:block}.monthly-charge-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.monthly-charge-table tbody{padding:0 16px 16px}.monthly-charge-table tr{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"student course expected remaining"".book paid status";align-items:start;gap:8px 12px;margin-bottom:10px;padding:12px;display:grid}.monthly-charge-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.monthly-charge-table td:first-child{grid-area:student}.monthly-charge-table td:nth-child(2){grid-area:course}.monthly-charge-table td:nth-child(3){grid-area:book}.monthly-charge-table td:nth-child(4){grid-area:expected}.monthly-charge-table td:nth-child(5){grid-area:paid}.monthly-charge-table td:nth-child(6){grid-area:remaining}.monthly-charge-table td:nth-child(7){grid-area:status}.monthly-charge-table .charge-cell-label{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:500;display:block}}@media (width<=760px){.charge-management-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:16px}.charge-management-pagination{padding-inline:16px}}@media (width<=520px){.monthly-charge-table tr{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"student expected remaining""course paid status""book. .";column-gap:8px}.charges-heading-wide{display:none}.charges-heading-mobile{display:inline}.charge-management-pagination{gap:8px}.charge-management-pagination>span:first-child{flex-basis:100%}}
