@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Libre+Caslon+Text:ital@0;1&family=Sora:wght@400;500;600;700&display=swap";html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{color:#111827;-webkit-font-smoothing:antialiased;background:#f8fafc;min-width:320px;min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.login-page,.login-page *{box-sizing:border-box}.login-page{background:#f7f6f3;grid-template-columns:1.08fr .92fr;width:100%;min-height:100dvh;display:grid}.login-banner{isolation:isolate;color:#f7f3eb;background:#102129;flex-direction:column;min-height:100dvh;padding:44px 58px 38px;display:flex;position:relative;overflow:hidden}.login-banner:before{content:"";z-index:-2;background:radial-gradient(circle at 8% 8%,#ffffff12,#0000 26%),radial-gradient(circle at 86% 88%,#e07a6a2b,#0000 30%);position:absolute;inset:0}.login-banner:after{content:"";z-index:-1;border:1px solid #f7f3eb14;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-180px;right:-170px}.login-decoration{z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.login-decoration-one{border:1px solid #f7f3eb12;width:150px;height:150px;top:16%;right:8%}.login-decoration-two{background:#e07a6a;width:16px;height:16px;top:21%;right:13%;box-shadow:0 0 0 10px #e07a6a14}.brand{align-items:center;gap:13px;display:flex}.brand-symbol{object-fit:cover;border-radius:14px;width:48px;height:48px;display:block;box-shadow:0 0 0 1px #ffffff1f,0 8px 24px #00000024}.brand-text{flex-direction:column;display:flex}.brand-text strong{color:#fff;letter-spacing:.04em;font-size:18px;font-weight:750;line-height:1}.brand-text span{color:#f7f3eb94;letter-spacing:.06em;text-transform:uppercase;margin-top:5px;font-size:11px;line-height:1}.banner-content{width:100%;max-width:610px;margin:auto 0}.eyebrow{color:#e89b8f;letter-spacing:.18em;align-items:center;gap:10px;margin-bottom:24px;font-size:11px;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:#e07a6a;width:32px;height:1px}.banner-content h1{color:#f7f3eb;letter-spacing:-.045em;max-width:590px;margin:0;font-size:clamp(42px,4.7vw,68px);font-weight:600;line-height:.98}.banner-content p{color:#f7f3eba8;max-width:500px;margin:28px 0 0;font-size:16px;line-height:1.75}.banner-highlight{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f7f3ebb3;background:#ffffff09;border:1px solid #f7f3eb1a;border-radius:999px;align-items:center;gap:10px;width:fit-content;margin-top:34px;padding:11px 15px;font-size:11px;display:flex}.banner-highlight-dot{background:#e07a6a;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #e07a6a1f}.banner-footer{color:#f7f3eb4d;letter-spacing:.04em;font-size:10px}.login-area{background:radial-gradient(circle at 100% 0,#e07a6a12,#0000 26%),#f7f6f3;justify-content:center;align-items:center;min-height:100dvh;padding:46px;display:flex}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #e8e2d9;border-radius:24px;width:100%;max-width:440px;padding:40px;box-shadow:0 24px 70px #10212914}.mobile-brand{display:none}.login-header{margin-bottom:32px}.login-kicker{color:#c96455;letter-spacing:.16em;margin-bottom:11px;font-size:10px;font-weight:750;display:inline-block}.login-header h2{color:#102129;letter-spacing:-.035em;margin:0 0 9px;font-size:32px;font-weight:650;line-height:1.15}.login-header p{color:#697477;margin:0;font-size:13px;line-height:1.65}.form-group{margin-bottom:20px}.form-group label{color:#24363c;margin-bottom:8px;font-size:12px;font-weight:650;display:block}.form-group input{color:#102129;width:100%;height:52px;font:inherit;background:#fff;border:1px solid #ddd8cf;border-radius:12px;outline:none;padding:0 15px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input::placeholder{color:#a8aeaf}.form-group input:hover{border-color:#c9c2b7}.form-group input:focus{border-color:#d67b6c;box-shadow:0 0 0 3px #e07a6a1f}.password-header{justify-content:space-between;align-items:center;display:flex}.password-header label{margin-bottom:8px}.forgot-password{color:#c96455;font:inherit;cursor:pointer;background:0 0;border:0;margin-bottom:8px;padding:0;font-size:11px;font-weight:600}.forgot-password:hover{color:#a84f43;text-decoration:underline}.login-button{color:#fff;width:100%;height:52px;font:inherit;cursor:pointer;background:#102129;border:0;border-radius:12px;margin-top:5px;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 10px 26px #10212924}.login-button:hover:not(:disabled){background:#17323c;transform:translateY(-1px);box-shadow:0 14px 30px #10212930}.login-button:active:not(:disabled){transform:translateY(0)}.support{text-align:center;color:#7a8385;border-top:1px solid #ebe6de;margin-top:28px;padding-top:22px;font-size:11px;line-height:1.6}.support button{color:#c96455;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-weight:650}.support button:hover{color:#a84f43;text-decoration:underline}.login-error{color:#9f3f35;background:#fff4f1;border:1px solid #efc4bc;border-radius:10px;margin-bottom:14px;padding:11px 13px;font-size:12px;line-height:1.5}.login-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-banner{display:none}.login-area{align-items:center;min-height:100dvh;padding:24px 18px}.login-card{border-radius:20px;max-width:480px;padding:30px 24px}.mobile-brand{align-items:center;gap:11px;margin-bottom:38px;display:flex}.mobile-logo{object-fit:cover;border-radius:12px;width:44px;height:44px;display:block}.mobile-brand-text{flex-direction:column;display:flex}.mobile-brand-text strong{color:#102129;letter-spacing:.04em;font-size:16px;line-height:1}.mobile-brand-text span{color:#8a9293;letter-spacing:.07em;text-transform:uppercase;margin-top:4px;font-size:9px}.login-header{margin-bottom:28px}.login-header h2{font-size:29px}}@media (width<=480px){.login-area{padding:16px}.login-card{padding:28px 20px}.password-header{align-items:flex-end}.support span,.support button{display:inline}}.dashboard-content{max-width:1250px;margin:0 auto;padding:45px 40px 70px}.welcome-section{margin-bottom:42px}.welcome-date{color:#2563eb;letter-spacing:1.5px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-block}.welcome-section h1{color:#111827;letter-spacing:-.8px;margin:0;font-size:30px}.welcome-section p{color:#7c8799;margin:7px 0 0;font-size:13px}.section-block{margin-bottom:32px}.section-header{margin-bottom:15px}.section-header h2,.panel-header h2{color:#111827;margin:0;font-size:17px}.section-header p,.panel-header p{color:#94a3b8;margin:4px 0 0;font-size:11px}.continue-card{background:#fff;border:1px solid #e7ebf0;border-radius:15px;grid-template-columns:37% 63%;min-height:260px;display:grid;overflow:hidden;box-shadow:0 3px 15px #0f172a09}.continue-cover{color:#fff;background:radial-gradient(circle at 80% 20%,#ffffff21,#0000 30%),linear-gradient(140deg,#172554,#2563eb);flex-direction:column;justify-content:space-between;min-height:260px;padding:27px;display:flex}.language-label{letter-spacing:1.5px;background:#ffffff1f;border-radius:5px;width:fit-content;padding:5px 9px;font-size:9px;font-weight:700}.cover-content span{color:#ffffffa6;font-size:10px}.cover-content h3{letter-spacing:-.5px;max-width:270px;margin:7px 0 0;font-size:24px;line-height:1.15}.continue-info{flex-direction:column;padding:30px 34px;display:flex}.lesson-meta{color:#2563eb;align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.dot-divider{color:#cbd5e1}.continue-info>h3{max-width:500px;margin:10px 0 8px;font-size:19px;line-height:1.35}.lesson-duration{color:#94a3b8;align-items:center;gap:6px;font-size:10px;display:flex}.progress-area{margin-top:auto;padding-top:22px}.progress-info{color:#64748b;justify-content:space-between;margin-bottom:7px;font-size:10px;display:flex}.progress-info strong{color:#334155}.progress-bar{background:#edf0f4;border-radius:50px;height:5px;overflow:hidden}.progress-value{border-radius:inherit;background:#2563eb;height:100%}.continue-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;align-items:center;gap:8px;width:fit-content;height:39px;margin-top:20px;padding:0 18px;font-size:11px;font-weight:700;display:flex}.continue-button:hover{background:#1d4ed8}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:22px;display:grid}.dashboard-panel{background:#fff;border:1px solid #e7ebf0;border-radius:14px;padding:25px;box-shadow:0 3px 15px #0f172a06}.panel-header{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.view-all-button{color:#2563eb;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;font-size:10px;font-weight:600;display:flex}.course-list{flex-direction:column;display:flex}.course-item{cursor:pointer;border-bottom:1px solid #f0f2f5;align-items:center;gap:14px;padding:16px 3px;display:flex}.course-item:last-child{border-bottom:0}.course-icon{color:#2563eb;background:#e8efff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:10px;font-weight:800;display:flex}.course-icon.second{color:#d97706;background:#fff3e5}.course-details{flex-direction:column;flex:1;display:flex}.course-details strong{font-size:12px}.course-details span{color:#94a3b8;margin-top:3px;font-size:9px}.small-progress{background:#edf0f4;border-radius:10px;width:100%;height:3px;margin-top:9px;overflow:hidden}.small-progress div{border-radius:inherit;background:#2563eb;height:100%}.course-arrow{color:#cbd5e1}.stats-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.stat-card{background:#f7f9fc;border-radius:10px;flex-direction:column;justify-content:center;min-height:100px;padding:17px;display:flex}.stat-number{color:#172554;font-size:21px;font-weight:700}.stat-label{color:#94a3b8;margin-top:5px;font-size:9px}@media (width<=1050px){.dashboard-grid{grid-template-columns:1fr}.continue-card{grid-template-columns:40% 60%}}@media (width<=780px){.dashboard-content{padding:30px 18px 50px}.welcome-section h1{font-size:26px}.continue-card{grid-template-columns:1fr}.continue-cover{min-height:190px}.continue-info{min-height:280px;padding:25px}.stats-grid{grid-template-columns:1fr 1fr}}.courses-page{max-width:1250px;margin:0 auto;padding:45px 40px 70px}.courses-page-header{margin-bottom:30px}.courses-eyebrow{color:#2563eb;letter-spacing:1.5px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-block}.courses-page-header h1{letter-spacing:-.8px;margin:0;font-size:30px}.courses-page-header p{color:#7c8799;max-width:500px;margin:8px 0 0;font-size:13px;line-height:1.6}.courses-summary{gap:12px;margin-bottom:28px;display:flex}.courses-summary>div{background:#fff;border:1px solid #e7ebf0;border-radius:11px;flex-direction:column;min-width:150px;padding:16px 18px;display:flex}.courses-summary strong{color:#172554;font-size:18px}.courses-summary span{color:#94a3b8;margin-top:3px;font-size:9px}.courses-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.course-card{background:#fff;border:1px solid #e7ebf0;border-radius:15px;overflow:hidden;box-shadow:0 3px 15px #0f172a08}.course-card-cover{color:#fff;flex-direction:column;justify-content:space-between;height:210px;padding:25px;display:flex}.english-cover{background:radial-gradient(circle at 80% 20%,#ffffff29,#0000 30%),linear-gradient(135deg,#172554,#2563eb)}.spanish-cover{background:radial-gradient(circle at 80% 20%,#ffffff26,#0000 30%),linear-gradient(135deg,#7c2d12,#ea580c)}.course-card-language{letter-spacing:1.4px;background:#ffffff24;border-radius:5px;width:fit-content;padding:5px 9px;font-size:9px;font-weight:700}.course-card-cover span{color:#ffffffa6;font-size:10px}.course-card-cover h2{max-width:310px;margin:6px 0 0;font-size:25px;line-height:1.15}.course-card-content{padding:25px}.course-card-top{justify-content:space-between;align-items:flex-start;display:flex}.course-status{color:#2563eb;letter-spacing:1.2px;font-size:8px;font-weight:800}.course-card-top h3{margin:5px 0 0;font-size:17px}.course-percentage{color:#2563eb;background:#f0f5ff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:11px;font-weight:800;display:flex}.course-description{color:#7c8799;min-height:42px;margin:15px 0 18px;font-size:11px;line-height:1.65}.course-information{gap:20px;margin-bottom:23px;display:flex}.course-information div{color:#94a3b8;align-items:center;gap:6px;font-size:9px;display:flex}.course-progress-info{color:#64748b;justify-content:space-between;margin-bottom:7px;font-size:9px;display:flex}.course-progress-info strong{color:#334155}.course-progress-bar{background:#edf0f4;border-radius:50px;width:100%;height:5px;overflow:hidden}.course-progress-bar div{border-radius:inherit;background:#2563eb;height:100%}.course-primary-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;height:43px;margin-top:22px;font-size:11px;font-weight:700;transition:all .2s;display:flex}.course-primary-button:hover{background:#1d4ed8;transform:translateY(-1px)}@media (width<=950px){.courses-grid{grid-template-columns:1fr}}@media (width<=780px){.courses-page{padding:30px 18px 50px}.courses-page-header h1{font-size:26px}.courses-summary{padding-bottom:5px;overflow-x:auto}.courses-summary>div{min-width:135px}.course-information{flex-direction:column;gap:8px}}.courses-loading,.courses-error,.courses-empty{color:#64748b;text-align:center;background:#fff;border:1px solid #e7ebf0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:250px;display:flex}.courses-empty h2{color:#334155;margin:6px 0 0;font-size:16px}.courses-empty p{color:#94a3b8;margin:0;font-size:10px}.courses-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.course-detail-page{max-width:1250px;margin:0 auto;padding:38px 40px 70px}.course-back-button{color:#64748b;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:22px;padding:0;font-size:11px;font-weight:600;display:flex}.course-back-button:hover{color:#2563eb}.course-hero{color:#fff;background:radial-gradient(circle at 85% 15%,#60a5fa59,#0000 32%),linear-gradient(135deg,#172554,#1e3a8a 58%,#2563eb);border-radius:18px;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:45px;min-height:300px;padding:38px;display:grid;overflow:hidden}.course-hero-main{max-width:670px}.course-hero-eyebrow{color:#93c5fd;letter-spacing:1.6px;margin-bottom:13px;font-size:9px;font-weight:800;display:inline-block}.course-hero-main h1{letter-spacing:-1.2px;margin:0;font-size:36px;line-height:1.1}.course-hero-main p{color:#ffffffad;max-width:610px;margin:17px 0 24px;font-size:12px;line-height:1.7}.course-hero-meta{gap:25px;display:flex}.course-hero-meta div{color:#ffffffb8;align-items:center;gap:7px;font-size:10px;display:flex}.course-hero-progress{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff17;border:1px solid #ffffff21;border-radius:14px;padding:26px}.hero-progress-label{color:#ffffff8c;letter-spacing:1.3px;font-size:8px;font-weight:800;display:block}.course-hero-progress>strong{letter-spacing:-1px;margin-top:8px;font-size:32px;display:block}.hero-progress-bar{background:#ffffff24;border-radius:30px;height:5px;margin-top:14px;overflow:hidden}.hero-progress-bar div{border-radius:inherit;background:#fff;height:100%}.hero-progress-description{color:#ffffff8c;margin-top:8px;font-size:9px;display:block}.hero-continue-button{color:#1d4ed8;cursor:pointer;background:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-top:20px;font-size:10px;font-weight:800;display:flex}.course-content-section{margin-top:37px}.course-content-header{margin-bottom:18px}.course-content-header span{color:#2563eb;letter-spacing:1.4px;font-size:8px;font-weight:800}.course-content-header h2{letter-spacing:-.4px;margin:5px 0 0;font-size:21px}.course-content-header p{color:#94a3b8;margin:5px 0 0;font-size:10px}.modules-list{flex-direction:column;gap:13px;display:flex}.module-card{background:#fff;border:1px solid #e5e9ef;border-radius:13px;overflow:hidden;box-shadow:0 3px 12px #0f172a06}.module-header{text-align:left;cursor:pointer;background:#fff;border:0;gap:17px;width:100%;padding:22px 24px;display:flex}.module-number{color:#2563eb;background:#eff4ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:flex}.module-header-content{flex:1}.module-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.module-title-row span{color:#2563eb;letter-spacing:1.2px;font-size:7px;font-weight:800}.module-title-row h3{margin:4px 0 0;font-size:14px}.module-header-content>p{color:#94a3b8;margin:6px 0 0;font-size:9px}.module-header-right{color:#94a3b8;align-items:center;gap:14px;display:flex}.module-percentage{color:#64748b!important;letter-spacing:0!important;font-size:9px!important}.module-progress{background:#eef1f5;border-radius:30px;height:3px;margin-top:14px;overflow:hidden}.module-progress div{background:#2563eb;height:100%}.module-lessons{border-top:1px solid #eef1f5}.lesson-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f1f3f6;align-items:center;gap:13px;width:100%;min-height:68px;padding:12px 24px 12px 82px;transition:all .15s;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-row:not(:disabled):hover{background:#f8faff}.lesson-row:disabled{cursor:default}.lesson-current{background:#f7faff}.lesson-status{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.lesson-status.completed{color:#16a34a;background:#eaf8ef}.lesson-status.current{color:#fff;background:#2563eb}.lesson-status.available{color:#2563eb;background:#eef4ff}.lesson-status.locked{color:#a8b0bc;background:#f1f3f6}.lesson-content{flex-direction:column;flex:1;display:flex}.lesson-number{color:#a0a8b5;font-size:8px}.lesson-content strong{color:#334155;margin-top:3px;font-size:11px}.lesson-row:disabled .lesson-content strong{color:#a8b0bc}.lesson-right{color:#94a3b8;align-items:center;gap:18px;display:flex}.lesson-time{align-items:center;gap:5px;font-size:8px;display:flex}@media (width<=900px){.course-hero{grid-template-columns:1fr}.course-hero-progress{max-width:400px}}@media (width<=780px){.course-detail-page{padding:28px 18px 50px}.course-hero{padding:28px 24px}.course-hero-main h1{font-size:29px}.course-hero-meta{flex-direction:column;gap:9px}.module-header{padding:18px}.lesson-row{min-height:70px;padding:12px 18px}.lesson-time,.module-number{display:none}}.course-detail-message{color:#64748b;text-align:center;background:#fff;border:1px solid #e5e9ef;border-radius:14px;justify-content:center;align-items:center;min-height:220px;padding:30px;font-size:12px;display:flex}.course-detail-message.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.lesson-page{max-width:1400px;margin:0 auto;padding:30px 36px 70px}.lesson-topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.lesson-back-button{color:#64748b;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:11px;font-weight:600;display:flex}.lesson-back-button:hover{color:#2563eb}.lesson-position{color:#94a3b8;font-size:10px}.lesson-layout{grid-template-columns:minmax(0,1fr) 315px;align-items:start;gap:25px;display:grid}.lesson-video{aspect-ratio:16/9;background:#0f172a;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #0f172a14}.video-placeholder{color:#fff9;background:radial-gradient(circle,#1e3a8a 0%,#172554 45%,#0f172a 100%);flex-direction:column;justify-content:center;align-items:center;gap:13px;width:100%;height:100%;display:flex}.video-play-button{color:#2563eb;cursor:pointer;background:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;transition:all .2s;display:flex}.video-play-button:hover{transform:scale(1.05)}.video-placeholder span{font-size:10px}.lesson-header{border-bottom:1px solid #e8ebf0;padding:27px 2px 24px}.lesson-meta{color:#2563eb;letter-spacing:1.2px;gap:7px;font-size:8px;font-weight:800;display:flex}.lesson-header h1{letter-spacing:-.6px;max-width:800px;margin:8px 0 12px;font-size:26px;line-height:1.25}.lesson-info-row{gap:20px;display:flex}.lesson-info-row div{color:#94a3b8;align-items:center;gap:6px;font-size:9px;display:flex}.lesson-section{border-bottom:1px solid #e8ebf0;padding:25px 2px}.lesson-section h2{margin:0 0 10px;font-size:15px}.lesson-section>p{color:#64748b;max-width:800px;margin:0;font-size:11px;line-height:1.8}.material-card{background:#fff;border:1px solid #e5e9ef;border-radius:10px;align-items:center;gap:12px;max-width:650px;padding:14px 16px;display:flex}.material-icon{color:#2563eb;background:#eef4ff;border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.material-content{flex-direction:column;flex:1;display:flex}.material-content strong{font-size:10px}.material-content span{color:#94a3b8;margin-top:3px;font-size:8px}.material-download{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe1e9;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:9px;font-weight:600;display:flex}.lesson-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;padding-top:25px;display:grid}.lesson-nav-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e3e7ed;border-radius:9px;justify-content:flex-end;align-items:center;gap:10px;min-height:55px;padding:10px 14px;display:flex}.lesson-nav-button.secondary{justify-content:flex-start}.lesson-nav-button div{flex-direction:column;display:flex}.lesson-nav-button span{color:#94a3b8;font-size:8px}.lesson-nav-button strong{margin-top:2px;font-size:9px}.lesson-complete-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:9px;align-items:center;gap:7px;height:47px;padding:0 18px;font-size:10px;font-weight:700;display:flex}.lesson-sidebar{background:#fff;border:1px solid #e5e9ef;border-radius:14px;position:sticky;top:100px;overflow:hidden}.lesson-sidebar-header{padding:22px 20px 15px}.lesson-sidebar-header>span{color:#2563eb;letter-spacing:1.2px;font-size:7px;font-weight:800}.lesson-sidebar-header h2{margin:5px 0 3px;font-size:14px}.lesson-sidebar-header p{color:#94a3b8;margin:0;font-size:8px}.lesson-module-progress{background:#eef1f5;border-radius:20px;height:3px;margin:0 20px 15px;overflow:hidden}.lesson-module-progress div{background:#2563eb;height:100%}.lesson-sidebar-list{border-top:1px solid #eef1f5}.lesson-sidebar-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0f2f5;align-items:center;gap:10px;width:100%;min-height:65px;padding:11px 15px;transition:all .15s;display:flex}.lesson-sidebar-item:last-child{border-bottom:0}.lesson-sidebar-item:not(:disabled):hover{background:#f7f9fc}.lesson-sidebar-current{background:#f4f7ff}.lesson-sidebar-item:disabled{cursor:default}.lesson-sidebar-status{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;display:flex}.lesson-sidebar-status.completed{color:#16a34a;background:#eaf8ef}.lesson-sidebar-status.current{color:#fff;background:#2563eb}.lesson-sidebar-status.available{color:#2563eb;background:#eef4ff}.lesson-sidebar-status.locked{color:#a8b0bc;background:#f1f3f6}.lesson-sidebar-content{flex-direction:column;min-width:0;display:flex}.lesson-sidebar-content>span{color:#94a3b8;font-size:7px}.lesson-sidebar-content strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.lesson-sidebar-content small{color:#a5adba;margin-top:4px;font-size:7px}.lesson-sidebar-item:disabled .lesson-sidebar-content strong{color:#aab1bc}@media (width<=1050px){.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static}}@media (width<=780px){.lesson-page{padding:24px 18px 50px}.lesson-header h1{font-size:22px}.lesson-navigation{grid-template-columns:1fr}.lesson-complete-button{order:-1;justify-content:center;width:100%}}.lesson-video iframe{border:0;width:100%;height:100%;display:block}.video-placeholder strong{color:#fff;font-size:13px}.no-material{color:#94a3b8;background:#fafbfc;border:1px dashed #dbe1e9;border-radius:10px;max-width:650px;padding:18px;font-size:10px}.lesson-completed-label{font-weight:600;color:#16a34a!important}.lesson-complete-button.completed{background:#16a34a}.lesson-complete-button:disabled{opacity:.7;cursor:not-allowed}.lesson-nav-button:disabled{opacity:.45;cursor:not-allowed}.lesson-message{color:#64748b;text-align:center;background:#fff;border:1px solid #e5e9ef;border-radius:14px;justify-content:center;align-items:center;min-height:250px;padding:30px;font-size:12px;display:flex}.lesson-message.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.student-layout{color:#111827;background:#f5f7fb;width:100%;min-height:100vh;display:flex}.student-sidebar{color:#fff;z-index:50;background:#172554;flex-direction:column;width:250px;height:100vh;padding:28px 18px;display:flex;position:fixed;top:0;left:0}.student-sidebar-top{justify-content:space-between;align-items:center;display:flex}.student-brand{align-items:center;gap:11px;padding:0 8px;display:flex}.student-brand-symbol{color:#2563eb;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:flex}.student-brand-text{flex-direction:column;display:flex}.student-brand-text strong{font-size:13px}.student-brand-text span{color:#ffffff80;margin-top:2px;font-size:10px}.student-sidebar-close{display:none}.student-nav{flex-direction:column;gap:6px;margin-top:55px;display:flex}.student-nav-item{color:#ffffffad;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;height:44px;padding:0 13px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.student-nav-item:hover{color:#fff;background:#ffffff12}.student-nav-active{color:#fff;background:#ffffff1c;font-weight:600}.student-sidebar-bottom{border-top:1px solid #ffffff14;flex-direction:column;gap:5px;margin-top:auto;padding-top:20px;display:flex}.student-logout{color:#ffffff80}.student-main{width:calc(100% - 250px);min-height:100vh;margin-left:250px}.student-header{z-index:20;background:#fff;border-bottom:1px solid #e9edf3;justify-content:space-between;align-items:center;height:78px;padding:0 38px;display:flex;position:sticky;top:0}.student-header-left{align-items:center;gap:14px;display:flex}.student-mobile-menu{display:none}.student-search{color:#9ca3af;background:#fafbfc;border:1px solid #e1e5eb;border-radius:10px;align-items:center;gap:9px;width:310px;height:42px;padding:0 14px;display:flex}.student-search input{color:#111827;background:0 0;border:0;outline:none;width:100%;font-size:12px}.student-header-actions{align-items:center;gap:20px;display:flex}.student-notification{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.student-notification span{background:#2563eb;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.student-user{align-items:center;gap:10px;display:flex}.student-avatar{color:#2563eb;background:#e8efff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:flex}.student-user-info{flex-direction:column;display:flex}.student-user-info strong{font-size:12px}.student-user-info span{color:#94a3b8;margin-top:2px;font-size:10px}@media (width<=780px){.student-sidebar{transition:transform .25s;transform:translate(-100%)}.student-sidebar-open{transform:translate(0)}.student-sidebar-close{color:#fff;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.student-overlay{z-index:40;background:#0f172a73;position:fixed;inset:0}.student-main{width:100%;margin-left:0}.student-header{height:68px;padding:0 18px}.student-mobile-menu{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.student-search,.student-user-info{display:none}}.admin-dashboard{background:var(--bg-page);width:100%;min-height:calc(100vh - 66px);padding:46px 48px 64px}.admin-dashboard-header{max-width:760px;margin-bottom:32px}.admin-dashboard-header>span{color:var(--junyu-coral);font-family:var(--font-body);letter-spacing:1.6px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.admin-dashboard-header>span:before{content:"";background:var(--junyu-coral);width:18px;height:1px}.admin-dashboard-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-1.3px;margin:9px 0 8px;font-size:34px;font-weight:600}.admin-dashboard-header p{max-width:590px;color:var(--text-secondary);font-family:var(--font-body);margin:0;font-size:12px;line-height:1.7}.admin-status-notice{border-radius:var(--radius-md);background:var(--junyu-coral-light);max-width:1100px;color:var(--junyu-coral);border:1px solid #e07a6a3d;align-items:flex-start;gap:13px;margin-bottom:26px;padding:17px 19px;display:flex}.admin-status-notice>svg{flex-shrink:0;margin-top:1px}.admin-status-notice strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:11px;font-weight:600;display:block}.admin-status-notice p{max-width:760px;color:var(--text-secondary);margin:5px 0 0;font-size:9px;line-height:1.65}.admin-modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:1100px;display:grid}.admin-module-card{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-surface);min-height:184px;box-shadow:var(--shadow-xs);cursor:pointer;flex-direction:column;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.admin-module-card:before{content:"";background:var(--junyu-primary);opacity:0;border-radius:0 0 3px 3px;width:38px;height:3px;transition:opacity .2s,transform .2s;position:absolute;top:0;left:22px;transform:translateY(-3px)}.admin-module-card:hover{box-shadow:var(--shadow-md);border-color:#1021292e;transform:translateY(-3px)}.admin-module-card:hover:before{opacity:1;transform:translateY(0)}.admin-module-icon{background:var(--junyu-primary-light);width:43px;height:43px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:12px;justify-content:center;align-items:center;margin-bottom:22px;transition:background .2s,color .2s,border-color .2s;display:flex}.admin-module-card:hover .admin-module-icon{background:var(--junyu-coral-light);color:var(--junyu-coral);border-color:#e07a6a2e}.admin-module-card>div:nth-child(2){flex:1}.admin-module-card span{color:var(--text-muted);letter-spacing:1.3px;font-size:7px;font-weight:700}.admin-module-card h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:5px 0 7px;font-size:15px;font-weight:600}.admin-module-card p{max-width:240px;color:var(--text-secondary);margin:0;font-size:9px;line-height:1.6}.admin-module-card>svg{border:1px solid var(--border-soft);color:#10212959;border-radius:50%;width:27px;height:27px;margin-top:17px;padding:6px;transition:background .2s,color .2s,border-color .2s,transform .2s}.admin-module-card:hover>svg{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(2px)}.admin-module-card:last-child .admin-module-icon{background:var(--junyu-coral-light);color:var(--junyu-coral)}.admin-module-card:last-child:hover:before{background:var(--junyu-coral)}@media (width<=1100px){.admin-dashboard{padding:40px 36px 56px}.admin-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.admin-dashboard{padding:30px 18px 46px}.admin-dashboard-header{margin-bottom:25px}.admin-dashboard-header h1{font-size:28px}.admin-status-notice{padding:15px}.admin-modules-grid{grid-template-columns:1fr}.admin-module-card{min-height:165px}}*{box-sizing:border-box}.admin-layout{background:var(--bg-page);min-height:100vh;display:flex}.admin-sidebar{z-index:30;background:var(--junyu-primary);width:245px;height:100vh;color:var(--text-on-dark);flex-direction:column;display:flex;position:fixed;top:0;left:0;box-shadow:8px 0 30px #10212914}.admin-sidebar-brand{border-bottom:1px solid #f7f6f317;align-items:center;gap:12px;min-height:84px;padding:0 22px;display:flex}.admin-sidebar-logo{flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.admin-sidebar-logo img{object-fit:contain;width:100%;height:100%;display:block}.admin-sidebar-brand strong{color:var(--junyu-ivory);font-family:var(--font-heading);letter-spacing:2.2px;font-size:14px;font-weight:500;display:block}.admin-sidebar-brand span{color:#f7f6f380;font-family:var(--font-body);letter-spacing:.3px;margin-top:3px;font-size:8px;display:block}.admin-sidebar-scroll{flex:1;padding:20px 13px 12px;overflow-y:auto}.admin-sidebar-scroll::-webkit-scrollbar{width:4px}.admin-sidebar-scroll::-webkit-scrollbar-track{background:0 0}.admin-sidebar-scroll::-webkit-scrollbar-thumb{background:#f7f6f31f;border-radius:10px}.admin-nav-section{margin-bottom:23px}.admin-nav-label{color:#f7f6f354;letter-spacing:1.5px;margin:0 11px 8px;font-size:7px;font-weight:700;display:block}.admin-nav-item{color:#f7f6f3a6;border-radius:9px;align-items:center;gap:11px;min-height:41px;margin-bottom:3px;padding:0 11px;font-size:11px;font-weight:450;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.admin-nav-item svg{color:#f7f6f380;flex-shrink:0;transition:color .18s}.admin-nav-item:hover{color:var(--junyu-ivory);background:#f7f6f30f;transform:translate(1px)}.admin-nav-item:hover svg{color:var(--junyu-ivory)}.admin-nav-item.active{color:#fff;background:#f7f6f317;font-weight:550}.admin-nav-item.active:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:3px;height:20px;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.admin-nav-item.active svg{color:var(--junyu-coral)}.admin-sidebar-user{background:#0000000f;border-top:1px solid #f7f6f317;align-items:center;gap:10px;min-height:78px;padding:14px 15px;display:flex}.admin-user-avatar{width:35px;height:35px;color:var(--junyu-coral);background:#e07a6a1f;border:1px solid #e07a6a59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.admin-user-info{flex:1;min-width:0}.admin-user-info strong{color:var(--junyu-ivory);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550;display:block;overflow:hidden}.admin-user-info span{color:#f7f6f36b;margin-top:2px;font-size:7px;display:block}.admin-logout-button{color:#f7f6f366;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:31px;height:31px;transition:background .18s,color .18s;display:flex}.admin-logout-button:hover{color:var(--junyu-coral);background:#e07a6a1f}.admin-main{background:var(--bg-page);width:calc(100% - 245px);min-height:100vh;margin-left:245px}.admin-topbar{z-index:20;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f6f3f0;justify-content:space-between;align-items:center;height:66px;padding:0 32px;display:flex;position:sticky;top:0}.admin-topbar>div:first-child>span{color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.15px;font-size:9px;font-weight:500}.admin-topbar-user{border-radius:9px;align-items:center;gap:8px;padding:4px 6px;transition:background .18s;display:flex}.admin-topbar-user:hover{background:#1021290a}.admin-topbar-avatar{background:var(--junyu-primary-light);width:32px;height:32px;color:var(--junyu-primary);border:1px solid #10212914;border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.admin-topbar-user strong{color:var(--text-primary);font-size:9px;font-weight:600;display:block}.admin-topbar-user span{color:var(--text-muted);margin-top:1px;font-size:7px;display:block}.admin-topbar-user>svg{color:#10212940;margin-left:3px}.admin-content{background:var(--bg-page);min-height:calc(100vh - 66px)}@media (width<=1000px){.admin-sidebar{width:220px}.admin-main{width:calc(100% - 220px);margin-left:220px}.admin-sidebar-brand{padding:0 17px}.admin-topbar{padding:0 24px}}@media (width<=760px){.admin-sidebar{width:200px}.admin-main{width:calc(100% - 200px);margin-left:200px}.admin-sidebar-brand strong{letter-spacing:1.7px;font-size:12px}.admin-nav-item{font-size:10px}}@media (width<=650px){.admin-sidebar{display:none}.admin-main{width:100%;margin-left:0}.admin-topbar{padding:0 18px}.admin-topbar>div:first-child>span{font-size:8px}}.admin-students{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.admin-students-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.admin-students-header>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.admin-students-header>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.admin-students-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.admin-students-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.admin-students-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.admin-search-box{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:350px;height:40px;color:var(--text-muted);box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:0 13px;transition:border-color .18s,box-shadow .18s;display:flex}.admin-search-box:focus-within{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.admin-search-box svg{color:var(--text-muted);flex-shrink:0}.admin-search-box input{width:100%;color:var(--text-primary);font-family:var(--font-body);box-shadow:none;background:0 0;border:0;outline:0;font-size:10px}.admin-search-box input:focus{box-shadow:none}.admin-search-box input::placeholder{color:#a5adaf}.admin-status-filters{gap:5px;display:flex}.admin-status-filters button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:33px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;padding:0 12px;font-size:8px;font-weight:500;transition:background .18s,border-color .18s,color .18s}.admin-status-filters button:hover{background:var(--bg-soft);color:var(--junyu-primary);border-color:#10212938}.admin-status-filters button.active{background:var(--junyu-primary);color:var(--junyu-ivory);border-color:#10212926;font-weight:600}.admin-students-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.admin-students-table-header,.admin-student-row{grid-template-columns:1.55fr 1.4fr .65fr 1fr .65fr .65fr 30px;align-items:center;gap:14px;display:grid}.admin-students-table-header{border-bottom:1px solid var(--border-soft);background:var(--bg-soft);min-height:43px;padding:0 18px}.admin-students-table-header span{color:var(--text-muted);letter-spacing:.8px;font-size:7px;font-weight:700}.admin-student-row{border-bottom:1px solid var(--border-soft);background:var(--bg-surface);min-height:69px;padding:10px 18px;transition:background .16s,box-shadow .16s;position:relative}.admin-student-row:hover{background:#fcfbf8}.admin-student-row:last-child{border-bottom:0}.admin-student-row:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:2px;height:0;transition:height .18s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.admin-student-row:hover:before{height:30px}.admin-student-main{align-items:center;gap:10px;min-width:0;display:flex}.admin-student-avatar{background:var(--junyu-primary-light);width:34px;height:34px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.admin-student-main strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;display:block;overflow:hidden}.admin-student-main span{color:var(--text-muted);letter-spacing:.3px;margin-top:3px;font-size:6px;display:block}.admin-student-contact{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-student-contact span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:8px;display:flex;overflow:hidden}.admin-student-contact svg{color:#1021296e;flex-shrink:0}.admin-table-text{color:var(--text-secondary);font-size:8px}.student-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;min-height:23px;padding:0 8px;font-size:7px;font-weight:650;display:inline-flex}.admin-row-action{color:#1021294d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.admin-row-action:hover{background:var(--junyu-primary);color:var(--junyu-ivory);border-color:#1021291f;transform:translate(1px)}.admin-students-state{text-align:center;color:var(--text-muted);padding:56px 20px;font-size:9px}.admin-students-state.error{color:var(--danger)}.admin-students-empty{text-align:center;flex-direction:column;align-items:center;padding:72px 20px;display:flex}.admin-empty-icon{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;justify-content:center;align-items:center;margin-bottom:15px;display:flex}.admin-students-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0 0 6px;font-size:14px;font-weight:600}.admin-students-empty p{max-width:330px;color:var(--text-muted);margin:0 0 19px;font-size:9px;line-height:1.6}.admin-students-footer{border-top:1px solid var(--border-soft);background:var(--bg-soft);min-height:43px;color:var(--text-muted);align-items:center;padding:0 18px;font-size:8px;display:flex}@media (width<=1100px){.admin-students-table-header,.admin-student-row{grid-template-columns:1.5fr 1.2fr .7fr .7fr 30px}.admin-students-table-header span:nth-child(4),.admin-student-row>div:nth-child(4),.admin-students-table-header span:nth-child(6),.admin-student-row>div:nth-child(6){display:none}}@media (width<=750px){.admin-students{padding:28px 18px 44px}.admin-students-header,.admin-students-toolbar{flex-direction:column;align-items:stretch}.admin-students-header .admin-primary-button,.admin-search-box{width:100%}.admin-status-filters{width:100%;padding-bottom:3px;overflow-x:auto}.admin-status-filters button{flex-shrink:0}.admin-students-table-header{display:none}.admin-student-row{grid-template-columns:1fr auto;min-height:65px}.admin-student-row>div:not(.admin-student-main){display:none}.admin-student-main{min-width:0}}.admin-student-new{background:var(--bg-page);min-height:calc(100vh - 66px);padding:38px 42px 60px}.student-new-header{align-items:center;gap:13px;max-width:930px;margin:0 auto 24px;display:flex}.student-back-button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.student-back-button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(-1px)}.student-new-header>div:last-child{min-width:0}.student-new-header span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.student-new-header>div:last-child>span:before{content:"";background:var(--junyu-coral);width:13px;height:1px}.student-new-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.7px;margin:4px 0;font-size:25px;font-weight:600}.student-new-header p{color:var(--text-muted);margin:0;font-size:9px;line-height:1.55}.student-form-error{border-radius:var(--radius-sm);background:var(--danger-bg);max-width:930px;color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:8px;margin:0 auto 15px;padding:12px 14px;font-size:8px;line-height:1.5;display:flex}.student-form-error svg{flex-shrink:0}.student-form{max-width:930px;margin:auto}.student-form-section{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);margin-bottom:16px;padding:25px}.student-section-header{align-items:center;gap:11px;margin-bottom:23px;display:flex}.student-section-icon{background:var(--junyu-primary-light);width:38px;height:38px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.student-section-header h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:12px;font-weight:600}.student-section-header p{color:var(--text-muted);margin:3px 0 0;font-size:8px}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.student-field{flex-direction:column;gap:7px;min-width:0;display:flex}.student-field.full{grid-column:1/-1}.student-field>span{color:var(--text-secondary);font-size:8px;font-weight:600}.student-field input,.student-field select,.student-field textarea{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s,background .18s}.student-field input,.student-field select{min-height:40px;padding:0 11px}.student-field textarea{resize:vertical;min-height:84px;padding:10px 11px;line-height:1.6}.student-field input::placeholder,.student-field textarea::placeholder{color:#a7afb2}.student-field input:hover,.student-field select:hover,.student-field textarea:hover{border-color:#10212933}.student-field input:focus,.student-field select:focus,.student-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.student-input-icon{position:relative}.student-input-icon>svg{z-index:1;color:#10212961;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.student-input-icon input{padding-left:34px}.student-input-icon:focus-within>svg{color:var(--junyu-primary)}.student-form-section:last-of-type .student-field.full textarea{background:var(--bg-soft)}.student-form-section:last-of-type .student-field.full textarea:focus{background:var(--bg-surface)}.student-form-actions{justify-content:flex-end;gap:9px;padding-top:5px;display:flex}.admin-student-new .student-form-actions .student-secondary-button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:38px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;padding:0 15px;font-size:8px;font-weight:600;transition:background .18s,border-color .18s,color .18s}.admin-student-new .student-form-actions .student-secondary-button:hover{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212933}.admin-student-new .student-form-actions button:disabled{opacity:.55;cursor:not-allowed}.duplicate-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.duplicate-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:440px;max-height:90vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:28px;overflow-y:auto}.duplicate-modal::-webkit-scrollbar{width:5px}.duplicate-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.duplicate-modal h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:0 0 6px;font-size:16px;font-weight:600}.duplicate-modal>p{color:var(--text-secondary);margin:0 0 18px;font-size:9px;line-height:1.55}.duplicate-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;max-height:220px;margin-bottom:20px;overflow-y:auto}.duplicate-list::-webkit-scrollbar{width:5px}.duplicate-list::-webkit-scrollbar-thumb{background:#1021291f;border-radius:10px}.duplicate-item{border-bottom:1px solid var(--border-soft);padding:12px 14px;transition:background .16s;position:relative}.duplicate-item:hover{background:var(--bg-soft)}.duplicate-item:last-child{border-bottom:0}.duplicate-item strong{color:var(--text-primary);font-size:9px;font-weight:600;display:block}.duplicate-item span{color:var(--text-muted);margin-top:4px;font-size:7px;line-height:1.45;display:block}.duplicate-actions{justify-content:flex-end;gap:8px;display:flex}.admin-student-new .duplicate-actions .student-secondary-button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:38px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;padding:0 14px;font-size:8px;font-weight:600;transition:background .18s,border-color .18s,color .18s}.admin-student-new .duplicate-actions .student-secondary-button:hover{background:var(--bg-soft);color:var(--junyu-primary)}.duplicate-confirm-button{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning);color:#fff;min-height:38px;font-family:var(--font-body);cursor:pointer;padding:0 14px;font-size:8px;font-weight:650;transition:transform .18s,opacity .18s}.duplicate-confirm-button:hover:not(:disabled){transform:translateY(-1px)}.duplicate-confirm-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.admin-student-new{padding:28px 18px 48px}.student-new-header{align-items:flex-start}.student-new-header h1{font-size:21px}.student-form-section{padding:19px}.student-form-grid{grid-template-columns:1fr}.student-field.full{grid-column:auto}.student-form-actions{flex-direction:column-reverse}.student-form-actions button{width:100%}.duplicate-modal{padding:22px}.duplicate-actions{flex-direction:column-reverse}.duplicate-actions button{width:100%}}.admin-student-detail{background:var(--bg-page);min-height:calc(100vh - 66px);padding:38px 42px 60px}.student-detail-header{align-items:center;gap:12px;max-width:1180px;margin:0 auto 20px;display:flex}.student-detail-back-icon{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.student-detail-back-icon:hover{background:var(--junyu-primary);color:var(--junyu-ivory);border-color:#1021292e;transform:translate(-1px)}.student-detail-avatar{background:var(--junyu-primary-light);width:47px;height:47px;color:var(--junyu-primary);border:1px solid #10212914;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.student-detail-heading{flex:1;min-width:0}.student-detail-heading>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.student-detail-heading>span:before{content:"";background:var(--junyu-coral);width:13px;height:1px}.student-detail-heading h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.6px;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:23px;font-weight:600;overflow:hidden}.student-detail-heading p{color:var(--text-muted);letter-spacing:.3px;margin:0;font-size:7px}.student-status{border:1px solid #0000;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:7px;font-weight:650;display:inline-flex}.student-status.active{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.student-status.inactive{border-color:var(--border-soft);color:#727d7f;background:#f1f3f2}.student-status.paused{background:var(--warning-bg);color:var(--warning);border-color:#b27b3821}.student-status.finished{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212914}.student-status.lead{background:var(--junyu-coral-light);color:var(--junyu-coral);border-color:#e07a6a24}.student-detail-summary{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);max-width:1180px;box-shadow:var(--shadow-xs);grid-template-columns:repeat(4,1fr);margin:0 auto 16px;display:grid;overflow:hidden}.student-detail-summary>div{border-right:1px solid var(--border-soft);min-width:0;padding:16px 20px}.student-detail-summary>div:last-child{border-right:0}.student-detail-summary span{color:var(--text-muted);margin-bottom:5px;font-size:7px;display:block}.student-detail-summary strong{color:var(--junyu-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.student-detail-grid{grid-template-columns:minmax(0,1fr) 330px;gap:16px;max-width:1180px;margin:auto;display:grid}.student-detail-main-column,.student-detail-side-column{flex-direction:column;gap:16px;display:flex}.student-detail-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);padding:22px}.student-detail-card-header{align-items:center;gap:10px;margin-bottom:21px;display:flex}.student-detail-card-header>div:first-child{background:var(--junyu-primary-light);width:36px;height:36px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.student-detail-card-header h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:11px;font-weight:600}.student-detail-card-header p{color:var(--text-muted);margin:3px 0 0;font-size:7px}.student-detail-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 25px;display:grid}.student-detail-data-grid>div{min-width:0}.student-detail-data-grid span,.student-long-data span{color:var(--text-muted);margin-bottom:5px;font-size:7px;display:block}.student-detail-data-grid strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:9px;font-weight:550;display:block}.student-long-data{flex-direction:column;gap:12px;display:flex}.student-long-data>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);padding:13px 14px}.student-long-data p{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:9px;line-height:1.65}.student-contact-list{flex-direction:column;gap:8px;display:flex}.student-contact-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:center;gap:10px;padding:10px 12px;transition:border-color .18s,background .18s;display:flex}.student-contact-item:hover{background:var(--bg-soft);border-color:#10212921}.student-contact-item-icon{background:var(--junyu-primary-light);width:31px;height:31px;color:var(--junyu-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.student-contact-item span{color:var(--text-muted);font-size:7px;display:block}.student-contact-item strong{color:var(--text-primary);margin-top:2px;font-size:9px;font-weight:550;display:block}.student-side-card-header{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.student-side-card-header>div{color:var(--junyu-coral);align-items:center;gap:7px;display:flex}.student-side-card-header h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:10px;font-weight:600}.student-side-card-header>button{background:var(--junyu-primary-light);width:30px;height:30px;color:var(--junyu-primary);cursor:pointer;border:1px solid #10212914;border-radius:8px;justify-content:center;align-items:center;transition:background .18s,color .18s,border-color .18s;display:flex}.student-side-card-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.student-payer-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;padding:24px 10px 8px;display:flex}.student-payer-empty>svg{color:var(--junyu-coral)}.student-payer-empty strong{color:var(--junyu-primary);margin-top:9px;font-size:9px;font-weight:600}.student-payer-empty span{max-width:215px;color:var(--text-muted);margin-top:5px;font-size:7px;line-height:1.55}.student-payer-empty button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:34px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;align-items:center;gap:6px;margin-top:14px;padding:0 11px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex}.student-payer-empty button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.student-payer-list{flex-direction:column;gap:8px;display:flex}.student-payer-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:flex-start;gap:9px;padding:11px;display:flex}.student-payer-avatar{background:var(--junyu-coral-light);width:32px;height:32px;color:var(--junyu-coral);border:1px solid #e07a6a1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.student-payer-item strong{color:var(--text-primary);font-size:9px;font-weight:600;display:block}.student-payer-item span{color:var(--text-muted);margin-top:2px;font-size:7px;display:block}.student-payer-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.student-payer-tags small{border:1px solid var(--border-soft);background:var(--bg-soft);color:var(--text-secondary);border-radius:20px;padding:3px 6px;font-size:5px;font-weight:650}.student-detail-empty-small{color:var(--text-muted);font-size:8px}.student-detail-state{background:var(--bg-page);min-height:calc(100vh - 66px);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:9px;display:flex}.student-detail-back{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:35px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;padding:0 12px;font-size:8px;font-weight:600}.student-detail-back:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.student-enrollment-list{flex-direction:column;gap:9px;display:flex}.student-enrollment-card{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.student-enrollment-card:hover{box-shadow:var(--shadow-xs);border-color:#1021292e}.student-enrollment-heading{justify-content:space-between;align-items:flex-start;gap:8px;padding:12px;display:flex}.student-enrollment-heading>div{min-width:0}.student-enrollment-heading>div>strong{color:var(--junyu-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.student-enrollment-heading>div>span{color:var(--text-muted);margin-top:3px;font-size:7px;display:block}.student-enrollment-status{border:1px solid #0000;border-radius:20px;flex-shrink:0;padding:4px 7px;font-size:6px;font-weight:650}.student-enrollment-status.pending_setup{background:var(--warning-bg);color:var(--warning);border-color:#b27b3821}.student-enrollment-status.active{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.student-enrollment-status.paused{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212917}.student-enrollment-status.finished{border-color:var(--border-soft);color:var(--text-secondary);background:#f1f3f2}.student-enrollment-status.cancelled{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.student-enrollment-meta{border-top:1px solid var(--border-soft);background:var(--bg-soft);grid-template-columns:1fr .6fr;gap:10px;padding:10px 12px;display:grid}.student-enrollment-meta span{color:var(--text-muted);font-size:6px;display:block}.student-enrollment-meta strong{color:var(--text-primary);margin-top:3px;font-size:8px;font-weight:600;display:block}.student-enrollment-view{border:0;border-top:1px solid var(--border-soft);background:var(--bg-surface);width:100%;min-height:35px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;justify-content:space-between;align-items:center;padding:0 12px;font-size:7px;font-weight:650;transition:background .18s,color .18s;display:flex}.student-enrollment-view span{color:var(--junyu-coral);transition:transform .18s}.student-enrollment-view:hover{background:var(--junyu-primary);color:#fff}.student-enrollment-view:hover span{color:var(--junyu-coral);transform:translate(2px)}.student-new-enrollment-button{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;background:#10212906;border:1px dashed #10212947;margin-top:10px;font-size:8px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.student-new-enrollment-button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.student-enrollments-empty{text-align:center;flex-direction:column;align-items:center;padding:21px 10px;display:flex}.student-enrollments-empty strong{color:var(--junyu-primary);font-size:9px;font-weight:600}.student-enrollments-empty span{max-width:215px;color:var(--text-muted);margin-top:5px;font-size:7px;line-height:1.55}@media (width<=1000px){.student-detail-grid{grid-template-columns:1fr}.student-detail-side-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (width<=700px){.admin-student-detail{padding:27px 18px 48px}.student-detail-header{flex-wrap:wrap}.student-detail-avatar{width:42px;height:42px}.student-detail-heading h1{font-size:20px}.student-detail-summary{grid-template-columns:repeat(2,1fr)}.student-detail-summary>div{border-bottom:1px solid var(--border-soft)}.student-detail-summary>div:nth-child(2){border-right:0}.student-detail-data-grid{grid-template-columns:1fr}.student-detail-side-column{display:flex}}.payer-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.payer-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-modal);border:1px solid #fff9;padding:28px;overflow-y:auto}.payer-modal::-webkit-scrollbar{width:5px}.payer-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.payer-modal-header{justify-content:space-between;gap:20px;margin-bottom:22px;display:flex}.payer-modal-header>div{min-width:0}.payer-modal-header span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.payer-modal-header span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.payer-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.4px;margin:5px 0;font-size:18px;font-weight:600}.payer-modal-header p{color:var(--text-muted);margin:0;font-size:8px;line-height:1.55}.payer-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.payer-modal-header>button:hover{background:var(--junyu-primary);color:#fff;border-color:#10212926;transform:rotate(3deg)}.payer-mode-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px;display:grid}.payer-mode-selector>button{border:1px solid var(--border-primary);background:var(--bg-surface);min-width:0;color:var(--text-muted);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:13px;transition:border-color .18s,background .18s,color .18s,transform .18s;display:flex}.payer-mode-selector>button:hover{background:var(--bg-soft);border-color:#1021292e}.payer-mode-selector>button.active{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212938}.payer-mode-selector>button.active>svg{color:var(--junyu-coral)}.payer-mode-selector strong{color:var(--text-primary);font-size:9px;font-weight:600;display:block}.payer-mode-selector span{color:var(--text-muted);margin-top:3px;font-size:7px;line-height:1.4;display:block}.payer-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.payer-field{flex-direction:column;gap:6px;display:flex}.payer-field.full{grid-column:1/-1}.payer-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.payer-field input,.payer-field select{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;min-height:39px;color:var(--text-primary);font-family:var(--font-body);outline:0;padding:0 11px;font-size:9px;transition:border-color .18s,box-shadow .18s,background .18s}.payer-field input::placeholder{color:#a9b0b2}.payer-field input:hover,.payer-field select:hover{border-color:#10212933}.payer-field input:focus,.payer-field select:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.payer-self-message{background:var(--junyu-coral-light);color:var(--junyu-coral);border:1px solid #e07a6a2e;border-radius:10px;align-items:center;gap:11px;padding:16px;display:flex}.payer-self-message>svg{flex-shrink:0}.payer-self-message strong{color:var(--junyu-primary);font-size:10px;font-weight:600;display:block}.payer-self-message span{color:var(--text-secondary);margin-top:3px;font-size:7px;line-height:1.5;display:block}.payer-responsibilities{border-top:1px solid var(--border-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px;padding-top:18px;display:grid}.payer-responsibilities label{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;align-items:flex-start;gap:8px;min-width:0;padding:11px;transition:border-color .18s,background .18s;display:flex}.payer-responsibilities label:hover{background:var(--bg-soft);border-color:#10212929}.payer-responsibilities input{width:14px;height:14px;accent-color:var(--junyu-primary);flex-shrink:0;margin-top:1px}.payer-responsibilities strong{color:var(--text-primary);font-size:8px;font-weight:600;display:block}.payer-responsibilities span{color:var(--text-muted);margin-top:3px;font-size:6px;line-height:1.45;display:block}.payer-modal-actions{justify-content:flex-end;gap:8px;margin-top:23px;display:flex}.payer-modal-actions button:disabled{opacity:.55;cursor:not-allowed}.payer-modal-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:15px;padding:11px 13px;font-size:8px;line-height:1.45;display:flex}.payer-modal-error svg{flex-shrink:0}.payer-duplicate-overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1021296b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.payer-duplicate-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:480px;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:26px}.duplicate-warning-icon{background:var(--warning-bg);width:44px;height:44px;color:var(--warning);border:1px solid #b27b3826;border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.payer-duplicate-modal h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:0 0 6px;font-size:16px;font-weight:600}.payer-duplicate-modal>p{color:var(--text-secondary);margin:0 0 18px;font-size:8px;line-height:1.6}.payer-existing-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;overflow:hidden}.payer-existing-item{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:background .18s;display:flex}.payer-existing-item:hover{background:var(--bg-soft)}.payer-existing-item:last-child{border-bottom:0}.payer-existing-item>div{min-width:0}.payer-existing-item strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.payer-existing-item span{color:var(--text-muted);overflow-wrap:anywhere;margin-top:3px;font-size:7px;display:block}.payer-existing-item button{background:var(--junyu-primary-light);min-height:31px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;border:1px solid #10212924;border-radius:7px;flex-shrink:0;padding:0 10px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.payer-existing-item button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.payer-duplicate-actions{justify-content:flex-end;gap:7px;margin-top:18px;display:flex}.payer-create-anyway{border-radius:var(--radius-sm);background:var(--warning-bg);min-height:36px;color:var(--warning);font-family:var(--font-body);cursor:pointer;border:1px solid #b27b3833;padding:0 11px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.payer-create-anyway:hover{border-color:var(--warning);background:var(--warning);color:#fff}@media (width<=650px){.payer-modal-overlay{padding:12px}.payer-modal{max-height:94vh;padding:21px}.payer-form-grid,.payer-mode-selector,.payer-responsibilities{grid-template-columns:1fr}.payer-field.full{grid-column:auto}.payer-modal-actions,.payer-duplicate-actions{flex-direction:column-reverse}.payer-modal-actions button,.payer-duplicate-actions button{width:100%}.payer-existing-item{flex-direction:column;align-items:stretch}.payer-existing-item button{width:100%}}.admin-products{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.admin-products-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.admin-products-header>div:first-child>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.admin-products-header>div:first-child>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.admin-products-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.admin-products-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.products-toolbar{margin-bottom:15px}.admin-products .admin-search-box{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:350px;height:40px;color:var(--text-muted);box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:0 13px;transition:border-color .18s,box-shadow .18s;display:flex}.admin-products .admin-search-box:focus-within{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.admin-products .admin-search-box svg{color:var(--text-muted);flex-shrink:0}.admin-products .admin-search-box input{width:100%;color:var(--text-primary);font-family:var(--font-body);box-shadow:none;background:0 0;border:0;outline:0;font-size:10px}.admin-products .admin-search-box input::placeholder{color:#a5adaf}.products-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;margin-bottom:14px;padding:11px 13px;font-size:8px;line-height:1.5}.products-list{flex-direction:column;gap:11px;display:flex}.product-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:border-color .18s,box-shadow .18s;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-sm);border-color:#10212929}.product-card-main{align-items:flex-start;gap:14px;min-height:114px;padding:20px;display:flex}.product-icon{background:var(--junyu-primary-light);width:42px;height:42px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.product-card-info{flex:1;min-width:0}.product-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.product-title-line>strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:12px;font-weight:600}.product-status{border:1px solid var(--border-soft);background:var(--bg-soft);min-height:21px;color:var(--text-secondary);border-radius:20px;justify-content:center;align-items:center;padding:0 7px;font-size:6px;font-weight:650;display:inline-flex}.product-status.active{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.product-status.inactive{border-color:var(--border-soft);color:var(--text-secondary);background:#f1f3f2}.product-code{color:var(--text-muted);letter-spacing:.3px;margin-top:3px;font-size:6px;display:block}.product-card-info p{max-width:680px;color:var(--text-secondary);margin:9px 0 0;font-size:9px;line-height:1.6}.product-meta{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.product-meta span{border:1px solid var(--border-soft);background:var(--bg-soft);min-height:27px;color:var(--text-secondary);border-radius:20px;align-items:center;gap:5px;padding:0 9px;font-size:7px;display:inline-flex}.product-meta svg{color:#1021296e}.product-expand-button{border:1px solid var(--border-soft);background:var(--bg-soft);color:#10212973;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.product-expand-button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.product-packages{border-top:1px solid var(--border-soft);background:var(--bg-soft);padding:18px 20px 20px}.product-packages-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.product-packages-header strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:10px;font-weight:600;display:block}.product-packages-header span{color:var(--text-muted);margin-top:3px;font-size:7px;display:block}.product-packages-header button{border-radius:var(--radius-sm);background:var(--bg-surface);min-height:32px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;border:1px solid #10212924;align-items:center;gap:5px;padding:0 10px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex}.product-packages-header button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.package-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;overflow:hidden}.package-row{border-bottom:1px solid var(--border-soft);grid-template-columns:1.5fr .6fr .8fr 1fr .9fr;align-items:center;gap:12px;min-height:59px;padding:10px 13px;transition:background .16s;display:grid}.package-row:hover{background:#fcfbf8}.package-row:last-child{border-bottom:0}.package-row span{color:var(--text-muted);margin-bottom:3px;font-size:6px;display:block}.package-row strong{color:var(--text-primary);font-size:8px;font-weight:600}.package-row>div:first-child strong{color:var(--junyu-primary);font-size:9px}.packages-empty{text-align:center;color:var(--text-muted);padding:26px;font-size:8px}.products-empty,.products-state{text-align:center;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-muted);box-shadow:var(--shadow-xs);padding:72px 20px}.products-state{font-size:9px}.products-empty>svg{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;padding:13px}.products-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:13px 0 6px;font-size:14px;font-weight:600}.products-empty p{color:var(--text-muted);margin:0 0 18px;font-size:9px}.products-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.products-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:570px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:28px;overflow-y:auto}.products-modal::-webkit-scrollbar{width:5px}.products-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.products-modal-header{justify-content:space-between;gap:18px;margin-bottom:21px;display:flex}.products-modal-header>div{min-width:0}.products-modal-header span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.products-modal-header span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.products-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:5px 0;font-size:17px;font-weight:600}.products-modal-header p{color:var(--text-muted);margin:0;font-size:8px}.products-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:31px;height:31px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .18s,border-color .18s,color .18s;display:flex}.products-modal-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.products-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.products-modal .payer-field{flex-direction:column;gap:6px;display:flex}.products-modal .payer-field.full{grid-column:1/-1}.products-modal .payer-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.products-modal .payer-field input,.products-modal .payer-field select,.products-modal .payer-field textarea{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s}.products-modal .payer-field input,.products-modal .payer-field select{min-height:39px;padding:0 11px}.products-modal .payer-field textarea{resize:vertical;min-height:80px;padding:10px 11px;line-height:1.55}.products-modal .payer-field input::placeholder,.products-modal .payer-field textarea::placeholder{color:#a9b0b2}.products-modal .payer-field input:hover,.products-modal .payer-field select:hover,.products-modal .payer-field textarea:hover{border-color:#10212933}.products-modal .payer-field input:focus,.products-modal .payer-field select:focus,.products-modal .payer-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.products-modal .payer-modal-actions{justify-content:flex-end;gap:8px;margin-top:23px;display:flex}.products-modal .payer-modal-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=850px){.package-row{grid-template-columns:1.4fr .6fr .8fr;gap:10px}.package-row>div:nth-child(4),.package-row>div:nth-child(5){display:none}}@media (width<=700px){.admin-products{padding:28px 18px 48px}.admin-products-header{flex-direction:column;align-items:stretch}.admin-products-header>div:last-child{flex-wrap:wrap;width:100%}.admin-products-header>div:last-child button{flex:1}.admin-products .admin-search-box{width:100%}.products-form-grid{grid-template-columns:1fr}.products-modal .payer-field.full{grid-column:auto}.product-card-main{padding:17px}.product-packages{padding:16px}.product-packages-header{flex-direction:column;align-items:stretch}.product-packages-header button{justify-content:center}.package-row{grid-template-columns:1fr 1fr}.package-row>div:nth-child(3){display:none}.products-modal{padding:21px}.products-modal .payer-modal-actions{flex-direction:column-reverse}.products-modal .payer-modal-actions button{width:100%}}.admin-price-tables{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.price-page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.price-title-group{align-items:center;gap:12px;min-width:0;display:flex}.price-title-group>button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.price-title-group>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(-1px)}.price-title-group>div{min-width:0}.price-title-group>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.price-title-group>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.price-title-group h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.price-title-group p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.admin-price-tables .products-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;margin-bottom:14px;padding:11px 13px;font-size:8px;line-height:1.5}.price-table-list{flex-direction:column;gap:14px;display:flex}.price-table-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:border-color .18s,box-shadow .18s;overflow:hidden}.price-table-card:hover{box-shadow:var(--shadow-sm);border-color:#10212929}.price-table-header{justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.price-table-header>div{min-width:0}.price-table-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price-table-title strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:12px;font-weight:600}.price-table-title span{background:var(--success-bg);min-height:21px;color:var(--success);border:1px solid #3f7f631f;border-radius:20px;justify-content:center;align-items:center;padding:0 7px;font-size:6px;font-weight:650;display:inline-flex}.price-table-header small{color:var(--text-muted);letter-spacing:.3px;margin-top:3px;font-size:6px;display:block}.price-validity{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px;font-size:7px;display:flex}.price-validity svg{color:#1021296b}.price-table-header>button{border-radius:var(--radius-sm);background:var(--bg-surface);min-height:33px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;border:1px solid #10212924;flex-shrink:0;align-items:center;gap:5px;padding:0 11px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex}.price-table-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.price-list{border-top:1px solid var(--border-soft)}.price-row{border-bottom:1px solid var(--border-soft);background:var(--bg-surface);grid-template-columns:34px 1fr auto;align-items:center;gap:11px;min-height:64px;padding:10px 20px;transition:background .16s;display:grid;position:relative}.price-row:last-child{border-bottom:0}.price-row:hover{background:#fcfbf8}.price-row:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:2px;height:0;transition:height .18s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.price-row:hover:before{height:27px}.price-row-icon{background:var(--junyu-primary-light);width:32px;height:32px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:9px;justify-content:center;align-items:center;display:flex}.price-row-name{min-width:0}.price-row-name span,.price-row-value span{color:var(--text-muted);font-size:6px;display:block}.price-row-name strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;font-weight:600;display:block;overflow:hidden}.price-row-value{text-align:right}.price-row-value strong{color:var(--junyu-primary);font-family:var(--font-heading);margin-top:3px;font-size:11px;font-weight:600;display:block}.price-table-no-prices{border-top:1px solid var(--border-soft);background:var(--bg-soft);text-align:center;color:var(--text-muted);padding:22px;font-size:8px}.price-empty{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-xs);padding:72px 20px;font-size:9px}.price-empty>svg{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;padding:13px}.price-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:13px 0 6px;font-size:14px;font-weight:600}.price-empty p{color:var(--text-muted);margin:0;font-size:9px;line-height:1.6}.admin-price-tables .products-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-price-tables .products-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:570px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:28px;overflow-y:auto}.admin-price-tables .products-modal::-webkit-scrollbar{width:5px}.admin-price-tables .products-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.admin-price-tables .products-modal-header{justify-content:space-between;gap:18px;margin-bottom:21px;display:flex}.admin-price-tables .products-modal-header>div{min-width:0}.admin-price-tables .products-modal-header span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.admin-price-tables .products-modal-header span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.admin-price-tables .products-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:5px 0;font-size:17px;font-weight:600}.admin-price-tables .products-modal-header p{color:var(--text-muted);margin:0;font-size:8px}.admin-price-tables .products-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:31px;height:31px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .18s,border-color .18s,color .18s;display:flex}.admin-price-tables .products-modal-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.admin-price-tables .products-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-price-tables .products-modal .payer-field{flex-direction:column;gap:6px;display:flex}.admin-price-tables .products-modal .payer-field.full{grid-column:1/-1}.admin-price-tables .products-modal .payer-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.admin-price-tables .products-modal .payer-field input,.admin-price-tables .products-modal .payer-field select,.admin-price-tables .products-modal .payer-field textarea{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s}.admin-price-tables .products-modal .payer-field input,.admin-price-tables .products-modal .payer-field select{min-height:39px;padding:0 11px}.admin-price-tables .products-modal .payer-field textarea{resize:vertical;min-height:80px;padding:10px 11px;line-height:1.55}.admin-price-tables .products-modal .payer-field input::placeholder,.admin-price-tables .products-modal .payer-field textarea::placeholder{color:#a9b0b2}.admin-price-tables .products-modal .payer-field input:hover,.admin-price-tables .products-modal .payer-field select:hover,.admin-price-tables .products-modal .payer-field textarea:hover{border-color:#10212933}.admin-price-tables .products-modal .payer-field input:focus,.admin-price-tables .products-modal .payer-field select:focus,.admin-price-tables .products-modal .payer-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.admin-price-tables .products-modal .payer-modal-actions{justify-content:flex-end;gap:8px;margin-top:23px;display:flex}.admin-price-tables .products-modal .payer-modal-actions button:disabled{opacity:.55;cursor:not-allowed}.admin-price-tables .price-small-modal{max-width:480px}@media (width<=700px){.admin-price-tables{padding:28px 18px 48px}.price-page-header{flex-direction:column;align-items:stretch}.price-title-group{align-items:flex-start}.price-page-header>.admin-primary-button{width:100%}.price-table-header{flex-direction:column;align-items:stretch}.price-table-header>button{justify-content:center}.price-row{grid-template-columns:32px 1fr;padding:11px 15px}.price-row-value{text-align:left;grid-column:2}.admin-price-tables .products-form-grid{grid-template-columns:1fr}.admin-price-tables .products-modal .payer-field.full{grid-column:auto}.admin-price-tables .products-modal{padding:21px}.admin-price-tables .products-modal .payer-modal-actions{flex-direction:column-reverse}.admin-price-tables .products-modal .payer-modal-actions button{width:100%}}.admin-enrollment-new{background:var(--bg-page);min-height:calc(100vh - 66px);padding:38px 42px 60px}.enrollment-new-header,.enrollment-form,.enrollment-error,.enrollment-blocked{max-width:980px;margin-left:auto;margin-right:auto}.enrollment-new-header{align-items:center;gap:12px;margin-bottom:23px;display:flex}.enrollment-new-header>button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.enrollment-new-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(-1px)}.enrollment-new-header>div{min-width:0}.enrollment-new-header span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.enrollment-new-header>div>span:before{content:"";background:var(--junyu-coral);width:13px;height:1px}.enrollment-new-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.7px;margin:4px 0;font-size:25px;font-weight:600}.enrollment-new-header p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.enrollment-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:15px;padding:12px 14px;font-size:8px;line-height:1.5;display:flex}.enrollment-error svg{flex-shrink:0}.enrollment-form{width:100%}.enrollment-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);margin-bottom:15px;padding:24px}.enrollment-card-title{align-items:center;gap:10px;margin-bottom:21px;display:flex}.enrollment-card-title>svg{background:var(--junyu-primary-light);width:38px;height:38px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;padding:9px}.enrollment-card-title h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:12px;font-weight:600}.enrollment-card-title p{color:var(--text-muted);margin:3px 0 0;font-size:8px;line-height:1.5}.enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-enrollment-new .payer-field{flex-direction:column;gap:7px;min-width:0;display:flex}.admin-enrollment-new .payer-field>span{color:var(--text-secondary);font-size:8px;font-weight:600}.admin-enrollment-new .payer-field input,.admin-enrollment-new .payer-field select,.admin-enrollment-new .payer-field textarea{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s,background .18s}.admin-enrollment-new .payer-field input,.admin-enrollment-new .payer-field select{min-height:40px;padding:0 11px}.admin-enrollment-new .payer-field textarea{resize:vertical;min-height:88px;padding:10px 11px;line-height:1.6}.admin-enrollment-new .payer-field input::placeholder,.admin-enrollment-new .payer-field textarea::placeholder{color:#a7afb2}.admin-enrollment-new .payer-field input:hover:not(:disabled),.admin-enrollment-new .payer-field select:hover,.admin-enrollment-new .payer-field textarea:hover{border-color:#10212933}.admin-enrollment-new .payer-field input:focus,.admin-enrollment-new .payer-field select:focus,.admin-enrollment-new .payer-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.admin-enrollment-new .payer-field input:disabled{border-color:var(--border-soft);background:var(--bg-soft);color:var(--text-secondary);cursor:not-allowed}.enrollment-price-summary{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;display:grid;overflow:hidden}.enrollment-price-summary>div{border-right:1px solid var(--border-soft);min-width:0;padding:14px}.enrollment-price-summary>div:last-child{border-right:0}.enrollment-price-summary span,.installment-totals span{color:var(--text-muted);font-size:6px;display:block}.enrollment-price-summary strong,.installment-totals strong{color:var(--text-primary);text-overflow:ellipsis;margin-top:4px;font-size:9px;font-weight:600;display:block;overflow:hidden}.enrollment-price-summary>div:last-child{background:#10212906}.enrollment-price-summary>div:last-child strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:10px}.enrollment-pending-notice{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);border:1px solid #b27b382b;align-items:center;gap:7px;margin-top:14px;padding:10px 12px;font-size:7px;line-height:1.55;display:flex}.enrollment-pending-notice svg{flex-shrink:0}.installment-list{flex-direction:column;gap:8px;display:flex}.installment-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 32px;align-items:end;gap:10px;padding:10px;display:grid}.installment-row>strong{background:var(--junyu-primary-light);width:34px;height:40px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:8px;justify-content:center;align-self:end;align-items:center;font-size:8px;font-weight:700;display:flex}.installment-delete{background:var(--danger-bg);width:32px;height:40px;color:var(--danger);cursor:pointer;border:1px solid #b85c621f;border-radius:8px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.installment-delete:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}.installment-delete:disabled{opacity:.35;cursor:default}.add-installment-button{border-radius:var(--radius-sm);background:var(--bg-surface);min-height:34px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;border:1px solid #10212924;align-items:center;gap:5px;margin-top:10px;padding:0 11px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex}.add-installment-button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.installment-totals{border-top:1px solid var(--border-soft);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;padding-top:16px;display:grid}.installment-totals>div{min-width:0;padding-right:20px}.installment-totals>div:not(:first-child){border-left:1px solid var(--border-soft);padding-left:20px}.installment-totals strong{font-family:var(--font-heading);font-size:11px}.installment-totals .ok strong{color:var(--success)}.installment-totals .pending strong{color:var(--warning)}.enrollment-card:last-of-type .payer-field textarea{background:var(--bg-soft)}.enrollment-card:last-of-type .payer-field textarea:focus{background:var(--bg-surface)}.enrollment-actions{justify-content:flex-end;gap:8px;display:flex}.enrollment-actions button:disabled{opacity:.55;cursor:not-allowed}.enrollment-blocked{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-xs);padding:72px 20px}.enrollment-blocked>svg{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;padding:13px}.enrollment-blocked h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:13px 0 6px;font-size:14px;font-weight:600}.enrollment-blocked p{max-width:360px;color:var(--text-muted);margin:0 auto 18px;font-size:9px;line-height:1.55}.enrollment-state{background:var(--bg-page);min-height:calc(100vh - 66px);color:var(--text-muted);justify-content:center;align-items:center;font-size:9px;display:flex}@media (width<=800px){.enrollment-price-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-price-summary>div:nth-child(2){border-right:0}.enrollment-price-summary>div:first-child,.enrollment-price-summary>div:nth-child(2){border-bottom:1px solid var(--border-soft)}}@media (width<=700px){.admin-enrollment-new{padding:28px 18px 48px}.enrollment-new-header{align-items:flex-start}.enrollment-new-header h1{font-size:21px}.enrollment-card{padding:19px}.enrollment-grid,.enrollment-price-summary,.installment-totals{grid-template-columns:1fr}.enrollment-price-summary>div,.enrollment-price-summary>div:nth-child(2){border-right:0;border-bottom:1px solid var(--border-soft)}.enrollment-price-summary>div:last-child{border-bottom:0}.installment-row{grid-template-columns:1fr}.installment-row>strong{justify-content:flex-start;width:100%;height:29px;padding-left:10px}.installment-delete{width:100%;height:36px}.installment-totals>div,.installment-totals>div:not(:first-child){border-left:0;border-bottom:1px solid var(--border-soft);padding:10px 0}.installment-totals>div:last-child{border-bottom:0}.enrollment-actions{flex-direction:column-reverse}.enrollment-actions button{width:100%}}.admin-enrollments{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.admin-enrollments-header{margin-bottom:27px}.admin-enrollments-header>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.admin-enrollments-header>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.admin-enrollments-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.admin-enrollments-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.admin-enrollments-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.admin-enrollments .admin-search-box{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:350px;height:40px;color:var(--text-muted);box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:0 13px;transition:border-color .18s,box-shadow .18s;display:flex}.admin-enrollments .admin-search-box:focus-within{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.admin-enrollments .admin-search-box svg{color:var(--text-muted);flex-shrink:0}.admin-enrollments .admin-search-box input{width:100%;color:var(--text-primary);font-family:var(--font-body);box-shadow:none;background:0 0;border:0;outline:0;font-size:10px}.admin-enrollments .admin-search-box input:focus{box-shadow:none}.admin-enrollments .admin-search-box input::placeholder{color:#a5adaf}.admin-enrollments .admin-status-filters{gap:5px;display:flex}.admin-enrollments .admin-status-filters button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:33px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;white-space:nowrap;padding:0 12px;font-size:8px;font-weight:500;transition:background .18s,border-color .18s,color .18s}.admin-enrollments .admin-status-filters button:hover{background:var(--bg-soft);color:var(--junyu-primary);border-color:#10212938}.admin-enrollments .admin-status-filters button.active{background:var(--junyu-primary);color:var(--junyu-ivory);border-color:#10212926;font-weight:600}.admin-enrollments-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.enrollments-table-header,.enrollment-row{grid-template-columns:1.3fr 1.4fr 1.15fr .75fr .85fr .85fr 30px;align-items:center;gap:14px;display:grid}.enrollments-table-header{border-bottom:1px solid var(--border-soft);background:var(--bg-soft);min-height:43px;padding:0 18px}.enrollments-table-header span{color:var(--text-muted);letter-spacing:.8px;font-size:7px;font-weight:700}.enrollment-row{border-bottom:1px solid var(--border-soft);background:var(--bg-surface);min-height:70px;padding:11px 18px;transition:background .16s;position:relative}.enrollment-row:hover{background:#fcfbf8}.enrollment-row:last-child{border-bottom:0}.enrollment-row:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:2px;height:0;transition:height .18s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.enrollment-row:hover:before{height:30px}.enrollment-student{align-items:center;gap:10px;min-width:0;display:flex}.enrollment-avatar{background:var(--junyu-primary-light);width:34px;height:34px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.enrollment-student>div:last-child{min-width:0}.enrollment-student strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;display:block;overflow:hidden}.enrollment-student span{color:var(--text-muted);letter-spacing:.3px;margin-top:3px;font-size:6px;display:block}.enrollment-product{min-width:0}.enrollment-product strong{color:var(--junyu-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.enrollment-product span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;display:block;overflow:hidden}.enrollment-payer,.enrollment-date,.enrollment-value{min-width:0;color:var(--text-secondary);align-items:center;gap:5px;font-size:8px;display:flex}.enrollment-payer svg,.enrollment-date svg,.enrollment-value svg{color:#10212966;flex-shrink:0}.enrollment-payer span,.enrollment-date span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.enrollment-value strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.enrollment-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;min-height:23px;padding:0 8px;font-size:7px;font-weight:650;display:inline-flex}.enrollment-status.pending_setup{background:var(--warning-bg);color:var(--warning);border-color:#b27b3821}.enrollment-status.active{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.enrollment-status.paused{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212917}.enrollment-status.finished{border-color:var(--border-soft);color:var(--text-secondary);background:#f1f3f2}.enrollment-status.cancelled{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.admin-enrollments .admin-row-action{color:#1021294d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.admin-enrollments .admin-row-action:hover{background:var(--junyu-primary);color:var(--junyu-ivory);border-color:#1021291f;transform:translate(1px)}.enrollments-state{text-align:center;color:var(--text-muted);padding:56px 20px;font-size:9px}.enrollments-state.error{color:var(--danger)}.enrollments-empty{text-align:center;flex-direction:column;align-items:center;padding:72px 20px;display:flex}.enrollments-empty-icon{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;justify-content:center;align-items:center;display:flex}.enrollments-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:13px 0 6px;font-size:14px;font-weight:600}.enrollments-empty p{max-width:320px;color:var(--text-muted);margin:0;font-size:9px;line-height:1.6}.enrollments-footer{border-top:1px solid var(--border-soft);background:var(--bg-soft);min-height:43px;color:var(--text-muted);align-items:center;padding:0 18px;font-size:8px;display:flex}@media (width<=1100px){.enrollments-table-header,.enrollment-row{grid-template-columns:1.3fr 1.4fr .8fr .8fr 30px}.enrollments-table-header span:nth-child(3),.enrollment-row>div:nth-child(3),.enrollments-table-header span:nth-child(4),.enrollment-row>div:nth-child(4){display:none}}@media (width<=750px){.admin-enrollments{padding:28px 18px 48px}.admin-enrollments-toolbar{flex-direction:column;align-items:stretch}.admin-enrollments .admin-search-box{width:100%}.admin-enrollments .admin-status-filters{width:100%;padding-bottom:3px;overflow-x:auto}.admin-enrollments .admin-status-filters button{flex-shrink:0}.enrollments-table-header{display:none}.enrollment-row{grid-template-columns:1fr auto;min-height:65px}.enrollment-row>div:not(.enrollment-student){display:none}}.admin-enrollment-detail{background:var(--bg-page);min-height:calc(100vh - 66px);padding:38px 42px 60px}.enrollment-detail-header,.enrollment-setup-notice,.enrollment-detail-summary,.enrollment-detail-grid{max-width:1180px;margin-left:auto;margin-right:auto}.enrollment-detail-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.enrollment-detail-back{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.enrollment-detail-back:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(-1px)}.enrollment-detail-heading{flex:1;min-width:0}.enrollment-detail-heading>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.enrollment-detail-heading>span:before{content:"";background:var(--junyu-coral);width:13px;height:1px}.enrollment-detail-heading h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.6px;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:23px;font-weight:600;overflow:hidden}.enrollment-detail-heading p{color:var(--text-muted);letter-spacing:.3px;margin:0;font-size:7px}.admin-enrollment-detail .enrollment-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:7px;font-weight:650;display:inline-flex}.admin-enrollment-detail .enrollment-status.pending_setup{background:var(--warning-bg);color:var(--warning);border-color:#b27b3821}.admin-enrollment-detail .enrollment-status.active{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.admin-enrollment-detail .enrollment-status.paused{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212917}.admin-enrollment-detail .enrollment-status.finished{border-color:var(--border-soft);color:var(--text-secondary);background:#f1f3f2}.admin-enrollment-detail .enrollment-status.cancelled{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.enrollment-setup-notice{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);border:1px solid #b27b382e;align-items:flex-start;gap:9px;margin-bottom:15px;padding:13px 15px;display:flex}.enrollment-setup-notice>svg{flex-shrink:0;margin-top:1px}.enrollment-setup-notice strong{color:#8e642f;font-size:9px;font-weight:600;display:block}.enrollment-setup-notice p{color:#95764f;margin:3px 0 0;font-size:8px;line-height:1.55}.enrollment-detail-summary{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid;overflow:hidden}.enrollment-detail-summary>div{border-right:1px solid var(--border-soft);min-width:0;padding:16px 19px}.enrollment-detail-summary>div:last-child{border-right:0}.enrollment-detail-summary span{color:var(--text-muted);font-size:7px;display:block}.enrollment-detail-summary strong{color:var(--junyu-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;font-weight:600;display:block;overflow:hidden}.enrollment-detail-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.enrollment-detail-main,.enrollment-detail-side{flex-direction:column;gap:16px;display:flex}.enrollment-detail-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);padding:22px}.enrollment-card-heading{color:var(--junyu-primary);align-items:center;gap:10px;margin-bottom:20px;display:flex}.enrollment-card-heading>svg{background:var(--junyu-primary-light);width:36px;height:36px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;padding:9px}.enrollment-card-heading.compact{margin-bottom:15px}.enrollment-card-heading.compact>svg{width:32px;height:32px;padding:8px}.enrollment-card-heading h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:11px;font-weight:600}.enrollment-card-heading p{color:var(--text-muted);margin:3px 0 0;font-size:7px;line-height:1.45}.enrollment-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.enrollment-people-grid>div,.enrollment-people-grid>button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);text-align:left;min-width:0;padding:14px}.enrollment-people-grid>button{font-family:var(--font-body);cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.enrollment-people-grid>button:hover{background:var(--junyu-primary-light);border-color:#1021292e;transform:translateY(-1px)}.enrollment-people-grid span{color:var(--text-muted);letter-spacing:.8px;font-size:6px;font-weight:700;display:block}.enrollment-people-grid strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;font-weight:600;display:block;overflow:hidden}.enrollment-people-grid small{color:var(--junyu-coral);margin-top:8px;font-size:7px;font-weight:600;display:block}.enrollment-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.enrollment-data-grid>div{min-width:0}.enrollment-data-grid span{color:var(--text-muted);font-size:7px;display:block}.enrollment-data-grid strong{overflow-wrap:anywhere;color:var(--text-primary);margin-top:5px;font-size:9px;font-weight:550;display:block}.enrollment-money-grid{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.enrollment-money-grid>div{border-right:1px solid var(--border-soft);min-width:0;padding:14px}.enrollment-money-grid>div:last-child{border-right:0}.enrollment-money-grid span{color:var(--text-muted);font-size:7px;display:block}.enrollment-money-grid strong{color:var(--text-primary);margin-top:5px;font-size:10px;font-weight:600;display:block}.enrollment-money-grid .final{background:#10212909}.enrollment-money-grid .final strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:12px;font-weight:600}.enrollment-price-origin{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);margin-top:14px;padding:12px 13px}.enrollment-price-origin>span{color:var(--text-muted);font-size:7px;display:block}.enrollment-price-origin strong{color:var(--junyu-primary);margin-top:4px;font-size:9px;font-weight:600;display:block}.enrollment-price-origin small{background:var(--junyu-primary-light);color:var(--text-secondary);border-radius:20px;margin-top:4px;padding:3px 6px;font-size:6px;display:inline-flex}.enrollment-text-block{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);margin-top:14px;padding:13px 14px}.enrollment-text-block span{color:var(--text-muted);font-size:7px;display:block}.enrollment-text-block p{color:var(--text-secondary);white-space:pre-wrap;margin:4px 0 0;font-size:9px;line-height:1.65}.detail-installment-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;overflow:hidden}.detail-installment-header,.detail-installment-row{grid-template-columns:.6fr 1fr 1fr;align-items:center;gap:10px;display:grid}.detail-installment-header{border-bottom:1px solid var(--border-soft);background:var(--bg-soft);min-height:35px;padding:0 12px}.detail-installment-header span{color:var(--text-muted);letter-spacing:.7px;font-size:6px;font-weight:700}.detail-installment-row{border-bottom:1px solid var(--border-soft);min-height:46px;padding:0 12px;transition:background .16s}.detail-installment-row:hover{background:#fcfbf8}.detail-installment-row strong,.detail-installment-row span{color:var(--text-secondary);font-size:8px}.detail-installment-row strong{color:var(--text-primary);font-weight:600}.detail-installment-row>strong:last-child{text-align:right}.detail-installment-total{background:var(--bg-soft);justify-content:space-between;align-items:center;min-height:46px;padding:0 12px;display:flex}.detail-installment-total span{color:var(--text-secondary);font-size:8px}.detail-installment-total strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:10px;font-weight:600}.enrollment-status-panel p{color:var(--text-muted);margin:12px 0 0;font-size:8px;line-height:1.6}.enrollment-documents-empty,.enrollment-empty-small{color:var(--text-muted);font-size:8px}.enrollment-document-list{flex-direction:column;gap:7px;display:flex}.enrollment-document-list a{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);align-items:center;gap:8px;padding:10px;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.enrollment-document-list a:hover{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#1021292e;transform:translate(1px)}.enrollment-document-list a>svg{color:var(--junyu-coral);flex-shrink:0}.enrollment-document-list strong{color:var(--text-primary);font-size:8px;font-weight:600;display:block}.enrollment-document-list span{color:var(--text-muted);margin-top:2px;font-size:6px;display:block}.enrollment-future-list>div{border-bottom:1px solid var(--border-soft);min-height:39px;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:8px;display:flex}.enrollment-future-list>div:last-child{border-bottom:0}.enrollment-future-list span{border:1px solid var(--border-soft);background:var(--bg-soft);color:var(--text-muted);border-radius:20px;padding:3px 7px;font-size:6px}.enrollment-detail-state{background:var(--bg-page);min-height:calc(100vh - 66px);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:9px;display:flex}@media (width<=1000px){.enrollment-detail-grid{grid-template-columns:1fr}.enrollment-detail-side{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}}@media (width<=800px){.enrollment-detail-side{grid-template-columns:1fr}}@media (width<=700px){.admin-enrollment-detail{padding:28px 18px 48px}.enrollment-detail-header{flex-wrap:wrap}.enrollment-detail-heading h1{font-size:20px}.enrollment-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-detail-summary>div{border-bottom:1px solid var(--border-soft)}.enrollment-detail-summary>div:nth-child(2){border-right:0}.enrollment-data-grid,.enrollment-money-grid,.enrollment-people-grid{grid-template-columns:1fr}.enrollment-money-grid>div{border-right:0;border-bottom:1px solid var(--border-soft)}.enrollment-money-grid>div:last-child{border-bottom:0}}.admin-schedule{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.schedule-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.schedule-header>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.schedule-header>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.schedule-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.schedule-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.schedule-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:14px;padding:11px 13px;font-size:8px;line-height:1.5;display:flex}.schedule-error svg{flex-shrink:0}.schedule-navigation{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:10px 12px;display:flex}.schedule-navigation-buttons{align-items:center;gap:5px;display:flex}.schedule-navigation-buttons button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:31px;height:31px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;justify-content:center;align-items:center;padding:0 9px;transition:background .18s,border-color .18s,color .18s;display:flex}.schedule-navigation-buttons button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.schedule-navigation-buttons .schedule-today-button{min-width:56px;color:var(--junyu-primary);font-size:8px;font-weight:650}.schedule-navigation-buttons .schedule-today-button:hover{color:var(--junyu-ivory)}.schedule-period{color:var(--text-muted);align-items:center;gap:7px;display:flex}.schedule-period svg{color:var(--junyu-coral)}.schedule-period strong{color:var(--junyu-primary);font-size:9px;font-weight:600}.schedule-calendar{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);position:relative;overflow-x:auto}.schedule-days-header{z-index:10;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;grid-template-columns:66px repeat(7,1fr);min-width:1000px;display:grid;position:sticky;top:0}.schedule-time-header{border-right:1px solid var(--border-soft)}.schedule-day-header{border-right:1px solid var(--border-soft);background:var(--bg-surface);flex-direction:column;justify-content:center;align-items:center;gap:4px;height:61px;display:flex}.schedule-day-header:last-child{border-right:0}.schedule-day-header span{color:var(--text-muted);letter-spacing:.5px;font-size:7px;font-weight:700}.schedule-day-header strong{width:28px;height:28px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;transition:background .18s,color .18s;display:flex}.schedule-day-header.today{background:#e07a6a06}.schedule-day-header.today span{color:var(--junyu-coral)}.schedule-day-header.today strong{background:var(--junyu-primary);color:var(--junyu-ivory);box-shadow:0 0 0 4px #e07a6a1a}.schedule-body{grid-template-columns:66px 1fr;min-width:1000px;display:grid}.schedule-hours{border-right:1px solid var(--border-soft);background:#fbfaf8}.schedule-hour-label{border-bottom:1px solid var(--border-soft);position:relative}.schedule-hour-label span{color:var(--text-muted);font-size:7px;position:absolute;top:-5px;right:10px}.schedule-days-grid{grid-template-columns:repeat(7,1fr);display:grid}.schedule-day-column{border-right:1px solid var(--border-soft);background:var(--bg-surface);min-width:130px;position:relative}.schedule-day-column:last-child{border-right:0}.schedule-hour-line{box-sizing:border-box;border-bottom:1px solid var(--border-soft)}.schedule-event{z-index:4;background:var(--junyu-primary-light);cursor:pointer;border:1px solid #10212926;border-radius:8px;padding:6px 7px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 2px 8px #1021290d}.schedule-event:hover{border-color:#1021293d;transform:translateY(-1px);box-shadow:0 6px 14px #10212917}.schedule-event:focus{outline-offset:1px;outline:2px solid #10212959}.schedule-event.confirmed{background:var(--success-bg);border-color:#3f7f6340}.schedule-event.completed{background:#f3f4f2;border-color:#10212914}.schedule-event.cancelled{opacity:.62;background:var(--danger-bg);border-color:#b85c6233}.schedule-event.rescheduled{background:var(--warning-bg);border-color:#b27b382e}.schedule-event.not_held{background:#faf1f1;border-color:#b85c6226}.schedule-event-time{color:var(--text-secondary);align-items:center;gap:3px;font-size:6px;display:flex}.schedule-event-time svg{color:#10212973}.schedule-event>strong{color:var(--junyu-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;font-weight:650;display:block;overflow:hidden}.schedule-event>span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:6px;display:block;overflow:hidden}.schedule-event>small{color:var(--junyu-coral);letter-spacing:.35px;text-transform:uppercase;margin-top:4px;font-size:5px;font-weight:700;display:block}.schedule-event.confirmed>small{color:var(--success)}.schedule-event.completed>small{color:var(--text-secondary)}.schedule-event.cancelled>small,.schedule-event.not_held>small{color:var(--danger)}.schedule-event.rescheduled>small{color:var(--warning)}.schedule-loading{z-index:20;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);box-shadow:var(--shadow-sm);padding:8px 11px;font-size:8px;position:absolute;top:75px;left:50%;transform:translate(-50%)}.schedule-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.schedule-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:720px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:28px;overflow-y:auto}.schedule-modal::-webkit-scrollbar{width:5px}.schedule-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.schedule-modal-header{justify-content:space-between;gap:20px;margin-bottom:22px;display:flex}.schedule-modal-header>div{min-width:0}.schedule-modal-header>div>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.schedule-modal-header>div>span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.schedule-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.4px;margin:5px 0;font-size:18px;font-weight:600}.schedule-modal-header p{color:var(--text-muted);margin:0;font-size:8px}.schedule-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.schedule-modal-header>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.schedule-form-section{border-top:1px solid var(--border-soft);padding:19px 0}.schedule-form-section h3{color:var(--junyu-primary);font-family:var(--font-heading);margin:0 0 12px;font-size:10px;font-weight:600}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.schedule-field{flex-direction:column;gap:6px;display:flex}.schedule-field.full{grid-column:1/-1}.schedule-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.schedule-field input,.schedule-field select,.schedule-field textarea{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s,background .18s}.schedule-field input,.schedule-field select{min-height:39px;padding:0 10px}.schedule-field textarea{resize:vertical;min-height:78px;padding:10px;line-height:1.55}.schedule-field input:hover,.schedule-field select:hover,.schedule-field textarea:hover{border-color:#10212933}.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.schedule-field select:disabled{color:var(--text-muted);cursor:not-allowed;background:#f2f3f1}.schedule-section-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.schedule-section-title h3{margin:0}.schedule-section-title p{color:var(--text-muted);margin:3px 0 0;font-size:7px}.schedule-section-title>button{border-radius:var(--radius-sm);background:var(--bg-surface);min-height:32px;color:var(--junyu-primary);font-family:var(--font-body);cursor:pointer;border:1px solid #10212924;align-items:center;gap:5px;padding:0 10px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex}.schedule-section-title>button:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.schedule-participants{flex-direction:column;gap:8px;display:flex}.schedule-participant-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);grid-template-columns:28px 1fr 1.3fr 31px;align-items:end;gap:9px;padding:11px;display:grid}.schedule-participant-number{background:var(--junyu-primary-light);width:27px;height:39px;color:var(--junyu-primary);border:1px solid #10212914;border-radius:8px;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.schedule-remove-participant{background:var(--danger-bg);width:31px;height:39px;color:var(--danger);cursor:pointer;border:1px solid #b85c621f;border-radius:8px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.schedule-remove-participant:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}.schedule-remove-participant:disabled{opacity:.35;cursor:default}.schedule-modal-note{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-secondary);align-items:center;gap:7px;padding:10px 12px;font-size:7px;line-height:1.5;display:flex}.schedule-modal-note svg{color:var(--junyu-coral);flex-shrink:0}.schedule-modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.schedule-modal-actions button:disabled{opacity:.55;cursor:not-allowed}.schedule-conflict-overlay{z-index:150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10212970;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.schedule-conflict-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:470px;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:26px}.schedule-conflict-icon{background:var(--warning-bg);width:44px;height:44px;color:var(--warning);border:1px solid #b27b3829;border-radius:12px;justify-content:center;align-items:center;margin-bottom:13px;display:flex}.schedule-conflict-modal h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:0 0 6px;font-size:16px;font-weight:600}.schedule-conflict-modal>p{color:var(--text-secondary);margin:0 0 17px;font-size:8px;line-height:1.55}.schedule-conflict-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;overflow:hidden}.schedule-conflict-list>div{border-bottom:1px solid var(--border-soft);padding:11px;transition:background .16s}.schedule-conflict-list>div:hover{background:var(--bg-soft)}.schedule-conflict-list>div:last-child{border-bottom:0}.schedule-conflict-list strong{color:var(--warning);letter-spacing:.5px;text-transform:uppercase;font-size:6px;font-weight:700;display:block}.schedule-conflict-list span{color:var(--text-primary);margin-top:4px;font-size:9px;font-weight:550;display:block}.schedule-conflict-list small{color:var(--text-muted);margin-top:2px;font-size:7px;display:block}.schedule-conflict-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.schedule-conflict-confirm{border-radius:var(--radius-sm);background:var(--warning-bg);min-height:36px;color:var(--warning);font-family:var(--font-body);cursor:pointer;border:1px solid #b27b3833;padding:0 11px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.schedule-conflict-confirm:hover:not(:disabled){border-color:var(--warning);background:var(--warning);color:#fff}.schedule-conflict-confirm:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.admin-schedule{padding:28px 18px 48px}.schedule-header{flex-direction:column;align-items:stretch}.schedule-header .admin-primary-button{width:100%}.schedule-navigation{flex-direction:column;align-items:stretch;gap:10px}.schedule-period{justify-content:center}.schedule-form-grid{grid-template-columns:1fr}.schedule-field.full{grid-column:auto}.schedule-section-title{flex-direction:column;align-items:stretch}.schedule-section-title>button{justify-content:center}.schedule-participant-row{grid-template-columns:1fr}.schedule-participant-number{justify-content:flex-start;width:100%;height:28px;padding-left:10px}.schedule-remove-participant{width:100%;height:35px}.schedule-modal{padding:21px}.schedule-modal-actions,.schedule-conflict-actions{flex-direction:column-reverse}.schedule-modal-actions button,.schedule-conflict-actions button{width:100%}}.admin-schedule-detail{background:var(--bg-page);min-height:calc(100vh - 66px);padding:38px 42px 60px}.schedule-detail-header,.schedule-detail-summary,.schedule-detail-grid{max-width:1180px;margin-left:auto;margin-right:auto}.schedule-detail-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.schedule-detail-back{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.schedule-detail-back:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory);transform:translate(-1px)}.schedule-detail-heading{flex:1;min-width:0}.schedule-detail-heading>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.schedule-detail-heading>span:before{content:"";background:var(--junyu-coral);width:13px;height:1px}.schedule-detail-heading h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.6px;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:23px;font-weight:600;overflow:hidden}.schedule-detail-heading p{color:var(--text-muted);letter-spacing:.3px;margin:0;font-size:7px}.schedule-detail-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:7px;font-weight:650;display:inline-flex}.schedule-detail-status.planned{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212917}.schedule-detail-status.confirmed{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.schedule-detail-status.completed{border-color:var(--border-soft);color:var(--text-secondary);background:#f1f3f2}.schedule-detail-status.cancelled{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.schedule-detail-status.rescheduled{background:var(--warning-bg);color:var(--warning);border-color:#b27b3824}.schedule-detail-status.not_held{color:var(--danger);background:#f7eeee;border-color:#b85c621a}.schedule-detail-summary{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid;overflow:hidden}.schedule-detail-summary>div{border-right:1px solid var(--border-soft);grid-template-columns:21px minmax(0,1fr);column-gap:7px;min-width:0;padding:16px 18px;display:grid}.schedule-detail-summary>div:last-child{border-right:0}.schedule-detail-summary svg{color:var(--junyu-coral);grid-row:1/3;margin-top:1px}.schedule-detail-summary span{color:var(--text-muted);font-size:7px}.schedule-detail-summary strong{color:var(--junyu-primary);text-overflow:ellipsis;grid-column:2;margin-top:4px;font-size:9px;font-weight:600;overflow:hidden}.schedule-detail-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.schedule-detail-main,.schedule-detail-side{flex-direction:column;gap:16px;display:flex}.schedule-detail-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);padding:22px}.schedule-detail-card-heading{align-items:center;gap:10px;margin-bottom:19px;display:flex}.schedule-detail-card-heading>svg{background:var(--junyu-primary-light);width:36px;height:36px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;padding:9px}.schedule-detail-card-heading.compact{margin-bottom:14px}.schedule-detail-card-heading.compact>svg{width:32px;height:32px;padding:8px}.schedule-detail-card-heading h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:11px;font-weight:600}.schedule-detail-card-heading p{color:var(--text-muted);margin:3px 0 0;font-size:7px;line-height:1.45}.schedule-student-list{flex-direction:column;gap:8px;display:flex}.schedule-student-card{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;transition:border-color .18s,background .18s;display:grid}.schedule-student-card:hover{background:#fcfbf8;border-color:#10212924}.schedule-student-avatar{background:var(--junyu-primary-light);width:33px;height:33px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.schedule-student-info{min-width:0}.schedule-student-info button{max-width:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:650;transition:color .18s;overflow:hidden}.schedule-student-info button:hover{color:var(--junyu-coral)}.schedule-student-info span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;display:block;overflow:hidden}.schedule-student-attendance{text-align:right}.schedule-student-attendance>span{color:var(--text-muted);letter-spacing:.5px;margin-bottom:5px;font-size:6px;font-weight:700;display:block}.schedule-student-attendance strong{white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;min-height:22px;padding:0 7px;font-size:6px;font-weight:650;display:inline-flex}.schedule-student-attendance strong.pending{border-color:var(--border-soft);color:var(--text-muted);background:#f1f3f2}.schedule-student-attendance strong.present{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.schedule-student-attendance strong.absent{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.schedule-student-attendance strong.makeup{background:var(--warning-bg);color:var(--warning);border-color:#b27b3821}.schedule-student-attendance strong.courtesy{background:var(--junyu-coral-light);color:var(--junyu-coral);border-color:#e07a6a21}.schedule-student-attendance strong.cancelled{color:var(--danger);background:#f8eeee;border-color:#b85c621a}.schedule-student-attendance strong.other{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212914}.schedule-time-grid{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.schedule-time-grid>div{border-right:1px solid var(--border-soft);min-width:0;padding:14px}.schedule-time-grid>div:last-child{border-right:0}.schedule-time-grid span{color:var(--text-muted);letter-spacing:.4px;font-size:6px;font-weight:700;display:block}.schedule-time-grid strong{color:var(--text-primary);margin-top:5px;font-size:9px;font-weight:600;display:block}.schedule-time-grid>div:nth-child(3),.schedule-time-grid>div:nth-child(4){background:#10212906}.schedule-time-grid>div:nth-child(3) strong,.schedule-time-grid>div:nth-child(4) strong{color:var(--junyu-primary)}.schedule-note-block{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);padding:12px 13px}.schedule-note-block+.schedule-note-block{margin-top:8px}.schedule-note-block span{color:var(--junyu-coral);letter-spacing:.5px;font-size:6px;font-weight:700}.schedule-note-block p{color:var(--text-secondary);white-space:pre-wrap;margin:5px 0 0;font-size:8px;line-height:1.6}.schedule-meeting-link{border-radius:var(--radius-sm);background:var(--junyu-primary-light);min-height:37px;color:var(--junyu-primary);border:1px solid #10212921;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:8px;font-weight:650;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:flex}.schedule-meeting-link:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.schedule-location{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-secondary);align-items:center;gap:6px;margin-top:9px;padding:10px;font-size:8px;display:flex}.schedule-location svg{color:var(--junyu-coral);flex-shrink:0}.schedule-teacher-info>span{color:var(--text-muted);letter-spacing:.5px;font-size:6px;font-weight:700;display:block}.schedule-teacher-info>span.actual{color:var(--junyu-coral);margin-top:14px}.schedule-teacher-info strong{color:var(--text-primary);margin-top:4px;font-size:9px;font-weight:600;display:block}.schedule-enrollment-links{flex-direction:column;gap:7px;display:flex}.schedule-enrollment-links button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);text-align:left;cursor:pointer;padding:10px;transition:border-color .18s,background .18s,transform .18s}.schedule-enrollment-links button:hover{background:var(--junyu-primary-light);border-color:#1021292e;transform:translate(1px)}.schedule-enrollment-links span{color:var(--text-muted);font-size:6px;display:block}.schedule-enrollment-links strong{color:var(--junyu-primary);margin-top:3px;font-size:8px;font-weight:600;display:block}.schedule-operation-list>div{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;min-height:39px;display:flex}.schedule-operation-list>div:last-child{border-bottom:0}.schedule-operation-list span{color:var(--text-secondary);font-size:8px}.schedule-operation-list strong{color:var(--text-muted);text-align:right;font-size:7px;font-weight:600}.schedule-result-button{border:1px solid var(--junyu-primary);border-radius:var(--radius-sm);background:var(--junyu-primary);width:100%;min-height:38px;color:var(--junyu-ivory);font-family:var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:15px;font-size:8px;font-weight:650;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:flex}.schedule-result-button:hover{background:var(--junyu-primary-hover);border-color:var(--junyu-primary-hover);transform:translateY(-1px);box-shadow:0 5px 13px #1021291a}.schedule-detail-empty{color:var(--text-muted);font-size:8px;line-height:1.55}.schedule-detail-state{background:var(--bg-page);min-height:calc(100vh - 66px);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:9px;display:flex}.result-modal-overlay{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.result-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:760px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:28px;overflow-y:auto}.result-modal::-webkit-scrollbar{width:5px}.result-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.result-modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:21px;display:flex}.result-modal-header>div{min-width:0}.result-modal-header>div>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.result-modal-header>div>span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.result-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.4px;margin:5px 0;font-size:18px;font-weight:600}.result-modal-header p{color:var(--text-muted);margin:0;font-size:8px}.result-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.result-modal-header>button:hover:not(:disabled){border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.result-modal-header>button:disabled{opacity:.45;cursor:not-allowed}.result-modal-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:15px;padding:11px 13px;font-size:8px;line-height:1.5;display:flex}.result-modal-error svg{flex-shrink:0}.result-section{border-top:1px solid var(--border-soft);padding:18px 0}.result-section-title{align-items:center;gap:9px;margin-bottom:14px;display:flex}.result-section-title>svg{background:var(--junyu-primary-light);width:34px;height:34px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:10px;flex-shrink:0;padding:8px}.result-section-title h3{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:10px;font-weight:600}.result-section-title p{color:var(--text-muted);margin:3px 0 0;font-size:7px}.admin-schedule-detail .schedule-field{flex-direction:column;gap:6px;display:flex}.admin-schedule-detail .schedule-field.full{grid-column:1/-1}.admin-schedule-detail .schedule-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.admin-schedule-detail .schedule-field input,.admin-schedule-detail .schedule-field select,.admin-schedule-detail .schedule-field textarea{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s}.admin-schedule-detail .schedule-field input,.admin-schedule-detail .schedule-field select{min-height:39px;padding:0 10px}.admin-schedule-detail .schedule-field textarea{resize:vertical;min-height:80px;padding:10px;line-height:1.55}.admin-schedule-detail .schedule-field input::placeholder,.admin-schedule-detail .schedule-field textarea::placeholder{color:#a9b0b2}.admin-schedule-detail .schedule-field input:hover,.admin-schedule-detail .schedule-field select:hover,.admin-schedule-detail .schedule-field textarea:hover{border-color:#10212933}.admin-schedule-detail .schedule-field input:focus,.admin-schedule-detail .schedule-field select:focus,.admin-schedule-detail .schedule-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.result-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.result-attendance-list{flex-direction:column;gap:9px;display:flex}.result-attendance-row{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;grid-template-columns:minmax(0,1fr) .9fr 1fr;align-items:end;gap:10px;padding:12px;display:grid}.result-attendance-person{align-items:center;gap:9px;min-width:0;min-height:39px;display:flex}.result-attendance-person>div{background:var(--junyu-primary-light);width:32px;height:32px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.result-attendance-person strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.result-participant-notes{grid-column:1/-1}.result-warning{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);border:1px solid #b27b382b;align-items:center;gap:7px;margin-top:2px;padding:10px 12px;font-size:7px;line-height:1.5;display:flex}.result-warning svg{flex-shrink:0}.result-modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.result-modal-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=1000px){.schedule-detail-grid{grid-template-columns:1fr}.schedule-detail-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.schedule-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-time-grid>div:nth-child(2){border-right:0}.schedule-time-grid>div{border-bottom:1px solid var(--border-soft)}.schedule-time-grid>div:nth-child(3),.schedule-time-grid>div:nth-child(4){border-bottom:0}}@media (width<=760px){.schedule-detail-side{grid-template-columns:1fr}}@media (width<=700px){.admin-schedule-detail{padding:28px 18px 48px}.schedule-detail-header{flex-wrap:wrap}.schedule-detail-heading h1{font-size:20px}.schedule-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-detail-summary>div{border-bottom:1px solid var(--border-soft)}.schedule-detail-summary>div:nth-child(2){border-right:0}.schedule-student-card{grid-template-columns:34px minmax(0,1fr)}.schedule-student-attendance{text-align:left;grid-column:2}.schedule-time-grid{grid-template-columns:1fr}.schedule-time-grid>div{border-right:0;border-bottom:1px solid var(--border-soft)}.schedule-time-grid>div:nth-child(3){border-bottom:1px solid var(--border-soft)}.schedule-time-grid>div:last-child{border-bottom:0}.result-time-grid,.result-attendance-row{grid-template-columns:1fr}.result-participant-notes{grid-column:auto}.result-modal{padding:21px}.result-modal-actions{flex-direction:column-reverse}.result-modal-actions button{width:100%}}.admin-credits{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.credits-header{margin-bottom:24px}.credits-header>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.credits-header>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.credits-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.credits-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.credits-error,.credits-success{border-radius:var(--radius-sm);align-items:center;gap:7px;margin-bottom:14px;padding:11px 13px;font-size:8px;line-height:1.5;display:flex}.credits-error{background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e}.credits-success{background:var(--success-bg);color:var(--success);border:1px solid #3f7f6329}.credits-success svg{flex-shrink:0}.credits-summary{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;display:grid;overflow:hidden}.credits-summary>div{border-right:1px solid var(--border-soft);grid-template-columns:23px minmax(0,1fr);align-items:center;column-gap:7px;min-width:0;padding:15px 18px;display:grid}.credits-summary>div:last-child{border-right:0}.credits-summary svg{color:var(--junyu-coral);grid-row:1/3}.credits-summary span{color:var(--text-muted);font-size:7px}.credits-summary strong{color:var(--junyu-primary);font-family:var(--font-heading);grid-column:2;margin-top:3px;font-size:13px;font-weight:600}.credits-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:16px;display:grid}.credits-enrollments-panel,.credits-detail-panel{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);overflow:hidden}.credits-panel-header{padding:18px 18px 13px}.credits-panel-header h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:11px;font-weight:600}.credits-panel-header p{color:var(--text-muted);margin:3px 0 0;font-size:7px}.credits-search{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);height:38px;color:var(--text-muted);align-items:center;gap:7px;margin:0 14px 13px;padding:0 11px;transition:border-color .18s,box-shadow .18s;display:flex}.credits-search:focus-within{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.credits-search svg{flex-shrink:0}.credits-search input{width:100%;color:var(--text-primary);font-family:var(--font-body);box-shadow:none;background:0 0;border:0;outline:0;font-size:8px}.credits-search input::placeholder{color:#a5adaf}.credits-enrollment-list{border-top:1px solid var(--border-soft);max-height:620px;overflow-y:auto}.credits-enrollment-list::-webkit-scrollbar{width:5px}.credits-enrollment-list::-webkit-scrollbar-thumb{background:#1021291f;border-radius:10px}.credits-enrollment-item{border:0;border-bottom:1px solid var(--border-soft);background:var(--bg-surface);width:100%;min-height:68px;font-family:var(--font-body);text-align:left;cursor:pointer;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 13px;transition:background .16s;display:grid;position:relative}.credits-enrollment-item:last-child{border-bottom:0}.credits-enrollment-item:hover{background:#fcfbf8}.credits-enrollment-item.active{background:var(--junyu-primary-light)}.credits-enrollment-item.active:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.credits-person-avatar{background:var(--junyu-primary-light);width:32px;height:32px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.credits-enrollment-item.active .credits-person-avatar{background:var(--junyu-primary);color:var(--junyu-ivory)}.credits-enrollment-info{min-width:0}.credits-enrollment-info strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.credits-enrollment-info span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;display:block;overflow:hidden}.credits-enrollment-balance{text-align:right}.credits-enrollment-balance span{color:var(--text-muted);letter-spacing:.5px;font-size:5px;font-weight:700;display:block}.credits-enrollment-balance strong{color:var(--junyu-primary);font-family:var(--font-heading);margin-top:2px;font-size:13px;font-weight:600;display:block}.credits-state{color:var(--text-muted);text-align:center;padding:42px 15px;font-size:8px}.credits-detail-panel{padding:22px}.credits-detail-empty{min-height:400px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.credits-detail-empty>svg{background:var(--junyu-coral-light);width:50px;height:50px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:14px;padding:13px}.credits-detail-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:11px 0 4px;font-size:13px;font-weight:600}.credits-detail-empty p{color:var(--text-muted);margin:0;font-size:8px}.credits-detail-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.credits-detail-person{align-items:center;gap:10px;min-width:0;display:flex}.credits-detail-person>div:first-child{background:var(--junyu-primary-light);width:40px;height:40px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.credits-detail-person>div:last-child{min-width:0}.credits-detail-person span{color:var(--junyu-coral);letter-spacing:.8px;font-size:6px;font-weight:700;display:block}.credits-detail-person h2{color:var(--junyu-primary);font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:14px;font-weight:600;overflow:hidden}.credits-detail-actions{align-items:center;gap:7px;display:flex}.credits-detail-actions button{border-radius:var(--radius-sm);min-height:34px;font-family:var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:7px;font-weight:650;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.credits-secondary-action{border:1px solid var(--border-primary);background:var(--bg-surface);color:var(--junyu-primary)}.credits-secondary-action:hover{background:var(--junyu-primary-light);border-color:#10212940}.credits-primary-action{border:1px solid var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.credits-primary-action:hover{border-color:var(--junyu-primary-hover);background:var(--junyu-primary-hover);transform:translateY(-1px)}.credits-product{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);align-items:center;gap:10px;margin-top:18px;padding:12px;display:flex}.credits-product>svg{background:var(--junyu-primary-light);width:34px;height:34px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:9px;flex-shrink:0;padding:8px}.credits-product span{color:var(--text-muted);letter-spacing:.45px;font-size:6px;font-weight:700;display:block}.credits-product strong{color:var(--text-primary);margin-top:3px;font-size:9px;font-weight:600;display:block}.credits-product p{color:var(--text-muted);margin:2px 0 0;font-size:7px}.credits-balance-card{border-radius:var(--radius-md);background:var(--junyu-primary-light);border:1px solid #1021291c;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px;margin-top:14px;padding:19px;display:grid;position:relative;overflow:hidden}.credits-balance-card:before{content:"";background:var(--junyu-coral);border-radius:0 4px 4px 0;width:3px;position:absolute;top:15px;bottom:15px;left:0}.credits-balance-card>div:first-child>span{color:var(--text-secondary);letter-spacing:.6px;font-size:6px;font-weight:700;display:block}.credits-balance-card>div:first-child>strong{color:var(--junyu-primary);font-family:var(--font-heading);margin-top:5px;font-size:34px;font-weight:600;line-height:1;display:inline-block}.credits-balance-card>div:first-child>small{color:var(--text-secondary);margin-left:6px;font-size:8px}.credits-balance-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.credits-balance-meta>div{border-left:1px solid #1021291a;min-width:0;padding-left:12px}.credits-balance-meta span{color:var(--text-muted);font-size:6px;display:block}.credits-balance-meta strong{color:var(--text-primary);text-overflow:ellipsis;margin-top:4px;font-size:8px;font-weight:600;display:block;overflow:hidden}.credits-no-account-note{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);border:1px solid #b27b382b;gap:9px;margin-top:13px;padding:12px;display:flex}.credits-no-account-note>svg{flex-shrink:0}.credits-no-account-note strong{color:#8e642f;font-size:8px;font-weight:600;display:block}.credits-no-account-note p{color:#95764f;margin:3px 0 0;font-size:7px;line-height:1.55}.credits-statement{border-top:1px solid var(--border-soft);margin-top:19px;padding-top:18px}.credits-statement-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.credits-statement-header>svg{color:var(--junyu-coral)}.credits-statement-header h3{color:var(--junyu-primary);font-family:var(--font-heading);margin:0;font-size:11px;font-weight:600}.credits-statement-header p{color:var(--text-muted);margin:3px 0 0;font-size:7px}.credits-statement-empty{border:1px dashed var(--border-primary);background:var(--bg-soft);color:var(--text-muted);text-align:center;border-radius:10px;flex-direction:column;align-items:center;padding:45px 20px;display:flex}.credits-statement-empty>svg{color:#10212959}.credits-statement-empty strong{color:var(--text-secondary);margin-top:8px;font-size:9px;font-weight:600}.credits-statement-empty span{max-width:300px;margin-top:4px;font-size:7px;line-height:1.55}.credits-movement-list{border:1px solid var(--border-primary);background:var(--bg-surface);border-radius:10px;overflow:hidden}.credits-movement-row{border-bottom:1px solid var(--border-soft);grid-template-columns:33px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 12px;transition:background .16s;display:grid}.credits-movement-row:hover{background:#fcfbf8}.credits-movement-row:last-child{border-bottom:0}.credits-movement-icon{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.credits-movement-icon.positive{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.credits-movement-icon.negative{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.credits-movement-main{min-width:0}.credits-movement-main strong{color:var(--text-primary);font-size:8px;font-weight:600;display:block}.credits-movement-main span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;display:block;overflow:hidden}.credits-movement-main small{color:var(--text-muted);margin-top:3px;font-size:6px;display:block}.credits-movement-actions-area{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.credits-movement-value{font-family:var(--font-heading);font-size:13px;font-weight:600}.credits-movement-value.positive{color:var(--success)}.credits-movement-value.negative{color:var(--danger)}.credits-reverse-button{color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:6px;font-weight:650;transition:color .18s;display:flex}.credits-reverse-button:hover{color:var(--danger)}.credits-reversed-label,.credits-reversal-label{letter-spacing:.3px;text-transform:uppercase;border-radius:20px;padding:3px 6px;font-size:5px;font-weight:700}.credits-reversed-label{border:1px solid var(--border-soft);color:var(--text-muted);background:#f1f3f2}.credits-reversal-label{background:var(--danger-bg);color:var(--danger);border:1px solid #b85c621a}.credit-movement-modal-overlay,.credit-reversal-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10212985;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.credit-movement-modal-overlay{z-index:160}.credit-reversal-modal-overlay{z-index:170}.credit-movement-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:580px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:27px;overflow-y:auto}.credit-movement-modal::-webkit-scrollbar{width:5px}.credit-reversal-modal::-webkit-scrollbar{width:5px}.credit-movement-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.credit-reversal-modal::-webkit-scrollbar-thumb{background:#10212926;border-radius:10px}.credit-movement-modal-header{justify-content:space-between;gap:20px;margin-bottom:18px;display:flex}.credit-movement-modal-header>div>span{color:var(--junyu-coral);letter-spacing:1.3px;align-items:center;gap:6px;font-size:7px;font-weight:700;display:inline-flex}.credit-movement-modal-header>div>span:before{content:"";background:var(--junyu-coral);width:14px;height:1px}.credit-movement-modal-header h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.4px;margin:5px 0;font-size:18px;font-weight:600}.credit-movement-modal-header p{color:var(--text-muted);margin:0;font-size:8px}.credit-movement-modal-header>button{border:1px solid var(--border-soft);background:var(--bg-soft);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.credit-movement-modal-header>button:hover:not(:disabled){border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.credit-movement-modal-header>button:disabled{opacity:.45;cursor:not-allowed}.credit-movement-enrollment{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:16px;padding:12px;display:grid}.credit-movement-enrollment>svg{color:var(--junyu-primary)}.credit-movement-enrollment span{color:var(--text-muted);letter-spacing:.4px;font-size:6px;font-weight:700;display:block}.credit-movement-enrollment strong{color:var(--text-primary);margin-top:3px;font-size:9px;font-weight:600;display:block}.credit-movement-enrollment p{color:var(--text-muted);margin:2px 0 0;font-size:7px}.credit-movement-current-balance{border-left:1px solid var(--border-primary);text-align:right;padding-left:15px}.credit-movement-current-balance strong{color:var(--junyu-primary);font-family:var(--font-heading);font-size:18px;font-weight:600}.credit-movement-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:14px;padding:10px 12px;font-size:8px;line-height:1.5;display:flex}.credit-movement-error svg{flex-shrink:0}.credit-movement-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.credit-movement-field{flex-direction:column;gap:6px;display:flex}.credit-movement-field.full{grid-column:1/-1}.credit-movement-field>span{color:var(--text-secondary);font-size:7px;font-weight:600}.credit-movement-field input,.credit-movement-field select,.credit-movement-field textarea{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:0;font-size:9px;transition:border-color .18s,box-shadow .18s}.credit-movement-field input,.credit-movement-field select{min-height:39px;padding:0 10px}.credit-movement-field textarea{resize:vertical;min-height:84px;padding:10px;line-height:1.55}.credit-movement-field input:focus,.credit-movement-field select:focus,.credit-movement-field textarea:focus{border-color:#1021297a;box-shadow:0 0 0 3px #1021290d}.credit-adjustment-note{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);border:1px solid #b27b382b;gap:7px;margin-top:12px;padding:10px 12px;font-size:7px;line-height:1.55;display:flex}.credit-adjustment-note svg{flex-shrink:0}.credit-movement-preview{border-radius:var(--radius-sm);background:var(--junyu-primary-light);border:1px solid #1021291a;margin-top:13px;padding:13px}.credit-movement-preview span{color:var(--text-secondary);letter-spacing:.5px;font-size:6px;font-weight:700;display:block}.credit-movement-preview strong{color:var(--junyu-primary);font-family:var(--font-heading);margin-top:5px;font-size:14px;font-weight:600;display:block}.credit-movement-warning{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-secondary);align-items:center;gap:7px;margin-top:13px;padding:10px 12px;font-size:7px;line-height:1.5;display:flex}.credit-movement-warning svg{color:var(--junyu-coral);flex-shrink:0}.credit-movement-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.credit-movement-actions button:disabled{opacity:.55;cursor:not-allowed}.credit-reversal-modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:520px;max-height:92vh;box-shadow:var(--shadow-modal);border:1px solid #ffffff8c;padding:26px;overflow-y:auto}.credit-reversal-header{grid-template-columns:42px minmax(0,1fr) 32px;align-items:start;gap:10px;margin-bottom:18px;display:grid}.credit-reversal-icon{background:var(--danger-bg);width:40px;height:40px;color:var(--danger);border:1px solid #b85c6221;border-radius:10px;justify-content:center;align-items:center;display:flex}.credit-reversal-heading>span{color:var(--danger);letter-spacing:1px;font-size:6px;font-weight:700}.credit-reversal-heading h2{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.3px;margin:4px 0;font-size:17px;font-weight:600}.credit-reversal-heading p{color:var(--text-muted);margin:0;font-size:7px}.credit-reversal-close{border:1px solid var(--border-soft);background:var(--bg-soft);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.credit-reversal-close:hover:not(:disabled){border-color:var(--junyu-primary);background:var(--junyu-primary);color:#fff}.credit-reversal-close:disabled{opacity:.45;cursor:not-allowed}.credit-reversal-original{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;padding:12px;display:flex}.credit-reversal-original>div:first-child{min-width:0}.credit-reversal-original span{color:var(--text-muted);letter-spacing:.5px;font-size:6px;font-weight:700;display:block}.credit-reversal-original strong{color:var(--text-primary);margin-top:3px;font-size:9px;font-weight:600;display:block}.credit-reversal-original p{overflow-wrap:anywhere;color:var(--text-muted);margin:3px 0 0;font-size:7px}.credit-reversal-original-value{font-family:var(--font-heading);flex-shrink:0;font-size:18px;font-weight:600}.credit-reversal-original-value.positive{color:var(--success)}.credit-reversal-original-value.negative{color:var(--danger)}.credit-reversal-impact{background:var(--danger-bg);border:1px solid #b85c6221;border-radius:10px;margin-bottom:14px;padding:13px}.credit-reversal-impact>span{color:#9c7377;letter-spacing:.5px;font-size:6px;font-weight:700;display:block}.credit-reversal-impact>div{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;font-size:11px;display:flex}.credit-reversal-impact strong{color:var(--text-primary);font-family:var(--font-heading);font-size:13px;font-weight:600}.credit-reversal-impact strong.result{color:var(--danger)}.credit-reversal-warning{border-radius:var(--radius-sm);background:var(--danger-bg);color:#995a61;border:1px solid #b85c6221;gap:7px;margin-top:13px;padding:10px 12px;font-size:7px;line-height:1.55;display:flex}.credit-reversal-warning svg{flex-shrink:0}.credit-reversal-confirm{border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger);color:#fff;min-height:37px;font-family:var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:8px;font-weight:650;transition:opacity .18s,transform .18s;display:flex}.credit-reversal-confirm:hover:not(:disabled){transform:translateY(-1px)}.credit-reversal-confirm:disabled{opacity:.55;cursor:not-allowed}@media (width<=1000px){.credits-layout{grid-template-columns:1fr}.credits-enrollment-list{max-height:350px}}@media (width<=760px){.credits-balance-card{grid-template-columns:1fr}.credits-balance-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.admin-credits{padding:28px 18px 48px}.credits-summary{grid-template-columns:1fr}.credits-summary>div{border-right:0;border-bottom:1px solid var(--border-soft)}.credits-summary>div:last-child{border-bottom:0}.credits-detail-panel{padding:17px}.credits-detail-header{flex-direction:column;align-items:stretch}.credits-detail-actions{width:100%}.credits-detail-actions button{flex:1}.credits-balance-meta{grid-template-columns:1fr}.credits-balance-meta>div{border-top:1px solid #1021291a;border-left:0;padding:8px 0 0}.credits-balance-meta>div:first-child{border-top:0;padding-top:0}.credits-movement-row{grid-template-columns:32px minmax(0,1fr)}.credits-movement-actions-area{grid-column:2;align-items:flex-start}.credit-movement-form{grid-template-columns:1fr}.credit-movement-field.full{grid-column:auto}.credit-movement-enrollment{grid-template-columns:28px minmax(0,1fr)}.credit-movement-current-balance{border-left:0;border-top:1px solid var(--border-soft);text-align:left;grid-column:2;padding:9px 0 0}.credit-movement-modal,.credit-reversal-modal{padding:21px}.credit-movement-actions{flex-direction:column-reverse}.credit-movement-actions button{width:100%}}.admin-attendance{background:var(--bg-page);min-height:calc(100vh - 66px);padding:40px 42px 56px}.attendance-header{margin-bottom:24px}.attendance-header>div>span{color:var(--junyu-coral);letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;font-weight:700;display:inline-flex}.attendance-header>div>span:before{content:"";background:var(--junyu-coral);width:17px;height:1px}.attendance-header h1{color:var(--junyu-primary);font-family:var(--font-heading);letter-spacing:-.9px;margin:7px 0 6px;font-size:29px;font-weight:600}.attendance-header p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.6}.attendance-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #b85c622e;align-items:center;gap:7px;margin-bottom:14px;padding:11px 13px;font-size:8px;display:flex}.attendance-summary{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid;overflow:hidden}.attendance-summary>div{border-right:1px solid var(--border-soft);grid-template-columns:23px minmax(0,1fr);align-items:center;column-gap:7px;padding:15px 18px;display:grid}.attendance-summary>div:last-child{border-right:0}.attendance-summary svg{color:var(--junyu-coral);grid-row:1/3}.attendance-summary>div:nth-child(2) svg{color:var(--success)}.attendance-summary>div:nth-child(3) svg{color:var(--danger)}.attendance-summary>div:nth-child(4) svg{color:var(--warning)}.attendance-summary span{color:var(--text-muted);font-size:7px}.attendance-summary strong{color:var(--junyu-primary);font-family:var(--font-heading);grid-column:2;margin-top:3px;font-size:13px;font-weight:600}.attendance-filters{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:minmax(240px,1fr) 145px 145px;align-items:end;gap:10px;margin-bottom:10px;padding:12px;display:grid}.attendance-search{border:1px solid var(--border-primary);border-radius:var(--radius-sm);height:39px;color:var(--text-muted);align-items:center;gap:7px;padding:0 11px;transition:border-color .18s,box-shadow .18s;display:flex}.attendance-search:focus-within{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.attendance-search input{width:100%;color:var(--text-primary);font-family:var(--font-body);box-shadow:none;background:0 0;border:0;outline:0;font-size:8px}.attendance-filter-field{flex-direction:column;gap:5px;display:flex}.attendance-filter-field span{color:var(--text-muted);font-size:6px;font-weight:600}.attendance-filter-field input{box-sizing:border-box;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;height:39px;color:var(--text-primary);font-family:var(--font-body);outline:0;padding:0 9px;font-size:8px}.attendance-filter-field input:focus{border-color:#10212973;box-shadow:0 0 0 3px #1021290d}.attendance-status-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.attendance-status-filters button{border:1px solid var(--border-primary);background:var(--bg-surface);min-height:30px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;border-radius:20px;padding:0 10px;font-size:7px;font-weight:600;transition:background .18s,border-color .18s,color .18s}.attendance-status-filters button:hover{color:var(--junyu-primary);border-color:#10212938}.attendance-status-filters button.active{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.attendance-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);overflow:hidden}.attendance-table-wrap{overflow-x:auto}.attendance-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:900px}.attendance-table th{border-bottom:1px solid var(--border-soft);background:var(--bg-soft);color:var(--text-muted);letter-spacing:.5px;text-align:left;text-transform:uppercase;padding:11px 12px;font-size:6px;font-weight:700}.attendance-table td{border-bottom:1px solid var(--border-soft);color:var(--text-secondary);vertical-align:middle;padding:11px 12px;font-size:8px}.attendance-table tbody tr{transition:background .16s;position:relative}.attendance-table tbody tr:hover{background:#fcfbf8}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-person{align-items:center;gap:8px;min-width:155px;display:flex}.attendance-person>div{background:var(--junyu-primary-light);width:31px;height:31px;color:var(--junyu-primary);border:1px solid #10212912;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.attendance-person button{color:var(--text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:8px;font-weight:600;transition:color .18s}.attendance-person button:hover:not(:disabled){color:var(--junyu-coral)}.attendance-person button:disabled{cursor:default}.attendance-event{min-width:130px}.attendance-event strong{color:var(--text-primary);font-size:8px;font-weight:600;display:block}.attendance-event span{color:var(--text-muted);text-transform:capitalize;margin-top:3px;font-size:6px;display:block}.attendance-date,.attendance-time{white-space:nowrap;align-items:center;gap:5px;display:flex}.attendance-date svg,.attendance-time svg{color:#10212961}.attendance-enrollment{max-width:150px;color:var(--junyu-primary);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:7px;font-weight:600;display:flex}.attendance-enrollment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-enrollment:hover{color:var(--junyu-coral)}.attendance-muted{color:var(--text-muted);font-size:7px}.attendance-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;min-height:24px;padding:0 8px;font-size:6px;font-weight:650;display:inline-flex}.attendance-status.present{background:var(--success-bg);color:var(--success);border-color:#3f7f631f}.attendance-status.absent,.attendance-status.cancelled{background:var(--danger-bg);color:var(--danger);border-color:#b85c621f}.attendance-status.makeup{background:var(--warning-bg);color:var(--warning);border-color:#b27b3824}.attendance-status.courtesy{background:var(--junyu-coral-light);color:var(--junyu-coral);border-color:#e07a6a24}.attendance-status.other{background:var(--junyu-primary-light);color:var(--junyu-primary);border-color:#10212914}.attendance-open{border:1px solid var(--border-soft);background:var(--bg-surface);width:29px;height:29px;color:var(--text-muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:flex}.attendance-open:hover{border-color:var(--junyu-primary);background:var(--junyu-primary);color:var(--junyu-ivory)}.attendance-state{color:var(--text-muted);text-align:center;padding:55px 20px;font-size:8px}.attendance-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:25px;display:flex}.attendance-empty>svg{background:var(--junyu-coral-light);width:52px;height:52px;color:var(--junyu-coral);border:1px solid #e07a6a21;border-radius:15px;padding:13px}.attendance-empty h2{color:var(--junyu-primary);font-family:var(--font-heading);margin:12px 0 4px;font-size:13px;font-weight:600}.attendance-empty p{color:var(--text-muted);margin:0;font-size:8px}.attendance-footnote{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-secondary);align-items:center;gap:7px;margin-top:12px;padding:10px 12px;font-size:7px;line-height:1.5;display:flex}.attendance-footnote svg{color:var(--junyu-coral);flex-shrink:0}@media (width<=900px){.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary>div:nth-child(2){border-right:0}.attendance-summary>div:first-child,.attendance-summary>div:nth-child(2){border-bottom:1px solid var(--border-soft)}.attendance-filters{grid-template-columns:1fr 1fr}.attendance-search{grid-column:1/-1}}@media (width<=700px){.admin-attendance{padding:28px 18px 48px}.attendance-header h1{font-size:22px}.attendance-summary{grid-template-columns:1fr}.attendance-summary>div{border-right:0;border-bottom:1px solid var(--border-soft)}.attendance-summary>div:last-child{border-bottom:0}.attendance-filters{grid-template-columns:1fr}.attendance-search{grid-column:auto}}:root{--junyu-primary:#102129;--junyu-primary-hover:#18313a;--junyu-primary-light:#eef2f3;--junyu-coral:#e07a6a;--junyu-coral-hover:#d66d5d;--junyu-coral-light:#fff1ee;--junyu-charcoal:#263238;--junyu-mist:#dce3e6;--junyu-ivory:#f7f6f3;--bg-page:#f7f6f3;--bg-surface:#fff;--bg-soft:#faf9f7;--bg-dark:#102129;--text-primary:#263238;--text-secondary:#647078;--text-muted:#929ca1;--text-on-dark:#f7f6f3;--border-primary:#dce3e6;--border-soft:#e9edef;--success:#3f7f63;--success-bg:#edf6f1;--warning:#b27b38;--warning-bg:#fff8eb;--danger:#b85c62;--danger-bg:#fff1f2;--font-heading:"Sora", sans-serif;--font-body:"Inter", sans-serif;--font-editorial:"Libre Caslon Text", serif;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 3px #1021290a;--shadow-sm:0 4px 14px #1021290d;--shadow-md:0 10px 30px #10212914;--shadow-modal:0 25px 70px #10212938}html{font-family:var(--font-body);background:var(--bg-page);color:var(--text-primary)}body{font-family:var(--font-body);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary)}.admin-primary-button{border:1px solid var(--junyu-primary);border-radius:var(--radius-sm);background:var(--junyu-primary);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:12px;font-weight:600;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.admin-primary-button:hover{background:var(--junyu-primary-hover);border-color:var(--junyu-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-primary-button:disabled{opacity:.55;cursor:default;transform:none}.student-secondary-button{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:38px;color:var(--junyu-primary);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;transition:background .18s,border-color .18s;display:inline-flex}.student-secondary-button:hover{background:var(--bg-soft);border-color:#bcc9cd}input,select,textarea{border-color:var(--border-primary);color:var(--text-primary)}input:focus,select:focus,textarea:focus{border-color:var(--junyu-primary);outline:none;box-shadow:0 0 0 3px #10212914}::selection{background:var(--junyu-coral);color:#fff}
