@charset "UTF-8";@font-face{font-family:Pretendard;font-style:normal;font-weight:400;src:url(https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff) format("woff")}@font-face{font-family:Pretendard;font-style:normal;font-weight:500;src:url(https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff) format("woff")}@font-face{font-family:Pretendard;font-style:normal;font-weight:700;src:url(https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff) format("woff")}:root{--toss-primary:#f28a9b;--toss-primary-soft:#fde6ea;--toss-primary-light:#fdf1f4;--toss-primary-border:#f3b6c0;--toss-primary-dark:#e06c82;--toss-primary-hover:#e07889;--toss-text-strong:#191f28;--toss-text-base:#4e5968;--toss-text-muted:#8b95a1;--toss-text-main:#191f28;--toss-text-sub:#6b7684;--toss-grid-border:#e5e7eb;--toss-grid-border-strong:#f3b6c0;--toss-bg-default:#fff;--toss-bg-hover:#fafafa;--toss-bg-required:#fdf5f6;--toss-bg-add-row:#fdf1f4;--toss-bg-base:#f2f4f6;--toss-bg-page:#f2f4f6;--toss-bg-dim:#00000059;--toss-border:#e5e7eb;--toss-shadow:0 4px 20px #0000000d;--bg-header:#f2f4f6;--bg-sidebar:#f8f9fa;--bg-white:#fff;--bg-hover:#fff0f2;--border-strong:#d1d6db;--border-soft:#e5e8eb;--text-primary:#333d4b;--text-secondary:#6b7684;--font-base:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",Roboto,Helvetica,Arial,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{background:none;border:none;color:inherit;font:inherit;outline:none}a{color:inherit;text-decoration:none}ol,ul{list-style:none;margin:0;padding:0}html{font-size:16px}body{background-color:#fff;background-color:var(--toss-bg-default);color:#4e5968;color:var(--toss-text-base);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-base);font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{color:#191f28;color:var(--toss-text-strong);font-weight:700;letter-spacing:-.01em;margin:0}h1{font-size:2rem;line-height:1.3}h2{font-size:1.75rem;line-height:1.35}h3{font-size:1.5rem;line-height:1.4}h4{font-size:1.25rem;line-height:1.45}h5{font-size:1.125rem}h5,h6{line-height:1.5}h6,p{font-size:1rem}p{color:#4e5968;color:var(--toss-text-base);margin:0}span{color:inherit;font-size:inherit}small{color:#8b95a1;color:var(--toss-text-muted);font-size:.875rem}button{border-radius:10px;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.button-primary{background-color:#f28a9b;background-color:var(--toss-primary);color:#fff;font-weight:600;padding:10px 16px}.button-primary:hover{background-color:#e07889;background-color:var(--toss-primary-hover)}.button-primary:active{background-color:#e06c82;background-color:var(--toss-primary-dark)}input,textarea{background-color:#fff;background-color:var(--toss-bg-default);border:1px solid #e5e7eb;border:1px solid var(--toss-border);border-radius:10px;padding:10px 12px}input::placeholder,textarea::placeholder{color:#8b95a1;color:var(--toss-text-muted)}.icon{color:#4e5968;color:var(--toss-text-base);height:20px;width:20px}.icon-primary{color:#f28a9b;color:var(--toss-primary)}.dash-wrap{display:grid;grid-template-columns:220px 1fr;height:100vh;overflow:hidden;transition:grid-template-columns .4s cubic-bezier(.25,1,.5,1)}.dash-wrap.sidebar-closed{grid-template-columns:0 1fr}.dash-sidebar{background:var(--toss-bg-default);border-right:1px solid var(--toss-border);display:flex;flex-direction:column;gap:16px;padding:15px;transition:all .4s cubic-bezier(.25,1,.5,1)}.sidebar-closed .dash-sidebar{opacity:0;pointer-events:none;transform:translateX(-40px)}.sidebar-header{align-items:center;display:flex;justify-content:space-between}.logo,.logo-img{display:block}.logo-img{height:50px;object-fit:contain;width:110px}.sidebar-hamburger{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--toss-text-strong);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;justify-content:center;padding:8px;transition:background .2s ease}.sidebar-hamburger:hover{background:var(--toss-bg-hover)}.academy-selector-wrapper{position:relative}.academy-selector{align-items:center;background:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;transition:all .2s ease}.academy-selector:hover{border-color:var(--toss-primary-border);box-shadow:0 1px 2px #0000000a}.academy-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.academy-icon-wrapper{align-items:center;background:var(--toss-bg-base);border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.academy-icon{color:var(--toss-text-base);font-size:16px}.academy-name{color:var(--toss-text-strong);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-arrow{color:var(--toss-text-muted);flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.academy-arrow.rotated{transform:rotate(180deg)}.academy-dropdown{background:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:12px;box-shadow:0 4px 12px #0000000f;left:0;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);transform:translateY(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}.academy-dropdown.show{max-height:300px;opacity:1;overflow-y:auto;transform:translateY(0)}.academy-dropdown-item{align-items:center;border-bottom:1px solid var(--toss-border);cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background .2s ease}.academy-dropdown-item:last-child{border-bottom:none}.academy-dropdown-item:hover{background:var(--toss-bg-hover)}.academy-dropdown-item.active{background:var(--toss-primary-light)}.academy-dropdown-item.active .academy-dropdown-name{color:var(--toss-primary);font-weight:600}.academy-dropdown-item.active .academy-dropdown-icon{background:var(--toss-primary-light);color:var(--toss-primary)}.academy-dropdown-icon{align-items:center;background:var(--toss-bg-base);border-radius:8px;color:var(--toss-text-base);display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.academy-dropdown-text{flex:1 1;min-width:0}.academy-dropdown-name{color:var(--toss-text-strong);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-dropdown-location{color:var(--toss-text-muted);font-size:12px;margin-top:2px}.menu-section-label{color:var(--toss-text-sub);font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;padding:4px 0}.menu{display:flex;flex-direction:column;gap:6px}.menu .item{align-items:center;border-radius:8px;color:var(--toss-text-base);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:12px;position:relative;text-decoration:none;transition:all .2s ease}.menu .item .dropdown-arrow{margin-left:auto}.menu .item:hover{background:var(--toss-bg-hover);color:var(--toss-text-strong)}.menu .item.active{background:var(--toss-primary-light);color:var(--toss-primary);font-weight:600}.dropdown-arrow{color:currentColor;flex-shrink:0;transition:transform .2s ease}.subnav{display:flex;flex-direction:column;gap:4px;margin-left:28px;margin-top:4px;max-height:0;opacity:0;overflow:hidden;padding-left:16px;transition:all .3s ease}.subnav.open{margin-bottom:4px;max-height:300px;opacity:1}.sub-item{border-radius:6px;color:var(--toss-text-muted);font-size:14px;font-weight:400;padding:8px 12px;position:relative;text-decoration:none;transition:color .2s ease}.sub-item:hover{color:var(--toss-text-base)}.sub-item.active{color:var(--toss-primary);font-weight:500}.sub-item:before{color:var(--toss-border);content:"•";font-size:16px;left:-12px;position:absolute;top:50%;transform:translateY(-50%)}.sub-item.active:before{color:var(--toss-primary)}.dash-header{background:var(--toss-bg-default);border-bottom:1px solid var(--toss-border);box-shadow:0 1px 2px #0000000a;height:56px;padding:0 16px}.dash-header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.header-right{gap:14px;margin-left:auto}.header-right,.session-timer{align-items:center;display:flex}.session-timer{font-feature-settings:"tnum";background:var(--toss-bg-hover);border-radius:10px;color:var(--toss-text-base);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;gap:6px;letter-spacing:-.2px;padding:6px 12px;transition:all .2s ease}.session-timer.urgent{animation:pulse 2s infinite;background-color:var(--toss-primary);color:#fff}.timer-icon{font-size:14px;padding-bottom:1px}.timer-text{font-family:monospace;letter-spacing:-.5px}.user-info{align-items:center;background:var(--toss-bg-hover);border-radius:10px;color:var(--toss-text-base);display:flex;font-size:13px;gap:6px;padding:6px 10px}.logout-badge{background:#0000;border:none;border-radius:8px;color:var(--toss-text-muted);cursor:pointer;font-size:16px;padding:6px;transition:background .2s ease,color .2s ease}.logout-badge:hover{background:var(--toss-bg-hover);color:var(--toss-text-strong)}.dash-content{background-color:var(--toss-bg-base)}.page-title{color:var(--toss-text-strong);font-size:16px;font-weight:600}.outlet-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.app-overlay,.loading-overlay,.popup-overlay{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3}.loading-box{background:#fff;border-radius:18px;box-shadow:0 12px 32px #0000001f;gap:14px;justify-content:center;min-width:240px;padding:32px 36px}.loading-box,.loading-stack{align-items:center;display:flex;flex-direction:column}.loading-stack{gap:12px}.spinner{animation:spin .9s linear infinite;border:3px solid #e5e8eb;border-radius:50%;border-top:3px solid var(--toss-primary);height:36px;width:36px}.loading-text{color:var(--toss-text-sub);font-size:14px;font-weight:600;text-align:center}.progress-wrap{background:#f2f4f6;border-radius:999px;height:6px;overflow:hidden;width:180px}.progress-bar{background:var(--toss-primary);height:100%;transition:width .3s ease}.popup-overlay{animation:fadeIn .2s ease-out;background:var(--toss-bg-dim)}.popup-card{animation:popupUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026,0 8px 20px #00000014;max-width:calc(100vw - 40px);padding:36px 32px 28px;text-align:center;width:360px}.popup-icon-wrapper{align-items:center;animation:iconPop .4s cubic-bezier(.34,1.56,.64,1) .1s both;border-radius:50%;display:inline-flex;height:72px;justify-content:center;margin-bottom:20px;position:relative;width:72px}.popup-icon-wrapper.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 8px 24px #22c55e40,inset 0 -2px 8px #22c55e26}.popup-icon-wrapper.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 8px 24px #f59e0b40,inset 0 -2px 8px #f59e0b26}.popup-icon-wrapper.error{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 8px 24px #ef444440,inset 0 -2px 8px #ef444426}.popup-icon-wrapper.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 8px 24px #3b82f640,inset 0 -2px 8px #3b82f626}.popup-icon{font-size:34px}.popup-icon.success{color:#059669}.popup-icon.warning{color:#d97706}.popup-icon.error{color:#dc2626}.popup-icon.info{color:#2563eb}.popup-message{color:var(--toss-text-main);font-size:16px;font-weight:600;line-height:1.5;margin-bottom:24px;word-break:keep-all}.popup-btn{background:linear-gradient(135deg,var(--toss-primary) 0,#2563eb 100%);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f640;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:13px 0;transition:all .2s ease;width:100%}.popup-btn:hover{box-shadow:0 6px 16px #3b82f659;transform:translateY(-1px)}.popup-btn:active{transform:translateY(0)}.popup-btn-group{display:flex;gap:8px;width:100%}.popup-btn-group .popup-btn-cancel{background:#f1f5f9;box-shadow:none;color:#64748b}.popup-btn-group .popup-btn-cancel:hover{background:#e2e8f0;box-shadow:none}.popup-btn-group .popup-btn-confirm{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444440}.popup-btn-group .popup-btn-confirm:hover{box-shadow:0 6px 16px #ef444459}.toast{align-items:center;animation:toastDown .25s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:999px;box-shadow:0 6px 16px #0000001f,0 2px 4px #00000014;color:var(--toss-text-main);display:inline-flex;font-size:14px;font-weight:600;gap:10px;left:50%;line-height:1.4;max-width:calc(100vw - 32px);min-width:150px;padding:14px 20px;position:fixed;top:calc(env(safe-area-inset-top) + 20px);transform:translateX(-50%);z-index:10000}.toast-icon{align-items:center;display:flex;font-size:16px;justify-content:center}.toast-message{white-space:nowrap}.toast-success{border:1px solid #bbf7d0}.toast-error{border:1px solid #fecaca}.toast-warning{border:1px solid #fde68a}.toast-info{border:1px solid #dbeafe}.toast-icon-success{color:#22c55e}.toast-icon-error{color:#ef4444}.toast-icon-warning{color:#f59e0b}.toast-icon-info{color:var(--toss-primary)}@keyframes toastUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastDown{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes popupUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:var(--font-base);font-weight:600;gap:6px;justify-content:center;letter-spacing:-.2px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.btn.btn-align-left{justify-content:flex-start}.btn.btn-align-center{justify-content:center}.btn.btn-align-right{justify-content:flex-end}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--toss-primary)}.btn-primary:hover:not(:disabled){background:var(--toss-primary-hover)}.btn-primary:active:not(:disabled){background:var(--toss-primary-dark)}.btn-secondary{background:var(--toss-bg-base)}.btn-secondary:hover:not(:disabled){background:#e5e8eb}.btn-secondary:active:not(:disabled){background:#d1d6db}.btn-danger{background:#f04452;color:#fff}.btn-danger:hover:not(:disabled){background:#e03444}.btn-danger:active:not(:disabled){background:#d02434}.btn-outline{background:var(--toss-bg-default);border:2px solid var(--toss-primary);color:var(--toss-primary)}.btn-outline:hover:not(:disabled){background:var(--toss-primary-light)}.btn-outline:active:not(:disabled){background:var(--toss-primary-soft)}.btn-sm{border-radius:8px;font-size:13px;padding:8px 14px}.btn-md{border-radius:10px;font-size:14px;padding:12px 20px}.btn-lg{border-radius:12px;font-size:16px;padding:14px 24px}.btn-block{width:100%}.btn-icon{font-size:1.1em}.btn-icon,.btn-label{align-items:center;display:inline-flex}@media(max-width:900px){.btn{padding:11px 16px}.btn-sm{font-size:12px;padding:7px 12px}.btn-md{font-size:14px;padding:11px 16px}.btn-lg{font-size:15px;padding:13px 20px}}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.card-list-vertical{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:8px}.card-list-vertical::-webkit-scrollbar{width:8px}.card-list-vertical::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}.card-row{cursor:pointer;display:flex;flex-direction:column;font-family:Pretendard,sans-serif;gap:6px}.card-title{color:#111827;font-size:16px;font-weight:600}.card-sub{color:#374151;font-size:14px}.card-contact{color:#6b7280;font-size:13px}.Container-box{box-sizing:border-box;display:flex;flex-direction:column;margin:8px;position:relative}.custom-datatable,.custom-datatable .rdt_Table,.custom-datatable .rdt_TableCell,.custom-datatable .rdt_TableCol,.custom-datatable .rdt_TableHead,.custom-datatable .rdt_TableRow{font-family:Pretendard,sans-serif}.datatable-edit-input.date-text{background:#0000!important;border:none!important;box-shadow:none!important;color:var(--toss-text-strong)!important;font-family:Pretendard,sans-serif!important;font-size:13px!important;height:100%;outline:none!important;padding:0 6px!important;width:100%}.date-wrapper{align-items:center;display:flex;position:relative}.date-picker-button{align-items:center;background:#0000;cursor:pointer;display:flex;margin-left:4px;opacity:.6;padding:0 4px}.date-picker-button:hover{opacity:1}.hidden-date-input{height:0;pointer-events:none;position:absolute;visibility:hidden;width:0}.datatable-edit-wrapper{align-items:center;cursor:text;display:flex;height:100%;padding:0!important;width:100%}.datatable-edit-input{background:#0000!important;border:none!important;font-size:14px;height:100%;width:100%}.custom-datatable .rdt_TableCell .required-cell{position:relative}.custom-datatable .rdt_TableCell .required-cell:before{border-right:10px solid #0000;border-top:10px solid var(--toss-primary);content:"";height:0;left:0;pointer-events:none;position:absolute;top:0;width:0}.custom-datatable .rdt_TableHeadRow{border-bottom:2px solid var(--toss-primary-border)!important;color:var(--toss-text-strong)!important;font-size:13px!important;font-weight:600!important;min-height:38px}.custom-datatable .rdt_TableCol{border-right:1px solid var(--toss-grid-border)}.custom-datatable .rdt_TableCol:last-child{border-right:none}.custom-datatable{background:var(--toss-bg-default);display:flex;flex:1 1;flex-direction:column;height:100%;overflow-x:auto}.custom-datatable .rdt_TableCell{background:#fff;border-bottom:1px solid var(--toss-grid-border);border-right:1px solid var(--toss-grid-border);padding:0!important}.custom-datatable .rdt_TableCell .datatable-nomal-wrapper{background-color:initial;padding:4px 6px!important}.custom-datatable .rdt_TableCell .datatable-wrapper .datatable-edit-wrapper input{background-color:#fff;padding:4px 6px!important}.custom-datatable .rdt_TableCell:first-child{border-left:none}.custom-datatable .rdt_TableCell:last-child{border-right:none}.custom-datatable .datatable-nomal-wrapper{padding:4px 6px!important}.custom-datatable.no-pagination .datatable-body>div{flex:1 1;height:100%;min-height:0}.custom-datatable.with-pagination .datatable-body>div{flex:initial;height:auto}.custom-datatable .rdt_TableBody{flex:1 1;min-height:0;overflow-y:auto}.datatable-title{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:12px}.custom-datatable .rdt_Pagination{border-top:1px solid #e2e8f0;margin-top:auto;padding:8px}.switch{height:26px;width:50px}.slider{background-color:#d1d5db;border-radius:26px;transition:.3s}.slider:before{background:#fff;bottom:3px;height:20px;left:3px;transition:.3s;width:20px}input:checked+.slider:before{transform:translateX(24px)}.custom-datatable{background:#fff!important;box-shadow:none!important}.custom-datatable,.custom-datatable .rdt_Table{border:none!important}.rdt_TableRow.is-add-row,.rdt_TableRow.is-add-row .rdt_TableCell,.rdt_TableRow.is-add-row .rdt_TableCell__content{background-color:#f0f9ff!important}.rdt_TableRow.is-add-row .datatable-edit-input{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important;padding:4px 0!important}.custom-datatable .rdt_TableCell>div{background:inherit;border-radius:0;box-shadow:none}.custom-datatable .rdt_TableCell .datatable-wrapper{height:100%;width:100%}.custom-datatable .datatable-edit-input{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important;padding:0!important}.custom-datatable .rdt_TableRow:hover,.rdt_TableRow:hover{background-color:#252525!important;border:none!important;box-shadow:none!important;outline:none!important}.custom-datatable .rdt_TableRow:hover{cursor:pointer!important}.custom-datatable .rdt_TableRow:hover .rdt_TableCell{background-color:#f7f5f5!important}.rdt_TableRow.is-add-row:hover,.rdt_TableRow.is-add-row:hover .datatable-edit-input,.rdt_TableRow.is-add-row:hover .rdt_TableCell{box-shadow:none!important;cursor:text!important}.custom-datatable .rdt_TableCell:focus-within{border:2px solid var(--toss-primary)}.datatable-edit-input:focus{box-shadow:none!important;outline:none!important}.custom-datatable,.custom-datatable *{font-family:Pretendard,sans-serif}.switch-field{align-items:center;display:flex;gap:8px}.switch-label{font-size:14px;font-weight:500;margin-right:8px}.switch{display:inline-block;height:20px;position:relative;width:40px}.switch input{height:0;opacity:0;width:0}.slider{background-color:var(--toss-border);border-radius:20px;cursor:pointer;inset:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:var(--toss-bg-default);border-radius:50%;bottom:2px;content:"";height:16px;left:2px;width:16px}input:checked+.slider{background-color:var(--toss-primary)}input:checked+.slider:before{transform:translateX(20px)}.slider:after{color:#fff;content:"OFF";font-size:12px;font-weight:600;position:absolute;right:1px;top:50%;transform:translateY(-50%);transition:all .3s ease}input:checked+.slider:after{content:"ON";left:4px;right:auto}.dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000059;background:var(--toss-bg-dim,#00000059);display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:9999}.dialog-box{animation:dialogUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026,0 8px 20px #00000014;display:flex;flex-direction:column;max-height:85vh;max-width:90%;overflow:hidden;width:420px}.dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--toss-border,#e5e7eb);display:flex;justify-content:space-between;padding:20px 24px 16px}.dialog-title{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:18px;font-weight:700;letter-spacing:-.01em}.dialog-close{align-items:center;background:none;border:none;color:#8b95a1;color:var(--toss-text-muted,#8b95a1);cursor:pointer;display:flex;font-size:24px;height:28px;justify-content:center;padding:0;transition:color .15s ease;width:28px}.dialog-close:hover{color:#191f28;color:var(--toss-text-strong,#191f28)}.dialog-content{color:#4e5968;color:var(--toss-text-base,#4e5968);flex:1 1;font-family:Pretendard,-apple-system,sans-serif;font-family:var(--font-base,"Pretendard",-apple-system,sans-serif);font-size:15px;line-height:1.6;overflow-y:auto;padding:24px}.dialog-actions{background:#fafafa;background:var(--toss-bg-hover,#fafafa);border-top:1px solid #e5e7eb;border-top:1px solid var(--toss-border,#e5e7eb);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.dialog-button{border:none;border-radius:12px;cursor:pointer;font-family:Pretendard,-apple-system,sans-serif;font-family:var(--font-base,"Pretendard",-apple-system,sans-serif);font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s ease}.dialog-button.cancel{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6);color:#4e5968;color:var(--toss-text-base,#4e5968)}.dialog-button.cancel:hover{background:#e5e7eb;background:var(--toss-border,#e5e7eb)}.dialog-button.confirm{background:linear-gradient(135deg,#f28a9b,#f28a9b);background:linear-gradient(135deg,var(--toss-primary,#f28a9b) 0,#f28a9b 100%);box-shadow:0 4px 12px #f28a9b40;color:#fff}.dialog-button.confirm:hover{box-shadow:0 6px 16px #f28a9b59;transform:translateY(-1px)}.dialog-button.confirm:active{transform:translateY(0)}.dialog-button.confirm:disabled{cursor:not-allowed;opacity:.6;transform:none}.variant-danger .dialog-button.confirm{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444440}.variant-danger .dialog-button.confirm:hover{box-shadow:0 6px 16px #ef444459}@keyframes dialogUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:600px){.dialog-box{border-radius:16px;width:100%}.dialog-header{padding:16px 20px 14px}.dialog-title{font-size:17px}.dialog-content{font-size:14px;padding:20px}.dialog-actions{gap:8px;padding:14px 20px}.dialog-button{font-size:14px;padding:10px 16px}}.dock-bottom,.dock-left,.dock-main,.dock-right,.dock-top,.dock-wrap{box-sizing:border-box}.dock-wrap{grid-gap:var(--dock-gap);display:grid;gap:var(--dock-gap);grid-template-areas:var(--dock-template);grid-template-columns:var(--dock-cols);grid-template-rows:var(--dock-top) 1fr var(--dock-bottom);height:100%;width:100%}.dock-main{display:flex;flex-direction:column;overflow:hidden}.dock-main>*{flex:1 1;min-height:0}.dock-top{grid-area:top;min-height:-webkit-fit-content;min-height:fit-content}.dock-left,.dock-top{display:flex;flex-direction:column;overflow:auto}.dock-left{grid-area:left}.dock-main{grid-area:main;min-height:0}.dock-main,.dock-right{min-width:0;overflow:auto}.dock-right{grid-area:right}.dock-bottom,.dock-right{display:flex;flex-direction:column}.dock-bottom{grid-area:bottom;min-height:0;overflow:hidden}.dock-bottom>*{flex:1 1;min-height:0;overflow:auto}.dock-slot,.scrollable-panel{background:#0000;box-sizing:border-box;flex:1 1 auto;height:100%;min-height:0;min-width:0;width:100%}.scrollable-panel{overflow:auto}.custom-dropdown{font-size:14px;position:relative;z-index:10}.selected{align-items:center;background:var(--toss-bg-default);border:1px solid var(--toss-grid-border);border-radius:8px;box-sizing:border-box;color:var(--toss-text-base);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.selected:hover{border-color:var(--toss-primary-border)}.selected.active{border-color:var(--toss-primary);box-shadow:0 0 0 3px #f28a9b2e}.arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--toss-text-muted);height:0;margin-left:8px;transition:transform .2s ease;width:0}.selected.active .arrow{transform:rotate(180deg)}.dropdown-list{background:var(--toss-bg-default);border:1px solid #191f280a;border-radius:14px;box-shadow:0 12px 32px #191f2829,0 32px 64px #191f2838;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:8px 0;position:fixed;scrollbar-color:var(--toss-primary) #0000;scrollbar-width:thin;z-index:9999}.dropdown-list::-webkit-scrollbar{width:5px}.dropdown-list::-webkit-scrollbar-track{background:#0000}.dropdown-list::-webkit-scrollbar-thumb{background-color:#191f2838;border-radius:999px}.dropdown-list::-webkit-scrollbar-thumb:hover{background-color:#191f2861}.dropdown-list:before{background:linear-gradient(90deg,#0000,#191f281f,#0000);content:"";height:1px;position:-webkit-sticky;position:sticky;top:0}.dropdown-list li{color:var(--toss-text-base);cursor:pointer;padding:10px 14px;transition:background .15s ease,color .15s ease}.dropdown-list li:hover{background:var(--toss-bg-hover)}.dropdown-list .selected-item{background:var(--toss-primary-soft);color:var(--toss-primary);font-weight:600}.dropdown-list{transform-origin:top}.dropdown-list.up{transform-origin:bottom}.grid-dropdown{background-image:linear-gradient(45deg,#0000 50%,#8b95a1 0),linear-gradient(135deg,#8b95a1 50%,#0000 0);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px)}.grid-dropdown:focus{outline-offset:-2px}.multi-dropdown-cell{align-items:center;cursor:pointer;display:flex;height:100%;padding:0;position:relative;-webkit-user-select:none;user-select:none}.multi-dropdown-display{align-items:center;background-color:initial;border:none;display:flex;height:100%;justify-content:space-between;padding:4px 6px;width:100%}.multi-dropdown-display,.multi-dropdown-text{font-family:Pretendard,sans-serif;font-size:13px}.multi-dropdown-text{flex:1 1;overflow:hidden;padding-right:4px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.multi-dropdown-icon{color:#8b95a1;flex-shrink:0;margin-left:4px;transition:transform .2s}.multi-dropdown-cell.is-open .multi-dropdown-icon{transform:rotate(180deg)}.multi-dropdown-popup{background:#fff;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;max-height:300px;overflow:hidden}.multi-dropdown-popup-header{background-color:#f6f8fa;border-bottom:1px solid #e1e4e8;display:flex;justify-content:flex-end;padding:6px 8px}.multi-dropdown-toggle-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#4b5563;cursor:pointer;font-family:Pretendard,sans-serif;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s}.multi-dropdown-toggle-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.multi-dropdown-popup-list{max-height:240px;overflow-y:auto}.multi-dropdown-popup-footer{background-color:#f6f8fa;border-top:1px solid #e1e4e8;display:flex;padding:8px}.multi-dropdown-apply-btn{background:#f28a9b;background:var(--toss-primary,#f28a9b);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Pretendard,sans-serif;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s;width:100%}.multi-dropdown-apply-btn:hover{background:#e0798b;box-shadow:0 2px 8px #f28a9b4d;transform:translateY(-1px)}.multi-dropdown-apply-btn:active{transform:translateY(0)}.multi-dropdown-option{align-items:center;cursor:pointer;display:flex;font-family:Pretendard,sans-serif;font-size:13px;gap:6px;padding:6px 10px;transition:background-color .15s}.multi-dropdown-option:hover{background-color:#f6f8fa}.multi-dropdown-checkbox{accent-color:#f28a9b;accent-color:var(--toss-primary,#f28a9b);cursor:pointer;flex-shrink:0;height:16px;margin:0;width:16px}.multi-dropdown-label{color:#1f2937;cursor:pointer;flex:1 1;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-dropdown-empty,.multi-dropdown-label{font-family:Pretendard,sans-serif;font-size:13px}.multi-dropdown-empty{color:#6b7280;padding:16px;text-align:center}.multi-dropdown-cell:focus{outline:2px solid #f28a9b;outline:2px solid var(--toss-primary,#f28a9b);outline-offset:-2px}.multi-dropdown-cell[tabindex="-1"]{cursor:default;opacity:.6}

/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}

/*!
 * Quill Editor v2.0.2
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;outline:none;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor li,.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.editor-wrapper{width:100%}.editor-wrapper,.ql-container.ql-snow{display:flex;flex:1 1;flex-direction:column;min-height:0}.ql-container.ql-snow{border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;font-family:Pretendard,sans-serif;font-size:15px}.ql-editor{flex:1 1;height:100%;line-height:1.7;overflow-y:auto;padding:20px}.ql-toolbar.ql-snow{background:#f9f9f9;border:1px solid #ddd;border-radius:4px 4px 0 0;flex-shrink:0}.ql-editor img{border-radius:8px;margin:12px 0;max-width:100%}.ql-editor p{margin-bottom:1em}.formpanel{background:#0000;margin-bottom:24px}.formpanel-header{margin-bottom:12px}.formpanel-title{color:#191f28;font-size:15px;font-weight:700;margin-bottom:4px}.formpanel-desc{color:#8b95a1;font-size:13px}.formpanel-body{grid-gap:12px;display:grid;gap:12px}.formpanel-field{background:#fff;border-radius:16px;box-shadow:0 2px 6px #0000000a,0 8px 20px #0000000f;display:flex;flex-direction:column;gap:6px;padding:14px 16px;transition:transform .15s ease,box-shadow .15s ease}.formpanel-field:focus-within{box-shadow:0 4px 10px #0000000f,0 12px 24px #00000014;transform:translateY(-1px)}.formpanel-label{color:#6b7280;font-size:13px;font-weight:600}.formpanel-input input,.formpanel-input select,.formpanel-input textarea{background:#0000;border:none;color:#191f28;font-size:15px;padding:0}.formpanel-input input::placeholder,.formpanel-input textarea::placeholder{color:#c0c6d0}.formpanel-input input:focus,.formpanel-input select:focus,.formpanel-input textarea:focus{outline:none}@media (min-width:768px){.formpanel-body{gap:20px}.formpanel-field{padding:18px 20px}.formpanel-input input,.formpanel-input select,.formpanel-input textarea{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;transition:border .2s ease,box-shadow .2s ease}.formpanel-input input:focus,.formpanel-input select:focus,.formpanel-input textarea:focus{border-color:#f28a9b;box-shadow:0 0 0 3px #f28a9b26}}.form-panel2{font-family:var(--font-base);position:relative}.form-panel2,.form-section{background:#0000}.form-section:not(:last-child){margin-bottom:20px}.form-section-title{align-items:center;background:linear-gradient(135deg,var(--toss-primary-soft) 0,var(--toss-primary-light) 100%);border-radius:8px;box-shadow:0 2px 8px #f28a9b1f;color:var(--toss-primary);display:inline-flex;font-size:13px;font-weight:700;gap:6px;letter-spacing:-.3px;margin-bottom:16px;padding:6px 14px;transition:all .2s ease}.form-section-title:hover{box-shadow:0 4px 12px #f28a9b2e;transform:translateY(-1px)}.form-section-body{grid-gap:12px;animation:fadeInUp .3s ease;display:grid;gap:12px;grid-template-columns:repeat(1,1fr);grid-template-columns:repeat(var(--columns,1),1fr);padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-field-wrapper{transition:transform .2s ease;width:100%}.form-field-wrapper:focus-within{transform:translateY(-2px)}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{align-items:center;color:var(--toss-text-strong);display:flex;font-size:14px;font-weight:600;gap:4px;letter-spacing:-.2px;transition:color .2s ease}.form-group:focus-within .form-label,.form-label:after{color:var(--toss-primary)}.form-label:after{animation:pulse 2s ease-in-out infinite;content:attr(data-required);font-size:15px;font-weight:700}.form-group input,.form-group select,.form-group textarea{background-color:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:10px;color:var(--toss-text-strong);font-size:14px;font-weight:400;letter-spacing:-.2px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--toss-text-muted);font-weight:400}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{background-color:var(--toss-bg-hover);border-color:var(--toss-primary-border)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:var(--toss-bg-default);border-color:var(--toss-primary);box-shadow:0 0 0 3px var(--toss-primary-light);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--toss-bg-base);color:var(--toss-text-muted);cursor:not-allowed;opacity:.6}.form-group input.error,.form-group select.error,.form-group textarea.error{background-color:#fff5f5;border-color:#f04452}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #f044521a}.form-group textarea{line-height:1.6;min-height:100px;resize:vertical}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%234e5968' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.form-group[data-required=true] input,.form-group[data-required=true] select,.form-group[data-required=true] textarea{background-color:var(--toss-bg-required)}.form-group[data-required=true] input:focus,.form-group[data-required=true] select:focus,.form-group[data-required=true] textarea:focus{background-color:var(--toss-bg-default)}.error-text{align-items:center;color:#f04452;display:flex;font-size:13px;font-weight:500;gap:4px;letter-spacing:-.2px;min-height:20px;opacity:0;transform:translateY(-4px);transition:all .25s cubic-bezier(.4,0,.2,1);visibility:hidden}.error-text:before{content:"⚠";font-size:14px}.error-text.visible{opacity:1;transform:translateY(0);visibility:visible}.helper-text{align-items:center;color:var(--toss-text-muted);display:flex;font-size:12px;font-weight:400;gap:4px;letter-spacing:-.2px;line-height:1.5}.helper-text:before{color:var(--toss-primary);content:"ℹ";font-size:13px}@media(max-width:900px){.form-section-body{gap:12px;grid-template-columns:1fr!important}.form-section-title{font-size:12px;padding:5px 12px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:11px 14px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.grid-container{background:#fff;border:1px solid var(--toss-grid-border);border-radius:12px;height:100%;overflow:auto;width:100%}.grid-table{border-collapse:collapse;font-family:Pretendard,sans-serif;min-width:100%;table-layout:fixed;width:-webkit-max-content;width:max-content}.grid-table thead th{background:#f9fafb;border-bottom:1px solid var(--toss-grid-border);border-right:1px solid var(--toss-grid-border);color:var(--toss-text-strong);font-size:13px;font-weight:600;padding:8px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;-webkit-user-select:none;user-select:none;z-index:10}.grid-sortable-header{cursor:pointer;overflow:hidden;position:relative;transition:background-color .15s ease}.grid-resize-handle{align-items:center;cursor:col-resize;display:flex;height:60%;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%);width:8px;z-index:2}.grid-resize-handle:after{background:#0000;border-radius:2px;content:"";display:block;height:100%;transition:background .2s ease,box-shadow .2s ease;width:2px}.grid-resize-handle:hover:after{background:gray;box-shadow:0 0 4px gray}.grid-sortable-header:hover{background:#f3f4f6}.grid-sortable-header.is-sorted{background:#eef2ff;color:var(--toss-primary)}.grid-sortable-header.is-filtered{background:#fef3f5}.grid-header-content{align-items:center;display:flex;gap:6px;justify-content:space-between;width:100%}.grid-header-icons{align-items:center;display:flex;gap:2px;margin-left:auto}.grid-sort-icon{color:var(--toss-primary);font-size:9px}.grid-filter-icon,.grid-sort-icon{align-items:center;display:flex;height:16px;justify-content:center;width:16px}.grid-filter-icon{background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;padding:0;transition:all .15s ease}.grid-filter-icon:hover{background:#f28a9b1a;color:var(--toss-primary)}.grid-filter-icon.is-active{background:#f28a9b26;color:var(--toss-primary)}.grid-table th{border-bottom:2px solid #f3b6c0;font-size:13px;padding:6px;text-align:left}.grid-cell{border:1px solid #e5e7eb;padding:0}.grid-row:hover{background:#f7f5f5}.grid-container.is-readonly .grid-row,.grid-container.is-readonly .grid-row *{cursor:pointer}.grid-container.is-editable .grid-row{cursor:default}.grid-row.is-add-row{background:#f0f9ff}.grid-row.is-checked-row{background:var(--toss-primary-light)}.grid-row.is-checked-row .grid-cell{border-color:var(--toss-primary-border)}.grid-row.is-selected-row{background:#fef3f5!important}.grid-row.is-selected-row .grid-cell{border-color:var(--toss-primary-border);font-weight:600}.grid-row.is-selected-row .grid-cell input:not([type=checkbox]){font-weight:600}.grid-cell input:not([type=checkbox]){background:#0000;border:none;font-family:Pretendard,sans-serif!important;font-size:13px;height:100%;padding:9px 6px;width:100%}.grid-cell input.overflow-ellipsis:not([type=checkbox]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-cell input.overflow-wrap:not([type=checkbox]){word-wrap:break-word;height:auto;min-height:100%;white-space:normal;word-break:break-word}.grid-cell.overflow-wrap{height:auto}.grid-cell-tooltip-wrapper{align-items:center;cursor:default;display:flex;font-family:Pretendard,sans-serif!important;font-size:13px;height:100%;overflow:hidden;padding:9px 6px;text-overflow:ellipsis;white-space:nowrap;width:100%}.grid-checkbox-header{background:var(--toss-bg-hover);border-bottom:1px solid var(--toss-grid-border);border-right:1px solid var(--toss-grid-border);float:none;position:-webkit-sticky;position:sticky;text-align:center!important;top:0;vertical-align:middle!important;z-index:10}.grid-checkbox-cell,.grid-checkbox-header{display:table-cell!important;min-width:32px;width:32px}.grid-checkbox-cell{border:1px solid var(--toss-grid-border)!important;box-sizing:border-box;max-width:32px;padding:0!important;text-align:center;vertical-align:middle}.grid-checkbox{appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid #d1d5db;border-radius:4px;cursor:pointer;display:inline-block;height:16px;margin:0;outline:none;padding:0;position:relative;vertical-align:middle;width:16px}.grid-checkbox:hover{background:var(--toss-primary-light);border-color:var(--toss-primary)}.grid-checkbox:checked{background:var(--toss-primary);border-color:var(--toss-primary)}.grid-checkbox:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:50%;position:absolute;top:45%;transform:translate(-50%,-55%) rotate(45deg);width:4px}.grid-checkbox:indeterminate{background:var(--toss-primary);border-color:var(--toss-primary)}.grid-checkbox:indeterminate:after{background:#fff;border-radius:1px;content:"";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.grid-date-cell{align-items:center;box-sizing:border-box;display:flex;height:100%;padding:0;position:relative}.grid-hidden-date{inset:0;opacity:0;pointer-events:none;position:absolute}.grid-cell div:focus,.grid-cell input:focus,.grid-dropdown:focus{outline:none}.grid-cell:focus-within{outline:2px solid #f28a9b;outline-offset:-2px}.grid-cell.required-error{position:relative}.grid-cell.required-error:before{border-right:10px solid #0000;border-top:10px solid var(--toss-primary);content:"";height:0;left:0;pointer-events:none;position:absolute;top:0;width:0}.grid-cell:focus-within:before{display:none}.grid-cell.is-copied-cell{animation:copyFlash .3s ease-out;background:#fde6ea}.grid-dropdown-cell{align-items:center;display:flex;height:100%;padding:0}.grid-dropdown-text{align-items:center;display:flex;overflow:hidden;padding:9px 6px;text-overflow:ellipsis;white-space:nowrap}.grid-dropdown,.grid-dropdown-text{font-family:Pretendard,sans-serif;font-size:13px;height:100%;width:100%}.grid-dropdown{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:initial;background-repeat:no-repeat;background-size:6px 6px;border:none;color:#000;cursor:pointer;padding:8px 28px 8px 8px}.grid-dropdown:focus{outline:none}.grid-dropdown:disabled{background-image:none;cursor:default}.grid-dropdown option{font-size:13px}@keyframes copyFlash{0%{background-color:#f28a9b;transform:scale(1.02)}to{background-color:#fde6ea;transform:scale(1)}}.grid-date-input.is-readonly,.grid-input.is-readonly{background:#0000;color:var(--toss-text-base);cursor:default}.grid-switch-cell.is-readonly{opacity:1;pointer-events:none}.grid-empty-message{color:#adb5bd;color:var(--toss-text-light,#adb5bd);font-size:14px;padding:40px 16px;text-align:center}.grid-filter-popup{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:Pretendard,sans-serif;max-width:300px;min-width:200px;overflow:hidden}.grid-filter-popup-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px}.grid-filter-popup-select-all{align-items:center;color:var(--toss-text-strong);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.grid-filter-popup-clear{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .15s ease}.grid-filter-popup-clear:hover{background:#f28a9b1a;color:var(--toss-primary)}.grid-filter-popup-list{max-height:300px;overflow-y:auto;padding:8px 0}.grid-filter-popup-item{align-items:center;color:var(--toss-text-base);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.grid-filter-popup-item:hover{background:#f9fafb}.grid-filter-popup-item input[type=checkbox]{flex-shrink:0}.grid-filter-popup-empty{color:#9ca3af;font-size:13px;padding:16px 12px;text-align:center}.grid-filter-popup-list::-webkit-scrollbar{width:6px}.grid-filter-popup-list::-webkit-scrollbar-track{background:#f9fafb}.grid-filter-popup-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.grid-filter-popup-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.inputbox-wrap{align-items:center;display:flex;flex-direction:row;margin-bottom:16px}.inputbox-label{color:#333;font-size:14px;font-weight:500;margin-bottom:0;margin-right:8px;white-space:nowrap}.inputbox-input{border:1px solid #ccc;border-radius:6px;font-size:14px;outline:none;padding:8px 12px;transition:border .2s ease,box-shadow .2s ease}.inputbox-input:focus{border-color:#4cafef;box-shadow:0 0 0 2px #4cafef33}.panel-box{background:#fff;border:none;border-radius:16px;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0;padding:15px}.panel-header{align-items:center;border-bottom:none;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:0}.panel-title{color:#191f28;font-size:14px;font-weight:700}.panel-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.panel-content>*{flex:1 1;min-height:0;overflow:auto}.panel-actions{display:flex;gap:8px}.panel-actions button{align-items:center;background:var(--toss-bg-base);border:none;border-radius:10px;color:var(--toss-text-base);cursor:pointer;display:inline-flex;font-family:var(--font-base);font-size:14px;font-weight:600;gap:6px;padding:6px 10px;transition:background-color .15s ease,color .15s ease}.panel-actions .btn:hover:not(:disabled),.panel-actions button:hover{background:#f28a9b1f!important;color:#f28a9b!important}.panel-box .condition-section{align-items:center;background:#f9fafb;border:none;border-radius:14px;justify-content:space-between;margin-bottom:13px;padding:14px 16px}.panel-box .condition-items,.panel-box .condition-section{display:flex;flex-wrap:wrap;gap:12px}.panel-box .condition-section input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:8px 12px}.panel-box .condition-section input:focus{border-color:#f28a9b;box-shadow:0 0 0 3px #f28a9b26;outline:none}.panel-box .condition-section .search-button{align-items:center;background:#f28a9b;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;padding:8px 14px;transition:background .2s ease,transform .1s ease}.panel-box .condition-section .search-button:hover{background:#ec6f84}.panel-box .condition-section .search-button:active{transform:scale(.96)}.panel-box .table-section{flex:1 1 auto;min-height:0;overflow:auto}.enroll-toggle{align-items:center;background:#f9fafb;border-radius:12px;cursor:pointer;display:inline-flex;gap:10px;padding:8px 12px}.enroll-label{color:#191f28;font-size:14px;font-weight:600}.switch-wrapper{height:22px;position:relative;width:40px}.switch-wrapper input{height:0;opacity:0;width:0}.switch-wrapper .slider{background-color:#d1d5db;border-radius:999px;inset:0;position:absolute;transition:background-color .2s ease}.switch-wrapper .slider:before{background:#fff;border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:16px}.switch-wrapper input:checked+.slider{background-color:#f28a9b}.switch-wrapper input:checked+.slider:before{transform:translateX(18px)}.kakao-mock-container{background-color:var(--toss-bg-page);display:flex;height:95%;justify-content:center;padding:24px}.kakao-phone-frame{background:#000;border-radius:40px;box-shadow:0 20px 50px #0003;height:100%;padding:12px;position:relative;width:400px}.kakao-phone-frame:before{background:#222;border-radius:10px;content:"";height:5px;left:50%;position:absolute;top:30px;transform:translateX(-50%);width:60px}.kakao-screen{background:#abc1d1;border-radius:34px;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.kakao-header{align-items:center;background:#abc1d1e6;display:flex;height:50px;padding:0 16px}.kakao-header .header-title{flex:1 1;font-size:16px;font-weight:600}.kakao-header .menu-btn{background:none;border:none;cursor:pointer;margin-right:10px}.kakao-header .schedule-toggle-header{align-items:center;background:none;border:none;border-radius:20px;color:#666;cursor:pointer;display:flex;font-size:20px;gap:4px;padding:6px 10px;transition:all .2s}.kakao-header .schedule-toggle-header span{font-size:12px;font-weight:700;transition:all .2s}.kakao-header .schedule-toggle-header span.active{color:#fee500}.kakao-header .schedule-toggle-header:hover{background:#0000000d;color:#fee500}.kakao-header .schedule-toggle-header:hover span{color:#fee500}.kakao-header .schedule-toggle-header svg.active{color:#fee500;filter:drop-shadow(0 0 4px rgba(254,229,0,.5))}.kakao-body{flex:1 1;overflow-y:auto;padding:16px;position:relative}.kakao-body:after{background:linear-gradient(90deg,#0000,#0000001a 20%,#0000001a 80%,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.kakao-body::-webkit-scrollbar{width:6px}.kakao-body::-webkit-scrollbar-track{background:#0000}.kakao-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.kakao-body::-webkit-scrollbar-thumb:hover{background:#00000040}.kakao-body .message-row{display:flex;gap:8px}.kakao-body .profile-area img{background:var(--toss-bg-default);border:1px solid var(--toss-grid-border);border-radius:16px;height:44px;width:44px}.kakao-body .content-area{display:flex;flex:1 1;flex-direction:column;width:100%}.kakao-body .profile-name{color:var(--toss-text-strong);font-size:13px;font-weight:600;margin-bottom:6px}.kakao-body .kakao-bubble{background:var(--toss-bg-default);border-radius:2px 18px 18px 18px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;max-width:300px;min-height:auto;overflow:hidden}.kakao-body .bubble-header{background:#fee500;border-bottom:1px solid #0000000d;color:#000;font-size:13px;font-weight:800;padding:10px 14px}.kakao-body .bubble-body{display:flex;flex:1 1;flex-direction:column;min-height:60px;padding:16px 12px}.kakao-body .bubble-body .msg-placeholder{align-items:center;color:#999;display:flex;flex:1 1;flex-direction:column;font-size:14px;gap:12px;justify-content:center;line-height:1.6;padding:20px 10px;text-align:center}.kakao-body .bubble-body .msg-placeholder .placeholder-icon{color:#ccc;font-size:36px;opacity:.8}.kakao-body .bubble-body .msg-placeholder span{display:block}.kakao-body .bubble-body .msg-subtitle{color:#888;font-size:11px;margin-bottom:4px;width:100%}.kakao-body .bubble-body .msg-title{font-size:16px;font-weight:800;line-height:1.4;margin-bottom:10px;width:100%}.kakao-body .bubble-body .msg-details{color:#333;font-size:14px;line-height:1.5;white-space:pre-line;width:100%}.kakao-body .bubble-buttons{background:#fafafa;display:flex;flex-direction:column;gap:8px;padding:12px}.kakao-body .bubble-buttons .bubble-btn{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 1px 2px #0000000a,0 1px 4px #00000005;color:#191919;cursor:pointer;font-size:14px;font-weight:700;padding:14px 16px;text-align:center;transition:all .15s ease}.kakao-body .bubble-buttons .bubble-btn:hover{background:#f9f9f9;border-color:#d4d4d4;box-shadow:0 2px 4px #0000000f,0 2px 6px #0000000a}.kakao-body .bubble-buttons .bubble-btn:active{background:#f5f5f5;border-color:#c4c4c4;box-shadow:0 1px 2px #0000000f,inset 0 1px 3px #00000014;transform:scale(.98)}.variable-tag{background:var(--toss-primary-soft);border-radius:6px;color:var(--toss-primary);font-weight:700;margin:0 2px;padding:2px 6px}.variable-tag.missing{background:#fff1f2;border:1px solid #fecdd3;color:#f43f5e}.schedule-selector{animation:slideDown .2s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff4d;border-bottom:1px solid #00000014;border-top:1px solid #00000014;box-shadow:inset 0 1px 0 #ffffff80,0 2px 8px #0000000f;padding:12px 16px}.schedule-selector .schedule-input-group{display:flex;gap:8px}.schedule-selector .schedule-input-group .schedule-input{background:#ffffffe6;border:1px solid #fff9;border-radius:8px;box-shadow:0 2px 4px #0000000f;flex:1 1;font-size:13px;padding:10px 12px;transition:all .2s}.schedule-selector .schedule-input-group .schedule-input:focus{background:#fff;border-color:#fee500;box-shadow:0 4px 8px #fee50026;outline:none}.schedule-selector .schedule-input-group .schedule-input:hover:not(:focus){border-color:#fffc;box-shadow:0 3px 6px #00000014}.kakao-footer{background:#fff;box-shadow:0 -2px 8px #00000014;padding:10px 16px}.kakao-footer .submit-btn{background:#fee500;border:none;border-radius:10px;box-shadow:0 2px 6px #0000001a;cursor:pointer;font-size:16px;font-weight:800;padding:14px;transition:all .2s;width:100%}.kakao-footer .submit-btn:hover:not(:disabled){background:gold;box-shadow:0 4px 10px #00000026;transform:translateY(-1px)}.kakao-footer .submit-btn:active:not(:disabled){box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.kakao-footer .submit-btn:disabled{background:#eee;box-shadow:none;color:#aaa;cursor:not-allowed}@keyframes slideDown{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:100px;opacity:1;padding-bottom:12px;padding-top:12px}}.send-result-container{display:flex;flex-direction:column;gap:20px}.result-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.summary-card{align-items:center;border-radius:10px;display:flex;gap:10px;padding:12px 14px;transition:all .2s ease}.summary-card.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #86efac}.summary-card.success .summary-icon{color:#059669;font-size:24px}.summary-card.success .summary-count{color:#047857}.summary-card.fail{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5}.summary-card.fail .summary-icon{color:#dc2626;font-size:24px}.summary-card.fail .summary-count{color:#b91c1c}.summary-info{display:flex;flex-direction:column;gap:4px}.summary-label{color:#6b7684;color:var(--toss-text-sub,#6b7684);font-size:12px;font-weight:600}.summary-count{font-family:Pretendard,-apple-system,sans-serif;font-family:var(--font-base,"Pretendard",-apple-system,sans-serif);font-size:18px;font-weight:700}.result-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding-right:4px}.result-list::-webkit-scrollbar{width:6px}.result-list::-webkit-scrollbar-track{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6);border-radius:3px}.result-list::-webkit-scrollbar-thumb{background:#e5e7eb;background:var(--toss-border,#e5e7eb);border-radius:3px}.result-list::-webkit-scrollbar-thumb:hover{background:#8b95a1;background:var(--toss-text-muted,#8b95a1)}.result-item{align-items:center;background:#fff;background:var(--toss-bg-default,#fff);border-bottom:1px solid #e5e7eb;border-radius:6px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;border:1px solid var(--toss-border,#e5e7eb);border-left:3px solid #0000;display:flex;gap:12px;padding:10px 12px;transition:all .15s ease}.result-item:hover{background:#fafafa;background:var(--toss-bg-hover,#fafafa)}.result-item.success{border-left-color:#22c55e}.result-item.success .result-icon{color:#22c55e;font-size:16px}.result-item.fail{border-left-color:#ef4444}.result-item.fail .result-icon{color:#ef4444;font-size:16px}.result-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.result-name{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:13px;font-weight:600;min-width:60px;white-space:nowrap}.result-phone{color:#6b7684;color:var(--toss-text-sub,#6b7684);font-size:12px;min-width:100px;white-space:nowrap}.result-message{color:#8b95a1;color:var(--toss-text-muted,#8b95a1);flex:1 1;font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.result-summary{grid-template-columns:1fr}.summary-card{padding:10px 12px}.summary-icon{font-size:20px!important}.summary-count{font-size:16px}.result-item{gap:10px;padding:8px 10px}.result-info{gap:8px}.result-name{font-size:12px;min-width:50px}.result-phone{font-size:11px;min-width:90px}.result-message{font-size:10px}}.radio-group-wrapper{display:flex;flex-direction:column;margin-bottom:16px}.radio-label{color:#222;font-size:14px;font-weight:600;margin-bottom:8px}.radio-required{color:#e63946;font-weight:700;margin-left:4px}.radio-group{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.radio-group.column{align-items:flex-start;flex-direction:column;gap:8px}.radio-option{align-items:center;color:#444;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;transition:color .2s ease}.radio-option:hover{color:#2e7d32}.radio-option input[type=radio]{accent-color:#4caf50;cursor:pointer;height:16px;width:16px}.radio-error{color:#e63946;font-size:12px;margin-top:4px}.segmented-control{background-color:var(--toss-bg-hover);border:1px solid var(--toss-grid-border);border-radius:10px;display:inline-flex;isolation:isolate;min-width:70px;padding:3px;position:relative}.segmented-control .segmented-item{align-items:center;background:#0000;border:none;color:var(--toss-text-muted);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;justify-content:center;line-height:1;padding:6px 10px;position:relative;transition:all .2s ease;white-space:nowrap;z-index:2}.segmented-control .segmented-item.active{color:var(--toss-primary)}.segmented-control .segmented-highlight{bottom:3px;left:0;position:absolute;top:3px;transition:transform .3s cubic-bezier(.18,1,.32,1);z-index:1}.segmented-control .segmented-highlight:after{background-color:var(--toss-bg-default);border-radius:7px;box-shadow:0 1px 3px #0000001a;content:"";display:block;height:100%;margin:0 auto;width:calc(100% - 4px)}.sortable-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.sortable-table td,.sortable-table th{border:1px solid #e5e5e5;padding:10px 12px;text-align:left;white-space:nowrap}.sortable-table thead th{color:#374151;cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease;-webkit-user-select:none;user-select:none}.sortable-table th:hover{background:#e5e7eb}.sortable-table th.sorted.asc:after{color:#2563eb;content:"▲";font-size:11px;margin-left:6px}.sortable-table th.sorted.desc:after{color:#2563eb;content:"▼";font-size:11px;margin-left:6px}.sortable-table tbody tr:nth-child(2n){background:#fafafa}.sortable-table tbody tr:hover{background:#f0f9ff;cursor:pointer}.sortable-table tbody tr.active{background:#dbeafe!important;font-weight:600}.sortable-table-wrapper{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 6px #0000000f;display:block;flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.sortable-table thead th{background:#f3f4f6;position:-webkit-sticky;position:sticky;top:0;z-index:2}.textfield{display:flex;flex-direction:column;gap:8px;width:100%}.textfield-label{align-items:center;color:var(--toss-text-strong);display:flex;font-size:14px;font-weight:600;gap:4px;letter-spacing:-.2px;transition:color .2s ease}.textfield-required{animation:pulse 2s ease-in-out infinite;color:var(--toss-primary);font-size:15px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.textfield-input{background-color:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:10px;box-sizing:border-box;color:var(--toss-text-strong);font-size:14px;font-weight:400;letter-spacing:-.2px;padding:12px 16px;transition:all .2s ease;width:100%}.textfield-input::placeholder{color:var(--toss-text-muted);font-weight:400}.textfield-input:hover{background-color:var(--toss-bg-hover);border-color:var(--toss-primary-border)}.textfield-input:focus{background-color:var(--toss-bg-default);border-color:var(--toss-primary);box-shadow:0 0 0 3px var(--toss-primary-light);outline:none}.textfield-input:disabled{background-color:var(--toss-bg-base);color:var(--toss-text-muted);cursor:not-allowed;opacity:.6}.textfield-input.error{background-color:#fff5f5;border-color:#f04452}.textfield-input.error:focus{box-shadow:0 0 0 3px #f044521a}.textfield-input.price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}input[type=date].textfield-input{font-family:var(--font-base)}.textfield-error{align-items:center;color:#f04452;display:flex;font-size:13px;font-weight:500;gap:4px;letter-spacing:-.2px;min-height:20px}.textfield-error:before{content:"⚠";font-size:14px}@media(max-width:900px){.textfield-input{font-size:16px;padding:11px 14px}}@media(prefers-reduced-motion:reduce){.textfield-required{animation:none}}.schedule-table{background:var(--bg-white);border-collapse:initial;border-spacing:0;color:var(--text-primary);font-family:Pretendard,sans-serif;min-width:100%;width:auto}.schedule-table .day-header{background-color:var(--bg-header);border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-strong);box-shadow:0 2px 4px #0000000d;color:var(--text-primary);height:32px;padding-top:7px;position:-webkit-sticky;position:sticky;top:0;z-index:60}.schedule-table .day-header .dropdown-container{align-items:center;color:inherit;font-size:18px;font-weight:700;height:100%;justify-content:center;vertical-align:middle;width:100%}.schedule-table .teacher-header{background:var(--bg-sidebar);border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-soft);min-width:120px;padding:8px 4px;position:-webkit-sticky;position:sticky;top:32px;z-index:30}.schedule-table .teacher-badge{align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:6px;box-shadow:0 1px 2px #0000000d;display:inline-flex;gap:6px;padding:4px 8px}.schedule-table .teacher-avatar{align-items:center;background:#fff0f2;border-radius:50%;color:var(--toss-primary);display:flex;height:22px;justify-content:center;overflow:hidden;width:22px}.schedule-table .teacher-avatar img{height:100%;object-fit:cover;width:100%}.schedule-table .teacher-name,.schedule-table .time-cell{color:var(--text-secondary);font-size:13px;font-weight:600}.schedule-table .time-cell{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-strong);box-shadow:4px 0 8px #00000008;left:0;padding:0 12px;position:-webkit-sticky;position:sticky;text-align:center;vertical-align:middle;width:80px;z-index:50}.schedule-table .time-cell .dropdown-trigger{align-items:center;color:inherit;display:flex;height:100%;justify-content:center;width:100%}.schedule-table .sep-col{background-color:#fff!important;border-bottom:1px solid #eee;border-left:none!important;border-right:none!important;border-top:1px solid #eee;margin:0!important;min-width:20px;overflow:hidden;padding:0!important;pointer-events:none;width:20px}.schedule-table th.sep-col{background-color:#0000!important;border:none!important}.schedule-table .schedule-cell{background-color:#fff;border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);height:100px;min-width:120px;padding:4px 8px 50px;position:relative;transition:all .2s cubic-bezier(.25,.8,.25,1);vertical-align:top;z-index:1}.schedule-table .schedule-cell:hover{background-color:#f28a9b0a;box-shadow:inset 0 0 0 1px #f28a9b4d;z-index:10}.schedule-table .schedule-cell .class-name-label{background-color:#fff0f2;border-radius:4px;color:var(--toss-primary);display:block;font-size:11px;font-weight:600;margin-bottom:6px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.schedule-table .schedule-cell.empty-cell{background-color:#fafbfc;text-align:center;vertical-align:middle}.schedule-table .schedule-cell.empty-cell .empty-cell-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:60px}.schedule-table .schedule-cell.empty-cell .empty-hint{color:#b0b8c1;font-size:12px;font-weight:500}.schedule-table .schedule-cell.event-cell{background-color:#f5f5f5;background-image:repeating-linear-gradient(-45deg,#0000,#0000 8px,#00000008 0,#00000008 16px);overflow:hidden;pointer-events:none;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.schedule-table .schedule-cell.event-cell .event-text{background-color:#6b7684;border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.02em;max-width:90%;overflow:hidden;padding:4px 10px;text-overflow:ellipsis}.schedule-table .student-chip{align-items:flex-start;background-color:#fff;border:1px solid #0000;border-radius:10px;box-shadow:0 1px 2px #0000000a;cursor:pointer;display:flex;flex-direction:column;gap:2px;height:auto;margin-bottom:6px;padding:8px 6px;position:relative;transition:all .15s ease;z-index:50}.schedule-table .student-chip:hover{box-shadow:0 6px 16px #00000014,0 2px 4px #0000000a;transform:translateY(-2px);z-index:60}.schedule-table .student-chip .chip-name{color:#191f28;font-size:13px;font-weight:700;line-height:1.2;white-space:normal;word-break:break-all}.schedule-table .student-chip .chip-comment{background-color:#00000008;border-radius:6px;box-sizing:border-box;color:#4e5968;display:block;font-size:11px;line-height:1.4;overflow:visible;padding:3px 8px;text-overflow:clip;white-space:normal;width:100%;word-break:break-all}.schedule-table .student-chip.status-A{background-color:#f2f7ff;border-left:4px solid #3b82f6}.schedule-table .student-chip.status-A .chip-name{color:#1d4ed8}.schedule-table .student-chip.status-A .chip-comment{background-color:#e3efff;color:#334e85}.schedule-table .student-chip.status-B{background-color:#fff2f4;border-left:4px solid #f43f5e}.schedule-table .student-chip.status-B .chip-name{color:#be123c}.schedule-table .student-chip.status-B .chip-comment{background-color:#ffe4e8;color:#8f384b}.schedule-table .student-chip.status-C{background-color:#fffbeb;border-left:4px solid #f59e0b}.schedule-table .student-chip.status-C .chip-name{color:#b45309}.schedule-table .student-chip.status-C .chip-comment{background-color:#fff4d6;color:#7f5421}.schedule-table .student-chip.status-D,.schedule-table .student-chip:not([class*=status-]){background-color:#f9fafb;border-left:4px solid #94a3b8}.schedule-table .student-chip.status-D .chip-name,.schedule-table .student-chip:not([class*=status-]) .chip-name{color:#333d4b}.schedule-table .student-chip.status-D .chip-comment,.schedule-table .student-chip:not([class*=status-]) .chip-comment{background-color:#eff2f4}.schedule-table .add-btn{align-items:center;background-color:#f8f9fa;border:1px dashed #d1d6db;border-radius:6px;bottom:8px;color:#8b95a1;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:2px;left:50%;padding:6px 12px;position:absolute;transform:translateX(-50%);transition:all .2s ease;z-index:20}.schedule-table .add-btn .add-btn-text{font-size:10px}.schedule-table .add-btn svg{font-size:14px}.schedule-table .add-btn:hover{background-color:#fff0f2;border-color:var(--toss-primary);box-shadow:0 2px 8px #f28a9b33;color:var(--toss-primary);transform:translateX(-50%) translateY(-1px)}.schedule-table .add-btn:active{transform:translateX(-50%) scale(.98)}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.input-popup{animation:popupZoomIn .2s cubic-bezier(.16,1,.3,1) forwards;background-color:#fff;border:1px solid #00000014;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 100vw #0006;left:50%;max-height:80vh;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:320px;z-index:9999}.input-popup .popup-title{align-items:center;background-color:#fff;border-bottom:1px solid #f2f4f6;color:var(--text-primary);display:flex;font-size:15px;font-weight:700;justify-content:space-between;padding:14px 16px}.input-popup .popup-title .close-btn{align-items:center;background:#f2f4f6;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;transition:all .2s;width:24px}.input-popup .popup-title .close-btn:hover{background-color:#e5e8eb;color:var(--text-primary)}.input-popup input[type=text]{background-color:#f9fafb;border:1px solid #e5e8eb;border-radius:8px;color:var(--text-primary);font-family:Pretendard,sans-serif;font-size:14px;margin:16px;outline:none;padding:12px;transition:all .2s;width:calc(100% - 32px)}.input-popup input[type=text]::placeholder{color:#b0b8c1}.input-popup input[type=text]:focus{background-color:#fff;border-color:var(--toss-primary);box-shadow:0 0 0 3px #f28a9b26}.input-popup .autocomplete-list{border-top:1px solid #f2f4f6;list-style:none;margin:0;max-height:280px;overflow-y:auto;padding:0}.input-popup .autocomplete-list li{border-bottom:1px solid #f9fafb;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 16px;transition:background-color .15s}.input-popup .autocomplete-list li:last-child{border-bottom:none}.input-popup .autocomplete-list li:hover{background-color:#fff5f6}.input-popup .autocomplete-list li .stu-main{align-items:center;display:flex;justify-content:space-between}.input-popup .autocomplete-list li .stu-name{color:var(--text-primary);font-size:15px;font-weight:700}.input-popup .autocomplete-list li .stu-meta{background-color:#fff0f2;border-radius:4px;color:var(--toss-primary);font-size:12px;font-weight:600;padding:2px 6px}.input-popup .autocomplete-list li .stu-sub{align-items:center;color:#8b95a1;display:flex;font-size:12px;gap:6px}.input-popup .autocomplete-list li .stu-sub .dot{color:#d1d6db;font-weight:700}.input-popup .autocomplete-list li .stu-note{background-color:#f2f4f6;border-radius:4px;color:#6b7684;display:inline-block;font-size:11px;margin-top:2px;max-width:100%;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.edit-popup{animation:popupFadeIn .15s ease-out forwards;background-color:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 4px 12px #0000001f,0 1px 2px #0000000f;display:flex;flex-direction:column;gap:8px;padding:12px;position:fixed;width:260px;z-index:9999}.edit-popup .edit-popup-textarea{background-color:#f9fafb;border:1px solid #e5e8eb;border-radius:8px;color:var(--text-primary);font-family:Pretendard,sans-serif;font-size:13px;line-height:1.5;min-height:80px;outline:none;padding:10px;resize:none;transition:all .2s;width:100%}.edit-popup .edit-popup-textarea:focus{background-color:#fff;border-color:var(--toss-primary)}.edit-popup .edit-popup-save{background:linear-gradient(135deg,var(--toss-primary),#ff9eb3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 0;transition:transform .1s,opacity .2s;width:100%}.edit-popup .edit-popup-save:hover{opacity:.9}.edit-popup .edit-popup-save:active{transform:scale(.98)}.hover-popover{animation:popoverFadeIn .15s ease-out;pointer-events:auto}.popover-inner{animation:popoverScaleIn .18s ease-out;background:var(--toss-bg-default);border:1px solid var(--toss-grid-border);border-radius:14px;box-shadow:0 24px 48px #00000029,0 6px 16px #0000000f;overflow:hidden;width:260px}.popover-inner .header{align-items:center;border-left:4px solid #0000;display:flex;gap:10px;padding:12px 14px;transition:background-color .2s ease}.popover-inner .header.status-A{background-color:#eff6ff;border-left-color:#3b82f6}.popover-inner .header.status-A .avatar-fallback{background:#dbeafe;color:#1d4ed8}.popover-inner .header.status-B{background-color:#fff1f2;border-left-color:#f43f5e}.popover-inner .header.status-B .avatar-fallback{background:#ffe4e6;color:#be123c}.popover-inner .header.status-C{background-color:#fffbeb;border-left-color:#f59e0b}.popover-inner .header.status-C .avatar-fallback{background:#fef3c7;color:#b45309}.popover-inner .header.status-D,.popover-inner .header:not([class*=status-]){background-color:#f8fafc;border-left-color:#94a3b8}.popover-inner .header.status-D .avatar-fallback,.popover-inner .header:not([class*=status-]) .avatar-fallback{background:#f1f5f9;color:#475569}.popover-inner .header img{background:#fff;border-radius:10px;height:44px;object-fit:cover;width:44px}.popover-inner .header .header-info{flex:1 1;min-width:0}.popover-inner .header .student-name{color:var(--toss-text-strong);font-size:13px;font-weight:700}.popover-inner .header .status-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:10px;font-weight:700;gap:5px;line-height:1;margin-top:6px;padding:4px 9px}.popover-inner .header .status-badge.status-A{background:#3b82f6;color:#fff}.popover-inner .header .status-badge.status-B{background:#fff1f2;border-color:#f43f5e;color:#be123c}.popover-inner .header .status-badge.status-C{background:#fffbeb;border-color:#f59e0b;color:#b45309}.popover-inner .header .status-badge.status-D,.popover-inner .header .status-badge:not([class*=status-]){background:#f1f5f9;border-color:#94a3b8;color:#475569}.popover-inner .header .status-badge svg{height:12px;width:12px}.popover-inner .section{border-bottom:1px solid var(--toss-grid-border);padding:10px 14px}.attendance-head{display:flex;justify-content:space-between;margin-bottom:6px}.attendance-head span{color:var(--toss-text-muted);font-size:11px}.attendance-head strong{color:var(--toss-text-strong);font-size:12px;font-weight:600}.progress{background:#f3f4f6;border-radius:999px;height:6px;overflow:hidden}.progress span{background:var(--toss-primary);display:block;height:100%;transition:width .3s ease}.section.contact{display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;gap:8px}.contact-item svg{color:var(--toss-text-muted);flex-shrink:0;height:14px;margin-top:2px;width:14px}.contact-text{display:flex;flex-direction:column}.contact-text .label{color:var(--toss-text-muted);font-size:10px}.contact-text .value{color:var(--toss-text-strong);font-size:12px;font-weight:500;word-break:break-all}.section.editable-note{background:#fcfcfd;padding:10px 14px}.section.editable-note .note-header{align-items:center;color:var(--toss-text-muted);display:flex;gap:4px;margin-bottom:6px}.section.editable-note .note-header svg{height:12px;width:12px}.section.editable-note .note-header span{font-size:10px;font-weight:600}.section.editable-note .note-input{background:#fff;border:1px solid #e5e8eb;border-radius:8px;color:var(--toss-text-base);font-family:inherit;font-size:12px;line-height:1.5;padding:8px 10px;resize:none;transition:border-color .15s,box-shadow .15s;width:100%}.section.editable-note .note-input::placeholder{color:#b0b8c1}.section.editable-note .note-input:focus{border-color:var(--toss-primary);box-shadow:0 0 0 3px #f28a9b26;outline:none}.action-group{display:flex;gap:8px;padding:10px 14px}.action-group button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:5px;height:34px;justify-content:center;transition:all .15s}.action-group button svg{height:14px;width:14px}.action-group .save-btn{background:var(--toss-primary);color:#fff}.action-group .save-btn:hover{background:#ec7286;box-shadow:0 4px 10px #f28a9b40}.action-group .kakao-btn{background:#fee500;color:#3c1e1e}.action-group .kakao-btn:hover{background:#f5dc00;box-shadow:0 4px 10px #fee5004d}.action{padding:10px 14px}.action button{align-items:center;background:var(--toss-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;height:34px;justify-content:center;transition:.15s;width:100%}.action button:hover{background:#ec7286;box-shadow:0 4px 10px #f28a9b33}.hint{background:var(--toss-bg-add-row);color:var(--toss-text-muted);cursor:pointer;font-size:10px;padding:6px;text-align:center;transition:all .15s}.hint:hover{font-weight:600}.avatar-fallback,.hint:hover{background:var(--toss-primary-light);color:var(--toss-primary)}.avatar-fallback{align-items:center;border-radius:10px;display:flex;height:44px;justify-content:center;width:44px}.avatar-fallback svg{height:20px;width:20px}@keyframes popoverFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popoverScaleIn{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.student-detail-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100000}.student-detail-dialog{animation:slideUp .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.student-detail-dialog .dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.student-detail-dialog .dialog-header h2{color:var(--toss-text-strong);font-size:18px;font-weight:700;margin:0}.student-detail-dialog .dialog-header .close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--toss-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.student-detail-dialog .dialog-header .close-btn:hover{background:#f3f4f6;color:var(--toss-text-strong)}.student-detail-dialog .dialog-header .close-btn svg{height:20px;width:20px}.student-detail-dialog .dialog-content{flex:1 1;overflow-y:auto;padding:24px}.info-section{margin-bottom:24px}.info-section:last-child{margin-bottom:0}.info-section .section-title{align-items:center;border-bottom:2px solid var(--toss-primary);color:var(--toss-text-strong);display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:12px;padding-bottom:8px}.info-section .section-title svg{color:var(--toss-primary);height:16px;width:16px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.info-grid .info-item{display:flex;flex-direction:column;gap:4px}.info-grid .info-item.full-width{grid-column:1/-1}.info-grid .info-item .label{color:var(--toss-text-muted);font-size:12px;font-weight:600}.info-grid .info-item .value{color:var(--toss-text-strong);font-size:14px;font-weight:500;word-break:break-all}.special-notes{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:80px;padding:16px}.special-notes .notes-content{color:var(--toss-text-base);font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.special-notes .notes-empty{margin:0;padding:20px 0}.empty-state,.loading-state,.special-notes .notes-empty{color:var(--toss-text-muted);font-size:14px;text-align:center}.empty-state,.loading-state{padding:60px 20px}.student-detail-dialog .dialog-footer{border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:16px 24px}.student-detail-dialog .dialog-footer .btn-close{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--toss-text-base);cursor:pointer;font-size:14px;font-weight:600;height:40px;padding:0 20px;transition:all .15s}.student-detail-dialog .dialog-footer .btn-close:hover{background:#f9fafb;border-color:#d1d5db}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.student-detail-dialog{max-height:95vh;width:95%}.info-grid{grid-template-columns:1fr}.student-detail-dialog .dialog-header{padding:16px 20px}.student-detail-dialog .dialog-header h2{font-size:16px}.student-detail-dialog .dialog-content{padding:20px}}.rg-celleditor .rg-input,.rg-celleditor-input{background:#0000;border:0;font-size:1em;height:100%;margin:0;outline:none;padding:0;width:100%}.rg-celleditor{background-color:#fff;border:2px solid #3579f8;box-shadow:1px 1px 6px #0000000f;box-sizing:border-box;display:flex;padding:0 4px;z-index:5}.rg-number-celleditor input{text-align:right}.reactgrid-content .rg-pane .rg-cell .rg-date-cell,.reactgrid-content .rg-pane .rg-cell .rg-time-cell,.reactgrid-content .rg-pane .rg-cell.rg-number-cell{justify-content:flex-end}.reactgrid-content .rg-pane .rg-cell.rg-email-cell.rg-invalid{color:red}.reactgrid-content .rg-pane .rg-cell.rg-text-cell.placeholder{color:#999;font-size:.8em}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell{align-items:center;background:#0000;margin:0;padding:0;pointer-events:auto}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell input{height:20px;width:20px}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell .chevron{align-items:center;cursor:pointer;display:flex;font-weight:700;height:1em;justify-content:center;margin-right:.1em;pointer-events:auto;transition:all .2s ease-in-out;width:1em}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell .no-child{width:.5em}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell.expanded .chevron{transform:rotate(90deg)}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell.collapsed .chevron{transform:rotate(0deg)}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell{justify-content:center}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label{cursor:pointer;height:18px;margin:0;position:relative;-webkit-user-select:none;user-select:none;width:18px}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input{cursor:pointer;height:18px;margin:0;opacity:0;position:absolute;width:18px}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell span{background-color:#eee;height:18px;left:0;position:absolute;top:0;width:18px}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label:hover input~span{background-color:#ccc}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input:checked~span{background-color:#3579f8}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell span:after{content:"";display:none;position:absolute}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input:checked~span:after{display:block}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label span:after{border:solid #fff;border-width:0 3px 3px 0;height:12px;left:7px;top:2px;transform:rotate(45deg);width:4px}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell{overflow:visible;padding:0}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-menu{background-color:#fff;border-radius:4px;box-shadow:0 0 7px #00000080;box-sizing:border-box;margin-bottom:8px;margin-top:2px;position:absolute;top:100%;width:100%;z-index:1}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option{align-items:center;display:flex;min-height:1.5em;padding:.3em .5em}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option.selected:before{content:"✓";padding-right:.2em}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option.focused{background-color:#f1f6ff;color:#000}.rg-copy-container[contenteditable]{-webkit-user-select:text;user-select:text}.reactgrid-content{align-items:flex-start;color:#000;display:flex;flex-wrap:wrap;justify-content:flex-start;user-select:none;-moz-user-select:none;-webkit-user-select:none}.reactgrid-content .rg-pane.rg-pane-bottom,.reactgrid-content .rg-pane.rg-pane-left,.reactgrid-content .rg-pane.rg-pane-right,.reactgrid-content .rg-pane.rg-pane-top{background-color:#fff;position:sticky;position:-webkit-sticky}.reactgrid-content .rg-pane.rg-pane-top{top:0}.reactgrid-content .rg-pane.rg-pane-bottom{bottom:0}.reactgrid-content .rg-pane.rg-pane-left{left:0}.reactgrid-content .rg-pane.rg-pane-right{right:0}.reactgrid-content .rg-pane .rg-cell{align-items:center;border-color:#e8e8e8;box-sizing:border-box;color:#000;display:flex;flex-direction:row;font-size:1em;outline:none;overflow:hidden;padding:0 4px;position:absolute;touch-action:auto;white-space:nowrap}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle{height:100%;pointer-events:auto;position:absolute;right:0;top:0;width:11px}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle .rg-resize-handle{height:100%;position:absolute;right:0;width:6px}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle .rg-resize-handle:hover{background-color:#3579f8;cursor:col-resize}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle{bottom:0;height:11px;left:0;pointer-events:auto;position:absolute;width:100%}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle .rg-resize-handle{bottom:0;height:6px;position:absolute;width:100%}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle .rg-resize-handle:hover{background-color:#3579f8;cursor:row-resize}.reactgrid-content .rg-pane .rg-cell .rg-groupId{font-size:.8em;position:absolute;right:4px;top:4px}.reactgrid-content .rg-pane .rg-cell-focus,.reactgrid-content .rg-pane .rg-cell-highlight{border:2px solid #3579f8;box-sizing:border-box;pointer-events:none;position:absolute}.reactgrid-content .rg-pane .rg-touch-fill-handle{background-color:#ffffff03;height:40px;pointer-events:auto;position:absolute;touch-action:none;width:40px}.reactgrid-content .rg-pane .rg-touch-fill-handle .rg-fill-handle{background-clip:content-box;background-color:#3579f8;border:1px solid #fff;cursor:crosshair;height:6.5px;left:50%;position:absolute;top:50%;transform:translate(calc(-50% - .5px),calc(-50% - .5px));width:6.5px}.reactgrid-content .rg-pane .rg-partial-area{box-sizing:border-box;pointer-events:none;position:absolute}.reactgrid-content .rg-pane .rg-partial-area.rg-partial-area-part{border:1px dashed #000}.reactgrid-content .rg-pane .rg-partial-area.rg-partial-area-selected-range{background-color:#3579f859;border:1px solid #3579f8}.reactgrid-content .rg-pane-shadow{position:-webkit-sticky;position:sticky}.reactgrid-content .rg-pane-shadow.shadow-top{box-shadow:2px 2px 3px 1px #0000000f;pointer-events:none;top:0}.reactgrid-content .rg-pane-shadow.shadow-left{box-shadow:5px 0 3px -2px #0000000f;left:0;pointer-events:none}.reactgrid-content .rg-pane-shadow.shadow-bottom{bottom:0;box-shadow:2px -1px 3px 1px #0000000f;pointer-events:none}.reactgrid-content .rg-pane-shadow.shadow-right{box-shadow:-5px 0 3px -2px #0000000f;pointer-events:none;right:0}.reactgrid-content .rg-pane-shadow.shadow-top-left-corner{box-shadow:2px 3px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-top-right-corner{box-shadow:-2px 2px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-bottom-left-corner{box-shadow:2px -2px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-bottom-right-corner{box-shadow:-2px -2px 3px 1px #0000000f}.reactgrid-content .rg-context-menu{background-color:#fff;box-shadow:0 0 8px 2px #0000000f;font-size:1em;position:fixed;z-index:1000}.reactgrid-content .rg-context-menu .rg-context-menu-option{cursor:pointer;padding:8px 20px 8px 15px}.reactgrid-content .rg-context-menu .rg-context-menu-option:hover{background-color:#f2f2f2}.reactgrid-content .rg-shadow{background-color:#000;opacity:.1;position:absolute;z-index:4}.reactgrid-content .rg-column-resize-hint,.reactgrid-content .rg-row-resize-hint{background-color:#74b9ff;border-radius:0 5px 5px 0;padding:5px;position:absolute}.reactgrid-content .rg-line{background-color:#74b9ff;position:absolute;z-index:4}.reactgrid-content .rg-line-horizontal{height:2px;left:0}.reactgrid-content .rg-line-vertical{top:0;width:2px}.reactgrid-content .rg-hidden-element{border:0;height:1px;left:50%;margin:0;opacity:0;padding:0;position:fixed;top:50%;width:1px}.reactgrid-content{font-family:Pretendard,sans-serif;font-size:14px}.reactgrid-cell{text-align:center;vertical-align:middle;white-space:pre-wrap}.reactgrid-cell:focus{background-color:#f7faff;outline:2px solid #4a90e2}.reactgrid-header-cell{background-color:#f1f3f4;font-weight:600}.mobile-dash-wrap{display:flex;flex-direction:column;height:100vh}.mobile-dash-header{align-items:center;background:#2563eb;color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:space-between;padding:12px 16px}.logout-btn{background:#fff;border:none;border-radius:6px;color:#2563eb;font-size:14px;padding:6px 12px}.mobile-AppShellContext{display:flex;flex:1 1;flex-direction:column;overflow:hidden;width:100%}.mobile-dash-content{box-sizing:border-box;flex:1 1;overflow-y:auto;padding-bottom:60px}.mobile-dash-nav{background:#fff;border-top:1px solid #ddd;bottom:0;height:60px;justify-content:space-around;left:0;position:fixed;right:0;z-index:1000}.mobile-dash-nav,.nav-item{align-items:center;display:flex}.nav-item{color:#666;flex-direction:column;font-size:12px;text-decoration:none}.nav-item svg{font-size:20px;margin-bottom:2px}.nav-item.active{color:#2563eb;font-weight:700}.mobile-subnav{animation:slideUp .25s ease-out;background:#fff;border-top:1px solid #ddd;bottom:60px;box-shadow:0 -2px 8px #0000001a;display:flex;flex-direction:column;left:0;position:fixed;right:0;z-index:1100}.mobile-subnav-item{border-bottom:1px solid #f1f1f1;color:#333;font-size:15px;padding:14px 16px;text-decoration:none}.mobile-subnav-item:last-child{border-bottom:none}.mobile-subnav-item.active,.mobile-subnav-item:hover{background:#f3f4f6;color:#2563eb;font-weight:700}.login-page{align-items:center;background:linear-gradient(135deg,#fdf1f4,#f2f4f6);box-sizing:border-box;display:flex;font-family:var(--font-base);justify-content:center;min-height:100vh;padding:20px}.login-box{animation:slideUp .6s cubic-bezier(.16,1,.3,1);background:var(--toss-bg-default);border-radius:24px;box-shadow:0 8px 32px #00000014;max-width:780px;padding:48px 40px;width:100%}.login-content{align-items:stretch;display:flex;gap:0}.login-form{flex:1 1;min-width:0;padding-right:32px}.login-divider-vertical{background:var(--toss-border);flex-shrink:0;width:1px}.login-side{display:flex;flex:1 1;flex-direction:column;min-width:0;padding-left:32px}.login-header{margin-bottom:40px;text-align:center}.login-logo{animation:logoFadeIn .8s cubic-bezier(.16,1,.3,1);display:block;height:80px;margin:0 auto;object-fit:contain;width:180px}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.login-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--toss-primary) 0,var(--toss-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;color:var(--toss-text-strong);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.login-header p{color:var(--toss-text-muted);font-size:14px;font-weight:500;letter-spacing:-.01em;margin:0}.user-box{margin-bottom:20px;text-align:left}.user-box label{color:var(--toss-text-base);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.user-box input{background:var(--toss-bg-default);border:1.5px solid var(--toss-border);border-radius:12px;box-sizing:border-box;color:var(--toss-text-strong);font-size:15px;outline:none;padding:14px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.user-box input::placeholder{color:var(--toss-text-muted)}.user-box input:hover{border-color:var(--toss-primary-border)}.user-box input:focus{border-color:var(--toss-primary);box-shadow:0 0 0 4px var(--toss-primary-light)}.remember-id{margin-top:4px}.remember-id label{align-items:center;color:var(--toss-text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.remember-id input[type=checkbox]{accent-color:var(--toss-primary);cursor:pointer;flex-shrink:0;height:16px;width:16px}.login-actions{display:flex;flex-direction:column;gap:10px;margin-top:28px}.login-actions button,.login-side .signup-btn{border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;padding:15px 0;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.login-btn{background:var(--toss-primary);box-shadow:0 2px 8px #f28a9b40;color:#fff}.login-btn:hover{background:var(--toss-primary-hover);box-shadow:0 4px 12px #f28a9b4d;transform:translateY(-2px)}.login-btn:active{box-shadow:0 2px 6px #f28a9b33;transform:translateY(0)}.signup-btn{background:var(--toss-bg-base);border:1.5px solid var(--toss-border);color:var(--toss-text-base)}.signup-btn:hover{background:var(--toss-bg-hover);border-color:var(--toss-primary-border)}.divider,.signup-btn:active{background:var(--toss-border)}.divider{height:1px;margin:20px 0 16px;position:relative;text-align:center}.divider span{background:var(--toss-bg-default);color:var(--toss-text-muted);font-size:13px;font-weight:500;left:50%;padding:0 16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.social-login{display:flex;flex-direction:column;gap:12px}.social-btn{align-items:center;background:var(--toss-bg-default);border:1.5px solid var(--toss-border);border-radius:12px;color:var(--toss-text-base);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:14px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.social-icon{flex-shrink:0;height:20px;width:20px}.google-btn{border-color:#dadce0}.google-btn:hover{background:#fafafa;border-color:#4285f4;box-shadow:0 2px 8px #4285f426}.kakao-btn{background:#fee500;border-color:#fee500;color:#3c1e1e}.kakao-btn:hover{background:#fdd835;border-color:#fdd835;box-shadow:0 2px 8px #fee5004d}.social-btn:active{transform:scale(.98)}.back-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--toss-text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;margin-top:auto;padding:12px;transition:all .2s;width:100%}.back-btn svg{transform:rotate(180deg);transition:transform .2s}.back-btn:hover{background:var(--toss-bg-hover);color:var(--toss-text-base)}.back-btn:hover svg{transform:rotate(180deg) translateX(4px)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.signin-box{max-width:560px}.signin-title{margin-bottom:28px;text-align:center}.signin-title h3{color:var(--toss-text-strong);font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.signin-title p{color:var(--toss-text-muted);font-size:14px;margin:0}.signin-form{width:100%}.signin-grid{grid-gap:0 20px;display:grid;gap:0 20px;grid-template-columns:1fr 1fr}.signin-grid .user-box{margin-bottom:16px}.signin-full{grid-column:1/-1}.required-mark{color:var(--toss-primary);font-size:13px;margin-left:2px}@media (max-width:680px){.login-box{max-width:440px;padding:36px 28px}.login-content{flex-direction:column}.login-form{padding-right:0}.login-divider-vertical{height:1px;margin:24px 0;width:auto}.login-side{padding-left:0}.back-btn{margin-top:20px}}@media (max-width:480px){.signin-grid{grid-template-columns:1fr}.login-page{padding:16px}.login-box{border-radius:20px;padding:32px 24px}.login-logo{height:64px;margin-bottom:12px;width:64px}.login-header h2{font-size:28px}.login-header p{font-size:13px}.user-box input{font-size:16px;padding:13px 14px}.login-actions button,.social-btn{font-size:15px;padding:14px 16px}.divider{margin:16px 0 12px}}.main-page{background:#fff;min-height:100vh}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000000f;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.header-container,.logo{align-items:center;display:flex}.logo{text-decoration:none}.logo img{height:40px;transition:opacity .2s ease}.logo:hover img{opacity:.8}.nav{align-items:center;display:flex;gap:32px}.nav a{color:var(--toss-text-base);font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .2s ease}.nav a:hover{color:var(--toss-text-strong)}.header-actions{align-items:center;display:flex;gap:12px}.header-actions .login-link{color:var(--toss-text-base);font-size:.9375rem;font-weight:500;padding:8px 16px;text-decoration:none;transition:color .2s ease}.header-actions .login-link:hover{color:var(--toss-text-strong)}.header-actions .cta-button{background-color:var(--toss-primary);border-radius:8px;color:#fff;font-size:.9375rem;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s ease}.header-actions .cta-button:hover{background-color:var(--toss-primary-hover);transform:translateY(-1px)}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:8px}.hamburger span{background-color:var(--toss-text-strong);border-radius:2px;height:2px;transition:all .3s ease;width:24px}.mobile-nav{background:#fff;border-top:1px solid #0000000f;display:none;padding:16px 24px}.mobile-nav a{border-bottom:1px solid #0000000a;color:var(--toss-text-base);display:block;font-size:1rem;font-weight:500;padding:12px 0;text-decoration:none;transition:color .2s ease}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:hover{color:var(--toss-primary)}.hero{align-items:center;display:flex;justify-content:center;min-height:85vh;overflow:hidden;padding:80px 24px;position:relative}.hero-video-background{height:auto;left:50%;min-height:100%;min-width:100%;object-fit:cover;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;z-index:0}.hero-video-overlay{background:#00000080;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-content{max-width:900px;position:relative;text-align:center;z-index:2}.hero-title{color:#fff;font-size:4rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:24px}.hero-title .highlight{color:var(--toss-primary);position:relative}.hero-description{color:#ffffffe6;font-size:1.375rem;font-weight:400;line-height:1.6;margin-bottom:48px}.hero-buttons{align-items:center;display:flex;gap:16px;justify-content:center}.btn-primary{background-color:var(--toss-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;padding:16px 32px;text-decoration:none;transition:all .2s ease}.btn-primary:hover{background-color:var(--toss-primary-hover);box-shadow:0 8px 24px #f28a9b40;transform:translateY(-2px)}.btn-secondary{background-color:#fff;border:2px solid var(--toss-border);border-radius:12px;color:var(--toss-text-strong);cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;padding:16px 32px;text-decoration:none;transition:all .2s ease}.btn-secondary:hover{background-color:var(--toss-bg-hover);border-color:var(--toss-primary);transform:translateY(-2px)}.features{background:#fff;padding:120px 24px}.features-container{margin:0 auto;max-width:1100px}.features-header{margin-bottom:80px;text-align:center}.features-header h2{color:var(--toss-text-strong);font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.features-header p{color:var(--toss-text-base);font-size:1.25rem;font-weight:400}.features-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr)}.feature-card{background:var(--toss-bg-base);border-radius:16px;padding:40px;transition:all .3s ease}.feature-card:hover{background:var(--toss-primary-light);transform:translateY(-4px)}.feature-icon{color:var(--toss-primary);font-size:2.5rem;margin-bottom:20px}.feature-card h3{color:var(--toss-text-strong);font-size:1.5rem;font-weight:700;margin-bottom:12px}.feature-card p{color:var(--toss-text-base);font-size:1.0625rem;line-height:1.6}.cta-section{overflow:hidden;padding:120px 24px;position:relative;text-align:center}.cta-video-background{height:auto;left:50%;min-height:100%;min-width:100%;object-fit:cover;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;z-index:0}.cta-video-overlay{background:#0009;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.cta-container{margin:0 auto;max-width:800px;position:relative;z-index:2}.cta-container h2{color:#fff;font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.cta-container p{color:#fffffff2;font-size:1.25rem;font-weight:400;margin-bottom:40px}.cta-buttons{align-items:center;display:flex;gap:16px;justify-content:center}.btn-cta-primary{background-color:#fff;border-radius:12px;color:var(--toss-primary);display:inline-block;font-size:1.125rem;font-weight:600;padding:16px 32px;text-decoration:none;transition:all .2s ease}.btn-cta-primary:hover{box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.btn-cta-secondary{background-color:#0000;border:2px solid #ffffff80;border-radius:12px;color:#fff;display:inline-block;font-size:1.125rem;font-weight:600;padding:16px 32px;text-decoration:none;transition:all .2s ease}.btn-cta-secondary:hover{background-color:#ffffff26;border-color:#fff;transform:translateY(-2px)}.footer{background-color:var(--toss-bg-base);border-top:1px solid var(--toss-border);padding:60px 24px 40px}.footer-container{margin:0 auto;max-width:1200px}.footer-main{align-items:start;border-bottom:1px solid var(--toss-border);display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:40px}.footer-brand{flex:1 1}.footer-logo{height:32px;margin-bottom:12px}.footer-brand p{color:var(--toss-text-muted);font-size:.9375rem;margin:0}.footer-info{display:flex;flex:2 1;flex-direction:column;gap:8px}.info-item{color:var(--toss-text-base);font-size:.875rem}.info-item span{color:var(--toss-text-strong);font-weight:600;margin-right:8px}.footer-bottom{align-items:center;display:flex;justify-content:space-between}.footer-bottom p{color:var(--toss-text-muted);font-size:.875rem;margin:0}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--toss-text-base);font-size:.875rem;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--toss-primary)}@media(max-width:900px){.header-actions,.nav{display:none}.hamburger{display:flex}.mobile-nav{display:block}.hero{min-height:70vh;padding:60px 20px}.hero-title{font-size:2.5rem}.hero-description{font-size:1.125rem}.hero-buttons{flex-direction:column;width:100%}.btn-primary,.btn-secondary{padding:14px 24px;width:100%}.features{padding:80px 20px}.features-header{margin-bottom:60px}.features-header h2{font-size:2.25rem}.features-header p{font-size:1.125rem}.features-grid{gap:24px;grid-template-columns:1fr}.feature-card{padding:32px 24px}.cta-section{padding:80px 20px}.cta-container h2{font-size:2.25rem}.cta-container p{font-size:1.125rem}.cta-buttons{flex-direction:column;width:100%}.btn-cta-primary,.btn-cta-secondary{padding:14px 24px;width:100%}.footer-main{flex-direction:column;gap:32px}.footer-bottom{flex-direction:column;gap:16px;text-align:center}.footer-links{flex-direction:column;gap:12px}}@media(max-width:600px){.hero-title{font-size:2rem}.hero-description{font-size:1rem}.features{padding:60px 20px}.features-header h2{font-size:1.875rem}.features-header p{font-size:1rem}.feature-card h3{font-size:1.25rem}.feature-card p{font-size:1rem}.cta-container h2{font-size:1.875rem}.cta-container p{font-size:1rem}}.dashboard-home{background-color:#fafafa;box-sizing:border-box;font-family:Pretendard,sans-serif;padding:20px}.main-content{display:flex;flex-direction:column;gap:20px;height:100%;overflow-y:auto;padding-right:4px}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.stats-cards .stat-card{align-items:center;background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;display:flex;gap:16px;padding:24px;transition:all .2s ease}.stats-cards .stat-card:hover{border-color:#f3b6c0;box-shadow:0 4px 12px #f28a9b1f;transform:translateY(-2px)}.stats-cards .stat-card .stat-icon{align-items:center;background:#fdf1f4;border-radius:14px;color:#f28a9b;display:flex;font-size:24px;height:56px;justify-content:center;transition:all .2s ease;width:56px}.stats-cards .stat-card:hover .stat-icon{background:#f28a9b;color:#fff;transform:scale(1.05)}.stats-cards .stat-card .stat-content{flex:1 1}.stats-cards .stat-card .stat-content .stat-label{color:#8b95a1;font-size:13px;font-weight:500;margin-bottom:4px}.stats-cards .stat-card .stat-content .stat-value{color:#191f28;font-size:26px;font-weight:700;margin-bottom:4px}.stats-cards .stat-card .stat-content .stat-change{border-radius:6px;display:inline-block;font-size:13px;font-weight:600;padding:2px 8px}.stats-cards .stat-card .stat-content .stat-change.positive{background:#fdf1f4;color:#f28a9b}.stats-cards .stat-card .stat-content .stat-change.negative{background:#fef2f3;color:#e55d6f}.stats-cards .stat-card .stat-content .stat-change.neutral{background:#f5f6f7;color:#8b95a1}.charts-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;height:380px}.charts-section>*{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:all .2s ease}.charts-section>:hover{border-color:#f3b6c0;box-shadow:0 4px 12px #f28a9b14}.bottom-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr;height:100%}.bottom-section>*{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:all .2s ease}.bottom-section>:hover{border-color:#f3b6c0;box-shadow:0 4px 12px #f28a9b14}.notifications-list{height:100%;overflow-y:auto;padding:20px}.notifications-list .notification-item{align-items:flex-start;background:#fafafa;border:1px solid #0000;border-radius:12px;display:flex;gap:14px;margin-bottom:10px;padding:14px 16px;transition:all .2s ease}.notifications-list .notification-item:hover{background:#fdf1f4;border-color:#f3b6c0;transform:translateX(4px)}.notifications-list .notification-item:last-child{margin-bottom:0}.notifications-list .notification-item .notification-icon{align-items:center;background:#fdf1f4;border-radius:10px;color:#f28a9b;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.notifications-list .notification-item:hover .notification-icon{background:#f28a9b;color:#fff;transform:scale(1.1)}.notifications-list .notification-item .notification-content{flex:1 1}.notifications-list .notification-item .notification-content .notification-message{color:#191f28;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:6px}.notifications-list .notification-item .notification-content .notification-time{color:#8b95a1;font-size:12px}.notifications-list::-webkit-scrollbar{width:6px}.notifications-list::-webkit-scrollbar-thumb{background:#f3b6c0;border-radius:3px;-webkit-transition:background .2s;transition:background .2s}.notifications-list::-webkit-scrollbar-thumb:hover{background:#f28a9b}.notifications-list::-webkit-scrollbar-track{background:#fdf1f4;border-radius:3px}.dashboard-home :global(.panel-header){background:linear-gradient(180deg,#fff 0,#fafafa);border-bottom:2px solid #fdf1f4;padding:20px 24px}.dashboard-home :global(.panel-header) h3{color:#191f28;font-size:16px;font-weight:700}.dashboard-home :global(.panel-header) button{align-items:center;background:#fdf1f4;border:1px solid #f3b6c0;border-radius:8px;color:#f28a9b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.dashboard-home :global(.panel-header) button:hover{background:#f28a9b;border-color:#f28a9b;box-shadow:0 2px 8px #f28a9b4d;color:#fff;transform:translateY(-1px)}.dashboard-home :global(.panel-header) button:active{transform:translateY(0)}.dashboard-home :global(.grid-container){border:none}.dashboard-home :global(.grid-container) .grid-header{background:#fafafa;border-bottom:2px solid #f3b6c0;color:#4e5968;font-weight:600}.dashboard-home :global(.grid-container) .grid-row{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.dashboard-home :global(.grid-container) .grid-row:hover{background:#fdf1f4;cursor:pointer}.dashboard-home :global(.chart-container){background:#fff;padding:24px}.dashboard-home :global(.chart-container) canvas{filter:drop-shadow(0 2px 4px rgba(0,0,0,.02))}@media(max-width:1200px){.dashboard-home .stats-cards{grid-template-columns:repeat(2,1fr)}.dashboard-home .bottom-section,.dashboard-home .charts-section{grid-template-columns:1fr;height:auto}}@media(max-width:768px){.dashboard-home{gap:12px;padding:12px}.dashboard-home .stats-cards{gap:12px;grid-template-columns:1fr}.dashboard-home .stats-cards .stat-card{padding:18px}.dashboard-home .stats-cards .stat-card .stat-icon{font-size:20px;height:48px;width:48px}.dashboard-home .stats-cards .stat-card .stat-content .stat-value{font-size:22px}.dashboard-home .bottom-section,.dashboard-home .charts-section{gap:12px}}.mobile-page{background:#f5f5f5;box-sizing:border-box;min-height:100vh;padding:12px}.mobile-page .profile-card{align-items:center;background:#fff;border-radius:12px;display:flex;justify-content:space-between;padding:18px 16px}.mobile-page .profile-card .profile-avatar{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin-right:12px}.mobile-page .profile-card .profile-info{align-items:center;display:flex;flex:1 1}.mobile-page .profile-card .profile-info .profile-text{display:flex;flex-direction:column}.mobile-page .profile-card .profile-info .profile-text .profile-company{color:#888;font-size:12px;margin-bottom:2px}.mobile-page .profile-card .profile-info .profile-text .profile-main{align-items:center;display:flex}.mobile-page .profile-card .profile-info .profile-text .profile-main .profile-name{font-size:15px;font-weight:500;margin-right:6px}.mobile-page .profile-card .profile-role{background:#1976d2;border-radius:8px;color:#fff;font-size:12px;font-weight:500;padding:2px 6px}.mobile-page .profile-card .profile-arrow{align-items:center;display:flex;justify-content:center;margin-left:8px}.mobile-page .panel{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000000d;margin-bottom:12px;padding:14px 16px}.mobile-page .panel .panel-title{color:#333;font-size:16px;font-weight:700;margin-bottom:16px}.mobile-page .panel .panel-body,.mobile-page .panel .panel-body .form-field{display:flex;flex-direction:column}.mobile-page .panel .panel-body .form-field label{color:#555;font-size:14px;font-weight:500;margin-bottom:6px}.mobile-page .panel .panel-body .form-field input{font-size:15px;width:100%}.mobile-page .submit-wrap{margin-top:20px}.mobile-page .fab-check{align-items:center;background:#1976d2;border:none;border-radius:50%;bottom:80px;box-shadow:0 4px 10px #0003;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:20px;transition:background .2s ease;width:56px;z-index:1000}.mobile-page .fab-check:hover{background:#1565c0}.mobile-AppShellContext{height:100%}.menu-AppShellContext{display:flex;flex-direction:column;height:100%}.close-btn{background:none;border:none;cursor:pointer;display:flex;font-size:20px;justify-content:flex-end}.mobile-header{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:16px;padding:12px}.menu-btn{background:none;border:none;color:#fff;margin-right:12px}.phone-wrapper{align-items:center;display:flex;flex:1 1;justify-content:center}.mobile-menu{background:#fff;box-shadow:-2px 0 10px #0003;height:100%;overflow-y:auto;padding:20px;position:fixed;right:-100%;top:0;transition:right .3s ease;width:80%;z-index:1000}.mobile-menu.open{right:0}.send-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:12px;width:100%}.channel-overlay{align-items:center;background:#0a0c12eb;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.channel-panel{animation:channel-panel-pop-up .45s cubic-bezier(.22,.61,.36,1) both;background:#fff;background:var(--toss-bg-card,#fff);border-radius:20px;box-shadow:0 24px 60px #00000073;max-width:460px;padding:44px 40px 40px;position:relative;width:100%}.channel-panel__close{align-items:center;background:none;border:none;border-radius:50%;color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .15s,color .15s;width:32px}.channel-panel__close:hover{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6);color:#191f28;color:var(--toss-text-strong,#191f28)}.channel-panel__icon{font-size:40px;line-height:1;margin-bottom:16px;text-align:center}.channel-panel__title{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:20px;font-weight:700;margin:0 0 10px;text-align:center}.channel-panel__subtitle{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:14px;line-height:1.6;margin:0 0 28px;text-align:center;white-space:pre-line}.channel-panel__actions{margin-top:24px}.channel-panel__list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;max-height:240px;overflow-y:auto}.channel-panel__list::-webkit-scrollbar{width:4px}.channel-panel__list::-webkit-scrollbar-thumb{background:#d1d6db;border-radius:4px}.channel-panel__empty{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:13px;padding:16px 0;text-align:center}.channel-panel__item{background:#f8f9fa;background:var(--toss-bg-base,#f8f9fa);border:1px solid #e5e8eb;border:1px solid var(--toss-border,#e5e8eb);border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.channel-panel__item-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.channel-panel__item-name{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:14px;font-weight:600}.channel-panel__item-status{border-radius:20px;font-size:12px;font-weight:600;padding:2px 8px}.channel-panel__item-status.--normal{background:#e8f5e9;color:#2e7d32}.channel-panel__item-status.--blocked{background:#fff3e0;color:#e65100}.channel-panel__item-status.--deleted{background:#fce4ec;color:#c62828}.channel-panel__item-meta{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);display:flex;font-size:12px;gap:12px}@keyframes channel-panel-pop-up{0%{box-shadow:0 0 0 #0000;opacity:0;transform:translateY(-48px) scale(.94)}65%{box-shadow:0 32px 64px #00000080;opacity:1;transform:translateY(6px) scale(1.01)}to{box-shadow:0 24px 60px #00000073;opacity:1;transform:translateY(0) scale(1)}}.variable-badges{background:var(--toss-bg-base);border:1px solid var(--toss-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.variable-badges__hint{color:var(--toss-text-subtle);margin-bottom:4px;width:100%}.variable-badge{align-items:center;background:var(--toss-primary);border-radius:16px;color:#fff;cursor:grab;display:inline-flex;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.variable-badge:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.button-card{background:var(--toss-bg-base);border:1px solid var(--toss-border);border-radius:10px;padding:16px}.button-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.button-card__title{color:var(--toss-text-strong);font-weight:600}.button-card__fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.alimtalk-setup-overlay{align-items:center;background:#0a0c12eb;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.alimtalk-setup-panel{animation:alimtalk-panel-pop-up-top .45s cubic-bezier(.22,.61,.36,1) both;background:#fff;background:var(--toss-bg-card,#fff);border-radius:20px;box-shadow:0 24px 60px #00000073;max-width:460px;padding:44px 40px 40px;position:relative;width:100%}.alimtalk-setup-panel__close{align-items:center;background:none;border:none;border-radius:50%;color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .15s,color .15s;width:32px}.alimtalk-setup-panel__close:hover{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6);color:#191f28;color:var(--toss-text-strong,#191f28)}.alimtalk-setup-panel__icon{font-size:40px;line-height:1;margin-bottom:16px;text-align:center}.alimtalk-setup-panel__title{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:20px;font-weight:700;margin:0 0 10px;text-align:center}.alimtalk-setup-panel__subtitle{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:14px;line-height:1.6;margin:0 0 28px;text-align:center}.alimtalk-setup-panel__form{display:flex;flex-direction:column;gap:16px}.alimtalk-setup-panel__actions{margin-top:24px}.alimtalk-setup-panel__actions--row{display:flex;gap:10px}.alimtalk-setup-panel__channel-badge{background:#fff8e1;border:1px solid #ffe082;border-radius:20px;color:#b07d00;display:inline-block;font-size:13px;font-weight:600;margin:0 auto 16px;padding:5px 14px;text-align:center}.alimtalk-setup-panel__channel-badge:before{content:"📂 "}.alimtalk-setup-panel__category{display:flex;flex-direction:column;gap:6px}.alimtalk-setup-panel__category-label{color:#333d4b;color:var(--toss-text-normal,#333d4b);font-size:13px;font-weight:600}.alimtalk-setup-panel__category-count{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-weight:400}.alimtalk-setup-panel__category-selected{align-items:center;background:#edf6ff;border:1px solid #a8d4f5;border-radius:8px;color:#1a73e8;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px}.alimtalk-setup-panel__category-selected button{margin-left:auto}.alimtalk-setup-panel__category-clear{align-items:center;background:none;border:none;color:#8b95a1;cursor:pointer;display:flex;padding:0}.alimtalk-setup-panel__category-clear:hover{color:#333d4b}.alimtalk-setup-panel__category-search{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6);border:1px solid #e5e8eb;border:1px solid var(--toss-border,#e5e8eb);border-radius:8px;box-sizing:border-box;font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.alimtalk-setup-panel__category-search:focus{background:#fff;border-color:#f28a9b;border-color:var(--toss-primary,#f28a9b)}.alimtalk-setup-panel__category-list{background:#fff;border:1px solid #e5e8eb;border:1px solid var(--toss-border,#e5e8eb);border-radius:8px;height:180px;list-style:none;margin:0;overflow-y:auto;padding:0}.alimtalk-setup-panel__category-list::-webkit-scrollbar{width:4px}.alimtalk-setup-panel__category-list::-webkit-scrollbar-thumb{background:#d1d6db;border-radius:4px}.alimtalk-setup-panel__category-empty{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:13px;padding:16px;text-align:center}.alimtalk-setup-panel__category-item{align-items:center;border-bottom:1px solid #f2f4f6;border-bottom:1px solid var(--toss-border,#f2f4f6);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 12px;transition:background .1s}.alimtalk-setup-panel__category-item:last-child{border-bottom:none}.alimtalk-setup-panel__category-item:hover{background:#f2f4f6;background:var(--toss-bg-base,#f2f4f6)}.alimtalk-setup-panel__category-item.--selected{background:#edf6ff;color:#1a73e8;font-weight:600}.alimtalk-setup-panel__category-item-name{flex:1 1}.alimtalk-setup-panel__category-item-code{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:11px}.alimtalk-setup-panel__category-item-check{color:#1a73e8;flex-shrink:0}.alimtalk-setup-panel__channel-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;max-height:240px;overflow-y:auto}.alimtalk-setup-panel__channel-list::-webkit-scrollbar{width:4px}.alimtalk-setup-panel__channel-list::-webkit-scrollbar-thumb{background:#d1d6db;border-radius:4px}.alimtalk-setup-panel__channel-empty{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);font-size:13px;padding:16px 0;text-align:center}.alimtalk-setup-panel__channel-item{background:#f8f9fa;background:var(--toss-bg-base,#f8f9fa);border:1px solid #e5e8eb;border:1px solid var(--toss-border,#e5e8eb);border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.alimtalk-setup-panel__channel-item-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.alimtalk-setup-panel__channel-item-name{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:14px;font-weight:600}.alimtalk-setup-panel__channel-item-status{border-radius:20px;font-size:12px;font-weight:600;padding:2px 8px}.alimtalk-setup-panel__channel-item-status.status--normal{background:#e8f5e9;color:#2e7d32}.alimtalk-setup-panel__channel-item-status.status--blocked{background:#fff3e0;color:#e65100}.alimtalk-setup-panel__channel-item-status.status--deleted{background:#fce4ec;color:#c62828}.alimtalk-setup-panel__channel-item-meta{color:#8b95a1;color:var(--toss-text-subtle,#8b95a1);display:flex;font-size:12px;gap:12px}.alimtalk-setup-panel__link{align-items:center;background:#fee500;border-radius:10px;color:#191f28;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;margin:4px 0 20px;padding:10px 18px;text-decoration:none;transition:opacity .15s;width:100%}.alimtalk-setup-panel__link:hover{opacity:.85}@keyframes alimtalk-panel-pop-up-top{0%{box-shadow:0 0 0 #0000;opacity:0;transform:translateY(-48px) scale(.94)}65%{box-shadow:0 32px 64px #00000080;opacity:1;transform:translateY(6px) scale(1.01)}to{box-shadow:0 24px 60px #00000073;opacity:1;transform:translateY(0) scale(1)}}.class-main-wrapper{background:#f2f4f6;background:var(--toss-bg-page,#f2f4f6);color:#191f28;color:var(--toss-text-strong,#191f28);font-family:Pretendard,sans-serif;height:100%}.class-main-wrapper .panel-actions{align-items:center;display:flex;gap:12px}.class-main-wrapper .btn-add-class{align-items:center;background:#f28a9b;background:var(--toss-primary,#f28a9b);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease}.class-main-wrapper .btn-add-class:hover{filter:brightness(.95);transform:translateY(-1px)}.class-main-wrapper .course-list{height:100%;overflow-y:auto;padding:12px}.class-main-wrapper .course-group{margin-bottom:16px}.class-main-wrapper .course-group .group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.class-main-wrapper .course-group .group-header .group-name{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:14px;font-weight:700;letter-spacing:-.3px}.class-main-wrapper .course-group .group-header .group-count{color:#8b95a1;color:var(--toss-text-muted,#8b95a1);font-size:12px;font-weight:500}.class-main-wrapper .course-group .schedule-items{display:flex;flex-direction:column;gap:6px}.class-main-wrapper .schedule-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--toss-grid-border,#e5e7eb);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .15s ease}.class-main-wrapper .schedule-item:hover{background:#fafafa;background:var(--toss-bg-hover,#fafafa);border-color:#f3b6c0;border-color:var(--toss-primary-border,#f3b6c0);box-shadow:0 2px 8px #f28a9b14}.class-main-wrapper .schedule-item:hover .schedule-arrow{color:#f28a9b;color:var(--toss-primary,#f28a9b);opacity:1}.class-main-wrapper .schedule-item.selected{background:#fdf1f4;background:var(--toss-primary-soft,#fdf1f4);border-color:#f28a9b;border-color:var(--toss-primary,#f28a9b);box-shadow:0 2px 12px #f28a9b26}.class-main-wrapper .schedule-item.selected .schedule-arrow{color:#f28a9b;color:var(--toss-primary,#f28a9b);opacity:1}.class-main-wrapper .schedule-item .day-badge{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.class-main-wrapper .schedule-item .schedule-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.class-main-wrapper .schedule-item .schedule-info .schedule-name{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-main-wrapper .schedule-item .schedule-info .schedule-time{font-feature-settings:"tnum";color:#8b95a1;color:var(--toss-text-muted,#8b95a1);font-size:12px;font-weight:500}.class-main-wrapper .schedule-item .schedule-arrow{color:#8b95a1;color:var(--toss-text-muted,#8b95a1);opacity:.3;transition:all .15s ease}.class-main-wrapper .empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.class-main-wrapper .empty-state p{color:#8b95a1;color:var(--toss-text-muted,#8b95a1);font-size:14px;margin-bottom:16px}.class-main-wrapper .empty-state .btn-add-first{align-items:center;background:#f28a9b;background:var(--toss-primary,#f28a9b);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .15s ease}.class-main-wrapper .empty-state .btn-add-first:hover{filter:brightness(.95);transform:translateY(-1px)}.class-main-wrapper .detail-actions{display:flex;gap:8px}.class-main-wrapper .btn-icon-action{align-items:center;background:#f2f4f6;background:var(--toss-bg-page,#f2f4f6);border:1px solid #e5e7eb;border:1px solid var(--toss-grid-border,#e5e7eb);border-radius:8px;color:#4e5968;color:var(--toss-text-base,#4e5968);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.class-main-wrapper .btn-icon-action:hover{background:#fdf1f4;background:var(--toss-primary-soft,#fdf1f4);border-color:#f3b6c0;border-color:var(--toss-primary-border,#f3b6c0);color:#f28a9b;color:var(--toss-primary,#f28a9b)}.class-main-wrapper .btn-icon-action.danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.class-main-wrapper .detail-content{height:100%;overflow-y:auto;padding:16px}.class-main-wrapper .info-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--toss-grid-border,#e5e7eb);border-radius:12px;margin-bottom:20px;padding:20px}.class-main-wrapper .info-card .info-card-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--toss-grid-border,#e5e7eb);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.class-main-wrapper .info-card .info-card-header h3{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:18px;font-weight:700;margin:0}.class-main-wrapper .info-card .info-card-header .day-badge-large{border-radius:8px;font-size:14px;font-weight:700;padding:8px 16px}.class-main-wrapper .info-card .info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.class-main-wrapper .info-card .info-grid .info-item{display:flex;flex-direction:column;gap:6px}.class-main-wrapper .info-card .info-grid .info-item.full-width{grid-column:1/-1}.class-main-wrapper .info-card .info-grid .info-item .info-label{color:#8b95a1;color:var(--toss-text-muted,#8b95a1);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.class-main-wrapper .info-card .info-grid .info-item .info-value{color:#191f28;color:var(--toss-text-strong,#191f28);font-size:15px;font-weight:500}.class-main-wrapper .student-section{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--toss-grid-border,#e5e7eb);border-radius:12px;height:calc(100% - 220px);min-height:300px;padding:20px}.class-main-wrapper .student-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.class-main-wrapper .student-section .section-header h4{align-items:center;color:#191f28;color:var(--toss-text-strong,#191f28);display:flex;font-size:15px;font-weight:700;gap:8px;margin:0}.class-main-wrapper .student-section .section-header .btn-add-student{align-items:center;background:#fdf1f4;background:var(--toss-primary-soft,#fdf1f4);border:1px solid #f3b6c0;border:1px solid var(--toss-primary-border,#f3b6c0);border-radius:8px;color:#f28a9b;color:var(--toss-primary,#f28a9b);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .15s ease}.class-main-wrapper .student-section .section-header .btn-add-student:hover{background:#fde6ea;background:var(--toss-primary-light,#fde6ea)}.class-main-wrapper .empty-detail{align-items:center;color:#8b95a1;color:var(--toss-text-muted,#8b95a1);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.class-main-wrapper .empty-detail .empty-icon{margin-bottom:16px;opacity:.4}.class-main-wrapper .empty-detail p{color:#4e5968;color:var(--toss-text-base,#4e5968);font-size:16px;font-weight:600;margin-bottom:8px}.class-main-wrapper .empty-detail span{font-size:13px}.class-main-wrapper .class-form .form-section{margin-bottom:24px}.class-main-wrapper .class-form .form-section:last-child{margin-bottom:0}.class-main-wrapper .class-form .form-section .form-section-title{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--toss-grid-border,#e5e7eb);color:#f28a9b;color:var(--toss-primary,#f28a9b);font-size:13px;font-weight:700;margin-bottom:16px;padding-bottom:8px}.class-main-wrapper .class-form .form-group{margin-bottom:16px}.class-main-wrapper .class-form .form-group:last-child{margin-bottom:0}.class-main-wrapper .class-form .form-group.half{flex:1 1}.class-main-wrapper .class-form .form-group .form-label{color:#4e5968;color:var(--toss-text-base,#4e5968);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.class-main-wrapper .class-form .form-group .form-label.required:after{color:#f28a9b;color:var(--toss-primary,#f28a9b);content:" *"}.class-main-wrapper .class-form .form-row{display:flex;gap:16px}@media(max-width:900px){.class-main-wrapper .info-card .info-grid{grid-template-columns:1fr}.class-main-wrapper .class-form .form-row{flex-direction:column;gap:0}.class-main-wrapper .class-form .form-row .form-group.half{flex:none}}.notice-detail-container{color:var(--toss-text-base);display:flex;flex:1 1;flex-direction:column;font-family:var(--font-base);gap:16px;min-height:0}.notice-admin-actions{display:flex;gap:8px}.notice-admin-actions button{background:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:8px;color:var(--toss-text-base);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:background .15s ease}.notice-admin-actions button:hover{background:var(--toss-bg-hover)}.notice-meta{background:var(--toss-bg-base);border-radius:12px;color:var(--toss-text-sub);display:flex;flex-wrap:wrap;font-size:13px;font-weight:500;gap:14px;padding:14px 16px}.notice-meta span{white-space:nowrap}.notice-content-scroll-area{background:var(--toss-bg-default);border:1px solid var(--toss-border);border-radius:12px;flex:1 1;min-height:0;overflow-y:auto;padding:20px}.notice-content-scroll-area .notice-content-body{color:var(--toss-text-base);font-size:15px;line-height:1.7}.notice-content-scroll-area .notice-content-body p{color:var(--toss-text-base);margin-bottom:1.2em}.notice-content-scroll-area .notice-content-body h1,.notice-content-scroll-area .notice-content-body h2,.notice-content-scroll-area .notice-content-body h3,.notice-content-scroll-area .notice-content-body h4,.notice-content-scroll-area .notice-content-body h5,.notice-content-scroll-area .notice-content-body h6{color:var(--toss-text-strong);margin-bottom:.8em;margin-top:1.5em}.notice-content-scroll-area .notice-content-body img{border-radius:12px;box-shadow:var(--toss-shadow);margin:20px 0;max-width:100%}.notice-content-scroll-area .notice-content-body ol,.notice-content-scroll-area .notice-content-body ul{margin-bottom:1em;padding-left:1.5em}.notice-content-scroll-area .notice-content-body li{margin-bottom:.5em}.custom-context-menu{background:var(--toss-bg-default);border-radius:14px;box-shadow:var(--toss-shadow);font-size:14px;list-style:none;overflow:hidden;padding:6px 0;position:fixed;width:240px;z-index:9999}.custom-context-menu .menu-title{background:var(--toss-bg-base);border-bottom:1px solid var(--toss-border);color:var(--toss-text-strong);font-size:13px;font-weight:700;padding:12px 16px;pointer-events:none}.custom-context-menu .tmpl-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .15s ease}.custom-context-menu .tmpl-item:hover{background:var(--toss-bg-hover)}.custom-context-menu .tmpl-item .tmpl-name{color:var(--toss-text-strong);font-size:13.5px}.custom-context-menu .tmpl-item .tmpl-status{font-size:12px;font-weight:700}.custom-context-menu .tmpl-item .tmpl-status.available{color:#22c55e}.custom-context-menu .tmpl-item .tmpl-status.unavailable{color:var(--toss-text-muted)}.custom-context-menu .tmpl-item.unavailable{cursor:not-allowed}.custom-context-menu .tmpl-item.unavailable:hover{background:none}@media(max-width:900px){.notice-detail-container{gap:12px}.notice-content-scroll-area{padding:16px}}.notice-form{flex:1 1;font-family:var(--font-base);gap:24px;min-height:0;padding:20px 0}.notice-form,.notice-form-title{display:flex;flex-direction:column}.notice-form-title{gap:8px}.notice-form-title label{color:var(--toss-text-strong);font-size:14px;font-weight:600}.notice-form-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0}.notice-form-content label{color:var(--toss-text-strong);font-size:14px;font-weight:600}.notice-form-content .editor-wrap{display:flex;flex:1 1;flex-direction:column;min-height:0}.primary-btn{background:var(--toss-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .15s ease}.primary-btn:hover{background:var(--toss-primary-hover)}.primary-btn:active{background:var(--toss-primary-dark)}@media(max-width:900px){.notice-form{gap:16px;padding:12px 0}}
/*# sourceMappingURL=main.b679486d.css.map*/