:root{--container-max-width-onboarding: 880px;--bg0: #0b1220;--bg1: #0f1b34;--card: rgba(255, 255, 255, .06);--card2: rgba(255, 255, 255, .08);--stroke: rgba(255, 255, 255, .12);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .65);--brand: #f7c948;--brand2: #7ef0c0;--danger: #ff4d6d;--warn: #ffb020;--ok: #2ee59d;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--radius: 16px}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;background:radial-gradient(900px 600px at 20% -10%,#1a2c5a 0%,transparent 60%),radial-gradient(800px 500px at 90% 0%,#2b3f7a 0%,transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));color:var(--text)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:20px}.panel{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.btn{appearance:none;border:1px solid var(--stroke);background:#ffffff0f;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;transition:transform .05s ease,background .2s ease,border-color .2s ease}.btn:hover{background:#ffffff1a}.btn:active{transform:translateY(1px)}.btn.primary{border-color:#f7c9488c;background:linear-gradient(180deg,#f7c94840,#f7c9481f)}.btn.danger{border-color:#ff4d6d80;background:#ff4d6d1f}.btn.ok{border-color:#2ee59d8c;background:#2ee59d1f}.btn.ghost{background:transparent}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--stroke);color:var(--muted)}.badge.brand{color:#fffffff2;border-color:#f7c9488c;background:#f7c9481f}.badge.danger{color:#fffffff2;border-color:#ff4d6d80;background:#ff4d6d24}.input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);background:#ffffff0f;color:var(--text);outline:none}.input:focus{border-color:#f7c94899}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 980px){.grid2{grid-template-columns:1fr}}.muted{color:var(--muted)}@keyframes pulseGlow{0%{box-shadow:0 0 #ffb02000}50%{box-shadow:0 0 28px #ffb02047}to{box-shadow:0 0 #ffb02000}}.countdown.warn{border-color:#ffb020b3;background:#ffb02024;animation:pulseGlow 1.2s ease-in-out infinite}.modal-surface{background:#faf9f6!important;color:#111827!important;border-color:#1118271f!important}.modal-surface .panel,.modal,.modal-overlay,.modal-content,.modal-surface{background:#faf9f6!important}.modal *{background-color:transparent}.modal input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.modal textarea,.modal select{background:#fff!important;background-color:#fff!important}.modal .input,.modal-surface .input{background:#fff!important;background-color:#fff!important}.modal .panel,.modal .panel-inner,.modal-surface .panel-inner{background:#faf9f6!important}.modal-surface .muted{color:#4b5563!important}.modal-surface .badge{color:#374151;background:#1118270d;border-color:#1118271f}.modal-surface .badge.brand{color:#111827;background:#f7c94838;border-color:#f7c94880}.modal-surface .badge.danger{color:#991b1b;background:#ff4d6d26;border-color:#ff4d6d59}.modal-surface .input{color:#111827;background:#fff!important;background-color:#fff!important;border-color:#1118272e}.modal-surface .btn{color:#111827;background:#1118270f;border-color:#1118271f}.modal-surface .btn.primary{background:#f7c9482e;border-color:#f7c94873}.modal-surface .btn.danger{color:#991b1b;background:#ff4d6d1f;border-color:#ff4d6d4d}:root{--cs-primary: #D4A017;--cs-primary-hover: #B8890F;--cs-success: #6A994E;--cs-danger: #C0392B;--cs-text: #1D1D1F;--cs-muted: #6E6E73;--cs-disabled: #AEAEB2;--cs-bg-page: #FAF9F6;--cs-bg-surface: #FFFFFF;--cs-line: #E5E5EA;--cs-radius-sm: 6px;--cs-radius-input: 10px;--cs-radius-card: 14px;--cs-radius-modal: 18px;--cs-shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--cs-shadow-modal: 0 20px 60px rgba(0,0,0,.12);--cs-focus: 0 0 0 3px rgba(212,160,23,.2);--cs-page-padding: 24px}body{background:var(--cs-bg-page);color:var(--cs-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,system-ui,sans-serif}.container{max-width:1200px;padding:var(--cs-page-padding)}.panel{background:var(--cs-bg-surface);border:1px solid var(--cs-line);border-radius:var(--cs-radius-card);box-shadow:var(--cs-shadow-card);transition:transform .15s ease,box-shadow .15s ease}.panel:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.panel-inner{padding:16px}.row{gap:8px}.col{gap:12px}.btn{appearance:none;border:1px solid var(--cs-line);background:#fff;color:var(--cs-text);height:40px;padding:0 18px;border-radius:var(--cs-radius-input);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.btn:hover:not(:disabled){background:#f5f5f7;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{background:var(--cs-line);color:var(--cs-disabled);border-color:var(--cs-line);cursor:not-allowed;transform:none}.btn.primary{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--cs-primary-hover);border-color:var(--cs-primary-hover)}.btn.primary:active:not(:disabled){background:#a97f0c;border-color:#a97f0c}.btn.danger{background:transparent;border-color:transparent;color:var(--cs-danger);padding:0 10px;height:32px;border-radius:var(--cs-radius-sm)}.btn.danger:hover:not(:disabled){background:#c0392b14;transform:none}.btn.ghost{background:transparent;border-color:transparent;color:var(--cs-primary);padding:0 10px;height:32px}.btn.ghost:hover:not(:disabled){opacity:.85;background:transparent;transform:none}.btn.ok{background:#6a994e1f;border-color:#6a994e38;color:var(--cs-success)}.input,select.input,textarea.input{width:100%;height:40px;padding:0 12px;border-radius:var(--cs-radius-input);border:1px solid var(--cs-line);background:var(--cs-bg-surface);color:var(--cs-text);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}textarea.input{height:auto;padding:10px 12px}.input::placeholder{color:var(--cs-disabled)}.input:focus{border-color:var(--cs-primary);box-shadow:var(--cs-focus)}.input:disabled{background:#f5f5f7;color:var(--cs-disabled)}select.input{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%236E6E73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}input[type=checkbox]{appearance:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--cs-line);background:#fff;display:inline-grid;place-items:center;cursor:pointer;transition:all .15s ease}input[type=checkbox]:hover{border-color:var(--cs-primary)}input[type=checkbox]:checked{background:var(--cs-primary);border-color:var(--cs-primary)}input[type=checkbox]:checked:after{content:"";width:10px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--cs-radius-sm);font-size:12px;font-weight:500;border:1px solid transparent}.badge.brand{background:#d4a0171a;color:var(--cs-primary);border-color:#d4a0172e}.badge.danger{background:#ffebee;color:var(--cs-danger);border-color:#c0392b2e}.muted{color:var(--cs-muted);font-size:13px;font-weight:400}.modal-overlay{background:#0006!important;backdrop-filter:blur(4px)!important;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px}.modal-surface{background:var(--cs-bg-surface)!important;color:var(--cs-text)!important;border:1px solid var(--cs-line)!important;border-radius:var(--cs-radius-modal)!important;box-shadow:var(--cs-shadow-modal)!important;overflow:hidden;outline:none}.modal-surface .modal-layout{display:flex;flex-direction:column;max-height:inherit;padding:0!important;overflow:hidden}.modal.modal-overlay .modal-surface>.panel-inner.modal-layout{padding:0!important}.modal-surface .modal-header{flex:0 0 auto;min-height:54px;padding:16px 16px 10px;align-items:center;justify-content:space-between;gap:12px}.modal-surface .modal-title{color:#343a40;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:.02em}.modal-close-button{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:9px;color:#6b7280;background:transparent;cursor:pointer}.modal-close-button:hover{color:#343a40;background:#1118270f}.modal-close-button:focus-visible{outline:3px solid rgba(212,160,23,.28);outline-offset:1px}.modal-close-button svg{width:20px;height:20px}.modal-surface .modal-body{flex:1 1 auto;min-height:0;padding:12px 16px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.modal-surface .modal-footer{flex:0 0 auto;min-height:64px;padding:14px 16px 16px;align-items:center;gap:10px;border-top:1px solid rgba(212,160,23,.14)}.confirm-dialog__message{color:var(--cs-text);font-size:14px;line-height:1.65}.teacher-settings-date-field{display:grid;gap:7px}.teacher-settings-date-field>span{color:var(--cs-muted);font-size:13px;font-weight:600}@media (max-width: 700px){.modal-overlay{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal-surface{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom))!important}.modal-surface .modal-header{min-height:52px;padding:14px 16px 9px}.modal-surface .modal-body{padding:12px 16px 0}.modal-surface .modal-footer{min-height:62px;padding:12px 16px calc(14px + env(safe-area-inset-bottom))}}.teacher-display-toolbar{background:#4a4e5c}.teacher-display-class-name{color:#fff;font-size:16px;font-weight:600}.teacher-display-hint{color:#fff9;font-size:13px}.teacher-display-toolbar-actions{gap:8px!important}.teacher-display-toolbar-actions .btn{height:32px;border-radius:8px;padding:0 12px;background:#ffffff26;border-color:transparent;color:#fff}.teacher-display-toolbar-actions .btn:hover:not(:disabled){background:#ffffff38;transform:none}.teacher-board-time-mode-label{color:var(--cs-muted);font-size:13px}.teacher-board-tab{appearance:none;border:none;background:transparent;color:var(--cs-muted);font-size:14px;font-weight:500;padding:8px 4px;cursor:pointer;position:relative;transition:color .15s ease}.teacher-board-tab.is-active{color:var(--cs-primary)}.teacher-board-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:999px;background:var(--cs-primary)}.student-manage-page .student-manage-btn-add.btn.primary,.student-manage-page .student-manage-btn-batch.btn{height:40px!important;min-height:40px!important;max-height:40px!important;border-radius:10px!important;padding:0 16px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.student-manage-page .student-manage-tabs{align-items:center}.student-manage-page .student-manage-tab{appearance:none;border:none;background:transparent;padding:8px 4px;margin:0;font-size:14px;font-weight:500;font-family:inherit;line-height:1.3;color:#6e6e73;cursor:pointer;position:relative;transition:color .15s ease}.student-manage-page .student-manage-tab:hover,.student-manage-page .student-manage-tab.is-active{color:#d4a017}.student-manage-page .student-manage-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#d4a017;border-radius:0}.student-manage-page .student-manage-btn-edit{appearance:none;border:none;background:transparent;padding:0;margin:0;font-size:13px;font-weight:500;font-family:inherit;color:#6e6e73;cursor:pointer;line-height:1.3}.student-manage-page .student-manage-btn-edit:hover{color:#3a3a3c}.student-manage-page .student-manage-btn-dormant{appearance:none;border:none;background:transparent;padding:0;margin:0;font-size:13px!important;font-weight:500;font-family:inherit;color:#c0392b;cursor:pointer;line-height:1.3}.student-manage-page .student-manage-btn-dormant:hover{color:#a93226}.student-manage-page .student-manage-btn-activate{appearance:none;border:none;background:transparent;padding:0;margin:0;font-size:13px;font-weight:500;font-family:inherit;color:#6a994e;cursor:pointer;line-height:1.3}.student-manage-page .student-manage-btn-activate:hover{color:#558b3f}.student-manage-page .teacher-board-main.container{padding-bottom:24px!important}.student-manage-page .student-manage-tag-pending{display:inline-block;padding:4px 8px;border-radius:8px;background:#f8c8dc80;color:#c2185b;font-weight:600;font-size:12px}.student-manage-page .student-manage-score.student-manage-score--zero{color:#aeaeb2!important}.student-manage-details{display:contents}.student-manage-detail-label{display:none}@media (max-width: 700px){.student-manage-page .student-manage-summary,.student-manage-page .student-manage-filters{align-items:stretch!important;flex-direction:column}.student-manage-page .student-manage-summary-actions{width:100%}.student-manage-page .student-manage-summary-actions .btn{flex:1 1 0}.student-manage-page .student-manage-search.input{flex:0 0 auto!important;width:100%!important;max-width:none!important;box-sizing:border-box}.student-manage-page .student-manage-tabs{width:100%}.student-manage-page .student-manage-tab{flex:1 1 0;justify-content:center}.student-manage-page .student-manage-list{display:grid;gap:12px;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.student-manage-page .student-manage-row{grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;padding:14px!important;border:1px solid rgba(212,160,23,.18)!important;border-radius:14px;background:#fff;box-shadow:0 4px 14px #0f172a0d}.student-manage-page .student-manage-avatar{grid-column:1;grid-row:1}.student-manage-page .student-manage-name{grid-column:2;grid-row:1;align-self:center;min-width:0}.student-manage-page .student-manage-name button,.student-manage-page .student-manage-name input{max-width:100%!important}.student-manage-page .student-manage-details{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(76px,.8fr) minmax(68px,.7fr);gap:0;padding:12px 0;border-top:1px solid #f2f2f7;border-bottom:1px solid #f2f2f7}.student-manage-page .student-manage-detail{min-width:0;padding:0 10px;border-right:1px solid #f2f2f7}.student-manage-page .student-manage-detail:first-child{padding-left:0}.student-manage-page .student-manage-detail:last-child{padding-right:0;border-right:0}.student-manage-page .student-manage-detail-label{display:block;margin-bottom:6px;color:#8e8e93;font-size:12px;line-height:1.2}.student-manage-page .student-manage-detail-value{min-height:24px;display:flex;align-items:center;color:#1d1d1f;font-size:14px;line-height:1.3}.student-manage-page .student-manage-tag-pending{max-width:100%;white-space:nowrap}.student-manage-page .student-manage-actions{grid-column:1 / -1;justify-self:stretch!important;justify-content:flex-end;gap:8px!important}.student-manage-page .student-manage-actions button{min-height:36px;padding:0 12px;border-radius:8px}}.student-manage-page .modal-surface.student-manage-modal-add{width:min(480px,100%)!important}.student-manage-page .student-manage-modal-confirm-add.btn.primary{border-radius:10px!important}.student-manage-page .student-manage-batch-count-badge{display:inline-block;padding:6px 12px;border-radius:6px;background:#d4a0171a;color:#d4a017;font-weight:600;font-size:13px}.student-manage-page .student-manage-modal-confirm-import.btn.primary{border-radius:10px!important}.teacher-board-mini-card{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius-card);box-shadow:var(--cs-shadow-card)}.teacher-board-mini-card--rank-1{border-left:4px solid var(--cs-primary)}.teacher-board-mini-card--rank-2,.teacher-board-mini-card--rank-3{border-left:4px solid rgba(229,229,234,1)}.teacher-board-section-title{font-size:16px;font-weight:600;color:var(--cs-text)}.teacher-ledger-page .teacher-ledger-section-title{font-size:16px;font-weight:600;color:#1d1d1f;letter-spacing:.01em;line-height:1.35}.teacher-ledger-templates-panel .teacher-ledger-template-card{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius-card);box-shadow:var(--cs-shadow-card);padding:16px}.teacher-ledger-template-card-actions{gap:8px!important}.teacher-ledger-btn-secondary,.teacher-ledger-template-btn-sub{background:#fff!important;border:1px solid #e5e5ea!important;color:#1d1d1f!important;border-radius:8px!important;height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important}.teacher-ledger-template-btn-delete,.teacher-ledger-btn-danger-solid{background:transparent!important;border:none!important;color:var(--cs-danger)!important;height:32px!important;padding:0 10px!important;border-radius:var(--cs-radius-sm)!important;box-shadow:none!important}.teacher-ledger-template-btn-delete:hover,.teacher-ledger-btn-danger-solid:hover{background:#c0392b14!important}.teacher-ledger-ratio-row .input{height:32px;min-height:32px}.teacher-ledger-flow-table thead th{color:var(--cs-muted);font-size:13px;font-weight:500}.teacher-ledger-page .teacher-ledger-flow-table thead th{color:#6e6e73!important;font-size:13px!important;font-weight:400!important}.teacher-ledger-flow-table tbody tr{height:48px}.teacher-ledger-flow-value.is-positive{color:var(--cs-success);font-weight:600}.teacher-ledger-flow-value.is-negative{color:var(--cs-danger);font-weight:600}.modal-overlay{animation:modal-fade-in .18s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-surface .modal-header{padding-bottom:10px;border-bottom:1px solid rgba(212,160,23,.18)}.modal-surface .modal-title{color:#343a40;letter-spacing:.02em}.modal-surface.student-claim-spirit-modal.modal-content,.modal-surface.student-claim-spirit-modal.panel,.modal .modal-surface.student-claim-spirit-modal .panel-inner,.modal-surface.student-claim-spirit-modal .panel-inner{background:#fff!important}.modal .modal-surface.student-claim-spirit-modal.panel.modal-content,.modal-surface.student-claim-spirit-modal.panel.modal-content{width:min(600px,100%)!important}.student-detail-page .modal-surface.student-claim-spirit-modal .btn.primary.student-detail-claim-confirm-btn{border-radius:10px!important}.student-claim-spirit-search-wrap{position:relative;margin-bottom:16px}.student-claim-spirit-search{width:100%;padding:8px 36px 8px 12px;border:1px solid #e5e5ea;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .15s}.student-claim-spirit-search:focus{border-color:#6366f1}.student-claim-spirit-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}.student-claim-spirit-scroll-wrap{position:relative;display:flex;align-items:center;gap:4px;margin-bottom:8px}.student-claim-spirit-scroll{display:flex;flex-direction:row;gap:8px;overflow-x:auto;scroll-behavior:smooth;padding:8px 4px;flex:1;scrollbar-width:none}.student-claim-spirit-scroll::-webkit-scrollbar{display:none}.student-claim-spirit-arrow{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid #e5e5ea;background:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:background .15s,border-color .15s}.student-claim-spirit-arrow:hover{background:#f3f4f6;border-color:#6366f1}.student-claim-spirit-thumb{flex-shrink:0;width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border-radius:10px;border:2px solid transparent;background:#f9fafb;cursor:pointer;transition:border-color .15s,background .15s}.student-claim-spirit-thumb:hover{background:#ede9fe;border-color:#a5b4fc}.student-claim-spirit-thumb--selected{border-color:#6366f1;background:#eef2ff}.student-claim-spirit-thumb-name{font-size:11px;font-weight:600;color:#374151;text-align:center;white-space:nowrap;overflow:clip;text-overflow:ellipsis;max-width:68px}.student-claim-spirit-preview{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:transparent;border-radius:14px;margin-bottom:8px}.student-claim-spirit-preview-name{font-size:15px;font-weight:900;color:#111827}.student-claim-spirit-empty{font-size:13px;color:#9ca3af;padding:16px;white-space:nowrap}.modal-surface .shop-panel{background:transparent!important;border:none!important;box-shadow:none!important}.modal-surface .shop-panel-title{color:#343a40;font-size:16px;font-weight:900}.modal-surface .shop-grid{gap:14px!important}.modal-surface .shop-item-card{position:relative;background:transparent!important;border:1px solid rgba(212,160,23,.18)!important;border-radius:16px!important;box-shadow:0 4px 12px #00000014!important;padding:14px!important;display:flex;flex-direction:column;gap:10px;min-height:240px}.modal-surface .shop-item-media{flex:1 1 auto;min-height:160px;align-items:center}.modal-surface .shop-item-name{color:#343a40;font-size:14px;font-weight:900}.modal-surface .shop-item-price.badge{background:#e9ecefe6;border-color:#d4a0172e;color:#343a40d9}.modal-surface .shop-item-badge.badge.brand{background:#d4a017eb!important;border-color:#d4a017eb!important;color:#fff!important}.modal-surface .shop-item-card.is-locked{opacity:.7;filter:grayscale(.4)}.modal-surface .shop-item-card.is-locked .btn{cursor:not-allowed}.modal-surface .shop-item-card .btn.primary{background:#d4a017!important;border-color:#d4a017!important;color:#fff!important;border-radius:8px!important;box-shadow:0 0 #0000}.modal-surface .shop-item-card .btn.primary:hover:not(:disabled){box-shadow:0 0 22px #d4a01759!important;filter:brightness(1.06)}.modal-surface .shop-item-card .btn.primary:disabled{opacity:.68}.modal-surface .muted{color:#333333ad!important;font-size:14px}.modal-surface .badge{background:#f5e6c8e0;border-color:#d4a0173d;color:#6b5a36}.modal-surface .badge.brand{color:#7a5600;background:linear-gradient(180deg,#f5e6c8f5,#f4db9deb);border-color:#d4a0175c}.modal-surface .badge.danger{color:#fff;background:linear-gradient(180deg,#d25e51f0,#c0392bf0);border-color:#c0392b3d}.modal-surface .input{background:#fff!important;background-color:#fff!important;color:#333;border-color:#2c5f6a29}.modal-surface .btn{color:#333;background:#ffffffd1;border-color:#2c5f6a29;border-radius:8px}.modal-surface .btn.primary{color:#fff;background:linear-gradient(180deg,#e2b53a,#d4a017);border-color:#d4a017}.modal-surface .btn.danger{color:#fff;background:linear-gradient(180deg,#d24c3d,#c0392b);border-color:#c0392b}.spirit-card{box-shadow:none;transition:transform .18s ease;display:flex;flex-direction:column;align-items:center;padding:8px;box-sizing:border-box;min-width:0;overflow:hidden;border-radius:16px;position:relative}.spirit-card .spirit-card-info{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center}.spirit-card:hover{transform:translateY(-1px)}.spirit-card:focus-visible{outline:2px solid rgba(74,144,217,.45);outline-offset:3px}.spirit-card-level{display:none!important;letter-spacing:.3px}.spirit-card .level-badge{position:absolute;top:6px;left:6px;font-size:11px;background:#d4a017;color:#fff;border-radius:4px;padding:1px 5px;line-height:1.4;z-index:2;pointer-events:none}.spirit-protect-img{user-select:none;-webkit-user-drag:none;pointer-events:none}.spirit-card .spirit-image{width:100%;aspect-ratio:1 / 1;display:grid;place-items:center;min-width:0}.spirit-card .spirit-image img,.spirit-card .spirit-image svg,.spirit-card .spirit-image canvas{max-width:100%;max-height:100%}.spirit-card-image-fallback{display:grid;place-items:center;padding:10px;box-sizing:border-box;color:#8e8e93;text-align:center}.spirit-card-image-fallback span{font-size:12px;font-weight:600;line-height:1.35}.spirit-card .spirit-card-mystery-egg-wrap .spirit-card-mystery-egg-img{width:120px;max-width:100%;height:auto;max-height:100%;object-fit:contain;display:block;flex-shrink:0}.spirit-card .student-name{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(11px,1.2vw,14px);margin-top:4px;font-weight:800;color:#343a40;line-height:1.15}.spirit-card .spirit-name{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(10px,1vw,12px);color:#d4a017;margin-top:2px;font-weight:700;line-height:1.2}.spirit-card .progress-bar-wrap{width:100%;height:6px;background:#e9ecef;border-radius:3px;margin-top:6px;overflow:hidden}.spirit-card .progress-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.spirit-card-progress-fill{transition:width .2s ease}.spirit-card-progress-fill--high{background:#d4a017!important;box-shadow:none!important;animation:none!important}.spirit-card-progress-fill--mid{background:#6a994e!important;box-shadow:none!important;animation:none!important}.spirit-card-progress-fill--low{background:#82c3ec!important;box-shadow:none!important;animation:none!important}.spirit-card-art-wrap canvas,.spirit-card-art-wrap img,.spirit-card-art-wrap svg{max-width:100%;max-height:100%}.teacher-display-page .spirit-card{gap:0!important}.teacher-display-page .spirit-card-art-wrap{margin-bottom:0!important}.teacher-display-page .spirit-card-info{justify-content:flex-start!important;gap:0!important}.teacher-display-page .spirit-card-spirit-name{margin-top:0!important}.teacher-display-page .spirit-card-evolution-text{display:none}.teacher-display-page .spirit-card .spirit-card-info>.student-name{margin-bottom:6px!important}.teacher-display-page .spirit-card .progress-bar-wrap{margin-top:8px!important}.teacher-display-page .teacher-display-cards-shell.container{max-width:none;width:100%;margin-left:0;margin-right:0;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.teacher-display-cards-scroll--fit{overflow-y:hidden}.teacher-display-cards-grid>*{min-width:0;min-height:0}.teacher-display-card-cell{min-width:0;min-height:0;display:flex;flex-direction:column}.teacher-display-cards-scroll{scrollbar-width:thin;scrollbar-color:rgba(212,160,23,.45) rgba(233,236,239,.9);overscroll-behavior:contain}.teacher-display-cards-scroll::-webkit-scrollbar{width:8px}.teacher-display-cards-scroll::-webkit-scrollbar-track{background:#e9ecefbf;border-radius:8px}.teacher-display-cards-scroll::-webkit-scrollbar-thumb{background:#d4a01773;border-radius:8px}.teacher-display-cards-scroll::-webkit-scrollbar-thumb:hover{background:#d4a017a6}.teacher-display-cards-grid{width:100%}.teacher-display-page .teacher-display-cards-grid{align-items:stretch}.teacher-display-page .spirit-card .spirit-image img{object-fit:contain!important}.teacher-display-page{position:relative;height:100dvh;max-height:100dvh;overflow:hidden;background-color:#faf9f6;box-sizing:border-box;display:flex;flex-direction:column}.teacher-display-page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:0;background-image:none}.teacher-display-toolbar{flex-shrink:0;padding:16px;position:sticky;top:0;z-index:10;background:#4a4e5c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(212,160,23,.22);box-shadow:0 8px 28px #0000002e}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-class-name{color:#fff;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:.01em}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-toolbar-page-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;color:#fff;background:#ffffff26;border:none;box-sizing:border-box}.teacher-display-toolbar .teacher-toolbar-back-board{appearance:none;border:none;background:transparent;margin:0;padding:0 8px 0 0;font-family:inherit;font-size:13px;font-weight:400;line-height:1.3;color:#ffffffb3;cursor:pointer;transition:color .15s ease}.teacher-display-toolbar .teacher-toolbar-back-board:hover{color:#fff}.teacher-display-toolbar .teacher-toolbar-nav-divider{width:1px;align-self:stretch;min-height:22px;background:#fff3;flex-shrink:0;margin:0 8px 0 0}.teacher-display-toolbar-actions--nav{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0}.teacher-display-toolbar .teacher-toolbar-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.teacher-display-toolbar .teacher-toolbar-navbtn{appearance:none;height:auto;min-height:28px;padding:8px 4px 4px;margin:0;border:none;border-radius:0;background:transparent;color:#ffffffb3;font-size:14px;font-weight:500;font-family:inherit;line-height:1.3;cursor:pointer;position:relative;transition:color .15s ease}.teacher-display-toolbar .teacher-toolbar-navbtn:hover{color:#fff;background:transparent}.teacher-display-toolbar .teacher-toolbar-navbtn.is-active{background:transparent;color:#f7c948;font-weight:600;border-bottom:2px solid #F7C948;border-radius:0}.teacher-display-toolbar .teacher-toolbar-navbtn.is-active:after{content:none}.teacher-display-toolbar .teacher-toolbar-nav-extra{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:10px}.teacher-display-toolbar .teacher-toolbar-logout-divider{flex-shrink:0;width:0;height:16px;align-self:center;margin-left:12px;margin-right:8px;border-left:1px solid rgba(255,255,255,.2)}.teacher-display-toolbar-actions--nav>.teacher-toolbar-logout-divider:first-child{margin-left:0;margin-right:8px}.teacher-display-toolbar .teacher-toolbar-logout{appearance:none;border:none;background:transparent;margin:0;padding:0;font-family:inherit;font-size:13px;font-weight:400;line-height:1.3;color:#fff9;cursor:pointer;transition:color .15s ease;align-self:center}.teacher-display-toolbar .teacher-toolbar-logout:hover{color:#fff}.teacher-display-toolbar .teacher-toolbar-bell-btn{position:relative;appearance:none;border:none;background:transparent;color:#ffffffe6;font-size:18px;line-height:1;padding:2px 4px;margin-left:12px;cursor:pointer}.teacher-display-toolbar .teacher-toolbar-bell-btn svg,.teacher-toolbar-mobile-menu-btn svg{width:24px;height:24px;display:block;stroke-width:1.8}.teacher-toolbar-mobile-actions,.teacher-display-hint--mobile,.teacher-mobile-bottom-nav,.teacher-mobile-more-backdrop{display:none}.teacher-display-toolbar .teacher-toolbar-bell-btn:hover{color:#fff}.teacher-display-toolbar .teacher-toolbar-bell-badge{position:absolute;top:-7px;right:-10px;min-width:18px;height:18px;border-radius:999px;background:#e5484d;color:#fff;border:1px solid rgba(255,255,255,.92);font-size:11px;line-height:16px;font-weight:800;text-align:center;padding:0 4px;box-sizing:border-box}@media (max-width: 700px){:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.teacher-display-toolbar{min-height:56px;padding:0 16px;display:flex;align-items:center;box-shadow:0 2px 10px #0f172a29}.teacher-display-toolbar>.container{width:100%}.teacher-display-toolbar>.container>.row{flex-wrap:nowrap!important;min-width:0}.teacher-display-toolbar>.container>.row>.row:first-child{min-width:0;flex:1 1 auto;flex-wrap:nowrap!important;gap:8px!important}.teacher-display-toolbar .teacher-display-class-name{min-width:0;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.teacher-display-toolbar .teacher-toolbar-page-badge{flex:0 1 auto;min-width:0;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px!important}.teacher-display-toolbar-actions--nav,.teacher-display-hint--desktop{display:none!important}.teacher-toolbar-mobile-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.teacher-display-toolbar .teacher-toolbar-bell-btn--mobile,.teacher-toolbar-mobile-menu-btn{width:40px;height:40px;padding:8px;margin:0;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#ffffffeb;cursor:pointer}.teacher-display-toolbar .teacher-toolbar-bell-btn--mobile:hover,.teacher-toolbar-mobile-menu-btn:hover,.teacher-display-toolbar .teacher-toolbar-bell-btn--mobile:focus-visible,.teacher-toolbar-mobile-menu-btn:focus-visible{background:#ffffff1f;outline:none}.teacher-display-toolbar .teacher-toolbar-bell-btn--mobile .teacher-toolbar-bell-badge{top:1px;right:0}.teacher-display-hint--mobile{display:block;padding:10px 16px 11px;color:#6b7280!important;background:#fff;border-bottom:1px solid #e5e7eb;font-size:13px!important;line-height:1.45}.teacher-mobile-bottom-nav{position:fixed;z-index:900;left:0;right:0;bottom:0;min-height:64px;padding:4px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffffa;border-top:1px solid #e5e7eb;box-shadow:0 -4px 18px #0f172a14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.teacher-mobile-bottom-nav__item{position:relative;min-width:0;min-height:56px;padding:5px 2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:8px;background:transparent;color:#596273;font-family:inherit;font-size:12px;line-height:1.1;cursor:pointer}.teacher-mobile-bottom-nav__item svg{width:24px;height:24px;stroke-width:1.8}.teacher-mobile-bottom-nav__item.is-active{color:#d4a017;font-weight:700}.teacher-mobile-bottom-nav__item:focus-visible{outline:2px solid rgba(212,160,23,.7);outline-offset:-2px}.teacher-mobile-more-backdrop{position:fixed;z-index:850;inset:0 0 calc(64px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:center;background:#0f172a7a}.teacher-mobile-more-sheet{width:100%;max-height:min(72vh,560px);padding:10px 16px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -12px 38px #0f172a2e;animation:teacher-mobile-more-sheet-in .18s ease-out}.teacher-mobile-more-sheet__header{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb}.teacher-mobile-more-sheet__header h2{margin:0;color:#17191f;font-size:18px;line-height:1.3}.teacher-mobile-more-sheet__close{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#596273;cursor:pointer}.teacher-mobile-more-sheet__close svg{width:24px;height:24px}.teacher-mobile-more-sheet__list{display:grid}.teacher-mobile-more-sheet__list>button{min-height:58px;padding:0 8px;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:0;border-bottom:1px solid #edf0f4;background:transparent;color:#222833;font-family:inherit;font-size:16px;text-align:left;cursor:pointer}.teacher-mobile-more-sheet__list>button:last-child{border-bottom:0}.teacher-mobile-more-sheet__list>button svg{width:24px;height:24px;stroke-width:1.7;color:#596273}.teacher-mobile-more-sheet__list>button .teacher-mobile-more-sheet__chevron{width:18px;height:18px;color:#9aa1ad}.teacher-mobile-more-sheet__list>button.is-danger,.teacher-mobile-more-sheet__list>button.is-danger svg{color:#c0392b}.teacher-mobile-more-sheet__badge{min-width:24px;height:24px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:#e5484d;color:#fff;font-size:12px;font-weight:800}}@keyframes teacher-mobile-more-sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.teacher-mobile-more-sheet{animation:none}}.floating-tooltip-anchor{display:inline-flex}.floating-tooltip-bubble{position:fixed;z-index:1200;white-space:nowrap;font-size:12px;line-height:1.3;color:#fff;background:#333333eb;border-radius:8px;padding:6px 9px;box-shadow:0 6px 16px #0003;pointer-events:auto}.floating-tooltip-arrow{position:absolute;left:-6px;top:38%;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:6px solid rgba(51,51,51,.92)}.developer-contact-line{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#8b96a3;flex-wrap:wrap}.developer-contact-link{appearance:none;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.developer-contact-link:hover{color:#4f5a67}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-display-hint{margin-top:10px;font-size:13px;font-weight:400;line-height:1.45;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-display-hint{margin-top:10px;font-size:13px;font-weight:400;line-height:1.45;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .btn{min-height:40px;padding:10px 18px;border-radius:8px;font-size:16px;font-weight:700;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar-actions{flex-wrap:wrap;gap:10px;align-items:center}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar-actions--nav{gap:0}.teacher-display-page .teacher-display-toolbar .teacher-display-hint--display-readonly{margin-top:10px;font-size:13px;font-weight:400;line-height:1.45;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-display-page .teacher-display-toolbar-actions{gap:12px!important;align-items:center!important}.teacher-announcements-page{min-height:100vh;background:#f6f8fb}.teacher-announcements-filter-btn{appearance:none;border:1px solid #d9dee6;background:#fff;color:#57606a;font-size:13px;font-weight:700;border-radius:999px;padding:6px 12px;cursor:pointer}.teacher-announcements-filter-btn.is-active{border-color:#d4a017;color:#d4a017;background:#d4a01714}.teacher-announcements-item{border:1px solid #e5e9f0;border-radius:12px;padding:12px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.teacher-announcements-item.is-unread{border-color:#d4a01780;background:#fffcf0f2}.teacher-announcements-item.is-read{opacity:.88}.teacher-announcements-item:hover{border-color:#c3ceda;box-shadow:0 3px 12px #0f172a0f}.teacher-announcements-item-title{font-size:15px;font-weight:900;color:#2f353d;word-break:break-all}.teacher-announcements-item-summary{margin-top:8px;color:#6c7683;font-size:13px;line-height:1.6;word-break:break-all}.teacher-announcements-status{display:inline-flex;align-items:center;height:24px;border-radius:999px;border:1px solid #dbe1e8;color:#6b7683;background:#f7f9fb;padding:0 10px;font-size:12px;font-weight:700;white-space:nowrap}.teacher-announcements-status.is-unread{border-color:#e5484d59;color:#e5484d;background:#e5484d14}.teacher-announcements-detail-content{border:1px solid #e7ecf2;border-radius:10px;padding:12px;background:#fff;color:#2f353d;line-height:1.8;white-space:pre-wrap;word-break:break-word}.teacher-announcements-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 0 10px}.teacher-announcements-empty-text{color:#8b96a3;font-size:13px}.teacher-announcements-contact-wrap{margin-top:4px}.teacher-announcements-contact{font-size:12px;color:#8b96a3}.teacher-announcements-contact-link{color:#8b96a3}.teacher-announcements-contact-link:hover{color:#5e6976}.teacher-announcements-header{background:#fff;border-bottom:1px solid #e7ebf0}.teacher-announcements-header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-announcements-heading{color:#2f353d;font-size:22px;font-weight:1000}.teacher-announcements-subheading{margin-top:4px;color:#8b96a3;font-size:13px}.teacher-announcements-main{padding-top:20px;padding-bottom:28px}.teacher-announcements-list-panel{max-width:920px;margin:0 auto;overflow:hidden;border:1px solid #e5e9f0;border-radius:14px;background:#fff;box-shadow:0 6px 22px #0f172a0a}.teacher-announcements-list-toolbar{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4}.teacher-announcements-filters{display:flex;gap:8px}.teacher-announcements-list{display:flex;flex-direction:column}.teacher-announcements-list .teacher-announcements-item{width:100%;min-height:104px;border:0;border-bottom:1px solid #edf0f4;border-radius:0;padding:15px 18px;display:grid;grid-template-columns:10px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left;opacity:1;box-shadow:none}.teacher-announcements-list .teacher-announcements-item:last-child{border-bottom:0}.teacher-announcements-list .teacher-announcements-item.is-unread{background:#fffdf6}.teacher-announcements-list .teacher-announcements-item.is-important{box-shadow:inset 3px 0 #d4a017}.teacher-announcements-list .teacher-announcements-item:hover{background:#f8fafc;box-shadow:none}.teacher-announcements-unread-dot{width:7px;height:7px;border-radius:50%;background:transparent}.teacher-announcements-unread-dot.is-visible{background:#d4a017}.teacher-announcements-item-body,.teacher-announcements-item-meta,.teacher-announcements-item-title,.teacher-announcements-item-summary{display:block}.teacher-announcements-item-meta{color:#8b96a3;font-size:12px}.teacher-announcements-item-meta>span+span{margin-left:9px}.teacher-announcements-list .teacher-announcements-item-title{margin-top:5px;color:#2f353d;font-size:15px;font-weight:900}.teacher-announcements-list .teacher-announcements-item-summary{margin-top:5px;color:#697583;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.teacher-announcements-important-label{color:#a87400;font-weight:800}.teacher-announcements-item-arrow{color:#a8b0ba;font-size:22px}.teacher-announcements-error,.teacher-announcements-message{margin:12px 18px 0;padding:9px 12px;border-radius:8px;color:#b42318;background:#fff1f0}.teacher-announcements-empty{min-height:240px;padding:24px;color:#8b96a3;text-align:center}.teacher-announcements-empty-title{margin-bottom:7px;color:#4f5965;font-weight:800}.teacher-announcements-pagination,.ops-announcements-pagination{padding:14px 18px;border-top:1px solid #edf0f4;display:flex;align-items:center;justify-content:center;gap:12px}.teacher-announcements-detail-overlay{position:fixed;inset:0;z-index:80;background:#10182847}.teacher-announcements-detail-drawer{position:absolute;top:0;right:0;width:min(520px,92vw);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-16px 0 40px #0f172a24}.teacher-announcements-detail-header{height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f4}.teacher-announcements-detail-back,.teacher-announcements-detail-close{appearance:none;border:0;background:transparent;color:#57606a;cursor:pointer}.teacher-announcements-detail-back{display:none;font-size:14px}.teacher-announcements-detail-close{margin-left:auto;font-size:26px}.teacher-announcements-detail-body{flex:1;overflow:auto;padding:28px 30px}.teacher-announcements-detail-body h1{margin:12px 0 22px;color:#2f353d;font-size:23px;line-height:1.4}.teacher-announcements-detail-meta{color:#8b96a3;font-size:12px}.teacher-announcements-detail-meta>span+span{margin-left:10px}.teacher-announcements-detail-body .teacher-announcements-detail-content,.ops-announcements-preview .teacher-announcements-detail-content{padding:0;border:0;color:#4a5562;font-size:15px;line-height:1.9}.teacher-announcements-detail-footer{padding:16px 30px;border-top:1px solid #edf0f4}.teacher-announcements-detail-footer .btn{width:100%}.ops-announcements-section-title{color:#343a40;font-weight:900}.ops-announcements-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ops-announcements-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:#4f5965;font-size:13px;font-weight:700}.ops-announcements-field--wide{grid-column:1 / -1}.ops-announcements-field textarea{min-height:150px;resize:vertical}.ops-announcements-field small{align-self:flex-end;color:#8b96a3;font-weight:500}.ops-announcements-checkbox{display:flex;align-items:center;gap:8px;color:#4f5965;font-size:13px}.ops-announcements-form-actions,.ops-announcements-list-head{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ops-announcements-list-head{justify-content:space-between}.ops-announcements-message{padding:9px 12px;border-radius:8px;font-size:13px}.ops-announcements-message.is-error{color:#b42318;background:#fff1f0}.ops-announcements-message.is-success{color:#34713f;background:#eff8f1}.ops-announcements-table-wrap{overflow-x:auto}.ops-announcements-table{width:100%;border-collapse:collapse;color:#4f5965;font-size:13px}.ops-announcements-table th,.ops-announcements-table td{padding:12px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}.ops-announcements-table th{color:#7a8592;background:#f8fafc;font-weight:800}.ops-announcements-item-title{margin-bottom:4px;max-width:360px;color:#343a40;font-weight:900}.ops-announcements-status{display:inline-flex;padding:3px 8px;border-radius:999px;color:#5f6b78;background:#eef1f5;white-space:nowrap}.ops-announcements-status.is-published{color:#34713f;background:#eaf6ed}.ops-announcements-status.is-scheduled{color:#27618c;background:#e9f4fb}.ops-announcements-status.is-draft{color:#786321;background:#fff8dc}.ops-announcements-status.is-offline,.ops-announcements-status.is-expired{color:#7a4d4d;background:#f7eded}.ops-announcements-preview h2{margin:10px 0 18px}.ops-announcements-preview .btn{margin-top:20px}.ops-announcements-page{display:flex;flex-direction:column;gap:16px}.ops-announcements-workbench-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ops-announcements-page-title{margin-bottom:4px;color:#252938;font-size:22px;font-weight:1000}.ops-announcements-workbench{overflow:hidden;border:1px solid #e2e6eb;border-radius:14px;background:#fff;box-shadow:0 3px 14px #181f360d}.ops-announcements-workbench .ops-announcements-list-head{min-height:76px;padding:16px 18px;border-bottom:1px solid #edf0f4}.ops-announcements-filters{display:flex;align-items:center;gap:8px}.ops-announcements-filters .input{width:150px}.ops-announcements-workbench .ops-announcements-message{margin:12px 18px 0}.ops-announcements-empty{padding:52px 20px;color:#8b96a3;text-align:center}.ops-announcements-title-button{appearance:none;display:block;max-width:380px;margin:0 0 5px;padding:0;overflow:hidden;border:0;background:transparent;color:#303744;font:inherit;font-weight:900;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ops-announcements-title-button:hover{color:#a87400}.ops-announcements-read-cell{width:150px}.ops-announcements-read-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.ops-announcements-read-copy strong{color:#6c757d;font-size:12px}.ops-announcements-read-track{height:5px;margin-top:6px;overflow:hidden;border-radius:99px;background:#edf0f3}.ops-announcements-read-track span{display:block;height:100%;border-radius:inherit;background:#d4a017}.ops-announcements-row-actions{display:flex;gap:6px;flex-wrap:wrap}.ops-announcements-editor-overlay{position:fixed;inset:0;z-index:80;background:#1418275c}.ops-announcements-editor{position:absolute;top:0;right:0;width:min(660px,94vw);height:100%;display:flex;flex-direction:column;background:#f7f8fa;box-shadow:-18px 0 46px #11182733}.ops-announcements-editor-head{min-height:76px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e8ed;background:#fff;box-sizing:border-box}.ops-announcements-editor-title{margin-bottom:3px;color:#2f353d;font-size:19px;font-weight:1000}.ops-announcements-editor-close{appearance:none;flex:0 0 auto;border:0;background:transparent;color:#697583;font-size:27px;cursor:pointer}.ops-announcements-editor-body{flex:1;min-height:0;overflow-y:auto;padding:18px 22px 28px}.ops-announcements-form-section,.ops-announcements-settings{border:1px solid #e2e6eb;border-radius:12px;background:#fff}.ops-announcements-form-section{padding:18px}.ops-announcements-form-section-title{margin-bottom:14px;color:#343a40;font-size:14px;font-weight:900}.ops-announcements-settings{margin-top:14px;overflow:hidden}.ops-announcements-settings summary{padding:15px 18px;display:flex;align-items:center;gap:8px;color:#343a40;font-size:14px;font-weight:900;cursor:pointer}.ops-announcements-settings summary span{color:#8b96a3;font-size:12px;font-weight:500}.ops-announcements-settings-grid{padding:16px 18px 18px;border-top:1px solid #edf0f4}.ops-announcements-editor .ops-announcements-message{margin:14px 0 0}.ops-announcements-editor-footer{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e2e6eb;background:#fff}.ops-announcements-editor-footer-main{display:flex;gap:8px}.ops-announcements-teacher-preview{padding:4px 2px 8px}.ops-announcements-preview-modal{width:min(620px,100%)!important;background:#fff!important;opacity:1!important}.ops-announcements-teacher-preview h2{margin:12px 0 20px;color:#2f353d;font-size:23px;line-height:1.4}.ops-announcements-teacher-preview .teacher-announcements-detail-content{min-height:130px;padding:0;border:0;font-size:15px;line-height:1.9}.ops-announcements-teacher-preview>.btn{width:100%;margin-top:24px}@media (max-width: 720px){.teacher-announcements-header-inner{min-height:76px;padding-top:10px;padding-bottom:10px}.teacher-announcements-subheading{display:none}.teacher-announcements-main{padding:0}.teacher-announcements-list-panel{border-width:0;border-radius:0;box-shadow:none}.teacher-announcements-list-toolbar{padding:0 12px}.teacher-announcements-list .teacher-announcements-item{padding:13px 12px}.teacher-announcements-detail-drawer{width:100%}.teacher-announcements-detail-back{display:block}.teacher-announcements-detail-close{display:none}.teacher-announcements-detail-body{padding:22px 20px}.teacher-announcements-detail-footer{padding:14px 20px}.ops-announcements-form-grid{grid-template-columns:1fr}.ops-announcements-field--wide{grid-column:auto}.ops-announcements-list-head,.ops-announcements-form-actions{align-items:stretch;flex-direction:column}.ops-announcements-workbench-head{align-items:flex-start}.ops-announcements-workbench-head .btn{flex:0 0 auto}.ops-announcements-page-title{font-size:19px}.ops-announcements-workbench .ops-announcements-list-head{min-height:0;padding:14px}.ops-announcements-filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.ops-announcements-filters .input{width:100%}.ops-announcements-filters .btn{grid-column:1 / -1}.ops-announcements-table-wrap{overflow:visible}.ops-announcements-table,.ops-announcements-table tbody,.ops-announcements-table tr,.ops-announcements-table td{display:block;width:100%;box-sizing:border-box}.ops-announcements-table thead{display:none}.ops-announcements-table tr{padding:14px;border-bottom:1px solid #e9edf2}.ops-announcements-table td{padding:5px 0;border:0;display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:start}.ops-announcements-table td:before{content:attr(data-label);color:#8b96a3;font-size:12px;font-weight:700}.ops-announcements-title-button{max-width:100%;white-space:normal}.ops-announcements-read-cell{width:100%;max-width:220px}.ops-announcements-row-actions{justify-content:flex-start}.ops-announcements-editor{width:100%}.ops-announcements-editor-head,.ops-announcements-editor-body,.ops-announcements-editor-footer{padding-left:16px;padding-right:16px}.ops-announcements-form-section{padding:14px}.ops-announcements-settings summary{align-items:flex-start;flex-direction:column}.ops-announcements-editor-footer{align-items:stretch;flex-direction:column}.ops-announcements-editor-footer-main{display:grid;grid-template-columns:1fr 1fr}}.teacher-display-page .teacher-display-toolbar-actions .teacher-display-btn-open.btn{height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 16px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-display-btn-open.btn{background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;border-radius:8px!important;box-shadow:0 2px 10px #0000001f!important}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-display-btn-open.btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 2px 12px #00000024,0 0 18px #d4a01773!important}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-display-btn-open.btn:active:not(:disabled){filter:brightness(.98);box-shadow:0 1px 8px #0000001f!important}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .teacher-display-btn-open.btn:disabled{background:#f8f9fa29!important;border-color:#f8f9fa1f!important;color:#f8f9fa8c!important;box-shadow:none!important;filter:none}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .btn.danger{border:none!important;background:transparent!important;color:#c0392b!important;font-size:13px!important;font-weight:500!important;border-radius:6px!important;box-shadow:none!important}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .btn.danger:hover:not(:disabled){background:#c0392b14!important;box-shadow:none!important}@keyframes teacher-display-status-open{0%,to{box-shadow:0 0 #d4a01700}50%{box-shadow:0 0 28px #82c3ec59}}.teacher-display-page .teacher-display-status-active{background:#6a994e1a!important;color:#6a994e!important;border:none!important;border-radius:6px!important;padding:8px 14px!important;font-size:13px!important;font-weight:600;animation:teacher-display-status-open 2s ease-in-out infinite}:is(.teacher-display-page,.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-display-toolbar .badge.danger{border-color:transparent;background:#c0392b1a;color:#c0392b;border-radius:6px;font-weight:600}@keyframes teacher-display-card-border-glow{0%,to{box-shadow:0 0 0 1px #d4a01759}50%{box-shadow:0 0 0 2px #d4a017d9,0 0 0 3px #d4a01747}}.teacher-display-page--interaction-open .spirit-card{animation:none!important}.teacher-display-page--interaction-open .spirit-card:hover{animation:none}.teacher-display-page .teacher-display-cards-grid .spirit-card{background:#fff!important;border:1px solid rgba(212,160,23,.22)!important;box-shadow:0 4px 12px #00000014!important}.teacher-display-page .teacher-display-cards-grid .spirit-card:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0000001f!important}.teacher-display-page .teacher-display-cards-grid .spirit-card[data-claimed=false],.teacher-display-page .teacher-display-cards-grid .spirit-card[data-claimed=false]:hover{border:1px dashed #e5e5ea!important}.teacher-display-page .spirit-card-student-name{margin-top:0;font-weight:800!important;color:#343a40!important;overflow-wrap:anywhere;word-break:break-word;max-width:100%;padding:0 2px;box-sizing:border-box}.teacher-display-page .spirit-card-spirit-name{color:#d4a017!important}.teacher-display-tool-switch-wrap{flex-shrink:0;padding:12px 16px 0;box-sizing:border-box}.teacher-display-tool-switch{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:100%}.teacher-display-tool-switch-btn{flex:1 1 auto;min-width:0;max-width:160px;padding:8px 14px;border:1px solid rgba(212,160,23,.35);border-radius:8px;background:#fff;color:#333;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:0 2px 6px #0000000f;transition:background .15s,border-color .15s,color .15s}.teacher-display-tool-switch-btn:hover{border-color:#d4a017;background:#f5e6c8}.teacher-display-tool-switch-btn.is-active{background:#d4a017;border-color:#d4a017;color:#fff;box-shadow:0 4px 12px #d4a01759}.teacher-display-mode-shell{flex:1;min-height:0;overflow:auto;padding:16px 16px 24px;box-sizing:border-box;-webkit-overflow-scrolling:touch}.teacher-display-random-pick{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;width:100%}.teacher-display-random-pick-controls{width:100%}.teacher-display-random-pick-toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#333;cursor:pointer;user-select:none}.teacher-display-random-pick-toggle input{width:16px;height:16px;accent-color:#d4a017}.teacher-display-random-pick-meta{font-size:14px}.teacher-display-random-pick-notice{width:100%;padding:12px 16px;border-radius:12px;background:#c0392b14;border:1px solid rgba(192,57,43,.25);color:#c0392b;font-size:14px;font-weight:600;text-align:center;line-height:1.5}.teacher-display-random-pick-toast{padding:8px 16px;border-radius:8px;background:#2c5f6a1f;border:1px solid rgba(44,95,106,.3);color:#2c5f6a;font-size:14px;font-weight:700}.teacher-display-random-pick-result{width:100%;padding:24px 20px;border-radius:16px;background:#fff;box-shadow:0 4px 12px #0000001a;text-align:center;transition:box-shadow .2s,transform .2s}.teacher-display-random-pick-result--flash{animation:teacher-display-random-pick-flash .5s ease-in-out}@keyframes teacher-display-random-pick-flash{0%,to{box-shadow:0 4px 12px #0000001a;transform:scale(1)}50%{box-shadow:0 8px 28px #d4a01773;transform:scale(1.02)}}.teacher-display-random-pick-name{font-size:32px;font-weight:900;color:#333;margin-bottom:12px;overflow-wrap:anywhere;word-break:break-word}.teacher-display-random-pick-art{display:flex;justify-content:center;margin:8px 0 12px}.teacher-display-random-pick-level{font-size:18px;font-weight:800;color:#d4a017;margin-bottom:20px}.teacher-display-random-pick-level-sub{font-size:14px;font-weight:600;color:#666}.teacher-display-random-pick-placeholder{padding:48px 16px;font-size:16px;line-height:1.6}.teacher-display-random-pick-badges{border-top:1px solid rgba(212,160,23,.2);padding-top:20px;width:100%}.teacher-display-random-pick-badges-title{font-size:16px;font-weight:900;color:#333;margin-bottom:12px}.teacher-display-random-pick-badges-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}.teacher-display-random-pick-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;width:100%}.teacher-display-random-pick-badge-btn{border:1px solid rgba(212,160,23,.25);border-radius:12px;background:#faf9f6;padding:10px 8px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;min-width:0}.teacher-display-random-pick-badge-btn:hover:not(:disabled){border-color:#d4a017;background:#f5e6c8;transform:translateY(-1px)}.teacher-display-random-pick-badge-btn:disabled{opacity:.55;cursor:not-allowed}.teacher-display-random-pick-badge-icon{width:44px;height:44px;object-fit:contain;margin:0 auto;display:block}.teacher-display-random-pick-badge-icon--placeholder{font-size:32px;line-height:44px;text-align:center}.teacher-display-random-pick-badge-name{margin-top:6px;font-size:12px;font-weight:800;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-display-random-pick-badge-score{font-size:12px;font-weight:700;color:#2c5f6a;margin-top:2px}.teacher-display-timer{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:560px;margin:0 auto;width:100%;padding:8px 0 24px}.teacher-display-timer-presets{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.teacher-display-timer-preset-btn{flex:1 1 auto;min-width:72px;max-width:120px;padding:10px 12px;border:1px solid rgba(44,95,106,.3);border-radius:8px;background:#fff;color:#2c5f6a;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.teacher-display-timer-preset-btn:hover{background:#2c5f6a14;border-color:#2c5f6a}.teacher-display-timer-preset-btn.is-active{background:#2c5f6a;border-color:#2c5f6a;color:#fff}.teacher-display-timer-custom-input{width:min(140px,100%);text-align:center}.teacher-display-timer-display{width:100%;padding:32px 16px;border-radius:16px;background:#fff;box-shadow:0 4px 12px #0000001a;text-align:center}.teacher-display-timer-display--running{border:2px solid rgba(44,95,106,.35)}.teacher-display-timer-display--finished{background:#c0392b0f;border:2px solid rgba(192,57,43,.4)}.teacher-display-timer-digits{font-size:96px;font-weight:900;font-variant-numeric:tabular-nums;color:#2c5f6a;letter-spacing:0;line-height:1.1}.teacher-display-timer-finished-text{font-size:64px;font-weight:900;color:#c0392b;letter-spacing:0;line-height:1.2;animation:teacher-display-timer-finished-pulse 1.2s ease-in-out infinite}@keyframes teacher-display-timer-finished-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}.teacher-display-seat-layout{display:flex;flex-direction:column;gap:14px;width:100%;max-width:960px;margin:0 auto}.teacher-display-seat-layout--loading{align-items:center;padding:48px 16px}.teacher-display-seat-layout-notice{padding:10px 14px;border-radius:10px;background:#c0392b14;border:1px solid rgba(192,57,43,.25);color:#c0392b;font-size:14px;font-weight:600;line-height:1.5}.teacher-display-seat-layout-toast{padding:8px 14px;border-radius:8px;background:#2c5f6a1f;border:1px solid rgba(44,95,106,.3);color:#2c5f6a;font-size:14px;font-weight:700}.teacher-display-seat-layout-toolbar{width:100%;align-items:center}.teacher-display-seat-layout-dim-label{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#333}.teacher-display-seat-layout-dim-input{width:56px;text-align:center;padding:6px 8px}.teacher-display-seat-layout-meta{font-size:14px;text-align:center}.teacher-display-seat-layout-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.teacher-display-seat-layout-scroll-shell{position:relative;min-width:0}.teacher-display-seat-layout-scroll-hint{display:none}@media (max-width: 700px){.teacher-display-page .teacher-display-cards-shell.container{padding-left:16px;padding-right:16px}.teacher-display-page .teacher-display-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important;gap:10px!important}.teacher-display-seat-layout-scroll-hint{display:block;margin-top:-4px;color:#8e8e93;font-size:12px;line-height:1.4;text-align:center}.teacher-display-seat-layout-scroll-shell:after{content:"";position:absolute;top:0;right:0;bottom:8px;width:18px;pointer-events:none;background:linear-gradient(90deg,#faf9f600,#faf9f6f2)}.teacher-subscription-page .teacher-board-main.container.teacher-settings-content{width:100%;padding-left:16px!important;padding-right:16px!important}.teacher-subscription-page .teacher-settings-main-title{margin-left:0;margin-right:0}}.teacher-display-seat-layout-grid{display:grid;gap:10px;min-width:min(100%,320px);width:max-content;max-width:100%;margin:0 auto}.teacher-display-seat-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:108px;height:108px;padding:8px 6px 6px;border:1px solid rgba(212,160,23,.28);border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;min-width:72px;box-sizing:border-box}.teacher-display-seat-cell:hover{border-color:#d4a017;box-shadow:0 4px 12px #d4a01733}.teacher-display-seat-cell--empty{background:#faf9f6;border-style:dashed}.teacher-display-seat-cell--editing.teacher-display-seat-cell--empty:hover{background:#f5e6c8}.teacher-display-seat-cell-art{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.teacher-display-seat-cell-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#ccc;font-weight:700}.teacher-display-seat-cell-name{margin-top:6px;width:100%;font-size:13px;font-weight:800;color:#333;letter-spacing:0;line-height:1.25;max-height:32px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word;text-align:center}.teacher-display-seat-cell--empty .teacher-display-seat-cell-name{color:#999;font-weight:600}.teacher-display-seat-cell-pos{margin-top:2px;font-size:11px;color:#aaa;letter-spacing:0;line-height:1.2}.teacher-display-seat-picker-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.teacher-display-seat-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(212,160,23,.22);border-radius:10px;background:#faf9f6;cursor:pointer;text-align:left;min-width:0}.teacher-display-seat-picker-item:hover:not(:disabled){border-color:#d4a017;background:#f5e6c8}.teacher-display-seat-picker-item.is-current{border-color:#2c5f6a;background:#2c5f6a14}.teacher-display-seat-picker-item.is-disabled{opacity:.55;cursor:not-allowed}.teacher-display-seat-picker-item-name{flex:1;min-width:0;font-size:14px;font-weight:800;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-display-seat-picker-item-hint{flex-shrink:0;font-size:12px;color:#888;letter-spacing:0}.teacher-display-seat-resize-list{margin:0;padding-left:20px;font-size:14px;color:#333;line-height:1.6}@media (max-width: 480px){.teacher-display-tool-switch-btn{font-size:13px;padding:8px 10px;max-width:none;flex:1 1 calc(50% - 8px)}.teacher-display-timer-preset-btn{flex:1 1 calc(50% - 8px);max-width:none}.teacher-display-timer-digits{font-size:56px}.teacher-display-timer-finished-text{font-size:40px}.teacher-display-random-pick-name{font-size:24px}.teacher-display-seat-cell{min-height:100px;height:100px;min-width:68px}.teacher-display-seat-cell-name{font-size:12px}}@keyframes student-detail-progress-pulse{0%{opacity:.82;filter:brightness(.96) saturate(1);box-shadow:0 0 6px #d4a01738}50%{opacity:1;filter:brightness(1.14) saturate(1.08);box-shadow:0 0 16px #d4a01773}to{opacity:.82;filter:brightness(.96) saturate(1);box-shadow:0 0 6px #d4a01738}}@keyframes student-detail-progress-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.student-detail-page{position:relative;min-height:100vh;max-width:900px;width:100%;margin:0 auto;box-sizing:border-box;padding:24px;background:radial-gradient(1200px 680px at 12% 10%,rgba(44,95,106,.2),transparent 58%),radial-gradient(1100px 720px at 88% 8%,rgba(212,160,23,.1),transparent 56%),linear-gradient(180deg,#1a2040,#1a2f35);border-radius:24px;box-shadow:0 4px 12px #0000001a}.student-detail-page .student-detail-content-col{gap:20px!important}.student-detail-page .panel{border-radius:16px;background:linear-gradient(180deg,#141e2ef0,#1a263ae6);border:1px solid rgba(212,160,23,.2);box-shadow:0 4px 12px #0000001f;isolation:isolate}.student-detail-page .panel-inner{color:#fff}.student-detail-page .muted{color:#ffffffc7}.student-detail-page .student-detail-undo-panel{border-radius:16px;box-shadow:0 6px 20px #0000002e}.student-detail-page .student-detail-header-inner{padding-top:4px;padding-bottom:4px}.student-detail-page .student-detail-header-row{width:100%;gap:16px}.student-detail-page .student-detail-header-left{gap:12px;flex-wrap:wrap;min-width:0}.student-detail-page .student-detail-header-actions{flex-shrink:0;margin-left:auto}.student-detail-page .student-detail-header-panel .btn,.student-detail-page .student-detail-hero-panel .btn,.student-detail-page .student-detail-skin-panel .btn,.student-detail-page .student-detail-ledger-panel .btn{font-size:16px;border-radius:8px;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease}.student-detail-page .btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 6px 16px #0000002e}.student-detail-page .btn:active:not(:disabled){transform:translateY(0)}.student-detail-page .btn:disabled{opacity:.72;cursor:not-allowed}.student-detail-page .student-detail-student-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.student-detail-page .student-detail-spirit-level-tag{border-color:#d4a0178c;background:#fffffff5;color:#333;border-radius:999px;font-size:14px;font-weight:700}.student-detail-page .student-detail-hero-inner{padding-top:8px}.student-detail-page .student-detail-spirit-art-row{min-height:220px}.student-detail-page .student-detail-spirit-art-row>*{position:relative}.student-detail-page .student-detail-spirit-art-row>*:before{content:"";position:absolute;inset:50%;width:200px;height:200px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,#d4a0173d,#d4a01714 45%,#d4a01700 72%);filter:blur(4px);pointer-events:none}.student-detail-page .student-detail-spirit-art-row canvas,.student-detail-page .student-detail-spirit-art-row img,.student-detail-page .student-detail-spirit-art-row svg{width:200px;height:200px;position:relative;z-index:1}.student-detail-page .student-detail-spirit-title-row{gap:10px;align-items:center}.student-detail-page .student-detail-spirit-name{color:#d4a017;font-size:18px!important;font-weight:600!important}.student-detail-page .student-detail-growth-copy{font-size:14px;color:#ffffffd1!important}.student-detail-page .student-detail-level-summary{font-size:14px;font-weight:400;line-height:1.5;color:#6e6e73}.student-detail-page .student-detail-evolution-divider{margin:16px 0;border-top:1px solid rgba(0,0,0,.08)}.student-detail-page .student-detail-stats-panel{border:none!important;background:transparent!important;box-shadow:none!important}.student-detail-page .student-detail-stats-panel .panel-inner{padding:0!important}.student-detail-page .student-detail-stats-inner{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:14px;min-width:0}.student-detail-page .student-detail-ledger-list{overflow-y:auto;max-height:360px!important;flex:none!important}.student-detail-page .student-detail-stat-row{min-height:120px;min-width:0;overflow:hidden;word-break:break-all;border-radius:16px;border:1px solid rgba(212,160,23,.22);background:linear-gradient(180deg,#f5e6c81f,#ffffff0f);padding:18px;align-items:center!important;justify-content:center!important;flex-direction:column;margin-top:0!important;box-shadow:0 2px 8px #00000014}.student-detail-page .student-detail-stat-label{color:#ffffffad;font-size:14px;width:100%;text-align:center}.student-detail-page .student-detail-stat-value{color:#d4a017;font-size:36px;font-weight:800!important;line-height:1.1;white-space:normal;max-width:100%;overflow-wrap:anywhere;width:100%;text-align:center}.student-detail-page .student-detail-progress-section{grid-column:1 / -1;margin-top:12px!important}.student-detail-page .student-detail-progress-copy{color:#ffffffb8!important;font-size:14px!important}.student-detail-page .student-detail-progress-fill{border-radius:999px}.student-detail-page .student-detail-progress-fill--low{background:linear-gradient(90deg,#4a90d9,#4a90d9)!important;box-shadow:0 0 10px #4a90d959!important}.student-detail-page .student-detail-progress-fill--mid{background:linear-gradient(90deg,#27ae60,#27ae60)!important;box-shadow:0 0 10px #27ae6052!important}.student-detail-page .student-detail-progress-fill--high{background:linear-gradient(90deg,#c99610,#d4a017 22%,#f1cc63,#d4a017 54%,#f7e09a 68%,#d4a017,#c99610)!important;background-size:200% 100%!important;animation:student-detail-progress-pulse 1.2s ease-in-out infinite,student-detail-progress-shimmer 1.8s linear infinite!important}.student-detail-page .student-detail-skin-panel .panel-inner{padding:16px;gap:0;box-sizing:border-box}.student-detail-page .student-detail-skin-header{flex-wrap:wrap;gap:10px;row-gap:8px}.student-detail-page .student-detail-skin-scroll{padding:10px 10px 12px!important;margin-top:6px!important;border-radius:12px;background:#0000000f;box-sizing:border-box}.student-detail-page .student-detail-skin-grid{gap:10px!important;align-items:stretch}.student-detail-page .student-detail-skin-panel{overflow:visible!important;flex:0 0 360px!important;min-height:360px!important}.student-detail-page .student-detail-skin-panel .panel-inner{overflow:visible!important;padding:10px 10px 16px!important}.student-detail-page .student-detail-skin-card{box-sizing:border-box;min-width:0;margin:0;border:1px solid rgba(255,255,255,.12)!important;background:#ffffff0d!important;box-shadow:0 2px 8px #00000014;isolation:isolate;width:180px!important;height:200px!important;flex:0 0 180px!important;overflow:visible!important;padding:12px!important;display:flex;flex-direction:column;justify-content:space-between;position:relative}.student-detail-page .student-detail-skin-header{gap:8px!important;row-gap:6px!important}.student-detail-page .student-detail-side-col{gap:14px!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;align-self:stretch!important}.student-detail-page .student-detail-ledger-panel{flex:0 1 auto!important;min-height:0!important}.student-detail-page .student-detail-main-grid{display:flex!important;flex-direction:row!important;align-items:stretch!important;height:820px!important;gap:20px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}.student-detail-page .student-detail-main-grid>.student-detail-hero-panel{flex:0 0 40%!important;min-width:0!important}.student-detail-page .student-detail-main-grid>.student-detail-side-col{flex:0 0 60%!important;min-width:0!important}@media (max-width: 980px){.student-detail-page .student-detail-main-grid{flex-direction:column!important}.student-detail-page .student-detail-main-grid>.student-detail-hero-panel,.student-detail-page .student-detail-main-grid>.student-detail-side-col{flex:1 1 auto!important;width:100%!important}}.student-detail-page .student-detail-hero-panel{height:100%;display:flex;flex-direction:column}.student-detail-page .student-detail-hero-panel .student-detail-hero-inner{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.student-detail-page .student-detail-skin-scroll{overflow-x:auto!important;overflow-y:hidden!important;max-height:172px!important;padding:10px 12px 16px!important;margin-top:8px!important;scrollbar-gutter:stable both-edges}.student-detail-page .student-detail-skin-grid{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:20px!important;width:max-content}.student-detail-page .student-detail-skin-card .btn{padding-top:8px;padding-bottom:8px}.student-detail-page .student-detail-skin-card>.row:first-child{align-items:center}.student-detail-page .student-detail-skin-card>.row:first-child>:first-child{font-weight:900;font-size:14px;color:#343a40;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-detail-page .student-detail-skin-card>.row:nth-child(3){justify-content:center!important}.student-detail-page .student-detail-skin-card .badge.brand{position:static!important;inset:auto!important;z-index:auto!important;background:#d4a0171a!important;color:#d4a017!important;border-color:transparent!important;border-radius:6px!important;padding:4px 8px!important;font-size:12px!important;font-weight:600!important;box-shadow:none!important;pointer-events:none;align-self:center}.student-detail-page .student-detail-skin-card>.row:first-child{flex:0 0 auto}.student-detail-page .student-detail-skin-card>.row:nth-child(3){flex:1 1 auto;display:flex;align-items:center}.student-detail-page .student-detail-skin-card>.row:nth-child(3)>*{flex:0 0 auto}.student-detail-page .student-detail-skin-card img,.student-detail-page .student-detail-skin-card canvas,.student-detail-page .student-detail-skin-card svg{max-height:140px}.student-detail-page .student-detail-skin-card>.row:nth-child(3)+div{height:6px!important}.student-detail-page .student-detail-skin-card .btn.primary{padding-top:8px!important;padding-bottom:8px!important}.student-detail-page .student-detail-skin-scroll{height:260px!important;max-height:260px!important;min-height:260px!important;padding-bottom:32px!important}.student-detail-page .student-detail-skin-card{gap:8px}.student-detail-page .student-detail-skin-card>.row:nth-child(3){flex:1 1 auto;min-height:0}.student-detail-page .student-detail-skin-scroll::-webkit-scrollbar{height:6px}.student-detail-page .student-detail-skin-scroll::-webkit-scrollbar-track{background:#e9ecefe6;border-radius:999px}.student-detail-page .student-detail-skin-scroll::-webkit-scrollbar-thumb{background:#d4a01773;border-radius:999px}.student-detail-page .student-detail-skin-scroll::-webkit-scrollbar-thumb:hover{background:#d4a017a6}.student-detail-page .student-detail-itemlib-scroll{scrollbar-width:none;-ms-overflow-style:none}.student-detail-page .student-detail-itemlib-scroll::-webkit-scrollbar{width:0;height:0}.student-detail-page .student-detail-skin-card img,.student-detail-page .student-detail-skin-card canvas,.student-detail-page .student-detail-skin-card svg{max-width:100%;max-height:96px;object-fit:contain;display:block}.student-detail-page .student-detail-hero-inner{position:relative}.student-detail-page .student-detail-claimed-corner{position:absolute;top:12px;right:12px;z-index:3;background:#d4a0171a;color:#d4a017;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;box-shadow:none;pointer-events:none}.student-detail-page .student-detail-skin-card.is-equipped{border:1px solid rgba(212,160,23,.55)!important;box-shadow:0 0 0 1px #d4a0171f,0 4px 14px #0000001f}.student-detail-page .student-detail-skin-card .row{gap:8px}.student-detail-page .student-detail-chain-title{color:#d4a017;font-size:20px;font-weight:800;letter-spacing:.04em}.student-detail-page .student-detail-chain-row{gap:28px;justify-content:center!important;align-items:center;overflow-x:auto;overflow-y:visible;padding:14px 8px 16px;flex-wrap:nowrap;max-width:100%;margin-left:auto;margin-right:auto;-webkit-overflow-scrolling:touch}.student-detail-page .student-detail-chain-item{min-width:0;padding:4px 6px;box-sizing:border-box;flex:0 0 auto!important}.student-detail-page .student-detail-chain-item.is-adjacent .student-detail-chain-art{padding:6px}.student-detail-page .student-detail-chain-art{padding:8px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;box-sizing:border-box;transition:box-shadow .2s ease,border-color .2s ease,outline-color .2s ease;display:flex;align-items:center;justify-content:center}.student-detail-page .student-detail-chain-locked-thumb{width:60px;height:60px;border-radius:8px;background:#f2f2f7;display:grid;place-items:center;font-size:20px;font-weight:700;color:#aeaeb2;flex-shrink:0;box-sizing:border-box}.student-detail-page .student-detail-chain-placeholder{border-radius:8px;background:#f2f2f7;display:grid;place-items:center;font-size:20px;font-weight:700;color:#aeaeb2;flex-shrink:0;box-sizing:border-box;width:60px;height:60px}.student-detail-page .student-detail-chain-placeholder--sized{width:unset;height:unset;min-width:0;min-height:0}.student-detail-page .student-detail-chain-item.is-current .student-detail-chain-art{border:1px solid #d4a017;outline:2px solid rgba(212,160,23,.65);outline-offset:3px;box-shadow:0 6px 18px #d4a01738;transform:none;z-index:1}.student-detail-page .student-detail-chain-item.is-current{z-index:2;position:relative}.student-detail-page .student-detail-chain-item.is-adjacent.is-unlocked .student-detail-chain-art{opacity:.88;filter:grayscale(.35) brightness(.96)}.student-detail-page .student-detail-chain-item.is-adjacent.is-locked .student-detail-chain-art{opacity:.9}.student-detail-page .student-detail-chain-item.is-locked .student-detail-chain-art{background:linear-gradient(180deg,#00000059,#000000b8);border-color:#ffffff14;filter:contrast(.85) brightness(.75)}.student-detail-page .student-detail-chain-lock{color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.75)!important;background:linear-gradient(180deg,#00000047,#0000009e);border-radius:12px}.student-detail-page .student-detail-chain-level{font-size:12px}.student-detail-page .student-detail-chain-item.is-adjacent .student-detail-chain-level{font-size:11px;opacity:.88}.student-detail-page .student-detail-ledger-item{border-radius:16px!important;border-color:#d4a0172e!important;background:linear-gradient(180deg,#f5e6c81a,#ffffff0d)!important;transition:transform .15s ease,box-shadow .2s ease}.student-detail-page .student-detail-ledger-item:hover:not(.is-reversed){transform:translateY(-2px);box-shadow:0 8px 20px #00000024!important;border-color:#d4a01747!important}.student-detail-page .student-detail-ledger-title{color:#fff}.student-detail-page .student-detail-ledger-correction{font-size:12px}.student-detail-page .student-detail-ledger-correction.is-correction{color:#e67e22!important}.student-detail-page .student-detail-ledger-delta.is-positive{color:#27ae60!important}.student-detail-page .student-detail-ledger-delta.is-negative{color:#f53f3f!important}.student-detail-page .student-detail-ledger-meta,.student-detail-page .student-detail-ledger-remark{font-size:14px}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page){position:relative;min-height:100vh;width:100%;background-color:#faf9f6;background-image:none;box-sizing:border-box}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-board-main{flex:1;min-height:0}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-board-main.container{padding-left:0;padding-right:0;width:100%;max-width:1280px;margin-left:auto;margin-right:auto;box-sizing:border-box}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-board-main>.col{width:100%;min-width:0;max-width:none}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .panel{background:#fff!important;border:1px solid rgba(212,160,23,.22)!important;box-shadow:0 4px 12px #00000014!important;border-radius:16px!important}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .panel-inner{background:transparent!important}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .teacher-board-main .muted{color:#6c757d!important}:is(.teacher-board-page,.teacher-ledger-page,.teacher-subscription-page) .panel .panel{background:#faf9f6!important;border:1px solid rgba(212,160,23,.16)!important;box-shadow:0 2px 8px #0000000d!important;border-radius:12px!important}:is(.teacher-ledger-page,.teacher-subscription-page) .panel .btn.primary{background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;border-radius:8px!important;box-shadow:0 2px 10px #0000001f!important;font-weight:700;min-height:40px}:is(.teacher-ledger-page,.teacher-subscription-page) .panel .btn.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 2px 12px #00000024,0 0 18px #d4a01773!important}.teacher-ledger-page .panel-inner{color:#343a40}.teacher-ledger-page .teacher-ledger-undo-banner.panel{background:#fffbeb!important;border:1px solid rgba(212,160,23,.35)!important;box-shadow:0 4px 12px #00000014!important}.teacher-ledger-page .teacher-board-main>.col.teacher-ledger-main-col{gap:12px}.teacher-ledger-page .teacher-board-main.container{padding-left:24px!important;padding-right:24px!important}.teacher-ledger-page .teacher-board-main>.col.teacher-ledger-main-col>.panel,.teacher-ledger-page .teacher-board-main>.col.teacher-ledger-main-col>div>.panel{width:100%}.teacher-ledger-page .panel>.panel-inner{padding:14px 16px!important}.teacher-ledger-page .teacher-ledger-panel-inner--onboarding{padding:14px 16px!important}.teacher-ledger-page .teacher-ledger-panel-inner--templates,.teacher-ledger-page .teacher-ledger-panel-inner--ratio{padding:16px!important}.teacher-ledger-page .teacher-ledger-flow-panel-inner.panel-inner{padding:16px!important;gap:10px;display:flex;flex-direction:column}.teacher-ledger-section-title--large{font-size:1.125rem;font-weight:800;color:#111827}.teacher-ledger-body-text,.teacher-ledger-page .teacher-ledger-body-text{font-size:14px;line-height:1.5;color:#495057!important}.teacher-ledger-section-head{gap:10px;min-width:0}.teacher-ledger-header-actions{flex-wrap:wrap;gap:8px!important;align-items:center;justify-content:flex-end}.teacher-ledger-template-global-actions{flex-shrink:0}.teacher-ledger-page .teacher-ledger-btn-secondary.btn{background:#fff!important;color:#1d1d1f!important;border:1px solid #e5e5ea!important;border-radius:8px!important;font-weight:500;font-size:13px!important;min-height:32px!important;height:32px!important;padding:0 12px!important;box-shadow:none!important}.teacher-ledger-page .teacher-ledger-btn-secondary.btn:hover:not(:disabled){border-color:#e5e5ea!important;background:#f5f5f7!important}.teacher-ledger-page .panel .btn.primary{min-height:36px;padding:8px 14px!important;font-size:13px!important;font-weight:600!important;border-radius:8px!important}.teacher-ledger-page .teacher-ledger-btn-danger-solid.btn.danger{background:transparent!important;border:none!important;color:#c0392b!important;border-radius:6px!important;font-weight:500!important;font-size:13px!important;height:32px!important;min-height:32px!important;padding:0 10px!important;box-shadow:none!important}.teacher-ledger-page .teacher-ledger-btn-danger-solid.btn.danger:hover:not(:disabled){background:#c0392b14!important}.teacher-ledger-help-icon{width:22px;height:22px;border-radius:50%;border:1px solid rgba(52,58,64,.18);display:grid;place-items:center;font-size:12px;font-weight:900;color:#6c757d;cursor:help;background:#f1f3f5;flex:0 0 auto}.teacher-ledger-templates-scroll{--ledger-tpl-row-h: 100px;margin-top:8px;padding-right:4px;overflow-x:hidden;overflow-y:auto;max-height:calc(2 * var(--ledger-tpl-row-h) + 16px);box-sizing:border-box}.teacher-ledger-templates-list{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));grid-auto-rows:var(--ledger-tpl-row-h);gap:16px;width:100%;box-sizing:border-box;align-items:stretch}.teacher-ledger-template-card{width:100%;min-width:160px;height:100%;min-height:100px;max-height:100%;box-sizing:border-box;border-radius:16px;border:1px solid rgba(212,160,23,.2);background:#fdfbf7;box-shadow:0 2px 10px #0000000f;padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;overflow:hidden}.teacher-ledger-template-card-head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;min-width:0}.teacher-ledger-template-name{flex:1 1 auto;min-width:0;font-weight:400;font-size:14px;color:#1d1d1f;line-height:1.35;letter-spacing:.01em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.teacher-ledger-template-dim-tag{flex:0 1 auto;max-width:46%;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.25;text-align:right;color:#d4a017!important;background:#d4a0171a!important;border:none!important;box-shadow:none!important;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-ledger-template-card-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%;min-width:0}.teacher-ledger-page .teacher-ledger-template-card-actions .teacher-ledger-template-btn-use.btn.teacher-ledger-btn-secondary{flex:22 1 0;min-width:0;height:32px!important;min-height:32px!important;padding:0 10px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;background:#fff!important;border:1px solid #e5e5ea!important;color:#1d1d1f!important;box-shadow:none!important;white-space:nowrap}.teacher-ledger-page .teacher-ledger-template-card-actions .teacher-ledger-template-btn-use.btn.teacher-ledger-btn-secondary:hover:not(:disabled){background:#f5f5f7!important;border-color:#e5e5ea!important}.teacher-ledger-template-card-actions .teacher-ledger-template-btn-sub.btn{flex:9 1 0;min-width:0;height:32px!important;min-height:32px!important;padding:0 10px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important}.teacher-ledger-page .teacher-ledger-template-card-actions .teacher-ledger-template-btn-delete.teacher-ledger-btn-secondary.btn{background:transparent!important;border:none!important;color:#c0392b!important;border-radius:6px!important;box-shadow:none!important}.teacher-ledger-page .teacher-ledger-template-card-actions .teacher-ledger-template-btn-delete.teacher-ledger-btn-secondary.btn:hover:not(:disabled){background:#c0392b14!important}.teacher-ledger-ratio-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.teacher-ledger-ratio-row{align-items:center;gap:8px!important;box-sizing:border-box;min-height:44px;height:44px;padding:0 8px;border-radius:0;border:none;border-bottom:1px solid #f2f2f7;background:transparent}.teacher-ledger-ratio-row:last-child{border-bottom:none}.teacher-ledger-ratio-name{flex:1 1 auto;min-width:0;font-weight:400;font-size:14px;color:#1d1d1f;line-height:1.35}.teacher-ledger-ratio-controls{gap:8px!important;flex-shrink:0}.teacher-ledger-page .teacher-ledger-input-number.input{width:80px;max-width:100%;font-size:14px!important;font-weight:400!important;padding:6px 10px!important;min-height:32px;height:32px;border-radius:8px;border:1px solid rgba(52,58,64,.2);background:#fff;color:#1d1d1f!important;box-shadow:inset 0 1px 2px #0000000a}.teacher-ledger-ratio-controls .teacher-ledger-btn-danger-solid{width:76px!important;justify-content:center!important;text-align:center!important}.teacher-ledger-hint-text{margin-top:10px;font-size:13px!important;font-weight:400!important;line-height:1.45!important;color:#6e6e73!important;text-decoration:none!important}.teacher-ledger-hint-text a{color:inherit!important;text-decoration:none!important}.teacher-ledger-readonly-badge{margin-top:0}.teacher-ledger-page .teacher-ledger-grid2.grid2{gap:16px;align-items:stretch}.teacher-ledger-page .teacher-ledger-grid2>.teacher-ledger-ratio-panel.panel,.teacher-ledger-page .teacher-ledger-grid2>.panel{height:100%;min-height:0;align-self:stretch;display:flex;flex-direction:column}.teacher-ledger-page .teacher-ledger-grid2>.panel>.panel-inner{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.teacher-ledger-page .teacher-ledger-grid2>.panel .teacher-ledger-panel-inner--ratio{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.teacher-ledger-page .teacher-ledger-grid2>.teacher-ledger-ratio-panel.panel>.panel-inner.teacher-ledger-panel-inner--ratio{height:100%}.teacher-ledger-page .teacher-ledger-panel-inner--ratio .teacher-ledger-ratio-list{flex:1 1 auto}.teacher-ledger-flow-filters{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:center;margin-top:4px;margin-bottom:12px}.teacher-ledger-flow-filter-fields,.teacher-ledger-flow-export-actions{display:flex;align-items:center;gap:8px;min-width:0}.teacher-ledger-flow-filter-fields{flex:1 1 auto}.teacher-ledger-flow-export-actions{flex:0 0 auto;margin-left:auto}.teacher-ledger-flow-scroll-hint{display:none}.teacher-ledger-flow-table-scroll{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.teacher-ledger-flow-table-scroll:focus-visible{outline:2px solid #d4a017;outline-offset:-2px}@media (max-width: 820px){.teacher-ledger-page{overflow-x:hidden}.teacher-ledger-flow-filters{flex-direction:column;align-items:stretch;width:100%}.teacher-ledger-flow-filter-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.teacher-ledger-page .teacher-ledger-select.input,.teacher-ledger-page .teacher-ledger-input-search.input{grid-column:1 / -1}.teacher-ledger-page .teacher-ledger-select.input,.teacher-ledger-page .teacher-ledger-input-date.input,.teacher-ledger-page .teacher-ledger-input-search.input{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box}.teacher-ledger-flow-export-actions{width:100%;margin-left:0}.teacher-ledger-flow-export-actions .btn{flex:1 1 0}.teacher-ledger-flow-list-wrap{overflow-x:hidden;padding-right:0}.teacher-ledger-flow-scroll-hint{display:block;padding:8px 12px;border-bottom:1px solid #e5e5ea;color:#6e6e73;font-size:12px;text-align:right}}.teacher-ledger-flow-filter-row.grid2{gap:10px}.teacher-ledger-page .teacher-ledger-field-label{font-size:13px!important;font-weight:400!important;color:#6e6e73!important;line-height:1.35;margin-bottom:2px}.teacher-ledger-page .teacher-ledger-select.input,.teacher-ledger-page .teacher-ledger-input-date.input,.teacher-ledger-page .teacher-ledger-input-search.input{width:auto!important;font-size:14px!important;height:40px!important;min-height:40px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid #E5E5EA!important;background:#fff!important;color:#1d1d1f!important;box-shadow:none!important}input[type=date]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,sans-serif;font-size:14px;color:#1d1d1f}input[type=date]:not(:valid){color:#aeaeb2}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.teacher-ledger-page .teacher-ledger-input-date.input:focus{outline:none!important;border-color:#d4a017!important;box-shadow:0 0 0 3px #d4a01733!important}.teacher-ledger-flow-list-wrap{gap:8px}.teacher-ledger-modal.teacher-ledger-modal--pick{width:min(560px,100%)!important}.teacher-ledger-modal--pick input[type=checkbox].teacher-ledger-checkbox{appearance:none!important;-webkit-appearance:none!important;width:18px!important;min-width:18px!important;height:18px!important;border-radius:5px!important;border:1.5px solid #e5e5ea!important;background:#fff!important;background-color:#fff!important;display:inline-grid!important;place-items:center!important;cursor:pointer!important;transition:all .15s ease!important;flex:0 0 auto;margin:0!important;box-sizing:border-box!important}.teacher-ledger-modal--pick input[type=checkbox].teacher-ledger-checkbox:hover{border-color:#d4a017!important}.teacher-ledger-modal--pick input[type=checkbox].teacher-ledger-checkbox:checked{background:#d4a017!important;background-color:#d4a017!important;border-color:#d4a017!important}.teacher-ledger-modal.teacher-ledger-modal--template{width:min(480px,100%)!important}.teacher-ledger-student-list{max-height:360px;overflow:auto;border:1px solid #E5E5EA;border-radius:14px;background:#fff}.teacher-ledger-student-row{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid #f2f2f7;cursor:pointer;user-select:none}.teacher-ledger-student-row:last-child{border-bottom:none}.teacher-ledger-student-row.is-checked{background:#d4a01714}.teacher-ledger-student-name{font-weight:600;color:#1d1d1f}.teacher-ledger-student-seat{margin-left:auto;font-size:13px}.btn.teacher-ledger-btn-secondary-sm{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;background:#fff!important;border:1px solid #E5E5EA!important;color:#1d1d1f!important;box-shadow:none!important;transform:none!important}.btn.teacher-ledger-btn-secondary-sm:hover:not(:disabled){background:#f5f5f7!important}.teacher-ledger-batch-toolbar--split{align-items:center!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto;padding-bottom:2px}.teacher-ledger-batch-toolbar-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.teacher-ledger-batch-toolbar-divider{width:0;height:16px;align-self:center;border-left:1px solid #e5e5ea;flex-shrink:0;background:transparent}.modal-surface.teacher-ledger-modal--batch label.btn.teacher-ledger-batch-toolbar-btn,.modal-surface.teacher-ledger-modal--batch .btn.teacher-ledger-batch-toolbar-btn{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;color:#1d1d1f!important;background:#fff!important;background-color:#fff!important;border:1px solid #e5e5ea!important;box-shadow:none!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.modal-surface.teacher-ledger-modal--batch label.btn.teacher-ledger-batch-toolbar-btn:hover,.modal-surface.teacher-ledger-modal--batch .btn.teacher-ledger-batch-toolbar-btn:hover:not(:disabled){background:#f5f5f7!important;background-color:#f5f5f7!important}.teacher-ledger-modal--batch table th{color:#6e6e73!important;font-size:13px!important;font-weight:600!important}.teacher-ledger-modal--batch table td{font-size:14px!important}.teacher-ledger-modal--batch table th,.teacher-ledger-modal--batch table td{padding:10px!important;border-bottom:1px solid #E5E5EA!important}.teacher-ledger-flow-list-wrap{display:grid;gap:0;min-height:0;overflow-y:auto;padding-right:4px;flex:1;background:#fff;border:1px solid #E5E5EA;border-radius:14px}.teacher-ledger-flow-empty-shell{grid-column:1 / -1;width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.teacher-ledger-flow-empty{margin:0;font-size:14px;font-weight:400;line-height:1.45;color:#aeaeb2!important;text-align:center}.teacher-ledger-flow-item{border-radius:0;border:none;border-bottom:1px solid #E5E5EA;background:transparent;padding:10px 12px}.teacher-ledger-flow-item:last-child{border-bottom:none}.teacher-ledger-flow-item.is-reversed{opacity:.58}.teacher-ledger-flow-item-head{align-items:flex-start;gap:8px!important}.teacher-ledger-flow-item-date{font-weight:800;font-size:14px;color:#212529}.teacher-ledger-page .teacher-ledger-flow-item-date{font-weight:600;font-size:14px;color:#1d1d1f}.teacher-ledger-flow-item-flag{font-size:13px!important;color:#6c757d!important}.teacher-ledger-page .teacher-ledger-flow-item-flag{font-size:13px!important;font-weight:400!important;color:#6e6e73!important}.teacher-ledger-page .teacher-ledger-flow-item-meta,.teacher-ledger-page .teacher-ledger-flow-item-remark,.teacher-ledger-page .teacher-ledger-flow-item-time{font-size:14px!important;font-weight:400!important;color:#1d1d1f!important}.teacher-ledger-delta{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.teacher-ledger-page .teacher-ledger-delta{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.teacher-ledger-delta--positive{color:#b45309!important}.teacher-ledger-delta--negative{color:#c53030!important}.teacher-ledger-flow-item-meta,.teacher-ledger-flow-item-remark{margin-top:6px;font-size:13px!important;line-height:1.6!important;color:#495057!important}.teacher-ledger-flow-item-time{margin-top:6px;font-size:12px!important;line-height:1.6!important;color:#6c757d!important}.teacher-ledger-modal--pick .input{background:#fff!important}.teacher-ledger-modal--batch textarea.input{border:1px solid #E5E5EA!important;background:#fff!important}.teacher-ledger-modal--batch textarea.input:focus{border-color:#d4a017!important;box-shadow:0 0 0 3px #d4a01733!important}.teacher-ledger-modal--batch table{border-collapse:collapse!important}.teacher-ledger-modal--batch table thead tr{background:#f5f5f7!important}.teacher-ledger-modal--batch table th{color:#6e6e73!important;font-size:13px!important;font-weight:600!important;border-bottom:1px solid #E5E5EA!important}.teacher-ledger-modal--batch table td{font-size:14px!important;border-bottom:1px solid #F2F2F7!important}.teacher-ledger-modal--batch table tbody tr:last-child td{border-bottom:none!important}.teacher-ledger-flow-reversed{margin-top:8px;align-self:flex-start}.teacher-subscription-page .panel-inner{color:#343a40}.teacher-subscription-page .teacher-board-section-title{font-weight:800;color:#111827;letter-spacing:.01em}.teacher-subscription-page .teacher-board-main.container.teacher-settings-content{max-width:880px;margin-left:auto;margin-right:auto;padding-top:32px;padding-bottom:32px;box-sizing:border-box}.teacher-settings-main-title{margin:0 0 24px;font-size:24px;font-weight:700;color:#1d1d1f;line-height:1.3}.teacher-settings-class-card{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:24px;box-shadow:var(--cs-shadow-card);box-sizing:border-box}.teacher-settings-class-card__title{margin:0 0 8px;font-size:16px;font-weight:600;color:#1d1d1f}.teacher-settings-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}.teacher-settings-setting-label{flex-shrink:0;font-size:14px;color:#6e6e73}.teacher-settings-setting-value{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;text-align:right}.teacher-settings-setting-text{font-size:14px;color:#1d1d1f;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-settings-link-btn{flex-shrink:0;appearance:none;border:none;background:transparent;padding:0;margin:0;font-family:inherit;font-size:13px;font-weight:600;color:#d4a017;cursor:pointer;line-height:1.2}.teacher-settings-link-btn:hover{text-decoration:underline}.teacher-settings-setting-divider{height:1px;margin:0;border:none;background:#e5e5ea}.teacher-settings-subscribe-block{margin:0}.teacher-settings-subscribe-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#1d1d1f;line-height:1.3}.teacher-settings-subscribe-status{margin:0 0 24px;font-size:14px;color:#6e6e73;line-height:1.5}.teacher-settings-inline-error{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:#c0392b14;color:#c0392b;font-size:13px;font-weight:600}.teacher-subscription-page__pricing-row.landing-page__pricing-row{max-width:800px;margin-left:auto;margin-right:auto;align-items:stretch}.teacher-subscription-page .teacher-subscription-page__price-card.landing-page__price-card{height:100%;display:flex;flex-direction:column;box-sizing:border-box}.teacher-subscription-page .teacher-subscription-page__price-card .landing-page__btn--price-secondary,.teacher-subscription-page .teacher-subscription-page__price-card .landing-page__btn--price-gold{margin-top:auto}.teacher-subscription-page .landing-page__price-card--light .landing-page__price-list--green,.teacher-subscription-page .landing-page__price-card--light .landing-page__price-list--green li{font-size:14px;color:#6a994e}.teacher-subscription-page .landing-page__price-card--light .landing-page__price-list--green li:before{color:#6a994e;font-size:14px}.teacher-subscription-page .landing-page__price-line.teacher-subscription-page__price-line{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:nowrap;gap:8px}.teacher-subscription-page .landing-page__price-line .landing-page__price-unit{margin-left:auto;align-self:flex-end;padding-bottom:6px}.teacher-subscription-page .landing-page__price-badge.teacher-subscription-page__price-badge{top:0;right:0;transform:none;border-radius:0 20px 0 8px;padding:4px 12px;font-size:12px;font-weight:600;color:#fff;background:#d4a017}.teacher-subscription-page .landing-page__btn--price-secondary.teacher-subscription-page__price-cta,.teacher-subscription-page .landing-page__btn--price-gold.teacher-subscription-page__price-cta{height:44px;border-radius:10px;font-size:15px}.teacher-subscription-page .landing-page__btn--price-gold.teacher-subscription-page__price-cta--gold{color:#fff}.teacher-settings-bottom-notes{margin-top:24px;text-align:center}.teacher-settings-bottom-notes p{margin:0;font-size:13px;font-weight:400;color:#aeaeb2;line-height:1.6}.teacher-settings-bottom-notes p+p{margin-top:16px}.teacher-subscription-page .teacher-display-toolbar .teacher-display-hint{font-size:13px;font-weight:400;line-height:1.45;color:#fff9}.teacher-board-page .teacher-board-section-title{font-size:16px;font-weight:600;color:#1d1d1f;letter-spacing:.01em;line-height:1.35}.teacher-board-welcome-title{font-size:16px;font-weight:600;color:#1d1d1f;line-height:1.35}.teacher-board-welcome-lead{margin:0;font-size:14px;font-weight:400;color:#6e6e73;line-height:1.5}.teacher-board-overall-avg{font-size:13px;font-weight:400;color:#6e6e73;line-height:1.35;white-space:nowrap}.teacher-board-panel-hint{margin-top:6px;font-size:13px;font-weight:400;color:#6e6e73;line-height:1.5}.teacher-board-top3-student-name{font-size:14px;font-weight:600;color:#1d1d1f;line-height:1.35}.teacher-board-empty-state{font-size:14px;font-weight:400;color:#aeaeb2;line-height:1.45}.teacher-board-increment{margin-top:8px;font-size:13px;font-weight:400;color:#6e6e73;line-height:1.35}.teacher-board-increment-prefix{color:#6e6e73}.teacher-board-increment-value{font-size:14px;font-weight:600;color:#1d1d1f;line-height:1.35}.teacher-board-page .panel-inner.teacher-board-time-mode{padding:9px 12px!important}.teacher-board-page .teacher-board-time-mode-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px}.teacher-board-page .teacher-board-time-mode-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:0}.teacher-board-page .teacher-board-time-mode-current{font-size:13px!important;font-weight:400!important;line-height:1.35!important;color:#aeaeb2!important;text-align:right;margin-left:auto;flex:1 1 12rem;min-width:0}.teacher-board-page .teacher-board-tab{font-size:14px;font-weight:400;color:#6e6e73}.teacher-board-page .teacher-board-tab.is-active{font-weight:600;color:#1d1d1f}.teacher-board-page .panel-inner.teacher-board-welcome-banner{border-left:4px solid #d4a017;box-sizing:border-box}.teacher-board-page .teacher-board-welcome-close.btn.ghost{color:#6e6e73!important}.teacher-board-page .teacher-board-welcome-close.btn.ghost:hover:not(:disabled){color:#3a3a3c!important}.teacher-board-top3-split{align-items:stretch}.teacher-board-top3-split .teacher-board-top3-column{height:100%;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}.teacher-board-top3-split .teacher-board-top3-inner{height:100%;flex:1 1 auto;min-height:0;box-sizing:border-box}.teacher-board-top3-level-tag{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.35;color:#d4a017;background:#d4a0171a;box-sizing:border-box}.teacher-board-top3-spirit-placeholder{width:60px;height:60px;border-radius:8px;background:#f2f2f7;display:grid;place-items:center;flex-shrink:0;font-size:20px;font-weight:600;color:#aeaeb2;line-height:1;box-sizing:border-box}.teacher-board-top3-spirit-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0;display:block}.teacher-board-page .teacher-board-time-mode .btn:not(.primary){border:1px solid rgba(52,58,64,.22)!important;background:#fff!important;color:#343a40!important;box-shadow:none!important;border-radius:4px!important;min-height:28px;padding:4px 12px!important;font-size:13px;font-weight:700}.teacher-board-page .teacher-board-time-mode .btn:not(.primary):hover{border-color:#d4a01773!important;background:#f8f9faf2!important}.teacher-board-page .teacher-board-time-mode .btn:not(.primary):active{filter:brightness(.97)}.teacher-board-page .teacher-board-time-mode .btn.primary{background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;border-radius:4px!important;box-shadow:0 1px 6px #0000001a!important;min-height:28px;padding:4px 12px!important;font-size:13px;font-weight:700}.teacher-board-page .teacher-board-time-mode .btn.primary:hover{filter:brightness(1.06);box-shadow:0 2px 10px #0000001f,0 0 14px #d4a01766!important}.teacher-board-page .teacher-board-time-mode .btn.primary:active{filter:brightness(.98);box-shadow:0 1px 6px #0000001a!important}.teacher-board-top3-column{background:#fff!important;border:1px solid rgba(212,160,23,.18)!important;border-radius:16px!important;box-shadow:0 2px 8px #0000000f!important;overflow:hidden}.teacher-board-top3-inner{padding:16px}.teacher-board-mini-card{border-radius:12px;border:1px solid rgba(212,160,23,.16);background:#fff;box-shadow:0 2px 8px #0000000d;padding:12px;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.teacher-board-mini-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.student-detail-page{background:#faf9f6!important;background-image:none!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:stretch;max-width:900px!important;width:100%!important;margin:0 auto!important;box-sizing:border-box!important;padding:24px!important}.student-detail-page .student-detail-header-left .btn.ghost.student-detail-back-btn{display:inline-flex!important;align-items:center!important;gap:4px!important}.student-detail-page .student-detail-back-btn:before{content:"←";font-weight:700;line-height:1}.student-detail-page .student-detail-itemlib-scroll{background:#fff!important}.student-detail-page .panel{background:transparent!important;border:1px solid rgba(212,160,23,.22)!important;box-shadow:0 4px 12px #00000014!important}.student-detail-page .panel-inner{color:#343a40!important}.student-detail-page .muted{color:#343a40ad!important}.student-detail-page .student-detail-student-name{color:#343a40!important;text-shadow:none!important;font-size:24px!important;font-weight:900!important}.student-detail-page .student-detail-spirit-level-tag{display:none!important}.student-detail-page .student-detail-growth-copy{color:#343a40!important;font-size:16px!important;font-weight:700!important}.student-detail-page .student-detail-level-summary{font-size:14px!important;font-weight:400!important;line-height:1.5!important;color:#6e6e73!important}.student-detail-page .student-detail-spirit-name{color:#d4a017!important;font-size:18px!important;font-weight:600!important}.student-detail-page .student-detail-spirit-name--pending{color:#6e6e73!important}.student-detail-page .student-detail-spirit-art-row{min-height:220px!important}.student-detail-page .student-detail-spirit-art-row>*:before{width:220px!important;height:220px!important;background:radial-gradient(circle,#d4a0172e,#d4a01714 42%,#d4a01700 72%)!important}.student-detail-page .student-detail-spirit-art-row canvas,.student-detail-page .student-detail-spirit-art-row img,.student-detail-page .student-detail-spirit-art-row svg{width:220px!important;height:220px!important}.student-detail-page .student-detail-header-actions .btn.student-detail-shop-btn{background:#fff!important;border:1px solid #d4a017!important;color:#d4a017!important;box-shadow:none!important;border-radius:10px!important;height:36px!important;min-height:36px!important;padding:0 16px!important;box-sizing:border-box!important;line-height:1!important}.student-detail-page .student-detail-header-actions .btn.student-detail-shop-btn:hover:not(:disabled){background:#d4a0170f!important;filter:none!important;transform:none!important;box-shadow:none!important}.student-detail-page .student-detail-stats-panel{background:transparent!important;border:none!important;box-shadow:none!important}.student-detail-page .student-detail-stat-row{min-width:0;overflow:hidden;word-break:break-all;background:#f8f9facc!important;border:1px solid rgba(212,160,23,.22)!important;box-shadow:0 4px 12px #00000014!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}.student-detail-page .student-detail-stat-label{color:#343a40!important;font-size:14px!important;font-weight:700!important;width:100%;text-align:center}.student-detail-page .student-detail-stat-value{color:#d4a017!important;font-size:36px;font-weight:900!important;white-space:normal;max-width:100%;overflow-wrap:anywhere;width:100%;text-align:center}.student-detail-page .student-detail-stat-value.student-detail-stat-value--zero{color:#aeaeb2!important}.student-detail-page .student-detail-progress-copy{color:#343a40!important;font-size:14px!important;font-weight:700!important}.student-detail-page .student-detail-progress-track{height:16px!important;background:#ede8dc!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:12px!important;margin-top:8px!important}.student-detail-page .student-detail-progress-fill--low{background:#82c3ec!important;box-shadow:none!important;animation:none!important}.student-detail-page .student-detail-progress-fill--mid{background:#6a994e!important;box-shadow:none!important;animation:none!important}.student-detail-page .student-detail-progress-fill--high{background:#d4a017!important;box-shadow:none!important;animation:student-detail-progress-pulse 1.2s ease-in-out infinite,student-detail-progress-shimmer 1.8s linear infinite!important}@keyframes student-detail-progress-pulse{0%{opacity:.65;filter:brightness(1) saturate(1)}50%{opacity:1;filter:brightness(1.2) saturate(1.05)}to{opacity:.65;filter:brightness(1) saturate(1)}}@keyframes student-detail-progress-shimmer{0%{opacity:.7;filter:brightness(1) saturate(1)}50%{opacity:1;filter:brightness(1.25) saturate(1.1)}to{opacity:.7;filter:brightness(1) saturate(1)}}.student-detail-page .student-detail-chain-title{color:#d4a017!important}.student-detail-page .student-detail-chain-row{gap:28px!important;justify-content:center!important;overflow:visible!important;padding-left:0!important;padding-right:0!important}.student-detail-page .student-detail-chain-level{display:none!important}.student-detail-page .student-detail-chain-art{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.student-detail-page .student-detail-chain-item.is-current .student-detail-chain-art{border:1px solid #D4A017!important;outline:2px solid rgba(212,160,23,.45)!important;outline-offset:3px!important}.student-detail-page .student-detail-chain-item.is-adjacent.is-unlocked .student-detail-chain-art{opacity:.88!important;filter:grayscale(.35) brightness(.98)!important}.student-detail-page .student-detail-chain-item.is-locked .student-detail-chain-art{opacity:.88!important}.student-detail-page .student-detail-chain-lock{background:transparent!important;color:#343a40!important;text-shadow:none!important;border:1px solid rgba(212,160,23,.22)!important}.student-detail-page .student-detail-skin-scroll{background:transparent!important}.student-detail-page .student-detail-skin-card{background:transparent!important;border:1px solid rgba(212,160,23,.18)!important;box-shadow:0 4px 12px #00000014!important}.student-detail-page .student-detail-skin-card.is-equipped{border:1px solid rgba(212,160,23,.7)!important;box-shadow:0 0 0 1px #d4a0171f!important}.student-detail-page .student-detail-skin-card .badge.brand{background:#d4a0171a!important;color:#d4a017!important;border-color:transparent!important}.student-detail-page .student-detail-skin-card .btn.primary{background:#d4a017!important;border:1px solid #D4A017!important;color:#fff!important;border-radius:8px!important}.student-detail-page .student-detail-skin-card .btn.primary:hover:not(:disabled){filter:brightness(1.06)!important;box-shadow:0 0 22px #d4a01759!important}.student-detail-page .student-detail-ledger-item{background:#f8f9facc!important;border:1px solid rgba(212,160,23,.18)!important;box-shadow:0 4px 12px #00000014!important}.student-detail-page .student-detail-ledger-item:hover:not(.is-reversed){box-shadow:0 8px 20px #0000001a!important}.student-detail-page .student-detail-ledger-title{color:#343a40!important}.student-detail-page .student-detail-ledger-correction.is-correction{color:#f8c8dc!important}.student-detail-page .student-detail-ledger-delta.is-positive{color:#6a994e!important}.student-detail-page .student-detail-ledger-delta.is-negative{color:#e74c3c!important}.student-detail-page .student-detail-teacher-entry-panel{display:none!important}.landing-page{min-height:100vh;background:#fff;color:#1d1d1f;box-sizing:border-box;overflow-x:hidden}.landing-page__nav{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;display:flex;align-items:center;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #e5e5ea;box-sizing:border-box}.landing-page__nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-page__nav-brand{display:flex;align-items:center;gap:10px;min-width:0}.landing-page__nav-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0}.landing-page__nav-title{font-size:16px;font-weight:600;color:#1d1d1f;white-space:nowrap}.landing-page__nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.landing-page__nav-link{border:none;background:none;padding:8px 4px;font-size:14px;color:#6e6e73;cursor:pointer;font-family:inherit}.landing-page__nav-link:hover{color:#1d1d1f}.landing-page__btn{border:none;cursor:pointer;font-family:inherit;box-sizing:border-box}.landing-page__btn--nav-secondary{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7!important}.landing-page__btn--nav-secondary:hover{background:#f5f5f7}.landing-page__btn--nav-primary{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;color:#fff;background:#d4a017}.landing-page__btn--nav-primary:hover{filter:brightness(1.05)}.landing-page__main{padding-top:64px}.landing-page__hero{min-height:calc(100vh - 64px);display:flex;align-items:center;padding:0 48px;box-sizing:border-box}.landing-page__hero-inner{max-width:1400px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:64px}.landing-page__hero-copy{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;align-self:stretch;gap:20px}.landing-page__pill{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:6px;font-size:13px;color:#d4a017;background:#d4a0171a}.landing-page__hero-h1{margin:0;font-size:56px;font-weight:700;line-height:1.2;color:#1d1d1f;letter-spacing:-.02em}.landing-page__hero-lead{margin:0;font-size:18px;font-weight:400;line-height:1.6;color:#6e6e73;max-width:440px}.landing-page__hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.landing-page__btn--hero-primary{height:48px;padding:0 24px;border-radius:12px;font-size:16px;font-weight:600;color:#fff;background:#d4a017}.landing-page__btn--hero-primary:hover{filter:brightness(1.05)}.landing-page__btn--ghost{padding:12px 8px;font-size:16px;color:#6e6e73;background:transparent}.landing-page__btn--ghost:hover{color:#1d1d1f}.landing-page__hero-note{margin:0;font-size:13px;color:#aeaeb2}.landing-page__hero-visual{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;align-self:stretch}.landing-page__hero-img{width:100%;max-width:680px;height:auto;background:transparent;border:none;border-radius:0;box-shadow:none;display:block;animation:none}.landing-page__section{padding-top:60px;padding-bottom:60px;box-sizing:border-box}.landing-page__section#features{padding-top:60px;padding-bottom:60px}.landing-page__section--muted{background:#f5f5f7}.landing-page__section--pricing{padding-bottom:0}.landing-page__section--register{padding:60px 24px 80px}.landing-page__container{max-width:1200px;margin:0 auto;padding:0 48px}.landing-page__section-head{text-align:center;margin-bottom:48px}.landing-page__section-kicker{display:block;font-size:13px;font-weight:600;color:#d4a017;margin-bottom:8px}.landing-page__section-title{margin:0 0 8px;font-size:24px;font-weight:600;color:#1d1d1f}.landing-page__section-sub{margin:0;font-size:14px;color:#6e6e73;line-height:1.5}.landing-page__feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-page__feature-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 1px 3px #0000000f;transition:transform .3s ease,box-shadow .3s ease}.landing-page__feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.landing-page__feature-img-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:20px;background:#fff;border-radius:12px;min-height:160px}.landing-page__feature-img-wrap img{width:160px;height:160px;object-fit:contain;border-radius:12px;background:transparent;display:block}.landing-page__feature-h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#1d1d1f;text-align:center}.landing-page__feature-desc{margin:0;font-size:14px;line-height:1.6;color:#6e6e73;text-align:center}.landing-page__demo-visual{max-width:900px;width:100%;margin:0 auto}.landing-page__demo-img{width:100%;max-width:900px;height:auto;display:block;margin:0 auto;border-radius:16px;box-shadow:0 20px 60px #0000001a}.landing-page__pricing-row{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:720px;margin:0 auto}.landing-page__price-card{flex:1 1 280px;max-width:348px;border-radius:20px;padding:32px;box-sizing:border-box;position:relative}.landing-page__price-card--light{background:#fff;box-shadow:0 1px 3px #0000000f}.landing-page__price-card--dark{background:#1d1d1f;color:#fff}.landing-page__price-badge{position:absolute;top:0;right:24px;transform:translateY(-50%);padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:#d4a017}.landing-page__price-label{font-size:14px;color:#6e6e73;margin-bottom:8px}.landing-page__price-label--on-dark{color:#fff9}.landing-page__price-line{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.landing-page__price-num{font-size:48px;font-weight:700;color:#1d1d1f;line-height:1}.landing-page__price-num--on-dark{color:#fff}.landing-page__price-unit{font-size:14px;color:#6e6e73}.landing-page__price-unit--on-dark{color:#fff9}.landing-page__price-save{margin:0 0 20px;font-size:13px;color:#d4a017}.landing-page__price-list{list-style:none;margin:0 0 24px;padding:0;font-size:14px;line-height:1.8}.landing-page__price-list li:before{content:"✓ "}.landing-page__price-list--green{color:#6a994e}.landing-page__price-list--gold{color:#d4a017}.landing-page__btn--price-secondary{width:100%;height:48px;border-radius:12px;font-size:16px;font-weight:600;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7}.landing-page__btn--price-secondary:hover{background:#f5f5f7}.landing-page__btn--price-gold{width:100%;height:48px;border-radius:12px;font-size:16px;font-weight:600;color:#1d1d1f;background:#d4a017}.landing-page__btn--price-gold:hover{filter:brightness(1.05)}.landing-page__pricing-footnote{text-align:center;margin:32px 0 0;font-size:13px;color:#aeaeb2}.landing-page__register-card{max-width:480px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 20px 60px #00000014;padding:48px;box-sizing:border-box}.landing-page__register-logo{display:block;margin:0 auto 24px;width:40px;height:40px;object-fit:contain}.landing-page__register-title{margin:0 0 8px;font-size:24px;font-weight:600;text-align:center;color:#1d1d1f}.landing-page__register-sub{margin:0 0 32px;font-size:14px;text-align:center;color:#6e6e73}.landing-page__register-fields{display:flex;flex-direction:column;gap:16px}.landing-page__input{width:100%;height:48px;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #d2d2d7;background:#fff;color:#1d1d1f;font-size:16px;line-height:normal;box-sizing:border-box;font-family:inherit;-webkit-appearance:none;appearance:none}.landing-page__input:focus{outline:none;border-color:#d4a017;box-shadow:0 0 0 3px #d4a01733}.landing-page__input::placeholder{color:#aeaeb2}.landing-page__code-row{display:flex;gap:12px;align-items:stretch}.landing-page__input--flex{flex:1 1 auto;min-width:0;min-height:48px}.landing-page .landing-page__btn-code.btn.primary{flex-shrink:0;height:48px;min-height:48px;padding:0 16px;border-radius:12px!important;font-size:14px;font-weight:600;background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;white-space:nowrap;box-sizing:border-box}.landing-page .landing-page__btn-code.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.landing-page__channel{display:none;font-size:12px;color:#6e6e73;align-self:flex-start}.landing-page__demo-code{font-size:13px;color:#6e6e73;padding:8px 12px;background:#0000000a;border-radius:8px}.landing-page__register-demo-note{margin:0;font-size:12px;line-height:1.5;color:#86868b;align-self:flex-start}.landing-page__toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;max-width:min(520px,92vw);padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 28px #0000002e;background:#1d1d1f;color:#fff}.landing-page__toast--success{background:#1a4d2e}.landing-page__toast--error{background:#6b1c1c}.landing-page__toast-close{margin-left:auto;border:none;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.85;padding:0 4px}.landing-page__toast-close:hover{opacity:1}.landing-page__error{font-size:14px;color:#c0392b}.landing-page .landing-page__btn-register.btn.primary{width:100%;height:48px;min-height:48px;justify-content:center;border-radius:12px!important;padding:0 24px!important;font-size:16px;font-weight:600;background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;box-sizing:border-box}.landing-page .landing-page__btn-register.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.landing-page__legal{margin:24px 0 0;font-size:12px;text-align:center;color:#aeaeb2;line-height:1.5}.landing-page__legal-link{color:#86868b;text-decoration:underline;text-underline-offset:2px}.landing-page__legal-link:hover{color:#1d1d1f}.legal-doc-page{min-height:100vh;box-sizing:border-box;background:#fff;color:#1d1d1f;font-family:inherit}.legal-doc-page__inner{max-width:760px;margin:0 auto;padding:48px 24px 56px;box-sizing:border-box}.legal-doc-page__header{margin-bottom:32px}.legal-doc-page__title{margin:0;font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:#1d1d1f}.legal-doc-page__meta{margin:10px 0 0;font-size:14px;line-height:1.5;color:#6e6e73}.legal-doc-page__article{margin:0}.legal-doc-page__section{margin-top:28px}.legal-doc-page__section:first-child{margin-top:0}.legal-doc-page__h2{margin:0 0 10px;font-size:17px;font-weight:600;line-height:1.35;color:#1d1d1f}.legal-doc-page__p{margin:0;font-size:15px;font-weight:400;line-height:1.65;color:#3c3c43}.legal-doc-page__link{color:#b8890f;text-decoration:underline;text-underline-offset:2px}.legal-doc-page__link:hover{color:#d4a017}.legal-doc-page__actions{margin-top:40px;padding-top:8px}.legal-doc-page__back-btn{min-width:96px}.landing-page__footer{background:#1d1d1f;padding:40px 24px;color:#fff}.landing-page__footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.landing-page__footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.landing-page__footer-left-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:#fff6}.landing-page__footer-logo{width:20px;height:20px;object-fit:contain}.landing-page__footer-brand{color:#ffffffd9;font-weight:500}.landing-page__footer-copy{color:#fff6}.landing-page__footer-link{font-size:13px;color:#fff6;text-decoration:none}.landing-page__footer-link:hover{color:#ffffffbf}.landing-page__footer-contact{font-size:13px;color:#fff6}.landing-page__footer-contact-link{color:#fff6}.landing-page__footer-contact-link:hover{color:#ffffffbf}.teacher-toolbar-bell-popover{display:flex;flex-direction:column;gap:6px}.teacher-toolbar-bell-popover-title{font-size:12px;color:#fffffff2}.teacher-toolbar-bell-contact{font-size:12px;color:#ffffffc2}.teacher-toolbar-bell-contact-link{color:#ffffffd1}.teacher-toolbar-bell-contact-link:hover{color:#fffffffa}@media (max-width: 1024px){.landing-page__hero{min-height:calc(100vh - 64px);padding:0 32px}.landing-page__hero-h1{font-size:42px}.landing-page__feature-grid{grid-template-columns:1fr}}@media (max-width: 768px){.landing-page__nav{height:56px}.landing-page__main{padding-top:56px}.landing-page__nav-inner{padding:0 16px;gap:8px;overflow:hidden}.landing-page__nav-title,.landing-page__nav-link--desktop{display:none}.landing-page__nav-actions{gap:8px;flex-shrink:1;min-width:0}.landing-page__btn--nav-secondary,.landing-page__btn--nav-primary{height:40px;padding:0 12px;font-size:13px;white-space:nowrap}.landing-page__hero{min-height:auto;padding:24px 16px 32px}.landing-page__hero-inner{flex-direction:column;gap:24px;min-height:auto}.landing-page__hero-copy{text-align:center;align-items:center;gap:16px}.landing-page__pill{align-self:center}.landing-page__hero-h1{font-size:clamp(36px,10vw,40px);line-height:1.15}.landing-page__hero-lead{max-width:none;font-size:18px}.landing-page__hero-cta{justify-content:center;margin-bottom:0}.landing-page__hero-note{text-align:center}.landing-page__hero-visual{width:100%;max-width:340px;margin:0 auto}.landing-page__hero-img{max-width:340px;width:100%}.landing-page__container{padding:0 16px}.landing-page__section{padding:56px 16px}.landing-page__section#features{padding-top:48px;padding-bottom:48px}.landing-page__section-head{margin-bottom:32px}.landing-page__feature-grid{grid-template-columns:1fr;gap:20px}.landing-page__feature-card{padding:24px;border-radius:20px;margin-bottom:0}.landing-page__feature-card:hover{transform:none}.landing-page__feature-img-wrap{min-height:160px;height:160px;margin-bottom:16px}.landing-page__feature-img-wrap img{width:100%;max-width:160px;height:160px;object-fit:contain}.landing-page__section#demo{padding-top:56px;padding-bottom:56px}.landing-page__section#demo .landing-page__section-title{font-size:28px}.landing-page__section#demo .landing-page__section-sub{font-size:16px}.landing-page__demo-visual{max-width:none;margin-bottom:0}.landing-page__demo-img{width:100%;max-width:none;border-radius:16px}.landing-page__section--pricing{padding-top:56px;padding-bottom:24px}.landing-page__pricing-row{flex-direction:column;align-items:center;gap:20px;max-width:none}.landing-page__price-card{width:100%;max-width:360px;flex:none}.landing-page__pricing-footnote{margin-top:24px;margin-bottom:0}.landing-page__section--register{padding:32px 16px 40px}.landing-page__register-card{width:calc(100% - 32px);max-width:360px;margin:0 auto;padding:28px 22px;border-radius:24px;box-sizing:border-box}.landing-page__register-title{font-size:28px}.landing-page__register-sub{margin-bottom:24px}.landing-page__register-fields{gap:0;width:100%;max-width:100%}.landing-page__register-fields>.landing-page__input,.landing-page__register-fields .landing-page__input{height:48px;min-height:48px;font-size:16px;border-radius:12px;width:100%;max-width:100%;box-sizing:border-box}.landing-page__register-fields>.landing-page__input{margin-bottom:12px}.landing-page__code-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin-bottom:14px}.landing-page__code-row .landing-page__input--flex{flex:none;width:100%;max-width:100%;height:48px;min-height:48px;font-size:16px;border-radius:12px;box-sizing:border-box;margin-bottom:0}.landing-page .landing-page__btn-code.btn.primary{width:100%;max-width:100%;height:48px;min-height:48px;border-radius:12px!important;margin-top:0;box-sizing:border-box;font-size:16px;white-space:normal;line-height:1.2;padding:0 12px}.landing-page .landing-page__btn-register.btn.primary{width:100%;max-width:100%;height:48px;min-height:48px;border-radius:12px!important;margin-top:14px;box-sizing:border-box}.landing-page__error{margin-bottom:0}.landing-page__legal{font-size:12px;line-height:1.6;color:#9ca3af;text-align:center}.landing-page__footer{padding:32px 16px}.landing-page__footer-inner{flex-direction:column;align-items:center;text-align:center}.landing-page__footer-left{align-items:center;width:100%}.landing-page__footer-left-main{justify-content:center;flex-direction:column;align-items:center;gap:8px;font-size:12px;line-height:1.8}.landing-page__footer-left-main span[aria-hidden=true]{display:none}.landing-page__footer-link,.landing-page__footer-contact{font-size:12px;line-height:1.8}.landing-page__footer-contact{text-align:center}}.onboarding-page{min-height:100vh;background:#faf9f6;color:#1d1d1f;box-sizing:border-box}.onboarding-page__shell{max-width:var(--container-max-width-onboarding);margin:0 auto;padding:48px 20px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch}.onboarding-page__toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;max-width:min(520px,92vw);padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 28px #0000002e;background:#1d1d1f;color:#fff}.onboarding-page__toast--success{background:#1a4d2e}.onboarding-page__toast--error{background:#6b1c1c}.onboarding-page__toast-close{margin-left:auto;border:none;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.85;padding:0 4px}.onboarding-page__toast-close:hover{opacity:1}.onboarding-page__top-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;width:100%;padding-bottom:16px;margin-bottom:0;border-bottom:1px solid #e5e5ea;box-sizing:border-box}.onboarding-page__brand{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0}.onboarding-page__logo{display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0}.onboarding-page__brand-line{font-size:16px;font-weight:600;color:#1d1d1f;letter-spacing:-.01em;white-space:nowrap}.onboarding-page__page-head{margin:24px 0 16px}.onboarding-page__page-title{margin:0;font-size:20px;font-weight:600;color:#1d1d1f;line-height:1.3}.onboarding-page__page-lead{margin:8px 0 0;font-size:14px;color:#6e6e73;line-height:1.5}.onboarding-page__card{display:flex;flex-direction:column;background:#fff;border-radius:16px;padding:32px 32px 24px;box-shadow:0 1px 3px #0000000f;box-sizing:border-box;width:100%}.onboarding-page__card--simple{margin-top:24px}.onboarding-page__card-body{display:flex;flex-direction:column;gap:20px}.onboarding-page__loc-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%}.onboarding-page__field--loc{flex:1 1 0;min-width:0}.onboarding-page__field--loc-school{flex:1.15 1 0;min-width:140px}.onboarding-page__field-error--row{margin:0 0 4px}.onboarding-page__field{display:flex;flex-direction:column;gap:0;min-width:0}.onboarding-page__field-label{font-size:14px;font-weight:500;color:#1d1d1f;margin-bottom:6px}.onboarding-page__field-error{margin-top:6px;font-size:13px;font-weight:500;color:#c0392b}.onboarding-page__input{width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid #e5e5ea;background:#fff;color:#1d1d1f;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.onboarding-page__input::placeholder{color:#aeaeb2}.onboarding-page__input:focus{outline:none;border:1px solid #d4a017;box-shadow:0 0 0 3px #d4a01726}.onboarding-page__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:36px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236E6E73' stroke-width='1.5' stroke-linecap='round' d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.onboarding-page__select:disabled{opacity:.55;cursor:not-allowed;background-color:#f5f5f7;color:#aeaeb2}.onboarding-page__select:focus{outline:none;border:1px solid #d4a017;box-shadow:0 0 0 3px #d4a01726}.onboarding-page__input--invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b1f!important}.onboarding-page__input--invalid:focus{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b26!important}.onboarding-page__hint{font-size:14px;line-height:1.5;color:#6e6e73}.onboarding-page__hint--block{margin:0 0 8px}.onboarding-page__hint-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.onboarding-page__manual-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6e6e73;cursor:pointer;position:relative}.onboarding-page input[type=checkbox].manual-input-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;flex-shrink:0;border-radius:5px;border:1.5px solid #e5e5ea;background:#fff;cursor:pointer;box-sizing:border-box;vertical-align:middle;transition:background-color .15s ease,border-color .15s ease}.onboarding-page input[type=checkbox].manual-input-checkbox:checked{background:#d4a017;border-color:#d4a017}.onboarding-page__manual-check:has(.manual-input-checkbox:checked):after{content:"";position:absolute;left:6px;top:50%;width:4px;height:8px;margin-top:-1px;border:solid #ffffff;border-width:0 2px 2px 0;transform:translateY(-50%) rotate(45deg);pointer-events:none;box-sizing:border-box}.onboarding-page input[type=checkbox].manual-input-checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px #d4a01740}.onboarding-page__date-row{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%}.onboarding-page__date-row .onboarding-page__input{flex:1 1 0;width:50%;min-width:0}.onboarding-page__date-sep{flex-shrink:0;font-size:14px;color:#6e6e73;line-height:40px}.onboarding-page__students-block{display:flex;flex-direction:column;gap:0}.onboarding-page__students-block>.onboarding-page__field-label{margin-bottom:6px}.onboarding-page__import-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.onboarding-page__btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:32px;min-height:32px;padding:0 12px;border-radius:10px;border:1px solid #e5e5ea;background:#fff;color:#1d1d1f;font-size:13px;font-weight:500;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}.onboarding-page__btn-secondary:hover{background:#f5f5f7;border-color:#d2d2d7}.onboarding-page .onboarding-page__btn-secondary.btn{background:#fff!important;color:#1d1d1f!important;border:1px solid #e5e5ea!important;border-radius:10px!important;padding:0 12px!important;font-size:13px!important;font-weight:500!important;height:32px!important;min-height:32px!important;box-shadow:none!important}.onboarding-page .onboarding-page__btn-secondary.btn:hover:not(:disabled){background:#f5f5f7!important;border-color:#d2d2d7!important}.onboarding-page__file-badge{font-size:13px;color:#6e6e73;max-width:100%;word-break:break-all}.onboarding-page__textarea{margin-top:0;min-height:160px;height:auto;padding:12px;resize:vertical;line-height:1.5;color:#1d1d1f;font-size:14px}.onboarding-page__textarea.onboarding-page__input{height:auto}.onboarding-page__textarea.onboarding-page__input:focus{outline:none;border:1px solid #d4a017;box-shadow:0 0 0 3px #d4a01726}.onboarding-page__card-footer{margin-top:24px;padding-top:0;border-top:none;width:100%;box-sizing:border-box}.onboarding-page__error.onboarding-page__error--in-card{margin-top:16px;margin-bottom:0}.onboarding-page__footer-bar{position:sticky;bottom:0;z-index:10;margin-top:24px;padding-top:16px;padding-bottom:8px;background:linear-gradient(to top,#faf9f6 85%,#faf9f600)}.onboarding-page__footer-bar--inline{position:static;margin-top:20px;padding:0;background:none}.onboarding-page__actions{display:flex;justify-content:flex-end;width:100%}.onboarding-page__error{font-size:14px;color:#c0392b;margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#c0392b14}.onboarding-page .onboarding-page__btn-next.btn.primary{height:44px!important;min-height:44px;padding:0 32px!important;border-radius:12px!important;font-size:15px!important;font-weight:600!important;background:#d4a017!important;border:1px solid rgba(212,160,23,.95)!important;color:#fff!important;box-shadow:none!important}.onboarding-page .onboarding-page__btn-next.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.onboarding-page__form--simple{display:flex;flex-direction:column;align-items:stretch;gap:12px}.onboarding-page__panel-title{margin:0;font-size:18px;font-weight:600;color:#1d1d1f;line-height:1.35}.onboarding-page__simple-lead{margin:0;font-size:14px;color:#6e6e73;line-height:1.5}@media (max-width: 640px){.onboarding-page__shell{padding:32px 16px}.onboarding-page__loc-row{flex-direction:column;align-items:stretch}.onboarding-page__field--loc,.onboarding-page__field--loc-school{flex:1 1 auto;min-width:0}.onboarding-page__date-row{flex-direction:column;align-items:stretch;gap:8px}.onboarding-page__date-row .onboarding-page__input{width:100%;flex:none}.onboarding-page__date-sep{text-align:center;line-height:1.4}}.ops-login-page{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px 16px;background-color:#2b2d42}.ops-login-page__card{width:100%;max-width:400px;border-radius:24px;background:#f8f9fa;box-shadow:0 8px 32px #0003;padding:32px 28px 36px;box-sizing:border-box}.ops-login-page__brand{text-align:center;margin-bottom:28px}.ops-login-page__logo{display:block;margin:0 auto 12px}.ops-login-page__title{font-size:20px;font-weight:800;color:#2b2d42;letter-spacing:.02em}.ops-login-page__subtitle{margin-top:6px;font-size:14px;font-weight:600;color:#495057}.ops-login-page__form{display:flex;flex-direction:column;gap:14px}.ops-login-page__field{display:block;margin:0}.ops-login-page__input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:8px;border:1px solid rgba(43,45,66,.18);background:#fff;color:#343a40;font-size:16px;outline:none}.ops-login-page__input:focus{border-color:#d4a017a6;box-shadow:0 0 0 3px #d4a01726}.ops-login-page__error{font-size:14px;color:#c0392b;font-weight:600;line-height:1.4}.ops-login-page__submit{width:100%;margin-top:4px;padding:12px 16px;border:none;border-radius:8px;background:#d4a017;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.ops-login-page__submit:hover{filter:brightness(1.05)}.ops-login-page__submit:active{filter:brightness(.97)}.ops-layout--shell{min-height:100vh;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#1a1c2e;overflow:hidden}.ops-layout__topbar{flex-shrink:0;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#2b2d42;border-bottom:1px solid rgba(255,255,255,.06);box-sizing:border-box}.ops-layout__topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.ops-layout__menu-button{display:none;min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:transparent;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.ops-layout__topbar-logo{flex-shrink:0;border-radius:6px}.ops-layout__topbar-title{font-size:16px;font-weight:800;color:#fff;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-layout__topbar-logout{flex-shrink:0;padding:0;border:none;background:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.ops-layout__topbar-logout:hover{text-decoration:underline}.ops-layout__body{flex:1;min-height:0;display:flex;flex-direction:row;align-items:stretch}.ops-layout__sidebar{flex:0 0 220px;width:220px;min-height:0;overflow-y:auto;background:#1a1c2e;border-right:1px solid rgba(255,255,255,.06);box-sizing:border-box}.ops-layout__nav-backdrop{display:none}.ops-layout__nav{display:flex;flex-direction:column;padding:12px 0 24px;gap:0}.ops-layout__nav-link{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;margin:0;color:#fff;font-size:14px;font-weight:600;text-decoration:none;border-left:3px solid transparent;box-sizing:border-box}.ops-layout__nav-link:hover{background:#ffffff0d}.ops-layout__nav-link--active{color:#d4a017;background:#d4a0171a;border-left-color:#d4a017}.ops-layout__nav-icon{flex-shrink:0;width:22px;text-align:center}.ops-layout__nav-label{min-width:0}.ops-layout__content{flex:1;min-width:0;background:#f0f2f5;overflow:auto}.ops-layout__content-inner{padding:24px;box-sizing:border-box}@media (max-width: 800px){.ops-layout__topbar{padding:0 12px}.ops-layout__menu-button{display:inline-flex;align-items:center}.ops-layout__topbar-logo{display:none}.ops-layout__topbar-title{font-size:14px}.ops-layout__topbar-logout{font-size:13px}.ops-layout__sidebar{position:fixed;top:56px;bottom:0;left:0;z-index:71;width:min(280px,82vw);transform:translate(-100%);transition:transform .18s ease;overflow-y:auto}.ops-layout__sidebar.is-open{transform:translate(0)}.ops-layout__nav-backdrop{appearance:none;position:fixed;inset:56px 0 0;z-index:70;display:block;border:0;background:#1118276b}.ops-layout__content{width:100%}.ops-layout__content-inner{padding:16px 12px 24px}}.ops-layout__content-inner .panel{background:#fff;border:1px solid #e8eaed;color:#343a40;box-shadow:0 1px 3px #0000000f}.ops-layout__content-inner .panel-inner{color:inherit}.ops-layout__content-inner .muted{color:#6c757d!important}.ops-layout__content-inner .badge{color:inherit}.ops-layout__content-inner table{color:#343a40}.ops-page-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.ops-subscriptions-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ops-subscriptions-table{width:100%;min-width:1280px;border-collapse:collapse;table-layout:fixed;color:#343a40}.ops-subscriptions-table thead tr{background:#f1f3f5}.ops-subscriptions-table th,.ops-subscriptions-table td{padding:12px 20px 12px 12px;border-bottom:1px solid #e9ecef;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-subscriptions-table th:not(:last-child),.ops-subscriptions-table td:not(:last-child){border-right:8px solid transparent}.ops-subscriptions-table th:last-child,.ops-subscriptions-table td:last-child{padding-right:12px}.ops-subscriptions-table th{border-bottom-color:#dee2e6;font-weight:800}.ops-subscriptions-col--school,.ops-subscriptions-col--class-name,.ops-subscriptions-col--class-id{text-align:left;min-width:0}.ops-subscriptions-col--phone{text-align:center;min-width:0}.ops-subscriptions-col--created,.ops-subscriptions-col--login{text-align:left}.ops-subscriptions-col--status{width:80px;min-width:80px;max-width:80px;text-align:center}.ops-subscriptions-col--remain{width:96px;min-width:96px;max-width:96px;text-align:center}.ops-subscriptions-col--created{width:148px;min-width:148px;max-width:148px}.ops-subscriptions-col--login{width:158px;min-width:158px;max-width:158px}.ops-subscriptions-col--action{width:120px;min-width:120px;max-width:120px;text-align:center;overflow:visible;padding-left:14px;padding-right:14px}.ops-subscriptions-cell-clip{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-subscriptions-col--phone .ops-subscriptions-cell-clip,.ops-subscriptions-col--status .ops-subscriptions-cell-clip,.ops-subscriptions-col--remain .ops-subscriptions-cell-clip,.ops-subscriptions-col--action .ops-subscriptions-gift-btn{margin:0 auto}.ops-subscriptions-gift-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:28px;height:32px;padding:8px 14px!important;font-size:14px!important;font-weight:800!important;line-height:1.2;border-radius:8px!important;background:transparent!important;border:1px solid #d4a017!important;color:#d4a017!important;box-shadow:none!important;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}.ops-subscriptions-gift-btn:hover:not(:disabled){background:#d4a0171f!important;border-color:#c49514!important;color:#b8860b!important}.ops-subscriptions-gift-btn:active:not(:disabled){background:#d4a01738!important;transform:scale(.98)}.ops-subscriptions-gift-btn:focus-visible{outline:2px solid rgba(212,160,23,.45);outline-offset:2px}.ops-subscriptions-empty-cell{padding:14px 24px!important;text-align:center;white-space:normal;overflow:visible;text-overflow:clip}.ops-subscriptions-empty-text{display:inline-block;margin:0 16px;max-width:calc(100% - 32px)}.ops-subscriptions-page{display:grid;gap:18px;max-width:1240px;margin:0 auto;color:#2b2d42}.ops-subscriptions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ops-subscriptions-header h1{margin:0;font-size:24px;line-height:1.25}.ops-subscriptions-header p{margin:7px 0 0;color:#6c757d;font-size:14px}.ops-subscriptions-header>.btn{flex-shrink:0;border-radius:8px}.ops-subscriptions-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ops-subscriptions-summary-card{min-height:112px;padding:16px;display:flex;flex-direction:column;gap:5px;border:1px solid #e7e9ed;border-top:3px solid #d4a017;border-radius:14px;background:#fff;box-shadow:0 3px 12px #2b2d420f;box-sizing:border-box}.ops-subscriptions-summary-card>span{color:#6c757d;font-size:13px;font-weight:700}.ops-subscriptions-summary-card>strong{font-size:28px;line-height:1.15}.ops-subscriptions-summary-card>small{margin-top:auto;color:#8b96a3;font-size:12px}.ops-subscriptions-summary-card--active{border-top-color:#6a994e}.ops-subscriptions-summary-card--active>strong{color:#6a994e}.ops-subscriptions-summary-card--trial{border-top-color:#82c3ec}.ops-subscriptions-summary-card--trial>strong{color:#357ca5}.ops-subscriptions-summary-card--frozen{border-top-color:#c0392b}.ops-subscriptions-summary-card--frozen>strong{color:#c0392b}.ops-subscriptions-summary-card--test{border-top-color:#8b96a3}.ops-subscriptions-summary-card--test>strong{color:#68727d}.ops-subscriptions-workbench{overflow:hidden;border:1px solid #e7e9ed;border-radius:16px;background:#fff;box-shadow:0 4px 16px #2b2d4212}.ops-subscriptions-filters{padding:18px 20px;display:grid;gap:16px;background:#faf9f6;border-bottom:1px solid #e9ecef}.ops-subscriptions-filter-group,.ops-subscriptions-filter-row label{display:grid;gap:7px}.ops-subscriptions-filter-group>span,.ops-subscriptions-filter-row label>span{color:#68727d;font-size:12px;font-weight:800}.ops-subscriptions-tabs{display:flex;flex-wrap:wrap;gap:8px}.ops-subscriptions-tabs button{min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid #dfe3e8;border-radius:999px;background:#fff;color:#495057;font-size:13px;font-weight:800;cursor:pointer}.ops-subscriptions-tabs button b{min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#f0f2f5;font-size:11px;box-sizing:border-box}.ops-subscriptions-tabs button.is-active{border-color:#d4a017;background:#d4a017;color:#fff}.ops-subscriptions-tabs button.is-active b{background:#ffffff38}.ops-subscriptions-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px;gap:12px}.ops-subscriptions-filter-row input,.ops-subscriptions-filter-row select,.ops-subscriptions-gift-field input{width:100%;height:40px;padding:0 12px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;color:#343a40;font:inherit;box-sizing:border-box}.ops-subscriptions-filter-row input:focus,.ops-subscriptions-filter-row select:focus,.ops-subscriptions-gift-field input:focus{border-color:#d4a017;outline:3px solid rgba(212,160,23,.14)}.ops-subscriptions-list-heading{padding:16px 20px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.ops-subscriptions-list-heading>div{display:flex;align-items:baseline;gap:9px}.ops-subscriptions-list-heading strong{font-size:16px}.ops-subscriptions-list-heading span{color:#8b96a3;font-size:12px}.ops-subscriptions-list-heading button{border:0;background:none;color:#b8860b;font-size:13px;font-weight:800;cursor:pointer}.ops-subscriptions-table-wrap{overflow:visible;padding:0 20px 20px}.ops-subscriptions-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#343a40}.ops-subscriptions-table th,.ops-subscriptions-table td{padding:13px 12px;border-right:0!important;border-bottom:1px solid #edf0f2;text-align:left;vertical-align:middle;white-space:normal;overflow:visible}.ops-subscriptions-table th{background:#f0f2f5;color:#495057;font-size:12px;font-weight:900}.ops-subscriptions-table th:first-child{border-radius:9px 0 0 9px}.ops-subscriptions-table th:last-child{border-radius:0 9px 9px 0}.ops-subscriptions-table th:nth-child(1){width:23%}.ops-subscriptions-table th:nth-child(2){width:15%}.ops-subscriptions-table th:nth-child(3){width:13%}.ops-subscriptions-table th:nth-child(4){width:15%}.ops-subscriptions-table th:nth-child(5){width:17%}.ops-subscriptions-table th:nth-child(6){width:17%}.ops-subscriptions-table td>strong{display:block;font-size:13px}.ops-subscriptions-table td>strong.is-stale{color:#8b96a3}.ops-subscriptions-class{min-width:0;display:grid;grid-template-columns:minmax(0,max-content) auto;align-items:center;justify-content:start;gap:4px 7px}.ops-subscriptions-class strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.ops-subscriptions-class em,.ops-subscriptions-badges em{padding:2px 6px;border-radius:999px;background:#f2f3f5;color:#68727d;font-size:10px;font-style:normal;font-weight:900}.ops-subscriptions-class span{grid-column:1 / -1;overflow:hidden;color:#8b96a3;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ops-subscriptions-cell-sub{display:block;margin-top:4px;color:#8b96a3;font-size:11px}.ops-subscriptions-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.ops-subscriptions-status--trial{background:#e8f4fb;color:#28749e}.ops-subscriptions-status--active{background:#eaf5e5;color:#4f7d37}.ops-subscriptions-status--frozen{background:#fdecea;color:#b33428}.ops-subscriptions-status--dormant,.ops-subscriptions-status--unknown{background:#f0f2f5;color:#68727d}.ops-subscriptions-remaining--active{color:#4f7d37}.ops-subscriptions-remaining--trial{color:#28749e}.ops-subscriptions-remaining--frozen{color:#c0392b}.ops-subscriptions-remaining--dormant{color:#68727d}.ops-subscriptions-actions{display:flex;align-items:center;gap:6px}.ops-subscriptions-actions .btn{min-height:32px;padding:0 9px;border-radius:8px;font-size:12px;white-space:nowrap}.ops-subscriptions-mobile-list{display:none}.ops-subscriptions-message{margin:10px 20px 20px;padding:28px 16px;border:1px dashed #dfe3e8;border-radius:10px;color:#8b96a3;text-align:center}.ops-subscriptions-message--error{border-color:#c0392b47;background:#fdecea;color:#c0392b}.ops-subscriptions-skeleton{height:22px;border-radius:8px;background:#edf0f2}.ops-subscriptions-toast{position:fixed;left:50%;bottom:24px;z-index:100;max-width:min(720px,92vw);padding:12px 18px;transform:translate(-50%);border-radius:10px;background:#2b2d42;color:#fff;box-shadow:0 8px 24px #0000002e;font-size:14px;font-weight:800;text-align:center}.ops-subscriptions-toast--success{background:#6a994e}.ops-subscriptions-toast--error{background:#c0392b}.ops-subscriptions-toast button{margin-left:12px;border:0;background:none;color:inherit;font-weight:900;cursor:pointer}.ops-subscriptions-modal-actions{display:flex;justify-content:flex-end;gap:8px}.ops-subscriptions-gift-field{display:grid;gap:8px}.ops-subscriptions-gift-field>span{font-weight:800}.ops-subscriptions-gift-field small{color:#8b96a3;line-height:1.5}.ops-subscriptions-gift-field em{color:#c0392b;font-style:normal;font-weight:800}.modal .modal-surface.ops-subscriptions-gift-modal,.modal .modal-surface.ops-subscriptions-gift-modal .panel-inner{background:#fff!important;background-color:#fff!important}.modal .modal-surface.ops-subscriptions-gift-modal .panel-inner{padding:22px}.modal .modal-surface.ops-subscriptions-gift-modal .modal-header{margin:0}@media (max-width: 1100px){.ops-subscriptions-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-subscriptions-filter-row{grid-template-columns:minmax(220px,1fr) 160px 160px}.ops-subscriptions-table th:nth-child(2),.ops-subscriptions-table td:nth-child(2){display:none}.ops-subscriptions-table th:nth-child(1){width:27%}.ops-subscriptions-table th:nth-child(3){width:15%}.ops-subscriptions-table th:nth-child(4){width:18%}.ops-subscriptions-table th:nth-child(5){width:20%}.ops-subscriptions-table th:nth-child(6){width:20%}}@media (max-width: 800px){.ops-subscriptions-page{gap:14px}.ops-subscriptions-header h1{font-size:21px}.ops-subscriptions-header p{max-width:260px;font-size:13px}.ops-subscriptions-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ops-subscriptions-summary-card{min-height:100px;padding:13px}.ops-subscriptions-summary-card>strong{font-size:24px}.ops-subscriptions-filters{padding:14px}.ops-subscriptions-filter-row{grid-template-columns:1fr 1fr}.ops-subscriptions-search{grid-column:1 / -1}.ops-subscriptions-list-heading{padding:14px}.ops-subscriptions-table-wrap{display:none}.ops-subscriptions-mobile-list{display:grid;gap:10px;padding:0 12px 14px}.ops-subscriptions-mobile-card{padding:14px;border:1px solid #e7e9ed;border-radius:12px;background:#fff;box-shadow:0 2px 8px #2b2d420d}.ops-subscriptions-mobile-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ops-subscriptions-mobile-card-head>div:first-child{min-width:0;display:grid;gap:4px}.ops-subscriptions-mobile-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.ops-subscriptions-mobile-card-head span:not(.ops-subscriptions-status){overflow:hidden;color:#8b96a3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ops-subscriptions-badges{flex-shrink:0;display:flex;align-items:center;gap:5px}.ops-subscriptions-mobile-card dl{margin:14px 0;padding:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.ops-subscriptions-mobile-card dl>div{min-width:0;display:grid;gap:3px}.ops-subscriptions-mobile-card dl>div.is-wide{grid-column:1 / -1}.ops-subscriptions-mobile-card dt{color:#8b96a3;font-size:10px;font-weight:800}.ops-subscriptions-mobile-card dd{margin:0;overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.ops-subscriptions-mobile-card .ops-subscriptions-actions{display:grid;grid-template-columns:1fr 1fr}.ops-subscriptions-mobile-card .ops-subscriptions-actions .btn{width:100%;min-height:38px}}@media (max-width: 430px){.ops-subscriptions-header{align-items:center}.ops-subscriptions-header p{display:none}.ops-subscriptions-filter-row{grid-template-columns:1fr}.ops-subscriptions-search{grid-column:auto}.modal .modal-surface.ops-subscriptions-gift-modal .panel-inner{padding:18px}}.ops-growth-funnel-scroll{overflow-x:auto;overflow-y:hidden;margin:0 -4px;padding:0 4px 4px;-webkit-overflow-scrolling:touch}.ops-growth-funnel{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;min-width:min-content}.ops-growth-funnel__arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;color:#6c757d;font-size:12px;font-weight:700}.ops-growth-funnel__arrow span{font-size:16px;line-height:1;color:#d4a017}.ops-growth-funnel__step{position:relative;flex:0 0 132px;width:132px;min-height:108px;padding:14px 12px 28px;border-radius:14px;background:#faf9f6;border:1px solid #E9ECEF}.ops-growth-funnel__step-label{font-size:12px;font-weight:700;color:#6c757d;line-height:1.35}.ops-growth-funnel__step-value{margin-top:8px;font-size:26px;font-weight:900;color:#2b2d42;line-height:1.1}.ops-growth-funnel__step-uv{position:absolute;right:10px;bottom:10px;font-size:11px;font-weight:600;color:#868e96}.ops-growth-funnel__step-hint{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 56px);font-size:11px;color:#868e96;line-height:1.3}.ops-growth-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ops-growth-kpi-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-growth-tabs{display:inline-flex;gap:4px;margin-bottom:20px;padding:4px;border:1px solid #e9ecef;border-radius:12px;background:#f8f9fa}.ops-growth-tabs button{min-height:38px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:#6c757d;font-size:14px;font-weight:800;cursor:pointer}.ops-growth-tabs button.is-active{background:#fff;color:#2b2d42;box-shadow:0 2px 8px #00000014}.ops-growth-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ops-growth-error{padding:14px 16px;border:1px solid rgba(192,57,43,.25);border-radius:12px;background:#fdecea;color:#c0392b;font-weight:700}.ops-growth-result-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:16px}.ops-growth-result-list__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;background:#faf9f6;border:1px solid #E9ECEF;font-size:13px;color:#343a40}.ops-growth-result-list__item strong{color:#d4a017;font-size:16px}.ops-growth-channel-table th,.ops-growth-events-table th{background:#f0f2f5}@media (max-width: 960px){.ops-growth-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-growth-split-grid{grid-template-columns:1fr}}@media (max-width: 640px){.ops-growth-kpi-grid{grid-template-columns:1fr}}.landing-page__nav-brand,.landing-page__nav-actions a{text-decoration:none}.landing-page__btn--nav-primary,.landing-page__btn--hero-primary,.landing-page__btn-register,.landing-page__btn-code{color:#1d1d1f!important}.landing-page__hero{min-height:0;padding:72px 48px 64px}.landing-page__hero-inner{max-width:1280px;gap:44px;align-items:center}.landing-page__hero-copy{flex:.88;align-self:auto;gap:16px}.landing-page__hero-h1{font-size:50px;line-height:1.15}.landing-page__hero-lead{max-width:540px;font-size:18px}.landing-page__hero-benefits{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0;padding:0;list-style:none;color:#4f5158;font-size:14px}.landing-page__hero-benefits li:before{content:"✓";margin-right:6px;color:#9a6f00;font-weight:900}.landing-page__hero-mascots{width:min(300px,75%);height:auto;margin-top:2px;object-fit:contain}.landing-page__hero-visual{flex:1.12;align-self:auto}.marketing-preview{width:100%;min-width:0;display:grid;grid-template-columns:116px minmax(0,1fr);overflow:hidden;border:1px solid rgba(154,111,0,.2);border-radius:20px;background:#fff;box-shadow:0 24px 60px #2b2d4221;text-align:left}.marketing-preview__sidebar{display:flex;flex-direction:column;gap:8px;padding:20px 12px;background:#202124;color:#ffffffb8;font-size:12px}.marketing-preview__sidebar strong{margin-bottom:8px;color:#fff;font-size:14px}.marketing-preview__sidebar span{padding:8px 9px;border-radius:8px}.marketing-preview__sidebar .is-active{background:#d4a0172e;color:#f2c249}.marketing-preview__main{min-width:0;padding:20px;background:#fbfbfc}.marketing-preview__topline{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;color:#2b2d42}.marketing-preview__topline span{color:#777b84;font-size:12px}.marketing-preview__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.marketing-preview__stats>div{display:grid;gap:4px;padding:12px;border:1px solid #ececf0;border-radius:12px;background:#fff}.marketing-preview__stats span{color:#777b84;font-size:11px}.marketing-preview__stats strong{color:#2b2d42;font-size:19px}.marketing-preview__content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(140px,.7fr);gap:12px;margin-top:12px}.marketing-preview__records,.marketing-preview__growth{border:1px solid #ececf0;border-radius:14px;background:#fff}.marketing-preview__records{padding:14px}.marketing-preview__records-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px}.marketing-preview__records-head span{color:#9a6f00}.marketing-preview__record{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0f0f2;font-size:12px}.marketing-preview__record:last-child{border-bottom:0}.marketing-preview__record>span:nth-child(2){display:grid;gap:2px}.marketing-preview__record small{color:#777b84}.marketing-preview__record b{color:#51833b}.marketing-preview__avatar{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#f5ead0;color:#6f5000;font-weight:800}.marketing-preview__growth{display:flex;flex-direction:column;align-items:center;padding:14px 12px;color:#2b2d42;font-size:12px}.marketing-preview__growth img{width:92px;height:92px;margin:6px 0;object-fit:contain}.marketing-preview__progress{width:100%;height:8px;margin-top:10px;overflow:hidden;border-radius:8px;background:#ece8df}.marketing-preview__progress i{display:block;width:58%;height:100%;background:#d4a017}.marketing-preview__growth small{margin-top:5px;color:#777b84}.landing-page__feature-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;margin-top:24px;color:#5e6068;font-size:14px}.landing-page__workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,.9fr);gap:18px;align-items:stretch}.landing-page__workflow-grid>article,.landing-page__method-card{min-width:0;padding:22px;border:1px solid #e8e8ec;border-radius:18px;background:#fff}.landing-page__workflow-grid>article>span{color:#9a6f00;font-weight:900}.landing-page__workflow-grid h3{margin:12px 0 8px;color:#1d1d1f;font-size:18px}.landing-page__workflow-grid p{margin:0;color:#6e6e73;font-size:14px;line-height:1.65}.landing-page__workflow-panel{display:grid;gap:8px;margin-top:20px;padding:14px;border-radius:12px;background:#f7f7f9;color:#40424a;font-size:13px}.landing-page__workflow-panel small{color:#6e6e73}.landing-page__workflow-panel b{padding:7px 9px;border-radius:8px;background:#fff;color:#765600}.landing-page__workflow-panel--growth{justify-items:center}.landing-page__workflow-panel--growth img{width:94px;height:94px;object-fit:contain}.landing-page__method-card{background:#fff9ec;border-color:#9a6f0040}.landing-page__method-card>span{color:#9a6f00;font-size:12px;font-weight:800}.landing-page__method-card a{display:inline-block;margin-top:18px;color:#765600;font-weight:800;text-decoration:none}.landing-page__scenario-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.landing-page__scenario-grid article{padding-top:18px;border-top:2px solid #d4a017}.landing-page__scenario-grid h3{margin:0 0 8px;font-size:17px;color:#1d1d1f}.landing-page__scenario-grid p{margin:0;color:#6e6e73;font-size:14px;line-height:1.6}.landing-page__faq-inner{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:64px}.landing-page__faq-inner>div:first-child>p{color:#6e6e73;font-size:14px}.landing-page__faq-list{display:grid;gap:0;border-top:1px solid #e5e5ea}.landing-page__faq-list details{border-bottom:1px solid #e5e5ea}.landing-page__faq-list summary{padding:18px 4px;color:#1d1d1f;font-weight:700;cursor:pointer}.landing-page__faq-list details p{margin:-4px 4px 18px;color:#6e6e73;font-size:14px;line-height:1.7}.marketing-login{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:#1d1d1f94;backdrop-filter:blur(4px)}.marketing-login__dialog{position:relative;width:min(420px,100%);box-sizing:border-box;padding:34px;border:1px solid rgba(255,255,255,.6);border-radius:20px;background:#fff;box-shadow:0 28px 90px #00000040;text-align:center}.marketing-login__close{position:absolute;top:16px;right:16px;border:0;background:none;color:#6e6e73;cursor:pointer;font-size:13px}.marketing-login__logo{display:block;margin:0 auto 12px;border-radius:10px}.marketing-login h2{margin:0;color:#1d1d1f;font-size:28px}.marketing-login__subtitle{margin:8px 0 24px;color:#6e6e73;font-size:14px}.marketing-login__form{display:grid;gap:16px;text-align:left}.marketing-login__form label{display:grid;gap:7px;color:#34363d;font-size:13px;font-weight:700}.marketing-login__form input{width:100%;height:46px;box-sizing:border-box;padding:0 13px;border:1px solid #d8d8de;border-radius:10px;color:#1d1d1f;font:inherit;outline:0}.marketing-login__form input:focus{border-color:#9a6f00;box-shadow:0 0 0 3px #d4a01729}.marketing-login__code-row{display:grid;grid-template-columns:1fr 118px;gap:10px}.marketing-login__code-row button{border:1px solid #b98500;border-radius:10px;background:#fff;color:#765600;font-weight:800;cursor:pointer}.marketing-login__submit{height:48px;border:0;border-radius:10px;background:#d4a017;color:#1d1d1f;font-weight:900;cursor:pointer}.marketing-login__submit:disabled,.marketing-login__code-row button:disabled{cursor:not-allowed;opacity:.55}.marketing-login__message{margin:-4px 0 0;color:#a12b26;font-size:13px}.marketing-login__trial-link{margin-top:18px;border:0;background:none;color:#765600;cursor:pointer;font-weight:800}.marketing-login__legal{margin:18px 0 0;color:#8b8d94;font-size:11px}.class-points-page__hero{padding:88px 48px 72px;background:linear-gradient(180deg,#fffaf0,#fff)}.class-points-page__hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:64px;max-width:1180px;margin:0 auto}.class-points-page__hero h1{margin:22px 0 20px;color:#1d1d1f;font-size:52px;line-height:1.16}.class-points-page__hero p{max-width:680px;margin:0 0 28px;color:#5f6168;font-size:18px;line-height:1.8}.class-points-page__hero>div>img,.class-points-page__hero-inner>img{width:100%;height:auto;object-fit:contain}.class-points-page__problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.class-points-page__problem-grid article{padding:28px 0;border-top:3px solid #d4a017}.class-points-page__problem-grid strong{font-size:20px}.class-points-page__problem-grid p{color:#6e6e73;line-height:1.7}.class-points-page__rules-wrap{overflow-x:auto;border:1px solid #e5e5ea;border-radius:16px}.class-points-page__rules-wrap:focus-visible{outline:3px solid rgba(212,160,23,.28);outline-offset:3px}.class-points-page__table-hint{display:none;margin:0 0 10px;color:#76777d;font-size:12px;text-align:right}.class-points-page table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.class-points-page th,.class-points-page td{padding:16px 18px;border-bottom:1px solid #ececf0;text-align:left;font-size:14px}.class-points-page th{background:#f7f7f9;color:#34363d}.class-points-page td{color:#5f6168}.class-points-page__principles ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none;counter-reset:principle}.class-points-page__principles li{counter-increment:principle;display:grid;gap:8px;padding:24px;border-left:3px solid #d4a017;background:#fffaf0}.class-points-page__principles li:before{content:"0" counter(principle);color:#9a6f00;font-weight:900}.class-points-page__principles span{color:#6e6e73;line-height:1.6}.class-points-page .marketing-preview{max-width:900px;margin:0 auto}.class-points-page__product-points{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}.class-points-page__product-points span{padding:9px 13px;border-radius:999px;background:#fff;color:#5f6168;font-size:13px}.class-points-page__faq .landing-page__faq-list{max-width:860px;margin:0 auto}.class-points-page__cta{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:28px;max-width:1120px;margin:32px auto 72px;padding:28px 36px;border:1px solid rgba(154,111,0,.22);border-radius:20px;background:#fff8e8}.class-points-page__cta img{width:180px;height:auto}.class-points-page__cta h2{margin:0 0 8px}.class-points-page__cta p{margin:0;color:#6e6e73}.class-points-page__cta button{min-height:48px;padding:0 22px;border:0;border-radius:10px;background:#d4a017;color:#1d1d1f;font-weight:900;cursor:pointer}@media (max-width: 1024px){.landing-page__hero{min-height:0;padding:56px 32px}.landing-page__hero-inner{gap:28px}.landing-page__hero-h1{font-size:40px}.landing-page__workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-page__scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.landing-page__nav-title{display:inline;font-size:14px}.landing-page__btn--nav-primary{max-width:142px;overflow:hidden;text-overflow:ellipsis}.landing-page__hero{min-height:0;padding:32px 16px 40px}.landing-page__hero-inner{flex-direction:column;gap:30px}.landing-page__hero-copy{align-items:center}.landing-page__hero-h1{font-size:36px}.landing-page__hero-benefits{justify-content:center}.landing-page__hero-mascots{width:230px}.marketing-preview{grid-template-columns:78px minmax(0,1fr);border-radius:16px}.marketing-preview__sidebar{padding:14px 8px;font-size:9px}.marketing-preview__main{padding:12px}.marketing-preview__stats{gap:5px}.marketing-preview__stats>div{padding:8px 6px}.marketing-preview__stats strong{font-size:15px}.marketing-preview__content{grid-template-columns:1fr}.marketing-preview__growth{display:none}.landing-page__feature-links{display:grid;gap:10px}.landing-page__workflow-grid,.landing-page__scenario-grid,.landing-page__faq-inner{grid-template-columns:1fr}.landing-page__faq-inner{gap:26px}.marketing-login{align-items:stretch;padding:0}.marketing-login__dialog{width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;border-radius:0;padding:32px 22px}.class-points-page__hero{padding:44px 18px 48px}.class-points-page__hero-inner{grid-template-columns:1fr;gap:28px;text-align:center}.class-points-page__hero h1{font-size:34px}.class-points-page__hero p{font-size:16px}.class-points-page__hero .landing-page__hero-cta{justify-content:center}.class-points-page__hero-inner>img{max-width:240px;margin:0 auto}.class-points-page__problem-grid,.class-points-page__principles ol{grid-template-columns:1fr}.class-points-page__table-hint{display:block}.class-points-page__cta{grid-template-columns:1fr;margin:24px 16px 48px;padding:24px;text-align:center}.class-points-page__cta img{width:150px;margin:0 auto}}.spirit-shop-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#2b2d4280;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-sizing:border-box}.spirit-shop-shell{width:min(900px,92vw);height:80vh;max-width:900px;max-height:900px;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000040}.spirit-shop-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e9ecef;background:#fff}.spirit-shop-title{font-size:18px;font-weight:800;color:#343a40}.spirit-shop-close{width:36px;height:36px;border:none;border-radius:8px;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#6c757d}.spirit-shop-close:hover{background:#f1f3f5;color:#343a40}.spirit-shop-body{flex:1;min-height:0;display:flex;flex-direction:row}.spirit-shop-preview{flex:0 0 40%;min-width:0;background-color:#fff;background-image:radial-gradient(ellipse 120px 40px at 20% 80%,rgba(212,160,23,.08) 0%,transparent 100%),radial-gradient(ellipse 160px 50px at 60% 85%,rgba(130,195,236,.08) 0%,transparent 100%),radial-gradient(ellipse 100px 35px at 85% 80%,rgba(212,160,23,.06) 0%,transparent 100%);border-right:1px solid #e5e5ea;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:16px;box-sizing:border-box}.spirit-shop-preview-art{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 12px #00000014;box-sizing:border-box}.spirit-shop-preview-art-img{width:160px;height:160px;display:block;object-fit:contain;border-radius:12px}.spirit-shop-preview-art-fallback{width:160px;height:160px;border-radius:12px;background:#f2f2f7;border:1px solid #e5e5ea;display:grid;place-items:center;font-size:28px;font-weight:700;color:#aeaeb2;box-sizing:border-box}.spirit-shop-preview-hint{font-size:13px;font-weight:400;color:#6e6e73;text-align:center;max-width:220px}.spirit-shop-preview-name,.spirit-shop-preview-points{font-size:14px;font-weight:600;color:#1d1d1f}.spirit-shop-shelf{flex:1;min-width:0;background:#fff;overflow:auto;padding:16px;box-sizing:border-box}.spirit-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.spirit-shop-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 10px #0000000f;border:1px solid #e9ecef;display:flex;flex-direction:column;gap:8px;min-width:0;box-sizing:border-box}.spirit-shop-card-thumb{width:100%;border-radius:8px;overflow:hidden;aspect-ratio:1;background:#f2f2f7;flex-shrink:0}.spirit-shop-card-thumb img{width:100%;height:100%;display:block;object-fit:cover}.spirit-shop-card-thumb-fallback{width:100%;height:100%;min-height:0;display:grid;place-items:center;font-size:22px;font-weight:700;color:#aeaeb2}.spirit-shop-card-name{font-size:14px;font-weight:600;color:#1d1d1f;line-height:1.35;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spirit-shop-card-desc{font-size:13px;color:#6e6e73;line-height:1.45}.spirit-shop-card-price{font-size:13px;font-weight:600;color:#d4a017;line-height:1.35}.spirit-shop-card-status{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0}.spirit-shop-card-status-desc{font-size:13px;line-height:1.45;color:#6e6e73;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.spirit-shop-card-status-line{font-size:13px;font-weight:600}.spirit-shop-card-status-line--equipped{color:#6a994e}.spirit-shop-card-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:4px}.spirit-shop-try-btn{margin-top:0;width:100%;padding:8px 14px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;border:2px solid #d4a017;background:#fff;color:#d4a017;box-sizing:border-box}.spirit-shop-card-actions .spirit-shop-owned-pill--blocked{width:100%}.spirit-shop-try-btn--active{background:#d4a017;color:#fff;border-color:#d4a017}.spirit-shop-owned-pill{margin-top:0;align-self:stretch;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:700;background:#e9ecef;color:#6c757d;text-align:center;box-sizing:border-box}.spirit-shop-owned-pill--blocked{border-radius:10px!important;font-size:13px!important;font-weight:600!important;background:#f5f5f7!important;color:#6e6e73!important;border:1px solid #e5e5ea!important;padding:8px 10px!important}.spirit-shop-card-warn{font-size:13px;font-weight:600;line-height:1.35}.spirit-shop-card-warn--level{font-size:12px!important;font-weight:600!important;color:#e65100!important}.spirit-shop-card-warn--points{color:#c0392b;font-size:13px}.spirit-shop-footer{flex-shrink:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid #e9ecef;background:#fff;gap:12px}.spirit-shop-footer-status{font-size:14px;color:#343a40;flex:1;min-width:0}.spirit-shop-footer-status--idle{font-size:13px!important;font-weight:400!important;color:#aeaeb2!important}.spirit-shop-footer-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.spirit-shop-footer-secondary{padding:8px 16px;border-radius:10px;border:1px solid #e5e5ea;background:#fff;color:#1d1d1f;font-size:14px;font-weight:600;cursor:pointer;box-sizing:border-box;line-height:1.2}.spirit-shop-footer-secondary:hover{background:#f8f9fa}.spirit-shop-footer-close{padding:8px 16px;border-radius:8px;border:1px solid #e5e5ea;background:#fff;color:#1d1d1f;font-size:14px;font-weight:600;cursor:pointer;box-sizing:border-box;line-height:1.2}.spirit-shop-footer-close:hover{background:#f8f9fa}.spirit-shop-footer-cancel{padding:8px 14px;border:none;background:transparent;color:#6c757d;font-weight:700;cursor:pointer;font-size:14px}.spirit-shop-footer-buy{padding:10px 20px;border:none;border-radius:8px;background:#d4a017;color:#fff;font-weight:800;font-size:14px;cursor:pointer}.spirit-shop-footer-buy:disabled{opacity:.45;cursor:not-allowed}.shop-toast-success{background:#6a994e!important;color:#fff!important}.modal-surface.teacher-ledger-modal--pick input.teacher-ledger-checkbox[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;border-radius:5px!important;border:1.5px solid #e5e5ea!important;background-color:#fff!important;background-image:none!important;background-repeat:no-repeat!important;background-position:center!important;background-size:12px 12px!important;cursor:pointer!important;flex-shrink:0!important;display:inline-block!important;vertical-align:middle!important;box-sizing:border-box!important;transition:all .15s ease!important}.modal-surface.teacher-ledger-modal--pick input.teacher-ledger-checkbox[type=checkbox]:hover{border-color:#d4a017!important}.modal-surface.teacher-ledger-modal--pick input.teacher-ledger-checkbox[type=checkbox]:checked{background-color:#d4a017!important;border-color:#d4a017!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}.modal-surface.teacher-ledger-modal--pick .teacher-ledger-pick-bulk-actions .btn.teacher-ledger-btn-secondary-sm{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;color:#1d1d1f!important;background:#fff!important;background-color:#fff!important;border:1px solid #e5e5ea!important;box-shadow:none!important;transform:none!important}.modal-surface.teacher-ledger-modal--pick .teacher-ledger-pick-bulk-actions .btn.teacher-ledger-btn-secondary-sm:hover:not(:disabled){background:#f5f5f7!important;background-color:#f5f5f7!important}.modal-surface.teacher-ledger-modal--pick .panel-inner>.row:last-of-type .btn.primary{border-radius:10px!important}.modal-surface.teacher-ledger-modal--template .panel-inner>.row:last-of-type .btn.primary{border-radius:10px!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type{gap:8px!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type .teacher-ledger-batch-footer-btn{height:40px!important;min-height:40px!important;padding:0 18px!important;border-radius:10px!important;font-size:14px!important;font-weight:500!important;box-shadow:none!important;transform:none!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type .teacher-ledger-batch-footer-btn--secondary{color:#1d1d1f!important;background:#fff!important;background-color:#fff!important;border:1px solid #e5e5ea!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type .teacher-ledger-batch-footer-btn--secondary:hover:not(:disabled){background:#f5f5f7!important;background-color:#f5f5f7!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type .teacher-ledger-batch-footer-btn--primary.btn.primary{border-radius:10px!important}.modal-surface.teacher-ledger-modal--batch .panel-inner>.row:last-of-type .btn.teacher-ledger-batch-footer-btn.teacher-ledger-batch-footer-btn--primary{border-radius:10px!important}.modal-surface.teacher-ledger-modal--batch .teacher-ledger-batch-export-fail-btn.btn{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;color:#1d1d1f!important;background:#fff!important;background-color:#fff!important;border:1px solid #e5e5ea!important;box-shadow:none!important;transform:none!important}.modal-surface.teacher-ledger-modal--batch .teacher-ledger-batch-export-fail-btn.btn:hover:not(:disabled){background:#f5f5f7!important;background-color:#f5f5f7!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .btn:not(.primary):not(.ghost):not(.ok):not(.danger){background:#fff!important;border:1px solid #e5e5ea!important;color:#1d1d1f!important;font-size:13px!important;font-weight:500!important;min-height:32px!important;height:32px!important;padding:0 12px!important;border-radius:8px!important;box-shadow:none!important;transform:none!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .btn:not(.primary):not(.ghost):not(.ok):not(.danger):hover:not(:disabled){background:#f5f5f7!important;border-color:#e5e5ea!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .btn.danger{background:transparent!important;border:none!important;color:#c0392b!important;font-size:13px!important;font-weight:500!important;border-radius:6px!important;box-shadow:none!important;transform:none!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .btn.danger:hover:not(:disabled){background:#c0392b14!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge{background:#f2f2f7!important;color:#6e6e73!important;border-color:transparent!important;font-weight:500}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge.brand{background:#d4a0171a!important;color:#d4a017!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge.danger{background:#c0392b1a!important;color:#c0392b!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge.success,:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge.ok{background:#6a994e1a!important;color:#6a994e!important}:is(.teacher-ledger-page,.teacher-board-page,.teacher-display-page,.teacher-subscription-page,.student-detail-page,.teacher-home-page) .badge.info{background:#82c3ec1a!important;color:#4a90d9!important}.teacher-ledger-modal--pick .badge{background:#f2f2f7!important;border-color:#e5e5ea!important;color:#1d1d1f!important}.teacher-ledger-modal--pick .badge:has(input[type=checkbox]:checked){background:#d4a0171a!important;border-color:#d4a0172e!important;color:#d4a017!important}.persona-page{width:100%;min-height:100dvh;background:#faf9f6;color:#1d1d1f;display:flex;justify-content:center;overflow-x:hidden;box-sizing:border-box}.persona-page__container{width:100%;max-width:430px;margin:0 auto;min-height:100dvh;padding:24px 20px 40px;box-sizing:border-box}.persona-page--home,.persona-page--quiz{min-height:100dvh}.persona-page--home{height:100dvh;max-height:100dvh;overflow:hidden}.persona-page--quiz{min-height:100dvh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow:hidden}.persona-page--result{min-height:100dvh;height:auto;overflow-x:hidden}.persona-page__container--home,.persona-page__container--quiz{display:flex;flex-direction:column;box-sizing:border-box}.persona-page__container--home{height:100dvh;min-height:100dvh;max-height:100dvh;justify-content:center;padding:24px 20px;overflow:hidden}.persona-page__container--quiz{width:100%;height:100%;min-height:0;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;overflow:hidden;box-sizing:border-box}.persona-btn{appearance:none;border:none;border-radius:16px;padding:16px 24px;font-size:16px;font-weight:600;cursor:pointer;width:100%;transition:transform .1s ease,opacity .2s ease}.persona-btn:active{transform:scale(.98)}.persona-btn:disabled{opacity:.6;cursor:not-allowed}.persona-btn--primary{background:#d4a017;color:#fff}.persona-btn--home{width:100%;max-width:320px;height:52px;padding:0 24px;border-radius:16px;margin-bottom:12px}.persona-btn--secondary{background:#fff;color:#1d1d1f;border:1px solid rgba(212,160,23,.35)}.persona-btn--ghost{background:transparent;color:#6e6e73;font-weight:500;font-size:14px;width:auto;padding:10px 0;margin-top:8px}.persona-home{max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex-shrink:1;min-height:0;overflow:hidden}.persona-home__title{margin:0 0 12px;font-size:clamp(24px,6.4vw,26px);font-weight:700;line-height:1.25;letter-spacing:-.02em;flex-shrink:0}.persona-home__subtitle{margin:0 0 16px;font-size:clamp(15px,4vw,16px);color:#6e6e73;font-weight:500;flex-shrink:0}.persona-home__visual{width:100%;max-width:360px;margin:0 auto 16px;display:flex;justify-content:center;flex-shrink:0}.persona-home__hero{width:100%;height:auto;object-fit:contain;display:block}.persona-home__collage{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.persona-home__collage-item{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 2px 10px #0000000d}.persona-home__cta{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0}.persona-home__hint{margin:0;font-size:12px;color:#9ca3af;line-height:1.4}@media (max-height: 740px){.persona-page__container--home{padding:16px 20px}.persona-home__title{margin-bottom:8px}.persona-home__subtitle,.persona-home__visual{margin-bottom:12px}}@media (max-height: 680px){.persona-page__container--home{padding:12px 20px}.persona-home__title{margin-bottom:6px}.persona-home__subtitle{margin-bottom:8px}.persona-home__visual{margin-bottom:10px}.persona-btn--home{margin-bottom:8px}}.persona-page__container--home{align-items:center}.persona-quiz{width:100%;max-width:360px;margin:0 auto;display:flex;justify-content:center;flex-shrink:0}.persona-quiz__card{width:100%;max-width:360px;margin:0 auto;background:#fff;border-radius:24px;padding:24px 20px;box-shadow:0 12px 32px #0000000f;box-sizing:border-box}.persona-quiz__progress-header{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.persona-quiz__progress-label{font-size:13px;color:#6e6e73;font-weight:500}.persona-quiz__progress-track{height:6px;background:#efe6c8;border-radius:999px;overflow:hidden}.persona-quiz__progress-bar{height:100%;background:#d4a017;border-radius:999px;transition:width .3s ease}.persona-quiz__question{margin:0 0 24px;font-size:20px;font-weight:700;line-height:1.45;color:#111827;letter-spacing:-.01em}.persona-quiz__options{display:flex;flex-direction:column;gap:14px}.persona-option{appearance:none;width:100%;min-height:64px;padding:16px 18px;border-radius:18px;background:#faf9f6;border:1px solid #f0e8d8;box-shadow:none;font-size:15px;line-height:1.5;color:#1d1d1f;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease}.persona-option:hover:not(:disabled){border-color:#d4a01773;background:#d4a0170a}.persona-option:active:not(:disabled){transform:scale(.98);border-color:#d4a017;background:#d4a01714}.persona-option--selected{border-color:#d4a017;background:#d4a01714}.persona-option:disabled{cursor:default}.persona-quiz__auto-hint{margin:18px 0 0;font-size:12px;color:#9ca3af;text-align:center;line-height:1.4}.persona-quiz__back{appearance:none;border:none;background:transparent;margin-top:16px;padding:8px 0 0;width:100%;font-size:13px;color:#6e6e73;cursor:pointer;text-align:center}.persona-quiz__back:disabled{opacity:.5;cursor:default}@media (max-height: 680px){.persona-page__container--quiz{padding:0}.persona-quiz__card{padding:20px 18px}.persona-quiz__progress-header{margin-bottom:18px}.persona-quiz__question{margin-bottom:18px;font-size:19px}.persona-quiz__auto-hint{margin-top:14px}}.persona-page__container--result{padding-bottom:32px;overflow-x:hidden}.persona-result{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:360px;margin:0 auto;padding-bottom:32px}.persona-result__image{width:min(210px,56vw);max-width:220px;min-width:0;height:auto;object-fit:contain;margin:8px auto 18px}.persona-result__label{margin:0;font-size:14px;color:#6e6e73}.persona-result__name{margin:4px 0 0;font-size:clamp(26px,7vw,28px);font-weight:800;letter-spacing:-.02em;color:#1d1d1f}.persona-result__code{margin:4px 0 0;font-size:12px;color:#9ca3af;letter-spacing:.08em}.persona-result__keywords{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.persona-result__tag{padding:4px 10px;border-radius:999px;background:#d4a0171a;color:#d4a017;font-size:12px;font-weight:500}.persona-result__line{margin:16px 0 0;font-size:15px;font-weight:600;line-height:1.5;color:#1d1d1f}.persona-result__desc{margin:14px 0 0;width:100%;font-size:14px;line-height:1.7;color:#374151;text-align:left}.persona-result__actions{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:20px}.persona-result__cta-sub{margin:0;font-size:12px;color:#6e6e73;line-height:1.5;text-align:center}.persona-result__card{width:100%;background:#fff;border-radius:20px;padding:18px 20px;margin-top:20px;text-align:left;box-shadow:0 2px 12px #0000000a}.persona-result__card-title{margin:0 0 10px;font-size:15px;font-weight:600;color:#1d1d1f}.persona-result__list{margin:0;padding-left:18px;font-size:14px;line-height:1.7;color:#6e6e73}.persona-result__list li+li{margin-top:6px}.persona-result__error{margin:0;font-size:13px;color:#c0392b;text-align:center}.persona-poster-card{position:relative;width:360px;height:480px;min-height:480px;max-height:480px;aspect-ratio:3 / 4;overflow:hidden;box-sizing:border-box;padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,#fff8e7,#faf9f6);color:#1d1d1f;display:grid;grid-template-rows:40px 70px 150px 76px 96px;gap:3px;align-content:start}.persona-poster-card--offscreen{position:fixed;left:-9999px;top:0;z-index:-9999;pointer-events:none}.persona-poster-card__glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.persona-poster-card__glow--1{width:120px;height:120px;top:-24px;right:-20px;background:#d4a01740;opacity:.25}.persona-poster-card__glow--2{width:110px;height:110px;bottom:8px;left:-28px;background:#d4a0172e;opacity:.18}.persona-poster-card__brand,.persona-poster-card__headings,.persona-poster-card__figure,.persona-poster-card__result,.persona-poster-card__footer{position:relative;z-index:1;min-height:0;overflow:hidden}.persona-poster-card__brand{height:40px;display:flex;align-items:center;justify-content:center;gap:8px}.persona-poster-card__logo{width:24px;height:24px;object-fit:contain;display:block;flex-shrink:0}.persona-poster-card__brand-text{font-size:14px;font-weight:700;color:#1d1d1f;line-height:1}.persona-poster-card__headings{height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.persona-poster-card__title{margin:0;font-size:24px;font-weight:800;line-height:1.15;color:#1d1d1f;letter-spacing:-.02em}.persona-poster-card__subtitle{margin:6px 0 0;font-size:15px;font-weight:500;line-height:1.2;color:#6e6e73}.persona-poster-card__figure{height:150px;display:flex;align-items:center;justify-content:center}.persona-poster-card__image{max-width:145px;max-height:145px;width:auto;height:auto;object-fit:contain;display:block}.persona-poster-card__result{height:76px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.persona-poster-card__name{margin:0 0 8px;width:100%;font-size:28px;font-weight:900;line-height:1.1;color:#1d1d1f;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.persona-poster-card__keywords{display:flex;flex-wrap:nowrap;justify-content:center;gap:6px;width:100%;overflow:hidden}.persona-poster-card__tag{padding:4px 8px;border-radius:999px;background:#d4a0171f;color:#d4a017;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;flex-shrink:0}.persona-poster-card__footer{height:96px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.persona-poster-card__footer-left{width:220px;min-width:0;text-align:left}.persona-poster-card__line{margin:0;font-size:15px;font-weight:700;line-height:1.35;color:#1d1d1f;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.persona-poster-card__footer-text{margin:6px 0 0;font-size:11px;line-height:1.35;color:#6e6e73}.persona-poster-card__qr{width:76px;height:76px;background:#fff;border:2px solid rgba(212,160,23,.35);border-radius:14px;padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box}.persona-poster-card__qr svg{display:block}.persona-poster-preview{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px 16px;box-sizing:border-box;background:#000000a6}.persona-poster-preview__card{width:100%;max-width:360px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:20px;border-radius:20px;background:#fff;box-shadow:0 12px 40px #0003;text-align:center;box-sizing:border-box}.persona-poster-preview__title{margin:0 0 12px;font-size:20px;font-weight:800;color:#1d1d1f}.persona-poster-preview__hint{margin:0 0 6px;font-size:14px;line-height:1.5;color:#6e6e73}.persona-poster-preview__hint--sub{margin-bottom:16px}.persona-poster-preview__image{display:block;width:100%;max-width:320px;margin:0 auto 16px;border-radius:16px;box-shadow:0 12px 32px #0000002e;-webkit-touch-callout:default;user-select:none;pointer-events:auto}.persona-poster-preview__btn{max-width:280px;margin:0 auto}@media (max-width: 768px){.persona-page__container{padding:20px 16px 32px}.persona-page__container--home{padding:16px;height:100dvh;min-height:100dvh;max-height:100dvh}.persona-page__container--quiz{width:100%;height:100%;min-height:0;max-height:100%;justify-content:center;align-items:center;padding:0;overflow:hidden}.persona-page--quiz{min-height:100dvh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow:hidden}.persona-page--result,.persona-page__container--result{height:auto;min-height:100dvh;max-height:none;overflow-x:hidden}.persona-page__container--result{padding:20px 16px 40px}.persona-home{max-width:100%;width:100%}.persona-home__title{font-size:clamp(22px,6vw,26px)}.persona-home__subtitle{margin-bottom:12px;font-size:15px}.persona-home__visual{width:100%;max-width:100%;max-height:min(36dvh,280px);margin-bottom:12px;overflow:hidden}.persona-home__hero{width:100%;max-height:min(36dvh,280px);object-fit:contain}.persona-home__collage{max-height:min(36dvh,280px)}.persona-btn--home{max-width:100%}.persona-page--home{height:100dvh;max-height:100dvh;overflow:hidden}.persona-quiz{width:100%;max-width:360px;margin:0 auto}.persona-quiz__card{width:100%;max-width:360px;margin:0 auto;padding:20px 16px}.persona-quiz__question{font-size:18px;margin-bottom:18px}.persona-option{min-height:56px;padding:14px 16px;font-size:14px}.persona-quiz__options{gap:12px}.persona-result{width:100%;max-width:100%;padding-bottom:24px}.persona-result__image{width:min(200px,52vw);max-width:210px}.persona-result__name{font-size:clamp(24px,6.5vw,28px)}.persona-result__desc,.persona-result__card{width:100%;max-width:100%}}@media (max-width: 768px) and (max-height: 740px){.persona-page__container--home{padding:12px 16px}.persona-home__title,.persona-home__subtitle{margin-bottom:8px}.persona-home__visual{max-height:min(32dvh,240px);margin-bottom:10px}.persona-home__hero{max-height:min(32dvh,240px)}}@media (max-width: 768px) and (max-height: 680px){.persona-page__container--home{padding:10px 16px}.persona-home__visual,.persona-home__hero{max-height:min(28dvh,200px)}.persona-btn--home{height:48px;margin-bottom:8px}}.growth-summary-panel{overflow:visible}.growth-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.growth-summary-date{width:170px;min-width:150px;height:40px}.growth-summary-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.growth-summary-kpis>div{min-height:82px;border:1px solid rgba(29,29,31,.08);border-radius:8px;background:linear-gradient(180deg,#ffffffeb,#f7faf7eb);padding:14px;box-sizing:border-box}.growth-summary-kpis strong{display:block;color:#1d1d1f;font-size:28px;line-height:1;font-weight:950}.growth-summary-kpis span{display:block;margin-top:8px;color:#1d1d1f9e;font-size:13px;font-weight:800}.growth-summary-editor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;margin-top:14px}.growth-summary-editor-block{border:1px solid rgba(29,29,31,.08);border-radius:8px;background:#ffffffb8;padding:14px;box-sizing:border-box}.growth-summary-label{color:#1d1d1f;font-size:14px;font-weight:950;margin-bottom:10px}.growth-summary-student-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.growth-summary-student-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid rgba(29,29,31,.12);border-radius:8px;background:#fff;color:#1d1d1f;padding:8px 10px;font-size:13px;font-weight:850;cursor:pointer}.growth-summary-student-chip strong,.growth-card-highlight-item strong{color:#6a994e}.growth-summary-student-chip.is-selected{border-color:#d4a117b3;background:#fff6daf5;box-shadow:0 0 0 2px #d4a1171a}.growth-summary-message{width:100%;min-height:86px;resize:vertical;line-height:1.55}.growth-summary-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:10px}.growth-summary-error{margin-top:10px;align-self:flex-start}.growth-card-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.growth-card-range{display:inline-flex;border:1px solid rgba(29,29,31,.1);border-radius:8px;background:#fffc;padding:3px}.growth-card-range button{min-width:58px;height:32px;border:0;border-radius:6px;background:transparent;color:#1d1d1fb3;font-size:13px;font-weight:900;cursor:pointer}.growth-card-range button.is-active{background:#1d1d1f;color:#fff}.growth-card-highlight-list{display:grid;gap:8px}.growth-card-highlight-item{display:flex;justify-content:space-between;gap:10px;min-height:38px;border-radius:8px;background:#f8fafce6;padding:9px 10px;box-sizing:border-box;color:#1d1d1f;font-size:13px;font-weight:850}.growth-poster{width:360px;min-height:480px;box-sizing:border-box;overflow:hidden;color:#1d1d1f;background:radial-gradient(circle at 16% 10%,rgba(126,200,227,.28),transparent 32%),linear-gradient(180deg,#fffdf7,#f4f7f3);border-radius:24px;padding:22px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.growth-poster--offscreen{position:fixed;left:-9999px;top:0;opacity:0;pointer-events:none}.growth-poster__brand{display:flex;align-items:center;gap:10px}.growth-poster__logo{width:38px;height:38px;border-radius:8px;object-fit:contain;background:#1e3a3a;flex:0 0 auto}.growth-poster__brand-name{font-size:15px;line-height:1.1;font-weight:950}.growth-poster__brand-subtitle{margin-top:3px;color:#1d1d1f8f;font-size:11px;font-weight:800}.growth-poster__hero{margin-top:22px;min-height:128px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(29,29,31,.08);padding:18px;box-sizing:border-box}.growth-poster__hero--student{min-height:156px}.growth-poster__student-hero-main{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:14px;align-items:center}.growth-poster__student-copy{min-width:0}.growth-poster__spirit{display:grid;justify-items:center;gap:6px}.growth-poster__spirit-image,.growth-poster__spirit-fallback{width:82px;height:82px;border-radius:18px;object-fit:cover;background:#ffffffc7;border:1px solid rgba(29,29,31,.08);box-shadow:0 10px 24px #1d1d1f14}.growth-poster__spirit-fallback{display:grid;place-items:center;color:#1d1d1f61;font-size:28px;font-weight:950}.growth-poster__spirit-label{max-width:92px;color:#1d1d1f9e;font-size:10px;line-height:1.2;font-weight:900;text-align:center;overflow-wrap:anywhere}.growth-poster__date{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;background:#6a994e1f;color:#4d7a38;padding:4px 10px;font-size:12px;font-weight:900}.growth-poster__hero h2{margin:12px 0 0;font-size:28px;line-height:1.15;font-weight:950;letter-spacing:0}.growth-poster__hero p{margin:10px 0 0;color:#1d1d1fb3;font-size:14px;line-height:1.45;font-weight:760}.growth-poster__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.growth-poster__stats>div{border-radius:14px;background:#fff;border:1px solid rgba(29,29,31,.08);padding:10px 8px;text-align:center}.growth-poster__stats strong{display:block;font-size:20px;line-height:1;font-weight:950}.growth-poster__stats span{display:block;margin-top:6px;color:#1d1d1f8f;font-size:10px;font-weight:850}.growth-poster__section-title{margin-top:15px;font-size:14px;font-weight:950}.growth-poster__student-list{display:grid;gap:7px;margin-top:9px}.growth-poster__student{display:flex;align-items:center;justify-content:space-between;min-height:34px;border-radius:10px;background:#ffffffc2;padding:8px 10px;box-sizing:border-box}.growth-poster__student-name,.growth-poster__student-score{font-size:14px;font-weight:950}.growth-poster__student-score{color:#6a994e}.growth-poster__tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.growth-poster__tag{min-height:30px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(29,29,31,.08);padding:7px 10px;box-sizing:border-box;color:#1d1d1f;font-size:12px;font-weight:900}.growth-poster__empty{color:#1d1d1f8f;font-size:13px;font-weight:800}.growth-poster__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border-top:1px solid rgba(29,29,31,.08);padding-top:14px}.growth-poster__footer--brand-only{margin-top:24px}.growth-poster__footer-title{font-size:13px;line-height:1.35;font-weight:950}.growth-poster__footer-text{margin-top:4px;color:#1d1d1f94;font-size:11px;font-weight:800}.growth-poster__qr{display:grid;place-items:center;width:66px;height:66px;border-radius:10px;background:#fff;border:1px solid rgba(29,29,31,.08);flex:0 0 auto}.growth-poster-preview{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#0000009e;padding:20px;box-sizing:border-box}.growth-poster-preview__card{width:min(420px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:12px;background:#fff;padding:18px;box-sizing:border-box;text-align:center}.growth-poster-preview__title{margin:0;color:#1d1d1f;font-size:20px;font-weight:950;letter-spacing:0}.growth-poster-preview__hint{margin:8px 0 12px;color:#1d1d1f94;font-size:13px;font-weight:800}.growth-poster-preview__image{display:block;width:min(320px,100%);max-height:68vh;object-fit:contain;height:auto;margin:0 auto 14px;border-radius:12px;box-shadow:0 12px 30px #0000002e}.growth-poster-preview__btn{width:min(320px,100%)}.growth-card-modal .growth-summary-panel{padding:0}@media (max-width: 768px){.growth-summary-kpis,.growth-summary-editor{grid-template-columns:1fr}.growth-summary-date,.growth-card-controls,.growth-card-range{width:100%}.growth-card-range button{flex:1}}
