:root{--purple-900:#3c1dbb;--purple-800:#4b2be3;--purple-700:#5b38f0;--purple-600:#6945ff;--purple-500:#7b65f5;--purple-300:#d9d1ff;--purple-200:#e9e4ff;--purple-100:#f4f1ff;--ink:#1d1b24;--muted:#7e7a88;--line:#ebe9f0;--surface:#ffffff;--page:#f7f6fb;--green:#33bf79;--yellow:#ffd65a;--red:#f46868;--blue:#5a86ff;--orange:#c66a14;--shadow:0 18px 42px rgba(27,22,66,0.14);--radius-xl:24px;--radius-lg:18px;--radius-md:12px;--phone-width:390px;--phone-height:844px;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR","Segoe UI",sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(123,101,245,0.22),transparent 30%),radial-gradient(circle at 90% 20%,rgba(93,185,255,0.16),transparent 28%),linear-gradient(140deg,#f1efff 0%,#f9f8fc 48%,#eef3ff 100%);display:grid;place-items:center;padding:28px 12px}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(105,69,255,0.22);outline-offset:2px}#app{width:min(100vw - 24px,var(--phone-width))}.phone{width:100%;min-height:var(--phone-height);max-height:min(932px,calc(100vh - 48px));background:var(--surface);border-radius:38px;box-shadow:var(--shadow);overflow:hidden;position:relative;isolation:isolate;border:1px solid rgba(255,255,255,0.82)}.phone::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:108px;height:4px;border-radius:999px;background:#151515;opacity:0.9;z-index:30}.statusbar{height:36px;display:flex;justify-content:space-between;align-items:end;padding:0 18px 6px;font-size:12px;font-weight:800;color:#111;background:inherit}.status-icons{display:flex;align-items:center;gap:4px;color:#111}.battery{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:11px;padding:0 2px;border-radius:3px;background:#61d46b;color:#0e6428;font-size:7px;line-height:1}.login-splash{background:linear-gradient(180deg,#eeebff 0%,#f6f3ff 100%)}.app-body{height:calc(var(--phone-height) - 36px);max-height:calc(min(932px,100vh - 48px) - 36px);overflow-y:auto;background:var(--surface);scrollbar-width:none}.app-body::-webkit-scrollbar{display:none}.screen{min-height:calc(var(--phone-height) - 36px - 72px);padding:0 18px 94px;background:var(--surface)}.screen.no-nav{padding-bottom:40px}.screen.login{padding:0 26px 38px;min-height:calc(var(--phone-height) - 36px)}.logo{font-family:"Snell Roundhand","Brush Script MT",cursive;font-weight:700;letter-spacing:0.02em;color:var(--purple-700);font-size:22px;line-height:1}.logo.big{font-size:30px;text-align:center}.logo-subtitle{text-align:center;color:var(--muted);font-size:10px;margin-top:8px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px 14px;background:var(--surface);position:sticky;top:0;z-index:10}.app-header.detail{justify-content:flex-start;gap:12px;border-bottom:1px solid var(--line)}.header-title{font-weight:800;font-size:15px;flex:1;text-align:center;margin-right:34px}.icon-button{width:34px;height:34px;border-radius:50%;background:transparent;color:var(--ink);display:inline-grid;place-items:center;font-size:18px}.notification-bell-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:var(--purple-100)}.back-button{margin-left:-8px}.login-hero{padding-top:150px;display:grid;place-items:center}.login-cards{margin-top:54px;display:grid;gap:16px}.role-card{height:78px;border-radius:18px;background:rgba(255,255,255,0.62);box-shadow:0 8px 28px rgba(79,59,201,0.08);color:var(--purple-800);display:grid;grid-template-columns:45px 1fr;gap:8px;align-items:center;padding:0 24px;text-align:left;border:1px solid rgba(255,255,255,0.8)}.role-card strong{color:#5040aa;font-size:14px}.role-card span:first-child{font-size:24px}.login-footer{position:absolute;bottom:48px;left:0;right:0;text-align:center;font-size:12px;color:#777280}.login-footer a,.link-button{color:var(--purple-900);font-weight:800;text-decoration:underline;background:none;padding:0}.auth-title{margin-top:96px;margin-bottom:38px}.auth-title h1{font-size:21px;line-height:1.42;margin:0 0 8px}.form-group{margin-bottom:17px}.label{display:block;font-size:12px;font-weight:800;margin-bottom:9px;color:#3a3742}.input-row{display:flex;gap:10px}.input,.textarea,.select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:11px;background:#f3f2f5;padding:0 14px;color:var(--ink)}.textarea{min-height:118px;resize:vertical;padding:14px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:#b4b1bc}.timer{color:var(--purple-700);font-size:12px;font-weight:800;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-wrap{position:relative;flex:1}.btn{min-height:48px;border-radius:10px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800;white-space:nowrap}.btn.primary{color:#fff;background:linear-gradient(180deg,var(--purple-600),var(--purple-900))}.btn.soft{color:var(--purple-800);background:var(--purple-200)}.btn.ghost{color:var(--ink);background:#f4f3f7}.btn.outline{color:var(--purple-800);background:#fff;border:1px solid var(--purple-300)}.btn.warn{color:#fff;background:var(--orange)}.btn.full{width:100%}.btn.small{min-height:32px;border-radius:8px;padding:0 12px;font-size:11px}.auth-help{margin-top:22px;color:#b4b0bd;font-size:11px;text-align:center}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:63px;z-index:8}.segmented.inline{position:static;background:#fff;border:1px solid var(--line);border-radius:10px;padding:2px;margin-bottom:13px}.segmented button{min-height:42px;background:transparent;color:#9a96a4;font-size:12px;font-weight:800;border-bottom:2px solid transparent}.segmented.inline button{min-height:35px;border-radius:8px;border:0}.segmented button.active{color:var(--ink);border-bottom-color:var(--ink)}.segmented.inline button.active{color:var(--purple-800);background:var(--purple-200)}.search{width:100%;height:40px;border-radius:999px;border:0;background:#f4f3f8;padding:0 17px;margin:14px 0;font-size:12px}.banner{border-radius:8px;padding:12px 14px;background:var(--purple-100);color:#4a4260;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.section-title{font-size:13px;font-weight:900;margin:22px 0 10px;display:flex;align-items:center;justify-content:space-between}.section-title small{color:var(--muted);font-size:11px;font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card,.row-card,.profile-card{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(31,28,46,0.03)}.card{min-height:98px;padding:15px 14px;text-align:left}.card strong{display:block;font-size:13px;margin-bottom:13px}.card .meta{color:var(--purple-800);font-size:12px;font-weight:800}.card .sub{color:var(--muted);font-size:11px;margin-top:4px}.card.dashed{border-style:dashed;background:#fcfbff}.row-list{display:grid;gap:8px}.row-card{padding:13px 13px;display:flex;align-items:center;gap:12px;min-height:56px;text-align:left}.row-card.clickable:hover,.card.clickable:hover{border-color:var(--purple-300);background:#fdfcff}.row-main{flex:1;min-width:0}.row-title{font-size:13px;font-weight:900;margin-bottom:3px}.row-sub{font-size:11px;color:var(--muted);line-height:1.45}.chevron{color:#bbb7c4;font-weight:900}.avatar{width:38px;height:38px;border-radius:50%;background:#f0edff;border:1px solid var(--purple-200);display:grid;place-items:center;color:var(--purple-800);font-weight:900;flex:0 0 auto}.avatar.lg{width:62px;height:62px;font-size:22px}.badge{display:inline-flex;min-height:22px;align-items:center;justify-content:center;border-radius:999px;padding:0 8px;font-size:10px;font-weight:900;background:#f1eff7;color:#7a7485}.badge.green{background:#e8f8ef;color:#19995c}.badge.red{background:#fff0f0;color:#e04e4e}.badge.blue{background:#edf3ff;color:#416ee6}.badge.purple{background:var(--purple-200);color:var(--purple-800)}.badge.yellow{background:#fff7cf;color:#9b7800}.green-text{color:var(--green)}.stack{display:grid;gap:12px}.student-detail{padding-top:30px}.student-detail h1{margin:0 0 24px;color:var(--ink);font-size:22px;font-weight:900;line-height:1.35}.student-detail-list{display:grid;gap:18px;margin:0 0 34px;padding-left:20px;color:#2d2933;font-size:18px;line-height:1.45}.student-detail-missing{color:#b46020}.student-withdraw-button{min-height:58px;border-radius:12px;background:#b15f24;font-size:17px}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.kpi{border-radius:14px;background:#faf9ff;border:1px solid var(--line);padding:13px 10px;text-align:center}.kpi strong{font-size:18px;display:block;color:var(--purple-800)}.kpi span{color:var(--muted);font-size:10px;font-weight:800}.date-row,.month-row{height:42px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:12px;font-weight:800;margin:14px 0}.status-options{display:flex;gap:7px;align-items:center}.status-pill{min-width:44px;height:27px;border-radius:999px;background:#f1eff5;color:#958e9e;font-size:10px;font-weight:900}.status-pill.active.green{background:var(--green);color:#fff}.status-pill.active.red{background:var(--red);color:#fff}.status-pill.active.purple{background:var(--purple-700);color:#fff}.card.highlight{background:#f4f2ff}.empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#b5b0bf;font-size:12px}.empty .icon{font-size:44px;color:#c9c4d2;margin-bottom:12px}.price{color:var(--purple-800);font-weight:900}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:76px;background:rgba(255,255,255,0.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 8px 14px;z-index:20;backdrop-filter:blur(12px)}.bottom-nav.three{grid-template-columns:repeat(3,1fr)}.bottom-nav button{display:grid;place-items:center;gap:2px;background:transparent;color:#aaa5b4;font-size:10px;font-weight:800}.bottom-nav button span:first-child{font-size:19px;line-height:1}.bottom-nav button.active{color:var(--ink)}.modal-backdrop,.sheet-backdrop{position:absolute;inset:0;background:rgba(20,18,26,0.58);z-index:50;display:grid;place-items:center;padding:18px}.dialog{width:100%;max-width:314px;background:#fff;border-radius:14px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,0.18)}.dialog-title{font-size:14px;font-weight:900;margin-bottom:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.sheet-backdrop{align-items:end;padding:0 18px 34px;place-items:end center}.sheet{width:100%;background:#fff;border-radius:18px 18px 10px 10px;padding:18px;box-shadow:0 -14px 40px rgba(0,0,0,0.16)}.toast{position:absolute;left:18px;right:18px;bottom:88px;background:#171323;color:#fff;min-height:44px;display:flex;align-items:center;border-radius:8px;padding:0 14px;font-size:12px;z-index:80;box-shadow:0 8px 20px rgba(0,0,0,0.18)}.login-splash .toast{bottom:34px}.chat-list{display:grid;gap:16px;padding-top:8px}.chat-day{text-align:center;color:#c1bcc9;font-size:10px;margin:14px 0 2px}.bubble-row{display:flex}.bubble-row.me{justify-content:flex-end}.bubble{max-width:72%;border-radius:16px;padding:10px 12px;font-size:12px;line-height:1.45;background:#f4f3f7;color:#393541}.bubble-row.me .bubble{background:var(--purple-200);color:var(--purple-900);border-bottom-right-radius:4px}.bubble-row.other .bubble{border-bottom-left-radius:4px}.chat-compose{position:sticky;bottom:-1px;display:grid;grid-template-columns:1fr 42px;gap:8px;background:#fff;padding:12px 0 4px}.chat-compose .input{min-height:42px}.notice-item{align-items:flex-start}.list-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.class-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{min-height:32px;border-radius:999px;padding:0 12px;background:#f5f3fa;color:#817a8d;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.chip.active{background:var(--purple-200);color:var(--purple-900)}.hero-placeholder{height:190px;border-radius:0 0 18px 18px;background:linear-gradient(135deg,#f2f0f7,#faf9ff);border:1px dashed #d7d1e2;display:grid;place-items:center;color:#b3acbf;text-align:center;margin:0 -18px 16px}.map{height:120px;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(0deg,rgba(255,255,255,0.22),rgba(255,255,255,0.22)),repeating-linear-gradient(90deg,#e7f1e2 0 26px,#dbe9f7 26px 46px,#f2e9db 46px 68px),repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,0.6) 24px 27px);border:1px solid var(--line)}.map::before,.map::after{content:"";position:absolute;background:rgba(255,255,255,0.82);border-radius:999px}.map::before{width:130%;height:14px;transform:rotate(-18deg);left:-32px;top:48px}.map::after{width:14px;height:130%;transform:rotate(18deg);right:98px;top:-24px}.pin{position:absolute;left:58%;top:32%;width:28px;height:28px;transform:translate(-50%,-50%);background:var(--green);color:#fff;border-radius:50% 50% 50% 0;rotate:-45deg;display:grid;place-items:center;z-index:3;box-shadow:0 5px 12px rgba(0,0,0,0.16)}.pin span{rotate:45deg;font-size:13px}.info-block{border-top:1px solid var(--line);padding:14px 0}.info-block:first-of-type{border-top:0}.info-title{display:flex;justify-content:space-between;font-size:13px;font-weight:900;margin-bottom:8px}.info-text{color:#5c5667;font-size:12px;line-height:1.55}.profile-card{padding:16px;display:flex;gap:13px;align-items:center;margin-bottom:13px}.form-grid{display:grid;gap:10px}.account-line{display:grid;grid-template-columns:86px 1fr auto;gap:8px;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:12px}.account-line strong{color:#504b5a}.account-line span{color:var(--muted)}.teacher-total{justify-content:center;text-align:center;margin-top:14px;min-height:42px}.teacher-total small{color:#726c82;font-weight:600}.teacher-date{height:70px;border-radius:18px;font-size:15px;margin-top:14px}.teacher-attendance-row{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:14px 0}.teacher-status-options .status-pill{min-width:52px;height:34px;font-size:12px}.teacher-roster-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.roster-header{padding:14px 18px;background:var(--purple-100);font-weight:900}.roster-row{width:100%;min-height:74px;padding:0 18px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;background:#fff;border-top:1px solid var(--line);text-align:left;font-weight:800}.teacher-guide-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 10px}.filter-button{min-height:36px;background:#fff;color:var(--ink);font-size:14px;font-weight:900}.teacher-guide-list{margin:0 -18px;gap:0}.teacher-guide-item{border-left:0;border-right:0;border-radius:0;box-shadow:none;min-height:96px}.guide-meta{display:flex;align-items:center;gap:12px;color:#a3a0aa;font-size:11px;margin-bottom:10px}.teacher-profile-hero{margin-top:16px;padding:24px;align-items:center}.profile-photo{position:relative;flex:0 0 auto}.avatar.xl{width:84px;height:84px;font-size:30px;background:var(--purple-100)}.camera{position:absolute;right:-4px;bottom:-4px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--purple-700);color:#fff;border:3px solid #fff;font-size:12px}.profile-info-card{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:0 18px}.profile-info-row{min-height:55px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#99949f;font-size:13px}.profile-info-row:last-child{border-bottom:0}.profile-info-row strong{color:var(--ink)}.teacher-menu-list{margin-top:20px;border-top:1px solid var(--line)}.teacher-menu-list .account-line{width:100%;min-height:58px;grid-template-columns:38px 1fr auto;background:#fff;color:#777384;text-align:left}.teacher-menu-list .account-line strong{color:#777384;font-size:14px}.nav-icon{position:relative;display:inline-grid;place-items:center}.nav-badge,.parent-bell i,.unread-badge,.parent-alert-row i,.payment-month i{position:absolute;min-width:18px;height:18px;border-radius:999px;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-style:normal;font-weight:900}.nav-badge{right:-13px;top:-10px}.parent-header{min-height:120px;padding:46px 18px 18px;align-items:center}.parent-header .logo{font-size:26px;color:#5457f6}.parent-header .lounge-logo{font-size:22px}.parent-avatar-button{width:56px;height:56px;border-radius:50%;background:#f0f1ff;display:grid;place-items:center}.parent-avatar{width:42px;height:42px;border:0;background:transparent;color:#5457f6}.parent-back{color:#191934;font-size:30px}.parent-bell{color:#8f8f93;position:relative}.parent-bell .notification-bell-icon{width:24px;height:24px}.parent-bell i{right:-4px;top:-5px;width:19px}.parent-screen{padding-left:15px;padding-right:15px}.parent-screen .segmented{position:static;top:auto;margin:0 -15px 14px}.parent-home-segment button,.lounge-tabs button,.academy-detail-tabs button{min-height:52px;font-size:14px}.parent-search{height:48px;border-radius:999px;background:#f4f4f6;display:grid;grid-template-columns:40px 1fr 48px;align-items:center;color:#999;padding:0 12px;margin:16px 0 12px}.parent-search input{border:0;background:transparent;min-width:0;color:var(--ink)}.parent-search button{height:32px;border-left:1px solid #dedde4;background:transparent;color:#8d8d94;font-size:18px}.parent-location-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}.parent-location-row .btn{border-radius:999px;background:#5058ff;min-height:36px}.parent-info-banner{border:1px solid #bbbfff;background:#eef0ff;color:#5058ff;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:800;margin-bottom:14px}.parent-academy-list{display:grid;gap:0}.parent-academy-item{min-height:132px;display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:14px;width:100%;background:#fff;text-align:left;border-bottom:1px solid var(--line);padding:12px 0}.parent-academy-thumb{width:92px;height:92px;border-radius:12px;background:#f5f5f5;color:#999;display:grid;place-items:center;font-size:30px;overflow:hidden}.parent-academy-thumb.gym,.academy-cover.gym{background:linear-gradient(rgba(0,0,0,0.18),rgba(0,0,0,0.22)),repeating-linear-gradient(0deg,#b28a5d 0 9px,#d2b180 9px 18px)}.parent-academy-thumb.brand,.academy-cover.brand{background:linear-gradient(135deg,#9b79ff,#3098ff 62%,#5c35d5);color:rgba(255,255,255,0.9);font-family:"Snell Roundhand","Brush Script MT",cursive;font-weight:800}.parent-academy-name{font-size:18px;font-weight:900;margin-bottom:8px}.academy-cover{height:222px;margin:0 -15px;display:grid;place-items:center;font-size:58px;letter-spacing:-0.08em}.academy-detail-head{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0 12px;align-items:start}.academy-detail-head h2{margin:0 0 8px;font-size:22px}.academy-meta{color:#85818d;font-size:12px;margin-bottom:8px}.academy-registered{grid-column:1;justify-self:start;border-radius:999px;background:#535aff;color:#fff;padding:8px 14px;font-size:12px;font-weight:900}.academy-map-card{width:100%;border:1px solid #dedde4;border-radius:14px;background:#fff;overflow:hidden;display:grid;grid-template-columns:1fr auto;text-align:left;color:var(--ink)}.mini-map{grid-column:1 / -1;height:128px;border:0;border-radius:0}.academy-map-card span{padding:13px;font-size:13px}.academy-info-card{margin:16px 0;border:1px solid #e3e1e7;border-radius:16px;padding:16px;background:#fff}.parent-screen>.academy-info-card:last-of-type{margin-bottom:118px}.parent-cta{position:absolute;left:0;right:0;bottom:76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px 15px;background:rgba(255,255,255,0.96);border-top:1px solid var(--line);z-index:18}.parent-cta .btn{min-width:0;min-height:58px;line-height:1.2;padding:0 8px;white-space:normal;overflow:hidden}.parent-cta .btn span{display:block;font-size:13px}.parent-cta small{display:block;margin-top:2px;font-size:10px;font-weight:700}.small-empty{min-height:120px}.parent-review-backdrop{place-items:center}.parent-review-dialog textarea{min-height:116px}.parent-message-list{margin:0 -15px;border-top:1px solid var(--line)}.parent-message-row{width:100%;min-height:116px;display:grid;grid-template-columns:68px 1fr auto;gap:14px;align-items:center;padding:16px 15px;background:#fff;border-bottom:1px solid var(--line);text-align:left;position:relative}.parent-message-icon,.parent-card-icon{width:52px;height:52px;border-radius:12px;background:#eef0ff;display:grid;place-items:center;color:#5058ff;font-size:24px}.parent-message-date{color:#9b98a3;font-size:13px}.unread-badge{right:8px;bottom:18px}.parent-thread-head{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:8px 0 18px;border-bottom:1px solid var(--line)}.parent-thread-head strong{font-size:18px}.parent-chat-list{padding:18px 0 96px}.parent-chat-list .chat{display:grid;justify-items:start}.parent-chat-list .chat.me{justify-items:end}.parent-chat-list .chat p{max-width:74%;margin:0;border-radius:18px;padding:11px 13px;background:#f4f3f7;color:#393541;line-height:1.45;font-size:13px}.parent-chat-list .chat.me p{background:var(--purple-700);color:#fff;border-bottom-right-radius:5px}.parent-chat-list .chat.other p{border-bottom-left-radius:5px}.parent-chat-list .chat span{margin-top:4px;color:#aaa6b2;font-size:10px}.parent-chat-compose{position:absolute;left:15px;right:15px;bottom:24px;grid-template-columns:minmax(0,1fr) 50px;padding:10px 0 0;border-top:1px solid var(--line)}.parent-chat-compose .btn{min-width:50px;border-radius:14px}.lounge-profile{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:8px 0 18px}.lounge-profile strong{font-size:16px}.lounge-actions{display:flex;gap:8px}.lounge-actions .btn{min-height:44px;border-radius:16px}.lounge-section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px;font-size:20px}.lounge-section-title strong{font-size:20px}.lounge-more{font-size:14px;line-height:1;padding:6px 0;white-space:nowrap}.lounge-section-title.latest{justify-content:flex-start;gap:10px;border-top:1px solid var(--line);padding-top:16px}.popular-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;overflow-x:auto;margin-right:-15px;padding-bottom:8px}.popular-card{min-height:132px;border:1px solid #e2e1ea;border-radius:14px;background:#fff;padding:15px;text-align:left;display:grid;align-content:space-between}.popular-card strong{font-size:16px}.popular-card p{color:#8b8794;font-size:13px;line-height:1.45}.lounge-list{margin:0 -15px}.lounge-post-row{width:100%;min-height:76px;padding:14px 15px;background:#fff;border-bottom:1px solid var(--line);text-align:left}.post-stats{float:right}.lounge-filter{display:flex;gap:8px;padding:12px 0}.post-detail{padding:8px 0 118px}.post-author{display:flex;gap:10px;align-items:center;margin-bottom:16px}.post-detail h2{font-size:22px;line-height:1.35;margin:0 0 18px}.post-body{color:#5e5968;line-height:1.65;margin:0 0 20px;font-size:15px}.post-detail-stats{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:#1d1b2e;font-size:14px;font-weight:900}.comment-list{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.comment-card{align-items:flex-start}.comment-compose{position:static;grid-template-columns:minmax(0,1fr) 56px;padding:16px 0 0}.comment-compose .btn{min-width:56px;border-radius:14px}.parent-write-sheet .account-line,.parent-sheet-option{width:100%;grid-template-columns:42px 1fr auto;background:#fff;min-height:58px}.post-compose{padding-top:18px}.big-input{min-height:58px;font-size:17px;background:#fff}.post-textarea{min-height:410px;background:#fff;margin:12px 0 18px}.parent-school-switch{width:100%;min-height:72px;display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;background:#fff;border-bottom:1px solid #ddd;text-align:left;font-size:17px;margin-bottom:18px}.parent-school-switch.slim{border-bottom:1px solid #e1e0e7;margin-bottom:18px}.parent-action-cards{display:grid;gap:18px}.parent-action-card{min-height:170px;border-radius:22px;padding:28px 18px;text-align:left;display:grid;align-content:start;gap:16px;color:#1d1b3a;position:relative;overflow:hidden}.parent-action-card strong{font-size:18px}.parent-action-card span{color:#4f4b5f;font-size:15px}.parent-action-card i{position:absolute;right:28px;bottom:24px;font-size:54px;color:rgba(80,77,120,0.12);font-style:normal}.parent-action-card em{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:var(--red);color:#fff;font-style:normal;font-size:13px}.parent-action-card.attendance{background:linear-gradient(135deg,#eeefff,#f5e7ff)}.parent-action-card.payment{background:linear-gradient(135deg,#ffeaf3,#ecefff)}.parent-action-card.notice{background:linear-gradient(135deg,#bcd3ff,#fbecff)}.parent-attendance{background:#fff}.attendance-card{background:#f0f0ff;border-radius:24px;padding:28px 18px;display:grid;gap:12px}.attendance-card strong{font-size:18px}.calendar-title{min-height:60px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:22px;font-weight:900;margin:14px 0}.calendar-title small{color:#777386;font-weight:700}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:20px 4px;font-weight:800}.calendar-week{color:#777386}.calendar-week span:first-child,.calendar-grid .absent{color:#e5534b}.calendar-grid{font-size:20px;color:#1f1d39}.calendar-legend{display:flex;justify-content:center;gap:22px;color:#777386;font-size:13px;margin-top:24px}.calendar-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:middle}.present-dot{background:#d9d2ff}.late-dot{background:#ffe372}.absent-dot{background:#ee7676}.parent-payment{background:linear-gradient(150deg,#fff2fb,#f2efff)}.payment-menu{min-height:530px;display:grid;align-content:center;gap:18px}.payment-option{min-height:76px;border:2px solid #1d1b3a;border-radius:18px;background:#fff;text-align:left;padding:0 22px;font-size:17px;font-weight:900;color:#1d1b3a}.payment-history{display:grid;gap:12px;padding-bottom:24px}.payment-month{min-height:74px;border-radius:14px;background:#fff;display:grid;grid-template-columns:72px 1fr auto 24px;align-items:center;gap:10px;padding:0 16px;text-align:left;color:#1d1b3a;position:relative}.payment-month.selected{border:2px solid var(--purple-700);background:#f1e9ff}.payment-month em{min-width:74px;border-radius:999px;padding:8px 12px;text-align:center;font-style:normal;background:#ddd;color:#615e70;font-weight:900}.payment-month em.selected{background:#d8c6ff;color:var(--purple-800)}.payment-month em.disabled{min-width:44px;color:#aaa}.payment-month i{position:static}.payment-note{text-align:center;color:#6d6878;font-size:13px}.parent-alert-list{display:grid;gap:12px}.parent-alert-row{min-height:64px;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,28,46,0.04);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:0 12px;text-align:left}.parent-alert-row .badge{min-width:54px;justify-content:center}.parent-alert-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-alert-row i{position:static}.parent-alert-date{color:#5e5968;font-weight:900;white-space:nowrap}.parent-profile-hero{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:18px;margin:18px 0 24px}.parent-profile-hero strong{font-size:22px}.parent-profile-card{margin-bottom:18px}.parent-address-card{min-height:74px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;padding:0 14px;color:#777384;margin-bottom:18px}.parent-menu{margin-top:0}.parent-child-bar{height:112px;background:#5058ff;color:#fff;display:grid;grid-template-columns:50px 1fr 50px;align-items:end;gap:10px;padding:0 18px 22px}.parent-child-bar strong{text-align:center;font-size:20px}.parent-child-bar .icon-button{color:#fff}.parent-child-card{display:grid;grid-template-columns:90px 1fr 38px;align-items:center;gap:18px;padding-top:36px}.avatar.gray{background:#f0f1ff;color:#999}.parent-child-name{font-size:20px;font-weight:900}.parent-child-name small{font-size:15px;font-weight:700}.parent-child-academy{margin-top:16px;font-size:17px;font-weight:800}@media (max-width:430px){body{padding:0;background:#fff}#app{width:100vw}.phone{border-radius:0;min-height:100vh;max-height:100vh;box-shadow:none;border:0}.app-body{height:calc(100vh - 36px);max-height:calc(100vh - 36px)}.screen{min-height:calc(100vh - 36px - 72px)}}
