/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#0f2748;--blue:#1877e8;--blue-dark:#0c5ec4;--sky:#eef6ff;--line:#e5ebf2;--muted:#66758a;--text:#162235;--surface:#fff;--background:#f4f7fb;--green:#19a66a;--orange:#f59a23;--red:#e95a63}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);margin:0}body{font-family:Arial,Noto Sans KR,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#fff;z-index:20;flex-direction:column;width:242px;padding:28px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px 28px;display:flex}.brand-mark,.mobile-logo span{color:#fff;background:linear-gradient(145deg,#3aa2ff,#1370df);border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;font-weight:900;display:grid;box-shadow:0 8px 24px #0066c866}.brand strong{font-size:18px;display:block}.brand small{color:#9fb0c8;font-size:12px}.sidebar nav{gap:7px;display:grid}.sidebar nav button,.sidebar-bottom>button{color:#aebbd0;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:13px;padding:13px 14px;display:flex}.sidebar nav button>span,.sidebar-bottom>button>span{border:1px solid #4d617c;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.sidebar nav button.active{color:#fff;background:#1d75db;box-shadow:0 8px 20px #071a3360}.sidebar nav button.active>span{background:#fff2;border-color:#fff4}.sidebar nav button small{background:#ffffff18;border-radius:20px;margin-left:auto;padding:3px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.sidebar-bottom>button{width:100%}.user-card{border-top:1px solid #ffffff18;align-items:center;gap:10px;margin-top:16px;padding:18px 8px 0;display:flex}.user-card strong,.user-card small{display:block}.user-card>span{margin-left:auto}.avatar{color:#156ad0;background:#dcecff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.avatar.small{width:34px;height:34px;font-size:12px}.main-panel{width:calc(100% - 242px);min-height:100vh;margin-left:242px}.topbar{border-bottom:1px solid var(--line);z-index:15;background:#fff;align-items:center;height:72px;padding:0 34px;display:flex;position:sticky;top:0}.branch-select{align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.branch-select small{color:#8694a7}.topbar-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.topbar-actions>button{color:#506176;background:#f5f7fb;border:0;border-radius:10px;width:38px;height:38px;font-size:20px}.notification{position:relative}.notification>span{background:#f05059;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.top-user{align-items:center;gap:9px;margin-left:8px;font-size:13px;font-weight:700;display:flex}.mobile-logo{display:none}.content-section{max-width:1560px;margin:0 auto;padding:34px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.section-heading h1{letter-spacing:-1.2px;margin:4px 0 7px;font-size:30px}.section-heading p{color:var(--muted);margin:0;font-size:14px}.eyebrow{letter-spacing:1.5px;font-weight:800;color:#2583e9!important;font-size:11px!important}.primary-button,.secondary-button,.outline-button,.ghost-button{border:0;border-radius:10px;padding:11px 18px;font-size:13px;font-weight:800}.primary-button{background:var(--blue);color:#fff;box-shadow:0 6px 14px #1877e833}.primary-button:hover{background:var(--blue-dark)}.secondary-button{color:#156aca;background:#e8f2ff}.outline-button{color:#176ed3;background:#fff;border:1px solid #b9d8fb}.ghost-button{color:#526176;background:#f1f4f8}.date-button{border:1px solid var(--line);color:#4a5b70;background:#fff;border-radius:12px;align-items:center;gap:14px;padding:8px 12px;display:flex}.date-button span{background:#f3f6fa;border-radius:8px;place-items:center;width:28px;height:28px;font-size:22px;display:grid}.date-button b{font-size:13px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:19px;display:flex;box-shadow:0 5px 18px #203b5b09}.stat-icon{border-radius:13px;place-items:center;width:43px;height:43px;font-size:12px;font-weight:900;display:grid}.stat-icon.blue{color:#1476dc;background:#e8f3ff}.stat-icon.violet{color:#7554d6;background:#f2edff}.stat-icon.orange{color:#e58b17;background:#fff3e4}.stat-icon.green{color:#159960;background:#e9f8f1}.stats-grid small{color:#7c8999;margin-bottom:5px;font-size:11px;display:block}.stats-grid strong{font-size:23px}.stats-grid em{color:#8794a5;margin-left:4px;font-size:11px;font-style:normal;font-weight:500}.today-layout{grid-template-columns:minmax(380px,.92fr) minmax(520px,1.25fr);align-items:start;gap:18px;display:grid}.schedule-card,.attendance-card,.toolbar-card,.message-table{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 6px 20px #1735540b}.card-heading{justify-content:space-between;align-items:center;padding:20px 22px 13px;display:flex}.card-heading h2{margin:0;font-size:17px;display:inline}.card-heading div>span{color:#8794a6;margin-left:8px;font-size:11px}.card-heading>button,.table-title button{color:#2380e5;background:0 0;border:0;font-size:12px;font-weight:700}.class-list{padding:0 10px 10px}.class-item{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-radius:12px;grid-template-columns:48px 15px 1fr auto 16px;align-items:center;gap:9px;padding:12px;display:grid;position:relative}.class-item:hover,.class-item.selected{background:#eef6ff}.class-item time{color:#4e5f74;font-size:12px;font-weight:800}.timeline-dot{background:#fff;border:2px solid #b8c4d1;border-radius:50%;width:9px;height:9px;position:relative}.class-item:not(:last-child) .timeline-dot:after{content:"";background:#dce3ea;width:1px;height:38px;position:absolute;top:8px;left:2px}.class-item.selected .timeline-dot{background:#1877e8;border-color:#1877e8}.class-item strong,.class-item small{display:block}.class-item strong{margin-bottom:4px;font-size:13px}.class-item small{color:#8491a1;font-size:10px}.class-status{color:#68778a;white-space:nowrap;background:#f1f3f6;border-radius:20px;padding:5px 8px;font-size:10px}.status-ì™„ë£Œ{color:#11885a;background:#eaf8f2}.status-ì§„í–‰-ì¤‘{color:#126bc8;background:#e7f2ff}.chevron{color:#9aa6b5;font-size:18px}.attendance-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 22px 17px;display:flex}.attendance-head h2{margin:8px 0 5px;font-size:20px}.attendance-head p{color:#7f8da0;margin:0;font-size:11px}.live-badge{color:#1771cf;background:#e7f2ff;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:800}.attendance-counts{border-bottom:1px solid var(--line);background:#fafbfd;gap:28px;padding:14px 22px;display:flex}.attendance-counts span{color:#7f8c9c;font-size:10px}.attendance-counts b{color:#4e5e72;margin-right:4px;font-size:17px}.attendance-counts .green b{color:var(--green)}.attendance-counts .red b{color:var(--red)}.attendance-counts .orange b{color:var(--orange)}.attendance-list{padding:5px 18px}.attendance-row{border-bottom:1px solid #edf0f4;grid-template-columns:34px minmax(66px,1fr) auto;align-items:center;gap:10px;padding:9px 3px;display:grid}.mini-avatar{color:#42617f;background:#eef3f9;border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:800;display:grid}.attendance-row strong{font-size:12px}.attendance-actions{gap:5px;display:flex}.attendance-actions button{color:#67768a;background:#fff;border:1px solid #dfe5ec;border-radius:7px;padding:6px 9px;font-size:10px}.attendance-actions button.picked{color:#fff;border-color:#0000}.attendance-actions button.picked-ì¶œì„{background:var(--green)}.attendance-actions button.picked-ê²°ì„{background:var(--red)}.attendance-actions button.picked-ì§€ê°{background:var(--orange)}.attendance-actions button.picked-ë³´ê°•{background:#7554d6}.attendance-footer{justify-content:flex-end;align-items:center;gap:8px;padding:15px 20px;display:flex}.attendance-footer label{color:#647387;margin-right:auto;font-size:11px}.attendance-footer input{accent-color:#1877e8}.toolbar-card{justify-content:space-between;gap:16px;margin-bottom:14px;padding:18px;display:flex}.search-box{color:#8996a6;background:#fff;border:1px solid #dfe5ec;border-radius:10px;flex:1;align-items:center;max-width:430px;padding:0 12px;display:flex}.search-box:focus-within{border-color:#2582e8;box-shadow:0 0 0 3px #2788ec1a}.search-box input{background:0 0;border:0;outline:0;width:100%;padding:10px;font-size:12px}.search-clear{color:#68798c;background:#eef2f6;border:0;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:16px;display:grid}.filter-pills{gap:6px;display:flex}.filter-pills button{color:#66768a;cursor:pointer;background:#f2f5f8;border:0;border-radius:9px;padding:9px 12px;font-size:11px}.filter-pills button.active{color:#1370d6;background:#e7f2ff;font-weight:800}.search-result-line{color:#718095;align-items:center;gap:7px;margin:0 3px 10px;font-size:10px;display:flex}.search-result-line strong{color:#1b385b}.search-result-line button{color:#1873d8;background:0 0;border:0;margin-left:auto;font-size:10px;font-weight:800}.student-empty{text-align:center;color:#7d8b9b;background:#fff;border:1px dashed #d9e1ea;border-radius:14px;padding:45px 20px}.student-empty>span{color:#287dd8;background:#eef5fd;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 12px;font-size:21px;display:grid}.student-empty strong{color:#2a3c52;font-size:14px;display:block}.student-empty p{font-size:11px}.student-empty button{color:#1873d8;background:#e9f3ff;border:0;border-radius:8px;padding:9px 12px;font-size:10px;font-weight:800}.student-list{gap:8px;display:grid}.student-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:44px 1fr 1.6fr 1fr auto 24px;align-items:center;gap:13px;padding:14px 17px;display:grid}.student-main strong,.student-main span,.guardian small,.guardian span{display:block}.student-main strong{font-size:14px}.student-main span,.guardian span{color:#718095;margin-top:4px;font-size:11px}.guardian small{color:#a0aab8;font-size:9px}.student-classes{flex-wrap:wrap;gap:5px;display:flex}.student-classes span{color:#49617d;background:#f0f5fb;border-radius:7px;padding:5px 8px;font-size:10px}.payment-tag{color:#11865a;background:#e9f8f1;border-radius:20px;padding:5px 9px;font-size:10px}.payment-tag.late{color:#df515b;background:#fff0f1}.more-button{color:#9aa6b4;background:0 0;border:0;font-size:24px}.report-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.report-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;box-shadow:0 6px 20px #17355409}.report-top{align-items:center;gap:7px;display:flex}.subject-dot{background:#1877e8;border-radius:50%;width:8px;height:8px}.report-top small{color:#8794a5}.report-top>span:last-child{border-radius:20px;margin-left:auto;padding:4px 7px;font-size:9px}.sent{color:#12865a;background:#eaf8f2}.draft{color:#d47c0c;background:#fff3e4}.report-card h3{margin:18px 0 4px;font-size:18px}.report-meta{color:#8a96a6;font-size:10px}.report-copy{background:#f7f9fc;border-radius:11px;margin:16px 0;padding:14px}.report-copy strong{font-size:12px}.report-copy p{color:#647387;margin:8px 0 0;font-size:11px;line-height:1.65}.report-card footer{color:#778597;justify-content:space-between;align-items:center;font-size:10px;display:flex}.report-card footer button{color:#1877e8;background:0 0;border:0;font-weight:800}.message-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.message-summary>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.message-summary span{color:#7c8999;margin-bottom:10px;font-size:11px;display:block}.message-summary strong{font-size:25px}.message-summary small{color:#8090a2;margin-left:4px;font-size:10px}.message-summary .green{color:var(--green)}.message-summary .orange{color:var(--orange)}.message-table{padding:5px 20px}.table-title{justify-content:space-between;align-items:center;padding:13px 0;display:flex}.table-title h3{font-size:15px}.message-row{color:#708095;border-top:1px solid #edf0f4;grid-template-columns:100px 1.6fr 1fr 100px 45px;align-items:center;gap:12px;padding:14px 0;font-size:11px;display:grid}.message-row strong{color:#2a394d;font-size:12px}.message-kind{color:#236fc6}.success,.waiting{text-align:center;border-radius:20px;padding:4px 7px;font-size:10px}.success{color:#13875b;background:#eaf8f2}.waiting{color:#da810f;background:#fff3e3}.empty-state{text-align:center;max-width:700px;padding-top:90px}.phase-badge{color:#1873d8;background:#e8f3ff;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-block}.billing-visual{color:#176fd2;background:linear-gradient(145deg,#e8f3ff,#cde5ff);border-radius:28px;place-items:center;width:90px;height:90px;margin:24px auto;font-size:36px;font-weight:900;display:grid}.empty-state h1{font-size:26px}.empty-state>p{color:#718095;font-size:13px;line-height:1.8}.future-features{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:24px;display:flex}.future-features span{border:1px solid var(--line);color:#5f7187;background:#fff;border-radius:9px;padding:8px 11px;font-size:11px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10243a88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.report-modal{background:#fff;border-radius:20px;width:min(620px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 70px #05182d55}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 24px;display:flex}.modal-head small{color:#1877e8;font-weight:800}.modal-head h2{margin:4px 0 0;font-size:21px}.modal-head button{color:#718095;background:#f2f5f8;border:0;border-radius:9px;width:32px;height:32px;font-size:20px}.modal-body{gap:15px;padding:20px 24px;display:grid}.modal-body label{color:#526278;gap:7px;font-size:11px;font-weight:800;display:grid}.modal-body input,.modal-body textarea,.modal-body select{color:#26364a;background:#fff;border:1px solid #dfe5ec;border-radius:9px;outline:0;width:100%;padding:11px}.modal-body textarea{resize:vertical;min-height:90px;line-height:1.6}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-body .check-line{grid-template-columns:none;align-items:center;gap:8px;font-weight:500;display:flex}.check-line input{accent-color:#1877e8;width:auto}.modal-footer{justify-content:flex-end;gap:8px;padding:15px 24px 20px;display:flex}.kakao-preview{background:#f8f9fb;padding:24px}.kakao-title{align-items:center;gap:9px;margin-bottom:13px;display:flex}.kakao-title>span{color:#fff;background:#1976e7;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.kakao-title strong{font-size:12px}.message-bubble{background:#fff;border:1px solid #e1e6ec;border-radius:3px 14px 14px;padding:19px;font-size:12px;line-height:1.6}.message-bubble>p{color:#637286}.message-bubble dl{border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;padding:10px 0}.message-bubble dl>div{grid-template-columns:80px 1fr;gap:8px;margin:7px 0;display:grid}.message-bubble dt{color:#7d8a9b}.message-bubble dd{margin:0}.message-bubble>small{color:#8995a4}.recipient-count{text-align:center;color:#6b798a;margin:14px 0 0;font-size:11px}.toast{color:#fff;z-index:70;background:#18314f;border-radius:11px;align-items:center;gap:8px;padding:13px 17px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #0f274844}.toast span{background:#22aa70;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.bottom-nav{display:none}.privacy-note{color:#6d7c8f;background:#f2f7fd;border-radius:9px;margin:0;padding:10px 12px;font-size:10px;line-height:1.5}.class-guide{border:1px solid var(--line);color:#4f6177;background:#fff;border-radius:14px;align-items:center;gap:9px;margin-bottom:16px;padding:13px 18px;font-size:11px;display:flex}.class-guide span{color:#176fd2;background:#e8f3ff;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.class-guide strong{font-size:11px}.class-guide i{color:#a8b2bf;margin:0 4px;font-style:normal}.class-manage-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.class-manage-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:19px;box-shadow:0 6px 20px #17355409}.class-manage-card header{justify-content:space-between;align-items:flex-start;display:flex}.class-manage-card header span{color:#176fd2;background:#e8f3ff;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:800}.class-manage-card h2{margin:11px 0 0;font-size:18px}.class-manage-card header button{color:#8b98a8;background:0 0;border:0;font-size:18px}.class-manage-card dl{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.class-manage-card dl div{background:#f7f9fc;border-radius:9px;padding:10px}.class-manage-card dt{color:#8995a5;margin-bottom:5px;font-size:9px}.class-manage-card dd{margin:0;font-size:11px;font-weight:800}.class-manage-card footer{border-top:1px solid #edf0f4;align-items:center;padding-top:14px;display:flex}.class-manage-card footer span{color:#8693a3;font-size:9px;display:block}.class-manage-card footer strong{font-size:15px}.class-manage-card footer button{color:#176fd2;background:#eef6ff;border:0;border-radius:8px;margin-left:auto;padding:8px 10px;font-size:10px;font-weight:800}.instructor-card header{align-items:center}.instructor-card header h2{margin-top:9px}.instructor-status{color:#16875b;background:#e8f8f1;border-radius:20px;padding:5px 8px;font-size:9px}.instructor-status.off{color:#7b8795;background:#eef1f4}.instructor-phone{color:#5f6f82;margin:18px 0 12px;font-size:12px}.subject-tags{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:52px;display:flex}.subject-tags span{color:#35638d;background:#f4f8fd;border:1px solid #dce8f5;border-radius:7px;padding:6px 8px;font-size:10px}.tuition-box{background:#f2f7fd;border:1px solid #dbe9f7;border-radius:11px;grid-template-columns:1fr 1fr;gap:10px;padding:12px;display:grid}.tuition-box div{gap:4px;display:grid}.tuition-box span{color:#718196;font-size:10px}.tuition-box strong{color:#16395f;font-size:14px}.student-modal{max-height:min(840px,94vh);overflow:auto}.modal-footer .primary-button:disabled{opacity:.45;cursor:not-allowed}.student-detail-modal{width:min(720px,100%)}.student-detail-body{gap:18px;padding:22px 24px;display:grid}.student-profile-head{background:linear-gradient(135deg,#f1f7ff,#f8fbff);border:1px solid #deebf8;border-radius:14px;align-items:center;gap:13px;padding:17px;display:flex}.detail-avatar{width:52px;height:52px;font-size:18px}.student-profile-head h3{margin:0 0 5px;font-size:20px}.student-profile-head p{color:#718095;margin:0;font-size:11px}.student-profile-head>.payment-tag{margin-left:auto}.detail-section{border:1px solid #e4e9ef;border-radius:13px;padding:16px}.detail-section h4{color:#183b62;margin:0 0 13px;font-size:12px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.detail-grid div{background:#f7f9fc;border-radius:9px;padding:11px}.detail-grid dt{color:#8491a1;margin-bottom:5px;font-size:9px}.detail-grid dd{color:#27394d;margin:0;font-size:11px;font-weight:800}.fee-summary{grid-template-columns:1fr 1fr;gap:9px;display:grid}.fee-summary div{background:#f7f9fc;border-radius:10px;gap:5px;padding:12px;display:grid}.fee-summary span{color:#7d8999;font-size:9px}.fee-summary strong{font-size:13px}.fee-summary .highlight{color:#176fd2;background:#eaf4ff}.student-detail-modal .modal-footer{border-top:1px solid #edf0f4}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.today-layout{grid-template-columns:1fr}.report-grid,.class-manage-grid{grid-template-columns:1fr 1fr}.student-row{grid-template-columns:44px 1fr 1.3fr auto 24px}.guardian{display:none}}@media (width<=760px){.sidebar{display:none}.main-panel{width:100%;margin-left:0;padding-bottom:72px}.topbar{height:60px;padding:0 16px}.mobile-logo{color:#102c4e;background:0 0;border:0;align-items:center;gap:8px;font-weight:900;display:flex}.mobile-logo span{border-radius:9px;width:30px;height:30px;font-size:17px}.branch-select{margin-left:auto}.branch-select span{font-size:11px}.topbar-actions{display:none}.content-section{padding:20px 14px}.section-heading{align-items:center;margin-bottom:20px}.section-heading h1{font-size:24px}.section-heading p:not(.eyebrow){display:none}.section-heading>.primary-button{padding:10px 12px}.today-heading{display:block}.date-button{justify-content:space-between;width:100%;margin-top:14px}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stats-grid article{gap:9px;padding:13px}.stat-icon{width:36px;height:36px}.stats-grid strong{font-size:19px}.stats-grid em{margin:2px 0 0;display:block}.today-layout{display:block}.schedule-card{margin-bottom:12px}.class-item{grid-template-columns:42px 12px 1fr auto 12px;padding:11px 8px}.attendance-head{padding:18px 15px}.attendance-counts{gap:17px;padding:12px 15px}.attendance-list{padding:4px 10px}.attendance-row{grid-template-columns:30px 1fr}.attendance-actions{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-bottom:4px;display:grid}.attendance-actions button{padding:8px}.attendance-footer{grid-template-columns:1fr 1fr;padding:13px;display:grid}.attendance-footer label{grid-column:1/-1}.attendance-footer button{padding:10px 8px}.toolbar-card{padding:12px;display:block}.search-box{max-width:none}.filter-pills{margin-top:10px;overflow:auto}.filter-pills button{white-space:nowrap}.student-row{grid-template-columns:40px 1fr auto 20px;padding:12px}.student-classes{grid-column:2/5}.student-main span{font-size:10px}.report-grid{grid-template-columns:1fr}.message-summary{grid-template-columns:1fr 1fr}.message-row{grid-template-columns:80px 1fr 70px}.message-row>span:nth-child(3),.message-row time{display:none}.bottom-nav{border-top:1px solid var(--line);z-index:30;height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#8795a6;background:0 0;border:0;place-items:center;padding:7px;display:grid}.bottom-nav button>span{background:#f1f4f8;border-radius:8px;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.bottom-nav small{font-size:9px}.bottom-nav button.active{color:#1873d8;font-weight:800}.bottom-nav button.active>span{background:#e6f1ff}.form-row{grid-template-columns:1fr}.report-modal{border-radius:16px}.toast{justify-content:center;bottom:78px;left:14px;right:14px}.class-manage-grid{grid-template-columns:1fr}.class-guide{white-space:nowrap;overflow-x:auto}.student-detail-body{padding:16px}.detail-grid,.fee-summary{grid-template-columns:1fr}}.heading-actions{gap:8px;display:flex}.group-board{gap:18px;display:grid}.group-section{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;box-shadow:0 6px 20px #17355409}.group-section>header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.group-section>header>div,.group-setting header{align-items:center;gap:12px;display:flex}.group-section h2,.group-setting h2{margin:0 0 3px;font-size:18px}.group-section p,.group-setting p{color:#7a899b;margin:0;font-size:11px}.group-section>header>strong{color:#1873d8;background:#eaf4ff;border-radius:20px;padding:6px 10px;font-size:10px}.group-mark{color:#176fd2;background:linear-gradient(145deg,#e8f3ff,#cfe6ff);border-radius:12px;place-items:center;width:42px;height:42px;font-size:16px;font-weight:900;display:grid}.student-group-tree{margin-bottom:14px}.group-filter-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.group-filter-row button{border:1px solid var(--line);color:#526278;background:#fff;border-radius:13px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.group-filter-row button span{font-weight:800}.group-filter-row button strong{color:#1873d8}.group-filter-row button.active{background:#eef6ff;border-color:#1d75db;box-shadow:0 0 0 2px #1d75db12}.group-chip{color:#fff!important;background:#176fd2!important}.operations-layout{grid-template-columns:230px 1fr;gap:16px;display:grid}.ops-card{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 6px 20px #17355409}.ops-directory,.book-list{align-self:start;padding:14px}.ops-directory .search-box,.book-list .search-box{margin-bottom:14px}.ops-directory h3{color:#8290a2;margin:15px 5px 6px;font-size:10px}.ops-directory>button,.book-list>button{text-align:left;color:#506176;background:0 0;border:0;border-radius:8px;width:100%;padding:9px 10px;font-size:11px;display:block}.ops-directory>button.selected,.book-list>button.selected{color:#176fd2;background:#eaf4ff;font-weight:800}.ops-main{gap:14px;display:grid}.student-master{padding:20px}.student-master-head{align-items:center;gap:14px;display:flex}.student-master-head h2{margin:2px 0;font-size:21px}.student-master-head p{color:#718095;margin:0;font-size:11px}.student-master-head button{margin-left:auto}.master-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0;display:grid}.master-grid>div,.book-stats>div{background:#f7f9fc;border-radius:10px;padding:12px}.master-grid small,.book-stats span,.ledger-summary small{color:#8290a1;margin-bottom:5px;font-size:9px;display:block}.master-grid strong,.book-stats strong{font-size:11px}.course-strip{border-top:1px solid #edf0f4;align-items:center;gap:8px;padding-top:14px;font-size:10px;display:flex}.course-strip>span{color:#8290a1;margin-right:5px}.course-strip b{color:#315d89;background:#eef5fd;border-radius:7px;padding:7px 9px}.course-strip button{color:#176fd2;background:#e8f3ff;border:0;border-radius:8px;margin-left:auto;padding:8px 10px;font-weight:800}.ledger{overflow:hidden}.ops-tabs{border-bottom:1px solid var(--line);padding:0 18px;display:flex}.ops-tabs button{color:#6e7d90;background:0 0;border:0;padding:14px 15px;font-size:11px}.ops-tabs button.active{color:#1873d8;border-bottom:2px solid #1873d8;font-weight:800}.ledger-summary{align-items:center;gap:30px;padding:16px 20px;display:flex}.ledger-summary strong{font-size:16px}.ledger-summary button{margin-left:auto}.data-table{padding:0 20px 15px}.data-row{color:#627186;border-top:1px solid #edf0f4;grid-template-columns:90px 110px 1fr 110px 80px;align-items:center;min-height:42px;font-size:10px;display:grid}.data-row span:nth-child(3){color:#28394e;font-weight:700}.data-head{color:#66768a;background:#f7f9fc;border:0;border-radius:8px;font-weight:800}.ledger-actions{gap:7px;padding:0 20px 18px;display:flex}.ledger-actions button{color:#607086;background:#fff;border:1px solid #dfe5ec;border-radius:8px;padding:8px 10px;font-size:10px}.books-layout{grid-template-columns:280px 1fr;gap:16px;display:grid}.book-list>button{justify-content:space-between;align-items:center;display:flex}.book-list small{color:#8c98a7}.book-detail{padding:20px}.book-detail>header{justify-content:space-between;align-items:flex-start;display:flex}.book-detail h2{margin:10px 0 3px}.book-detail p{color:#8190a2;margin:0;font-size:10px}.book-stats{grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0;display:grid}.book-row{grid-template-columns:1.6fr 110px 110px 90px 80px}.book-actions{border-top:1px solid var(--line);align-items:center;gap:9px;padding-top:16px;display:flex}.book-actions label{color:#718095;font-size:10px}.book-actions input{border:1px solid #dfe5ec;border-radius:8px;padding:8px}.settings-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.group-setting{padding:20px}.group-setting h3{color:#5b6d82;margin:19px 0 9px;font-size:11px}.subgroup-list{gap:7px;margin-bottom:14px;display:grid}.subgroup-list span{background:#f7f9fc;border-radius:9px;justify-content:space-between;padding:11px;font-size:11px;display:flex}.subgroup-list b{color:#176fd2}.group-setting>.outline-button{width:100%}@media (width<=1100px){.group-filter-row{grid-template-columns:repeat(2,1fr)}.operations-layout,.books-layout{grid-template-columns:1fr}.ops-directory{max-height:320px;display:block}.ops-student-scroll{flex-direction:row;max-height:none;overflow-x:auto}.ops-student-scroll button{min-width:160px}.book-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:320px;display:grid}.book-list .search-box{grid-column:1/-1}.settings-grid,.master-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.heading-actions{flex-direction:column}.group-filter-row{grid-template-columns:1fr 1fr}.group-section{padding:14px}.settings-grid{grid-template-columns:1fr}.master-grid,.book-stats{grid-template-columns:1fr 1fr}.course-strip{flex-wrap:wrap;align-items:flex-start}.data-table{overflow-x:auto}.data-row{min-width:620px}.ledger-actions{overflow-x:auto}.ledger-actions button{white-space:nowrap}.book-actions{flex-direction:column;align-items:stretch}}.instructor-status.retired{color:#6b7280;background:#f1f3f5}.record-memo{color:#5b6472;background:#f8fafc;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.55}.payment-tag.paused{color:#9a6700;background:#fff3d6}.checkbox-grid{background:#f8fafc;border:1px solid #dfe5ee;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;padding:12px;display:grid;overflow:auto}.checkbox-grid label{background:#fff;border-radius:8px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:13px;display:flex}.checkbox-grid input{width:16px;height:16px;margin:0}.status-warning{color:#8a5a00;border-left:3px solid #f59e0b;padding-left:12px}.danger-button{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #ef4444;border-radius:10px;padding:11px 16px;font-weight:700}.danger-button:hover{background:#fff1f2}.modal-footer .danger-button{margin-right:auto}@media (width<=700px){.checkbox-grid{grid-template-columns:1fr}}@media (width<=760px){.bottom-nav{overscroll-behavior-x:contain;grid-template-columns:none;display:flex;overflow-x:auto}.bottom-nav button{flex:0 0 74px}}.ops-student-scroll{flex-direction:column;gap:4px;max-height:620px;display:flex;overflow:auto}.ops-student-scroll button{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.ops-student-scroll small{color:#7b8494;font-size:11px}.payment-table{max-height:520px;overflow:auto}.data-row.payment-data-row{grid-template-columns:90px 100px minmax(190px,1fr) 110px 110px 56px}.data-row.payment-data-row.no-delete{grid-template-columns:90px 100px minmax(190px,1fr) 110px minmax(150px,1fr)}.data-row.book-history-row{grid-template-columns:100px 70px minmax(100px,1fr) 70px 100px 56px}.row-delete{color:#dc2626;cursor:pointer;background:#fff1f2;border:0;border-radius:7px;padding:6px 8px;font-weight:700}.selected-record{background:#f1f5f9;border-radius:12px;justify-content:space-between;padding:14px 16px;display:flex}.empty-inline{color:#7b8494;place-items:center;min-height:240px;display:grid}.book-list{max-height:720px;overflow:auto}@media (width<=900px){.data-row.payment-data-row,.data-row.book-history-row{min-width:720px}.payment-table,.book-detail .data-table{overflow:auto}}.class-manage-card.selected-class-card{border-color:#3787e4;box-shadow:0 0 0 2px #3787e417,0 8px 24px #17355410}.class-manage-card header .class-roster-trigger{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:block}.class-manage-card header .class-roster-trigger h2{margin:11px 0 4px}.class-manage-card header .class-roster-trigger small{color:#8794a5;font-size:9px;font-weight:600;display:block}.class-manage-card header .class-roster-trigger:hover h2{color:#176fd2}.class-manage-card footer .class-roster-button{color:#176fd2;background:#eef6ff;margin-left:auto}.class-manage-card footer .class-roster-button.active{color:#fff;background:#176fd2}.class-manage-card footer .class-edit-button{color:#5f6f82;background:#f2f5f8;margin-left:6px}.class-roster-panel{background:#f8fbff;border:1px solid #d9e7f6;border-radius:16px;margin-top:16px;overflow:hidden}.class-roster-panel>header{background:#fff;border-bottom:1px solid #e2ebf5;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;display:flex}.class-roster-panel>header>div{align-items:center;gap:12px;display:flex}.class-roster-panel>header p{color:#2180e7;letter-spacing:1px;margin:0 0 3px;font-size:9px;font-weight:900}.class-roster-panel>header h3{margin:0 0 4px;font-size:17px}.class-roster-panel>header small{color:#7d8b9c;font-size:10px}.class-roster-panel>header>div:last-child strong{color:#176fd2;font-size:17px}.class-roster-panel>header>div:last-child button{color:#718095;background:#f1f4f8;border:0;border-radius:8px;width:30px;height:30px;font-size:18px}.class-roster-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.class-roster-student{color:#26384e;text-align:left;background:#fff;border:1px solid #e0e8f1;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto minmax(100px,auto) 12px;align-items:center;gap:10px;width:100%;padding:11px 12px;display:grid}.class-roster-student:hover{background:#f3f8fe;border-color:#9bc3ef}.class-roster-student>span:nth-child(2) strong,.class-roster-student>span:nth-child(2) small{display:block}.class-roster-student>span:nth-child(2) strong{margin-bottom:4px;font-size:12px}.class-roster-student>span:nth-child(2) small,.roster-phone{color:#7b899a;font-size:10px}.class-roster-student>b{color:#a2adba;font-size:19px}.class-roster-empty{color:#7c8999;text-align:center;padding:34px 18px;font-size:11px}.class-roster-modal{width:min(860px,100%)}.class-roster-modal .modal-head{align-items:flex-start}.class-roster-modal .modal-head p{color:#77869a;margin:7px 0 0;font-size:11px}.class-roster-modal-body{background:#f8fbff;max-height:min(620px,65vh);padding:14px;overflow:auto}.class-roster-modal .class-roster-list{padding:0}@media (width<=900px){.class-roster-list{grid-template-columns:1fr}}@media (width<=600px){.class-manage-card footer{flex-wrap:wrap;gap:6px}.class-manage-card footer .class-roster-button{margin-left:auto}.class-manage-card footer .class-edit-button{margin-left:0}.class-roster-panel>header{align-items:flex-start}.class-roster-modal{width:100%;max-height:92vh}.class-roster-modal-body{max-height:62vh}.class-roster-student{grid-template-columns:34px minmax(0,1fr) auto 12px}.roster-phone{display:none}}.instructor-card{flex-direction:column;display:flex}.instructor-workload{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 14px;display:grid}.instructor-workload>div{background:#f4f8fd;border:1px solid #dfeaf6;border-radius:11px;padding:12px}.instructor-workload small{color:#718197;margin-bottom:5px;font-size:9px;display:block}.instructor-workload strong{color:#173b62;font-size:19px}.instructor-workload em{color:#718197;margin-left:3px;font-size:9px;font-style:normal}.instructor-workload>div:nth-child(3){background:#f5f2ff;border-color:#d9d1f3}.instructor-workload>div:nth-child(3) strong{color:#6750b8}.instructor-class-list{margin-bottom:14px}.instructor-class-list h3{color:#53657a;margin:0 0 8px;font-size:10px}.instructor-class-list>button{color:#31455d;text-align:left;background:#fff;border:1px solid #e3e9f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto 10px;align-items:center;gap:8px;width:100%;margin-top:6px;padding:10px 11px;display:grid}.instructor-class-list>button:hover{background:#f3f8fe;border-color:#9bc3ef}.instructor-class-list>button span{min-width:0}.instructor-class-list>button strong,.instructor-class-list>button small{display:block}.instructor-class-list>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.instructor-class-list>button small{color:#7d8b9c;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.instructor-class-list>button b{color:#176fd2;font-size:11px}.instructor-class-list>button i{color:#9ba8b8;font-size:17px;font-style:normal}.instructor-class-list>p{color:#8693a3;text-align:center;border:1px dashed #dce4ed;border-radius:10px;margin:0;padding:20px 12px;font-size:10px}.instructor-card>.record-memo,.instructor-card>footer{margin-top:auto}.instructor-card>footer>span{max-width:62%;line-height:1.45}.date-button>button{color:#4a5b70;background:#f3f6fa;border:0;border-radius:8px;place-items:center;width:28px;height:28px;font-size:22px;line-height:1;display:grid}.date-button>button:hover{color:#176fd2;background:#e6f1ff}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stats-grid>.stat-card{border:1px solid var(--line);min-width:0;color:var(--text);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:14px;padding:19px;display:flex;position:relative;box-shadow:0 5px 18px #203b5b09}.stats-grid>.stat-card:hover{border-color:#a9cbed;transform:translateY(-1px);box-shadow:0 8px 22px #17355412}.stats-grid>.stat-card>div{min-width:0}.stats-grid>.stat-card>i{color:#a1adba;margin-left:auto;font-size:18px;font-style:normal}.stat-icon.red{color:#dc4f59;background:#fff0f1}.today-absence-reason{grid-column:2/-1;background:#fff8f8!important;border-color:#f1a6ac!important}.attendance-note.reason-required{background:#fff7f7;border-color:#e85b65;box-shadow:0 0 0 3px #e85b6512}.attendance-teacher-filter{margin-top:-10px}.today-detail-modal{width:min(720px,100%)}.today-detail-modal .modal-head p{color:#76869a;margin:6px 0 0;font-size:11px}.today-detail-body{background:#f8fafc;gap:7px;max-height:min(600px,66vh);padding:14px 18px;display:grid;overflow:auto}.today-detail-row{color:#2b3d53;text-align:left;background:#fff;border:1px solid #e2e8ef;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}button.today-detail-row{grid-template-columns:34px minmax(0,1fr) auto 12px;width:100%}.today-detail-row>span:nth-child(2){min-width:0}.today-detail-row>span:nth-child(2)>strong,.today-detail-row>span:nth-child(2)>small{display:block}.today-detail-row>span:nth-child(2)>strong{font-size:12px}.today-detail-row>span:nth-child(2)>small{color:#7b899a;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.today-detail-row>i{color:#9ca8b6;font-size:18px;font-style:normal}.today-detail-row.class-detail-row:hover{background:#f1f7fe;border-color:#9bc3ef}.detail-status{color:#5e7085;white-space:nowrap;background:#edf3f9;border-radius:20px;padding:5px 8px;font-size:9px}.detail-status.absent{color:#d94b56;background:#fff0f1}.detail-status.unconfirmed{color:#d27b0e;background:#fff4e5}.detail-status.notifications{color:#15875a;background:#e9f8f1}.absence-detail-reason,.notification-recipient{color:#a23842;background:#fff1f2;border-radius:8px;margin:7px 0 0;padding:7px 9px;font-size:10px;line-height:1.5}.absence-detail-reason b{margin-right:7px}.absence-detail-reason.missing{color:#a76510;background:#fff5e7}.notification-recipient{color:#376891;background:#eef6ff}.today-detail-empty{color:#7d8b9b;text-align:center;padding:44px 18px}.today-detail-modal .detail-count{color:#6f7e91;margin-right:auto;font-size:11px}@media (width<=1250px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>.stat-card{gap:9px;padding:13px}.stats-grid>.stat-card>i{display:none}.attendance-actions{grid-template-columns:repeat(5,1fr)}.today-detail-row{grid-template-columns:30px minmax(0,1fr)}.today-detail-row>.detail-status{grid-column:2;justify-self:start}button.today-detail-row{grid-template-columns:30px minmax(0,1fr) auto 10px}}.student-master-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.student-master-head .student-master-actions button{margin-left:0}.academic-record-modal{width:min(980px,100%)}.academic-record-modal .modal-head p{color:#77869a;margin:6px 0 0;font-size:10px}.academic-record-sheet{padding:22px 26px 26px}.academic-print-title{border-bottom:2px solid #173b62;justify-content:space-between;align-items:flex-end;padding-bottom:16px;display:flex}.academic-print-title small{color:#1877e8;letter-spacing:1px;font-size:9px;font-weight:900}.academic-print-title h1{margin:3px 0 0;font-size:25px}.academic-print-title>span{color:#738296;font-size:10px}.academic-student-info{background:#f7faff;border:1px solid #dfe8f1;border-radius:13px;grid-template-columns:52px minmax(150px,.8fr) minmax(280px,1.4fr);align-items:center;gap:14px;margin:18px 0 14px;padding:16px;display:grid}.academic-student-info h2{margin:0 0 5px;font-size:20px}.academic-student-info p{color:#718095;margin:0;font-size:10px}.academic-student-info dl{grid-template-columns:1.4fr 1fr;gap:8px;margin:0;display:grid}.academic-student-info dl>div{background:#fff;border-radius:8px;padding:9px 10px}.academic-student-info dt{color:#8491a1;margin-bottom:4px;font-size:8px}.academic-student-info dd{color:#2d4057;margin:0;font-size:10px;font-weight:800}.academic-filter{background:#fff;border:1px solid #e1e7ee;border-radius:12px;align-items:flex-end;gap:10px;margin:14px 0 8px;padding:13px;display:flex}.academic-filter label{color:#637388;gap:5px;font-size:9px;font-weight:800;display:grid}.academic-filter input{color:#2d3e53;background:#fff;border:1px solid #dce4ed;border-radius:8px;padding:9px 10px}.academic-filter button{margin-left:auto}.academic-period{color:#708095;margin:8px 1px 13px;font-size:10px}.academic-summary{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.academic-summary>div{background:#f2f5f9;border-radius:10px;padding:12px}.academic-summary span{color:#758498;margin-bottom:5px;font-size:9px;display:block}.academic-summary strong{color:#31465e;font-size:18px}.academic-summary em{color:#7e8c9c;margin-left:3px;font-size:8px;font-style:normal}.academic-summary .present{background:#eaf8f2}.academic-summary .present strong{color:#15875a}.academic-summary .absent{background:#fff0f1}.academic-summary .absent strong{color:#d94b56}.academic-summary .late{background:#fff4e5}.academic-summary .late strong{color:#d27b0e}.academic-special-note,.academic-attendance-history{border:1px solid #e1e7ee;border-radius:12px;margin-top:14px;padding:15px}.academic-special-note h3,.academic-attendance-history h3{color:#31465e;margin:0 0 10px;font-size:11px}.academic-special-note p{color:#6f5a2e;background:#fff8e9;border-radius:8px;min-height:38px;margin:0;padding:10px;font-size:10px;line-height:1.6}.academic-table{overflow:auto}.academic-table-row{color:#54657a;border-top:1px solid #edf0f4;grid-template-columns:100px minmax(140px,.8fr) 70px minmax(220px,1.5fr);align-items:center;gap:10px;min-width:650px;padding:10px;font-size:10px;display:grid}.academic-table-head{color:#617086;background:#f2f5f9;border:0;border-radius:8px;font-weight:900}.academic-status{color:#5d6f84;background:#edf2f7;border-radius:20px;justify-self:start;padding:5px 8px;font-size:9px}.academic-status.status-present{color:#15875a;background:#e9f8f1}.academic-status.status-absent{color:#d94b56;background:#fff0f1}.academic-status.status-late{color:#d27b0e;background:#fff4e5}.academic-status.status-makeup{color:#6d50c8;background:#f1edff}.academic-status.status-early{color:#506b8c;background:#edf2f7}@media (width<=700px){.student-master-head{flex-wrap:wrap}.student-master-actions{width:100%;margin-left:0}.student-master-actions button{flex:1}.academic-record-sheet{padding:17px 15px}.academic-student-info{grid-template-columns:44px 1fr}.academic-student-info dl{grid-column:1/-1;grid-template-columns:1fr}.academic-filter{flex-direction:column;align-items:stretch}.academic-filter button{width:100%;margin-left:0}.academic-summary{grid-template-columns:1fr 1fr}}@media print{@page{size:A4;margin:12mm}body{background:#fff!important}.app-shell>.sidebar,.app-shell>.main-panel,.app-shell>.bottom-nav,.toast{display:none!important}.academic-record-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;padding:0!important;display:block!important;position:static!important}.academic-record-modal{width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.academic-record-sheet{padding:0!important}.no-print{display:none!important}.academic-student-info,.academic-special-note,.academic-attendance-history{break-inside:avoid}.academic-table{overflow:visible!important}.academic-table-row{grid-template-columns:82px 125px 55px 1fr;min-width:0!important}}.class-roster-admission{background:linear-gradient(135deg,#eef6ff,#f7fbff);border:1px solid #cfe2f7;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:14px 14px 0;padding:14px 16px;display:flex}.class-roster-admission strong,.class-roster-admission span{display:block}.class-roster-admission strong{color:#173b62;font-size:12px}.class-roster-admission span{color:#748399;margin-top:4px;font-size:9px}.class-roster-admission button{flex:none}.class-admission-modal .modal-head p{color:#77869a;margin:6px 0 0;font-size:10px}.admission-class-summary{background:#f4f8fd;border:1px solid #dce8f5;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.admission-class-summary strong,.admission-class-summary small{display:block}.admission-class-summary strong{color:#24425f;font-size:13px}.admission-class-summary small{color:#78879a;margin-top:4px;font-size:9px}.admission-class-summary>b{color:#176fd2;font-size:12px}@media (width<=600px){.class-roster-admission{flex-direction:column;align-items:stretch}.class-roster-admission button{width:100%}.admission-class-summary{grid-template-columns:38px 1fr}.admission-class-summary>b{grid-column:2}}.ops-tabs{overflow-x:auto}.ops-tabs button{flex:none}.ops-tabs button b{color:#718095;background:#eef2f6;border-radius:10px;margin-left:4px;padding:2px 5px;font-size:8px}.ops-tabs button.active b{color:#1873d8;background:#e7f2ff}.student-history-table{max-height:520px;overflow:auto}.data-row.attendance-history-row{grid-template-columns:100px minmax(150px,.8fr) 70px minmax(220px,1.5fr)}.data-row.student-book-row{grid-template-columns:100px minmax(180px,1fr) 70px 110px minmax(180px,1fr)}.student-book-row strong{color:#2b3d53;font-size:10px}.student-ledger-empty{color:#7c8999;text-align:center;padding:46px 18px;font-size:11px}.consultation-history{gap:9px;max-height:540px;padding:0 20px 20px;display:grid;overflow:auto}.consultation-history article{background:#fff;border:1px solid #e1e7ee;border-radius:12px;padding:15px}.consultation-history article>header{align-items:center;gap:9px;display:flex}.consultation-history header>span{color:#176fd2;background:#e9f3ff;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:900}.consultation-history time{color:#53657a;font-size:10px;font-weight:800}.consultation-history header>b{color:#7d8b9c;margin-left:auto;font-size:9px}.consultation-history header>.row-delete{margin-left:4px}.consultation-history article>p{color:#34475d;white-space:pre-wrap;margin:12px 0;font-size:11px;line-height:1.65}.consultation-history article>div{color:#5e6f83;white-space:pre-wrap;background:#f6f8fb;border-radius:9px;padding:10px;font-size:10px;line-height:1.55}.consultation-history article>div strong{color:#2f4660;margin-right:8px}.consultation-history article>small{color:#b16a0d;margin-top:9px;font-size:9px;display:block}.consultation-modal .modal-head p{color:#77869a;margin:6px 0 0;font-size:10px}@media (width<=900px){.data-row.attendance-history-row,.data-row.student-book-row{min-width:700px}}.class-list .empty-inline,.attendance-card>.empty-inline{text-align:center;min-height:180px;padding:28px;line-height:1.7}.primary-button:disabled,.secondary-button:disabled,.outline-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.bulk-class-toolbar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:flex}.bulk-class-toolbar .search-box{max-width:none}.bulk-class-toolbar>label:not(.search-box){color:#617086;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.bulk-class-toolbar select{background:#fff;border:1px solid #dfe5ec;border-radius:9px;min-width:120px;padding:9px 30px 9px 10px}.bulk-class-toolbar>span{white-space:nowrap;color:#738196;margin-left:auto;font-size:11px}.bulk-class-toolbar strong{color:#176fd2}.bulk-class-editor{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px #17355409}.bulk-class-head,.bulk-class-row{grid-template-columns:minmax(180px,1.6fr) 90px 120px 105px 95px 125px 90px 110px 75px 90px;align-items:center;gap:8px;min-width:1180px;display:grid}.bulk-class-head{z-index:4;color:#627186;background:#f2f6fb;border-bottom:1px solid #dfe6ee;padding:11px 14px;font-size:10px;font-weight:900;position:sticky;top:72px}.bulk-class-rows{max-height:calc(100vh - 320px);overflow:auto}.bulk-class-row{border-bottom:1px solid #edf0f4;padding:9px 14px}.bulk-class-row:nth-child(2n){background:#fbfcfe}.bulk-class-row label{min-width:0}.bulk-class-row label>span{display:none}.bulk-class-row input,.bulk-class-row select{color:#2c3d52;background:#fff;border:1px solid #dce4ed;border-radius:8px;width:100%;min-width:0;padding:9px 8px;font-size:11px}.bulk-class-row input:focus,.bulk-class-row select:focus{border-color:#2582e8;outline:0;box-shadow:0 0 0 3px #2788ec17}.bulk-save-bar{z-index:5;background:#fff;border-top:1px solid #dfe6ee;justify-content:flex-end;align-items:center;gap:16px;padding:13px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 22px #1735540d}.bulk-save-bar span{color:#748297;margin-right:auto;font-size:11px}@media (width<=900px){.bulk-class-toolbar{flex-wrap:wrap;align-items:stretch}.bulk-class-toolbar .search-box{flex-basis:100%}.bulk-class-editor{box-shadow:none;background:0 0;border:0;overflow:visible}.bulk-class-head{display:none}.bulk-class-rows{gap:12px;max-height:none;display:grid;overflow:visible}.bulk-class-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:10px;min-width:0;padding:15px;box-shadow:0 5px 18px #17355408;background:#fff!important}.bulk-class-row label:first-child{grid-column:1/-1}.bulk-class-row label>span{color:#718095;margin:0 0 5px;font-size:9px;font-weight:800;display:block}.bulk-save-bar{border:1px solid var(--line);border-radius:13px;margin-top:12px;bottom:66px}}@media (width<=560px){.bulk-class-row{grid-template-columns:1fr}.bulk-class-row label:first-child{grid-column:auto}.bulk-save-bar{flex-direction:column;align-items:stretch}.bulk-save-bar button{width:100%}}.teacher-filter{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:7px;margin:-10px 0 16px;padding:11px 14px;display:flex;overflow-x:auto}.teacher-filter>span{color:#68788c;flex:none;margin-right:4px;font-size:10px;font-weight:900}.teacher-filter button{color:#5f7085;background:#fff;border:1px solid #dfe6ee;border-radius:20px;flex:none;padding:7px 11px;font-size:10px;font-weight:800}.teacher-filter button.active{color:#fff;background:#1877e8;border-color:#1877e8}.attendance-actions button.picked{text-shadow:0 1px 1px #0002;font-weight:900;color:#fff!important}.attendance-actions button.picked-present{background:#159960;border-color:#159960}.attendance-actions button.picked-absent{background:#e5535d;border-color:#e5535d}.attendance-actions button.picked-late{background:#e58b17;border-color:#e58b17}.attendance-actions button.picked-makeup{background:#7554d6;border-color:#7554d6}.attendance-actions button.picked-early{background:#506b8c;border-color:#506b8c}.attendance-date-control{border:1px solid var(--line);color:#617187;background:#fff;border-radius:11px;align-items:center;gap:9px;padding:8px 11px;font-size:10px;font-weight:800;display:flex}.attendance-date-control input{color:#293a4f;background:#fff;border:1px solid #dfe5ec;border-radius:8px;padding:6px 8px}.attendance-page-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.attendance-class-directory{max-height:720px;padding:14px;overflow:auto}.attendance-class-directory>header,.sale-class-directory>header,.sale-config>header{color:#26394f;justify-content:space-between;align-items:center;padding:4px 5px 12px;font-size:12px;display:flex}.attendance-class-directory>header span,.sale-class-directory>header span,.sale-config>header span{color:#7b899a;font-size:10px}.attendance-class-directory>div,.sale-class-directory>div{gap:6px;display:grid}.attendance-class-directory button,.sale-class-directory button{color:#405269;text-align:left;background:#f7f9fc;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:11px;display:flex}.attendance-class-directory button>span,.sale-class-directory button>span{min-width:0}.attendance-class-directory button strong,.attendance-class-directory button small,.sale-class-directory button strong,.sale-class-directory button small{display:block}.attendance-class-directory button small,.sale-class-directory button small{color:#7c899a;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.attendance-class-directory button b,.sale-class-directory button b{color:#176fd2;flex:none;font-size:9px}.attendance-class-directory button.selected,.sale-class-directory button.selected{color:#176fd2;background:#eaf4ff;border-color:#92bfee}.attendance-register{overflow:hidden}.attendance-register>header,.sale-student-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:20px;display:flex}.attendance-register>header h2,.sale-student-panel>header h2{margin:10px 0 4px;font-size:21px}.attendance-register>header p,.sale-student-panel>header p{color:#7c899a;margin:0;font-size:10px}.attendance-register-list{padding:5px 18px}.attendance-register-row{border-bottom:1px solid #edf0f4;grid-template-columns:34px minmax(100px,1fr) auto minmax(140px,.8fr);align-items:center;gap:10px;padding:10px 3px;display:grid}.attendance-student strong,.attendance-student small{display:block}.attendance-student strong{font-size:12px}.attendance-student small{color:#8390a1;margin-top:3px;font-size:9px}.attendance-note{color:#34475d;background:#fff;border:1px solid #dfe5ec;border-radius:8px;width:100%;padding:8px 9px;font-size:10px}.attendance-register-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;padding:15px 20px;display:flex}.attendance-register-footer span{color:#7a899a;margin-right:auto;font-size:10px}.book-class-sale-layout{grid-template-columns:260px minmax(420px,1fr) 330px;align-items:start;gap:14px;display:grid}.sale-class-directory,.sale-config{padding:14px}.sale-class-directory{max-height:740px;overflow:auto}.sale-student-panel{overflow:hidden}.sale-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.sale-student-grid>label{cursor:pointer;background:#fff;border:1px solid #e1e7ee;border-radius:11px;grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:9px;padding:11px;display:grid}.sale-student-grid>label.selected{background:#eef6ff;border-color:#70acec;box-shadow:0 0 0 2px #1877e812}.sale-student-grid input{accent-color:#1877e8;width:15px;height:15px}.sale-student-grid label>span:last-child strong,.sale-student-grid label>span:last-child small{display:block}.sale-student-grid label>span:last-child strong{font-size:11px}.sale-student-grid label>span:last-child small{color:#7e8c9c;margin-top:3px;font-size:9px}.sale-config{gap:12px;display:grid}.sale-config label{color:#526278;gap:6px;font-size:10px;font-weight:800;display:grid}.sale-config input,.sale-config select,.sale-config textarea{color:#26364a;background:#fff;border:1px solid #dfe5ec;border-radius:9px;width:100%;padding:10px}.sale-config textarea{resize:vertical;min-height:78px}.sale-stock{color:#66778b;background:#f1f6fc;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;font-size:10px;display:flex}.sale-stock strong{color:#176fd2;font-size:16px}.sale-submit{width:100%;margin-top:2px}@media (width<=1200px){.book-class-sale-layout{grid-template-columns:240px 1fr}.sale-config{grid-column:1/-1}}@media (width<=900px){.attendance-page-layout,.book-class-sale-layout{grid-template-columns:1fr}.attendance-class-directory,.sale-class-directory{max-height:320px}.sale-config{grid-column:auto}.attendance-register-row{grid-template-columns:34px 1fr}.attendance-register-row .attendance-actions,.attendance-register-row .attendance-note{grid-column:1/-1}}@media (width<=600px){.attendance-date-control{justify-content:space-between;width:100%}.sale-student-grid{grid-template-columns:1fr}.attendance-register-footer{flex-direction:column;align-items:stretch}.attendance-register-footer span{margin:0}}.terminal-spec-link{align-items:center;text-decoration:none;display:inline-flex}.terminal-status-banner{background:linear-gradient(135deg,#f0f7ff,#f8fbff);border:1px solid #cfe2f7;border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:15px 18px;display:flex}.terminal-live-dot{background:#e58b17;border:3px solid #ffd89b;border-radius:50%;flex:none;width:11px;height:11px;box-shadow:0 0 0 4px #fff2dc}.terminal-live-dot.connected{background:#159960;border-color:#a8e3c8;box-shadow:0 0 0 4px #e8f8f1}.terminal-status-banner>div{min-width:0}.terminal-status-banner strong{color:#1d3d61;font-size:13px}.terminal-status-banner p{color:#6f8095;margin:4px 0 0;font-size:10px;line-height:1.5}.terminal-status-pill{color:#bd6d08;background:#fff0db;border-radius:20px;flex:none;margin-left:auto;padding:6px 10px;font-size:9px;font-weight:900}.terminal-status-pill.connected{color:#12865a;background:#e8f8f1}.terminal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.terminal-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:116px;padding:17px;box-shadow:0 6px 20px #17355408}.terminal-summary-grid article>span,.terminal-summary-grid article>small{display:block}.terminal-summary-grid article>span{color:#78879a;font-size:10px}.terminal-summary-grid article>strong{color:#183b62;margin:13px 0 7px;font-size:23px;display:block}.terminal-summary-grid article>strong em{color:#7c899a;margin-left:4px;font-size:9px;font-style:normal}.terminal-summary-grid article>small{color:#8290a1;font-size:9px}.terminal-summary-grid .terminal-device-card{background:linear-gradient(135deg,#163e6d,#1769be)}.terminal-summary-grid .terminal-device-card>span,.terminal-summary-grid .terminal-device-card>small{color:#c8dcf2}.terminal-summary-grid .terminal-device-card>strong{color:#fff;font-size:16px}.terminal-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);align-items:start;gap:14px;margin-bottom:14px;display:grid}.terminal-request-card,.terminal-ready-card,.terminal-history-card,.terminal-config-card{overflow:hidden}.terminal-request-card>header,.terminal-ready-card>header,.terminal-history-card>header,.terminal-config-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.terminal-request-card>header small,.terminal-ready-card>header small{color:#1877e8;letter-spacing:1px;font-size:8px;font-weight:900}.terminal-request-card>header h2,.terminal-ready-card>header h2,.terminal-history-card>header h2,.terminal-config-card>header h2{color:#203851;margin:4px 0 0;font-size:16px}.terminal-request-card>header p,.terminal-history-card>header p,.terminal-config-card>header p{color:#7b899b;margin:5px 0 0;font-size:9px;line-height:1.5}.terminal-request-card>header>span,.terminal-config-card>header>span{color:#176fd2;background:#eaf4ff;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:900}.terminal-form-body{gap:13px;padding:18px 20px 20px;display:grid}.terminal-form-body label,.terminal-config-grid label{color:#526278;gap:6px;font-size:10px;font-weight:800;display:grid}.terminal-form-body input,.terminal-form-body select,.terminal-form-body textarea,.terminal-config-grid input{color:#26364a;background:#fff;border:1px solid #dfe5ec;border-radius:9px;width:100%;padding:10px 11px}.terminal-form-body textarea{resize:vertical;min-height:70px}.terminal-request-submit{width:100%}.terminal-form-note{color:#9a691e;background:#fff7e9;border-radius:8px;margin:0;padding:9px 11px;font-size:9px;line-height:1.5}.terminal-ready-card>header{display:block}.terminal-checklist{gap:1px;padding:8px 18px 14px;display:grid}.terminal-checklist>div{border-bottom:1px solid #edf0f4;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.terminal-checklist>div>b{color:#c97a12;background:#fff1dc;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.terminal-checklist>div.done>b{color:#13875b;background:#e8f8f1}.terminal-checklist span strong,.terminal-checklist span small{display:block}.terminal-checklist span strong{color:#34485e;font-size:10px}.terminal-checklist span small{color:#8290a1;margin-top:3px;font-size:8px}.terminal-checklist em{color:#b86c0a;background:#fff1dc;border-radius:10px;padding:4px 6px;font-size:8px;font-style:normal;font-weight:900}.terminal-checklist .done em{color:#13875b;background:#e8f8f1}.terminal-doc-button{text-align:center;margin:0 18px 18px;text-decoration:none;display:block}.terminal-history-card{margin-bottom:14px}.terminal-history-card>header{align-items:center}.terminal-payment-table{overflow:auto}.terminal-payment-row{color:#526479;border-top:1px solid #edf0f4;grid-template-columns:100px 100px minmax(160px,1.3fr) 110px 140px 125px 70px;align-items:center;gap:10px;min-width:920px;padding:11px 18px;font-size:10px;display:grid}.terminal-payment-row.head{color:#718095;background:#f3f6fa;border:0;font-size:9px;font-weight:900}.terminal-payment-row span>strong,.terminal-payment-row span>small{display:block}.terminal-payment-row span>small{color:#8693a3;margin-top:3px;font-size:8px}.terminal-transaction-status{color:#576d85;background:#edf2f7;border-radius:20px;padding:5px 7px;font-size:8px;display:inline-block}.terminal-transaction-status.status-pending{color:#b96d0b;background:#fff1dc}.terminal-transaction-status.status-processing{color:#176fd2;background:#eaf4ff}.terminal-transaction-status.status-approved{color:#13875b;background:#e8f8f1}.terminal-transaction-status.status-declined,.terminal-transaction-status.status-error{color:#d94b56;background:#fff0f1}.terminal-config-card>header{align-items:center}.terminal-config-grid{grid-template-columns:repeat(3,1fr);gap:11px;padding:18px 20px;display:grid}.terminal-config-grid input[readonly]{color:#718095;background:#f5f7fa}.terminal-config-card>footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px;display:flex}.terminal-config-card>footer>div{margin-right:auto}.terminal-config-card>footer span,.terminal-config-card>footer small{display:block}.terminal-config-card>footer span{border-radius:20px;width:max-content;padding:5px 7px;font-size:8px;font-weight:900}.terminal-config-card>footer span.ready{color:#13875b;background:#e8f8f1}.terminal-config-card>footer span.waiting{color:#b96d0b;background:#fff1dc}.terminal-config-card>footer small{color:#8592a2;margin-top:4px;font-size:8px}@media (width<=1100px){.terminal-summary-grid{grid-template-columns:1fr 1fr}.terminal-main-grid{grid-template-columns:1fr}}@media (width<=760px){.terminal-status-banner{flex-wrap:wrap;align-items:flex-start}.terminal-status-pill{margin-left:23px}.terminal-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.terminal-summary-grid article{min-height:105px;padding:14px}.terminal-config-grid{grid-template-columns:1fr}.terminal-config-card>footer{flex-direction:column;align-items:stretch}.terminal-config-card>footer button{width:100%}}@media (width<=480px){.terminal-summary-grid{grid-template-columns:1fr}}.billing-receivable-card{margin-bottom:14px;overflow:hidden}.billing-receivable-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.billing-receivable-card>header small{color:#1877e8;letter-spacing:1px;font-size:8px;font-weight:900}.billing-receivable-card>header h2{color:#203851;margin:4px 0 0;font-size:17px}.billing-receivable-card>header p{color:#7b899b;margin:5px 0 0;font-size:9px}.billing-receivable-actions{align-items:center;gap:10px;display:flex}.billing-receivable-actions>span{color:#d34a55;white-space:nowrap;background:#fff0f1;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:900}.payment-method-summary{background:#f7f9fc;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 18px;display:grid}.payment-method-summary>div{background:#fff;border:1px solid #e2e8ef;border-radius:10px;padding:11px 12px}.payment-method-summary span,.payment-method-summary strong{display:block}.payment-method-summary span{color:#7a899b;margin-bottom:5px;font-size:8px}.payment-method-summary strong{color:#24415f;font-size:13px}.tuition-table{overflow:auto}.tuition-row{color:#5c6d81;border-top:1px solid #edf0f4;grid-template-columns:110px minmax(180px,1.2fr) 95px 100px 100px 110px 85px;align-items:center;gap:10px;min-width:850px;padding:11px 18px;font-size:10px;display:grid}.tuition-row.tuition-head{color:#65758a;background:#f2f5f9;border:0;font-size:9px;font-weight:900}.tuition-row span>strong,.tuition-row span>small{display:block}.tuition-row span>small{color:#8592a2;margin-top:3px;font-size:8px}.tuition-row span>b{color:#d64b56}.primary-button.compact{padding:7px 9px;font-size:9px}.tuition-unpaid-summary{background:#fff9f0}.student-tuition-list{gap:9px;padding:0 20px 20px;display:grid}.student-tuition-list>article{background:#fff;border:1px solid #e1e7ee;border-radius:12px;grid-template-columns:minmax(180px,1.2fr) minmax(260px,1fr) auto;align-items:center;gap:18px;padding:14px;display:grid}.student-tuition-list article>div:first-child strong,.student-tuition-list article>div:first-child small{display:block}.student-tuition-list article>div:first-child strong{color:#2c4057;margin:7px 0 4px;font-size:12px}.student-tuition-list article>div:first-child small{color:#7d8b9d;font-size:8px}.tuition-status{color:#d54c57;background:#fff0f1;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:900;display:inline-block}.tuition-status.partial{color:#c8750b;background:#fff4e5}.student-tuition-list dl{grid-template-columns:repeat(3,1fr);gap:7px;margin:0;display:grid}.student-tuition-list dl>div{background:#f5f7fa;border-radius:8px;padding:9px}.student-tuition-list dl>.unpaid{background:#fff0f1}.student-tuition-list dt{color:#8290a1;margin-bottom:4px;font-size:8px}.student-tuition-list dd{color:#34475d;margin:0;font-size:10px;font-weight:900}.student-tuition-list .unpaid dd{color:#d54b56}.unpaid-amount-button{color:#d54b56;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.unpaid-amount-button:hover{color:#b52f3b}.student-tuition-actions{gap:7px;display:flex}.tuition-modal .modal-head p{color:#77869a;margin:6px 0 0;font-size:10px}.tuition-payment-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tuition-payment-summary>div{background:#f4f7fa;border-radius:10px;padding:12px}.tuition-payment-summary>div:last-child{background:#fff0f1}.tuition-payment-summary span,.tuition-payment-summary strong{display:block}.tuition-payment-summary span{color:#7c8999;margin-bottom:6px;font-size:8px}.tuition-payment-summary strong{color:#2b4058;font-size:13px}.tuition-payment-summary>div:last-child strong{color:#d54b56}.tuition-edit-link{color:#1674d1;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:0;font-size:10px;font-weight:900;text-decoration:underline}.payment-method-picker{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}.payment-method-picker legend{color:#536579;grid-column:1/-1;margin-bottom:3px;font-size:9px;font-weight:900}.payment-method-picker button{color:#536579;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ed;border-radius:10px;min-height:62px;padding:11px}.payment-method-picker button.active{color:#0e62bb;background:#edf6ff;border-color:#1677e8;box-shadow:0 0 0 2px #1677e81a}.payment-method-picker strong,.payment-method-picker small{display:block}.payment-method-picker strong{margin-bottom:5px;font-size:11px}.payment-method-picker small{color:#7b8b9d;font-size:8px}.card-payment-preview{background:#f2f8ff;border:1px solid #cfe3fb;border-radius:11px;grid-template-columns:1fr auto;gap:5px 12px;padding:13px;display:grid}.card-payment-preview span,.card-payment-preview small{color:#6f8195;grid-column:1/-1;font-size:8px}.card-payment-preview strong{color:#263e59;font-size:10px}.card-payment-preview b{color:#0d70d8;font-size:12px}.focused-card-request{background:#edf6ff;border:1px solid #a9d0fb;border-radius:13px;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin-bottom:16px;padding:14px 17px;display:grid;box-shadow:0 8px 22px #1969be14}.focused-card-request span,.focused-card-request strong,.focused-card-request small{display:block}.focused-card-request span{color:#1471cf;margin-bottom:4px;font-size:8px;font-weight:900}.focused-card-request strong{color:#203a57;font-size:11px}.focused-card-request small{color:#708297;margin-top:4px;font-size:8px}.focused-card-request>b{color:#0e68c4;font-size:12px}.focused-card-request>button{color:#54708c;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.terminal-payment-row.focused{background:#edf6ff;box-shadow:inset 3px 0 #1979e9}@media (width<=900px){.student-tuition-list>article{grid-template-columns:1fr}.student-tuition-actions button{flex:1}.payment-method-summary{grid-template-columns:1fr 1fr}}@media (width<=650px){.billing-receivable-card>header,.billing-receivable-actions{flex-direction:column;align-items:stretch}.payment-method-summary{grid-template-columns:1fr 1fr}.student-tuition-list dl,.tuition-payment-summary,.payment-method-picker,.focused-card-request{grid-template-columns:1fr}.focused-card-request{align-items:start}}.access-gate{color:#173b62;text-align:center;background:#f4f7fb;place-content:center;justify-items:center;gap:10px;min-height:100vh;padding:30px;display:grid}.access-gate .brand-mark{border-radius:16px;width:54px;height:54px;font-size:25px}.access-gate h1{margin:8px 0 0;font-size:22px}.access-gate p{color:#718095;max-width:520px;margin:0;font-size:12px;line-height:1.65}.access-gate a{color:#176fd2;background:#fff;border:1px solid #bad7f6;border-radius:9px;margin-top:8px;padding:10px 14px;font-size:11px;font-weight:800}.access-gate.denied .brand-mark{color:#d54b56;background:#fff0f1}.user-card{background:#ffffff0c;border:1px solid #ffffff18;border-radius:11px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;margin:8px 10px 12px;padding:10px;display:grid}.user-card>div:nth-child(2){min-width:0}.user-card strong,.user-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-card strong{color:#fff;font-size:10px}.user-card small{color:#9fb8d3;margin-top:3px;font-size:8px}.user-card a{color:#a9c8e9;font-size:8px;font-weight:800}.access-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.access-summary article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px 18px;box-shadow:0 6px 20px #17355408}.access-summary span,.access-summary strong{display:block}.access-summary span{color:#78879a;margin-bottom:9px;font-size:9px}.access-summary strong{color:#1c405f;font-size:22px}.access-summary em{color:#8190a2;margin-left:4px;font-size:9px;font-style:normal}.access-layout{grid-template-columns:minmax(280px,.75fr) minmax(540px,1.5fr);align-items:start;gap:14px;margin-bottom:14px;display:grid}.access-directory,.access-editor,.access-audit{overflow:hidden}.access-directory>header,.access-editor>header,.access-audit>header{border-bottom:1px solid var(--line);padding:18px 20px}.access-directory h2,.access-editor h2,.access-audit h2{color:#203851;margin:4px 0 0;font-size:16px}.access-directory p,.access-editor p,.access-audit p{color:#7b899b;margin:5px 0 0;font-size:9px;line-height:1.55}.access-editor>header small{color:#1877e8;letter-spacing:1px;font-size:8px;font-weight:900}.access-user-list{gap:5px;max-height:510px;padding:10px;display:grid;overflow:auto}.access-user-list>button{color:#31455d;text-align:left;background:#fff;border:1px solid #0000;border-radius:10px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px;display:grid}.access-user-list>button:hover,.access-user-list>button.selected{background:#eef6ff;border-color:#a8ccef}.access-avatar{color:#176fd2;background:#e7f2ff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.access-user-list>button>span:nth-child(2){min-width:0}.access-user-list strong,.access-user-list small,.access-user-list em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.access-user-list strong{font-size:11px}.access-user-list small{color:#8491a1;margin-top:3px;font-size:8px}.access-user-list em{color:#176fd2;margin-top:4px;font-size:8px;font-style:normal;font-weight:800}.access-user-list b{color:#13875b;background:#e8f8f1;border-radius:20px;padding:4px 7px;font-size:8px}.access-user-list b.stopped{color:#69788a;background:#eef1f4}.access-form-body{gap:14px;padding:18px 20px;display:grid}.access-form-body label{color:#526278;gap:6px;font-size:10px;font-weight:800;display:grid}.access-form-body input,.access-form-body select{color:#26364a;background:#fff;border:1px solid #dfe5ec;border-radius:9px;width:100%;padding:10px 11px}.role-picker{border:0;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;display:grid}.role-picker legend{color:#526278;grid-column:1/-1;margin-bottom:2px;font-size:10px;font-weight:900}.role-picker label{cursor:pointer;background:#f8fafc;border:1px solid #dfe6ee;border-radius:10px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;min-height:74px;padding:12px;display:grid}.role-picker input{accent-color:#1877e8;width:15px;height:15px;margin-top:1px}.role-picker strong,.role-picker small{display:block}.role-picker strong{color:#2c4057;font-size:10px}.role-picker small{color:#7d8b9b;margin-top:5px;font-size:8px;line-height:1.45}.access-security-note{background:#fff9ee;border:1px solid #f1dfbd;border-radius:10px;padding:12px 14px}.access-security-note strong{color:#9b6718;font-size:10px}.access-security-note p{color:#876d45;margin-top:5px}.access-editor>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 20px 18px;display:flex}.access-audit-table{overflow:auto}.access-audit-table>div{color:#5d6e82;border-top:1px solid #edf0f4;grid-template-columns:135px minmax(170px,.8fr) 120px minmax(240px,1.5fr);gap:12px;min-width:760px;padding:11px 18px;font-size:9px;display:grid}.access-audit-table>div.head{color:#718095;background:#f3f6fa;border:0;font-weight:900}.access-audit-table strong{color:#286aa9}.operations-payment-overview{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.operations-payment-overview article{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:105px;padding:16px;position:relative;overflow:hidden;box-shadow:0 5px 18px #17355408}.operations-payment-overview article:after{content:"";background:#eaf4ff;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-22px;right:-18px}.operations-payment-overview article.cash:after{background:#e8f8f1}.operations-payment-overview article.card:after{background:#f1edff}.operations-payment-overview article.online:after{background:#eef5fb}.operations-payment-overview article.unpaid:after{background:#fff0f1}.operations-payment-overview span,.operations-payment-overview strong,.operations-payment-overview small{z-index:1;display:block;position:relative}.operations-payment-overview span{color:#75869a;font-size:9px}.operations-payment-overview strong{color:#1c405f;margin:12px 0 7px;font-size:18px}.operations-payment-overview small{color:#8492a2;font-size:8px}.operations-payment-overview article.unpaid strong{color:#d54b56}.operations-student-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.operations-student-overview>button,.operations-student-overview>article{color:#30465e;text-align:left;background:#f8fafc;border:1px solid #dfe7ef;border-radius:12px;padding:13px 16px}.operations-student-overview>button{cursor:pointer}.operations-student-overview>button:hover{background:#eef6ff;border-color:#8ebcec}.operations-student-overview span,.operations-student-overview strong,.operations-student-overview small{display:block}.operations-student-overview span{color:#718297;font-size:8px}.operations-student-overview strong{color:#1c405f;margin:7px 0 4px;font-size:19px}.operations-student-overview em{color:#8190a2;margin-left:3px;font-size:8px;font-style:normal}.operations-student-overview small{color:#8694a4;font-size:8px}.operations-student-overview>button small{color:#176fd2;font-weight:800}.stat-list-modal{width:min(850px,100%)}.stat-list-modal .modal-head p{color:#78879a;margin:6px 0 0;font-size:9px}.monthly-student-list{border:1px solid #e1e7ee;border-radius:11px;overflow:auto}.monthly-student-list>div{color:#5b6d82;border-top:1px solid #edf0f4;grid-template-columns:110px minmax(150px,.8fr) 110px minmax(220px,1.2fr);align-items:center;gap:10px;min-width:680px;padding:11px 13px;font-size:9px;display:grid}.monthly-student-list>div.head{color:#718095;background:#f3f6fa;border:0;font-weight:900}.monthly-student-list strong{color:#2b4057;font-size:10px}@media (width<=1100px){.access-layout{grid-template-columns:1fr}.access-user-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}.operations-payment-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-student-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.access-summary{grid-template-columns:1fr 1fr}.access-user-list,.role-picker{grid-template-columns:1fr}.operations-payment-overview{grid-template-columns:1fr 1fr}}@media (width<=480px){.operations-payment-overview,.operations-student-overview{grid-template-columns:1fr}}.ordering-guide{color:#65768a;background:#f7faff;border:1px solid #dce7f3;border-radius:13px;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px;padding:14px 16px;font-size:9px;display:flex}.ordering-guide strong{color:#1d4f7d;margin-right:5px;font-size:10px}.ordering-guide span{background:#fff;border:1px solid #e1e8f0;border-radius:20px;padding:6px 8px}.group-order-list{gap:14px;display:grid}.group-order-card{overflow:hidden}.group-order-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;display:flex}.group-order-title{align-items:center;gap:11px;display:flex}.group-order-title>span{color:#176fd2;background:#e8f3ff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.group-order-title h2{color:#243b55;margin:0 0 4px;font-size:15px}.group-order-title p{color:#8190a2;margin:0;font-size:9px}.order-arrow-actions{gap:5px;display:flex}.order-arrow-actions button{color:#356b9e;cursor:pointer;background:#fff;border:1px solid #d9e3ed;border-radius:8px;place-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:grid}.order-arrow-actions button:hover:not(:disabled){background:#eef6ff;border-color:#84b5e8}.order-arrow-actions button:disabled{opacity:.3;cursor:not-allowed}.group-sort-toolbar{background:#f7f9fc;border-bottom:1px solid #e9edf2;align-items:center;gap:14px;padding:12px 19px;display:flex}.group-sort-toolbar label{color:#536579;align-items:center;gap:8px;font-size:9px;font-weight:900;display:flex}.group-sort-toolbar select{color:#27445f;background:#fff;border:1px solid #d9e3ed;border-radius:8px;min-width:135px;padding:8px 10px;font-size:10px}.group-sort-toolbar small{color:#7e8c9d;font-size:8px}.ordered-class-list{gap:6px;padding:12px 15px 16px;display:grid}.ordered-class-list>div{background:#fff;border:1px solid #e1e8ef;border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.ordered-class-list>div>b{color:#667a90;background:#f0f4f8;border-radius:8px;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.ordered-class-list>div>span{min-width:0}.ordered-class-list strong,.ordered-class-list small{display:block}.ordered-class-list strong{color:#2d4057;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.ordered-class-list small{color:#8290a1;margin-top:4px;font-size:8px}.ordered-class-list em{color:#637b93;background:#eef4fa;border-radius:20px;padding:5px 7px;font-size:8px;font-style:normal}.ordered-class-list>p{color:#8592a2;text-align:center;border:1px dashed #dce4ed;border-radius:10px;margin:0;padding:24px;font-size:9px}@media (width<=650px){.group-sort-toolbar{flex-direction:column;align-items:flex-start}.group-sort-toolbar label{justify-content:space-between;width:100%}.group-sort-toolbar select{min-width:150px}}.login-shell{background:radial-gradient(circle at 15% 12%,#dceeff 0,#0000 34%),linear-gradient(145deg,#f7faff,#edf3fa);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce5ef;border-radius:24px;width:min(440px,100%);padding:34px;box-shadow:0 28px 80px #0e294c20}.login-brand{border-bottom:1px solid #edf1f5;align-items:center;gap:12px;padding-bottom:27px;display:flex}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:18px}.login-brand small{color:#8391a3;letter-spacing:1.4px;margin-top:3px;font-size:9px}.login-copy{padding:28px 0 22px}.login-copy>span{color:#1877e8;letter-spacing:1.5px;font-size:10px;font-weight:900}.login-copy h1{letter-spacing:-1px;margin:7px 0;font-size:28px}.login-copy p{color:#6e7d90;margin:0;font-size:12px;line-height:1.65}.login-card form{gap:14px;display:grid}.login-card form label{color:#42536a;gap:7px;font-size:11px;font-weight:800;display:grid}.login-card form input{background:#fbfcfe;border:1px solid #d9e1ea;border-radius:11px;outline:0;width:100%;padding:13px 14px}.login-card form input:focus{background:#fff;border-color:#2583e9;box-shadow:0 0 0 4px #2583e914}.login-submit{color:#fff;background:#1877e8;border:0;border-radius:11px;margin-top:4px;padding:14px;font-weight:900;box-shadow:0 8px 20px #1877e83b}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-error{color:#c43d48;background:#fff0f1;border:1px solid #ffd9dc;border-radius:9px;margin:0;padding:10px 12px;font-size:11px}.login-card>footer{color:#748398;border-top:1px solid #edf1f5;gap:5px;margin-top:25px;padding-top:18px;font-size:10px;display:grid}.login-card>footer small{color:#9aa5b3}.password-change-card{width:min(500px,100%)}.password-rule{color:#6c7d91;background:#f1f6fc;border-radius:8px;padding:9px 11px;font-size:10px}.user-card>button{color:#afbdd0;background:0 0;border:0;margin-left:auto;padding:5px;font-size:10px}.user-card>button:hover{color:#fff}.reset-password-check{background:#fff8e9;border:1px solid #f5ddb0;border-radius:10px;align-items:center;padding:11px 12px;gap:10px!important;display:flex!important}.reset-password-check input{accent-color:#1877e8;width:auto!important}.reset-password-check span{gap:3px;display:grid}.reset-password-check strong{color:#6f4c12}.reset-password-check small{color:#8a7045;font-weight:500}.issued-credential{color:#fff;background:#102c4e;border-radius:15px;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:18px;margin-bottom:16px;padding:18px 20px;display:grid;box-shadow:0 10px 30px #0f27482b}.issued-credential p{color:#b8c8da;margin:5px 0 0;font-size:10px}.issued-credential dl{gap:16px;margin:0;display:flex}.issued-credential dl div{gap:3px;display:grid}.issued-credential dt{color:#9eb2ca;font-size:9px}.issued-credential dd{-webkit-user-select:all;user-select:all;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}.issued-credential button{color:#163c68;background:#fff;border:0;border-radius:8px;padding:9px 11px;font-size:10px;font-weight:800}@media (width<=760px){.login-card{padding:25px 20px}.issued-credential{grid-template-columns:1fr}.issued-credential dl{display:grid}.issued-credential button{width:100%}}
