*,*:before,*:after{box-sizing:border-box;margin:0}html,body,#app{min-height:100%}body{margin:0;min-height:100vh;color:var(--gray-900);background:var(--bg-color);line-height:1.5;font-family:Pretendard Variable,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}:root{--black: #000000;--white: #ffffff;--bg-color: #f2f4f8;--hover-gray: #f5f7fb;--text-sub: #666666;--gray-900: #1a1a1a;--gray-800: #3d3d3d;--gray-700: #666666;--gray-600: #8c8c8c;--gray-500: #afafaf;--gray-400: #c7c7c7;--gray-300: #dcdcdc;--gray-200: #e9edf3;--gray-100: #f4f6fa;--gray-50: #fafbfc;--primary-900: #0E2B6B;--primary-800: #1645AB;--primary-700: #1B56D6;--primary-600: #226CFF;--primary-500: #3D7EFF;--primary-400: #A8C5FF;--primary-300: #C5D8FF;--primary-200: #D8E5FF;--primary-100: #ECF2FF;--primary-50: #E9F0FF;--red-900: #5C130E;--red-800: #931E16;--red-700: #B8261B;--red-600: #D92D20;--red-500: #FF3B30;--red-400: #FFA7A2;--red-300: #FFC4C1;--red-200: #FFD8D6;--red-100: #FFEBEA;--red-50: #FFF5F5;--yellow-900: #422F00;--yellow-800: #835E00;--yellow-700: #A67300;--yellow-600: #C88700;--yellow-500: #F1AE00;--yellow-400: #F9DB8C;--yellow-300: #FBE7B2;--yellow-200: #FCEFCC;--yellow-100: #FEF7E6;--yellow-50: #FEFBF2;--green-900: #0C3A12;--green-800: #125D1E;--green-700: #177425;--green-600: #1B892C;--green-500: #28C840;--green-400: #9EE6A9;--green-300: #BEEEC6;--green-200: #D4F4D9;--green-100: #EAFAEC;--green-50: #F4FCF5;--blue-900: #0D354C;--blue-800: #15557A;--blue-700: #1A6A98;--blue-600: #1F7DB3;--blue-500: #2D9CDB;--blue-400: #A0D2EF;--blue-300: #C0E1F4;--blue-200: #D5EBF8;--blue-100: #EAF5FB;--blue-50: #F4FAFD;--color-background: var(--bg-color);--color-background-soft: var(--gray-100);--color-background-mute: var(--gray-50);--color-border: var(--gray-300);--color-border-hover: var(--gray-400);--color-heading: var(--gray-900);--color-text: var(--gray-900);--section-gap: 160px;--space-0: 0;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-12: 12px;--space-10: 10px;--space-14: 14px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-26: 26px;--space-28: 28px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--radius-4r: 4px;--radius-6r: 6px;--radius-8r: 8px;--radius-12r: 12px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--text-36: 36px;--text-32: 32px;--text-28: 28px;--text-24: 24px;--text-22: 22px;--text-20: 20px;--text-18: 18px;--text-16: 16px;--text-14: 14px;--text-12: 12px;--text-11: 11px;--header-padding: 38px 0 30px;--checkbox-size: 18px;--checkbox-radius: 6px;--checkbox-border: var(--gray-400);--checkbox-bg: var(--white);--checkbox-checked-bg: var(--primary-600);--checkbox-focus-ring: rgba(34, 108, 255, .2);--form-control-height: 38px;--form-control-padding-x: 12px;--form-gap-y: 16px;--form-gap-x: 20px;--form-label-size: 12px;--button-height: 38px;--button-padding-x: 14px}#app{min-height:100vh;background-color:var(--bg-color);color:var(--gray-900)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#d1d6db;border-radius:10px}::-webkit-scrollbar-track{background:transparent}h1,h2,h3,h4,h5,h6{color:var(--gray-900);font-weight:700;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=time],input[type=tel],textarea,select,.input-modern,.search-input,.input-field,.custom-select,.pm-input,.pm-textarea{border:1px solid var(--gray-300);border-radius:var(--radius-8r);background:var(--white);transition:border-color .18s ease,box-shadow .18s ease}input::placeholder,textarea::placeholder{color:var(--gray-500)}input:focus,select:focus,textarea:focus,.input-modern:focus,.search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3d7eff2e;outline:none}input[type=checkbox]:not([data-switch]){-webkit-appearance:none;appearance:none;width:var(--checkbox-size);height:var(--checkbox-size);margin:0;border:1.5px solid var(--checkbox-border);border-radius:var(--checkbox-radius);background:var(--checkbox-bg);display:inline-grid;place-content:center;cursor:pointer;vertical-align:middle;transition:all .16s ease}input[type=checkbox]:not([data-switch]):after{content:"";width:6px;height:10px;border-right:2px solid var(--white);border-bottom:2px solid var(--white);transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .16s ease;margin-top:-1px}input[type=checkbox]:not([data-switch]):hover{border-color:var(--primary-500);background:var(--primary-50)}input[type=checkbox]:not([data-switch]):checked{border-color:var(--checkbox-checked-bg);background:var(--checkbox-checked-bg)}input[type=checkbox]:not([data-switch]):checked:after{transform:rotate(45deg) scale(1)}input[type=checkbox]:not([data-switch]):focus-visible{outline:none;box-shadow:0 0 0 3px var(--checkbox-focus-ring)}input[type=checkbox]:not([data-switch]):disabled{cursor:not-allowed;border-color:var(--gray-300);background:var(--gray-100);opacity:.9}input[type=checkbox]:not([data-switch]):disabled:checked{border-color:var(--gray-400);background:var(--gray-400)}#app .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--form-gap-y) var(--form-gap-x)!important;align-items:start}#app .form-item,#app .form-row{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0}#app .form-item.full-width,#app .form-row.full-width{grid-column:1 / -1!important}#app .input-group,#app .input-area,#app .input-set,#app .input-with-btn,#app .phone-input,#app .number-input-wrap,#app .search-wrap,#app .search-wrapper{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}#app .input-group>input,#app .input-area>input,#app .input-set>input,#app .input-with-btn>input,#app .search-wrapper>input,#app .phone-input>input,#app .number-input-wrap>input{flex:1 1 auto;min-width:0}#app .label,#app .sub-label,#app .row-label,#app .pm-label,#app .profile-label,#app .address-label,#app .info-label,#app .checkbox-label,#app .form-item>label,#app .form-row>label{color:var(--gray-700)!important;font-size:var(--form-label-size)!important;font-weight:600!important;line-height:1.4}#app input[type=text],#app input[type=password],#app input[type=email],#app input[type=number],#app input[type=date],#app input[type=time],#app input[type=tel],#app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),#app select,#app .input-box,#app .input-field,#app .input-modern,#app .search-input,#app .pm-input,#app .custom-select,#app .time-input,#app .zip-input,#app .user-input,#app .doc-title-input{height:var(--form-control-height)!important;padding:0 var(--form-control-padding-x)!important;border-radius:var(--radius-8r)!important;border:1px solid var(--gray-300)!important;background:var(--white)!important;line-height:calc(var(--form-control-height) - 2px)}#app textarea,#app .text-area,#app .pm-textarea{min-height:110px;padding:10px 12px!important;border-radius:var(--radius-8r)!important;border:1px solid var(--gray-300)!important;background:var(--white)!important;line-height:1.5}#app .hidden-date-input{height:0!important;width:0!important;padding:0!important;border:0!important}#app input[readonly],#app .readonly,#app input:disabled,#app textarea:disabled,#app select:disabled{background:var(--gray-100)!important;color:var(--gray-600)!important;border-color:var(--gray-300)!important}#app label>input[type=checkbox]:not([data-switch]){margin-right:8px}#app th>input[type=checkbox]:not([data-switch]),#app td>input[type=checkbox]:not([data-switch]){display:block;margin:0 auto}#app .footer-row,#app .action-bar,#app .pm-footer,#app .edit-footer,#app .footer-buttons,#app .footer,#app .card-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap;margin-top:16px}#app .global-footer,#app .modal-footer{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap}#app .footer-left,#app .footer-right,#app .right-btns,#app .right-actions,#app .left-actions,#app .footer-actions,#app .action-buttons,#app .header-actions,#app .action-btn-area{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap}#app .footer-right,#app .right-btns,#app .right-actions,#app .footer-actions,#app .action-buttons,#app .action-btn-area,#app .header-actions{margin-left:auto;justify-content:flex-end!important}#app .footer-left,#app .left-actions{margin-right:auto;justify-content:flex-start!important}#app .footer>.footer-actions{position:static!important}#app .footer>.pagination{margin-right:auto}#app .pagination{display:flex!important;align-items:center!important;justify-content:center;gap:8px!important}#app .page-arrow,#app .page-nav,#app .page-num{min-height:34px;min-width:34px;padding:0 10px;border-radius:var(--radius-8r);border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);cursor:pointer}#app .page-num.active{border-color:var(--primary-600);background:var(--primary-600);color:var(--white)}#app .page-arrow:disabled,#app .page-nav:disabled{opacity:.5;cursor:not-allowed}#app .btn,#app .btn-primary,#app .btn-secondary,#app .btn-danger,#app .btn-outline,#app .btn-cancel,#app .btn-search,#app .btn-save,#app .btn-add,#app .btn-submit,#app .btn-outline-sm,#app .btn-primary-sm,#app .btn-sm-gray,#app .btn-save-lg,#app .btn-cancel-lg,#app .btn-modal-cancel,#app .btn-modal-confirm,#app .btn-delete-class,#app .btn-delete,#app .action-btn,#app .sub-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--button-height)!important;padding:0 var(--button-padding-x)!important;border-radius:var(--radius-8r)!important;border:1px solid transparent!important;font-size:var(--text-14)!important;font-weight:600!important;cursor:pointer;transition:all .18s ease;line-height:1}#app .btn-primary,#app .btn-search,#app .btn-save,#app .btn-add,#app .btn-submit,#app .btn-primary-sm,#app .btn-save-lg,#app .btn-modal-confirm,#app .action-btn{background:var(--primary-600);color:var(--white);border-color:var(--primary-600)}#app .btn-primary:hover,#app .btn-search:hover,#app .btn-save:hover,#app .btn-add:hover,#app .btn-submit:hover,#app .btn-primary-sm:hover,#app .btn-save-lg:hover,#app .btn-modal-confirm:hover,#app .action-btn:hover{background:var(--primary-700);border-color:var(--primary-700)}#app .btn-secondary,#app .btn-cancel,#app .btn-outline,#app .btn-outline-sm,#app .btn-cancel-lg,#app .btn-modal-cancel,#app .sub-action-btn,#app .btn-sm-gray{background:var(--white);color:var(--gray-700);border-color:var(--gray-300)}#app .btn-secondary:hover,#app .btn-cancel:hover,#app .btn-outline:hover,#app .btn-outline-sm:hover,#app .btn-cancel-lg:hover,#app .btn-modal-cancel:hover,#app .sub-action-btn:hover,#app .btn-sm-gray:hover{background:var(--gray-100);border-color:var(--gray-400)}#app .btn-danger,#app .btn-danger-text,#app .btn-delete,#app .btn-delete-class{background:var(--red-50);color:var(--red-700);border-color:var(--red-200)}#app .btn-danger:hover,#app .btn-danger-text:hover,#app .btn-delete:hover,#app .btn-delete-class:hover{background:var(--red-100);border-color:var(--red-300)}#app button:disabled,#app .btn:disabled,#app .btn-primary:disabled,#app .btn-secondary:disabled,#app .btn-submit:disabled{opacity:.62;cursor:not-allowed}.widget-card,.modern-card,.content-card,.activity-card,.card,.guardian-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.table-container,.data-table-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);overflow:hidden}.table-container table,.data-table-container table{width:100%;border-collapse:collapse}.table-container thead th,.data-table-container thead th{background:var(--gray-100);color:var(--gray-700);font-weight:600;text-align:left}.table-container td,.table-container th,.data-table-container td,.data-table-container th{border-bottom:1px solid var(--gray-200);padding:12px 14px}.blue-btn-sub{background-color:var(--blue-100);border:1px solid var(--blue-500);color:var(--blue-700);padding:10px 18px;border-radius:var(--radius-8r);font-weight:600}@media(max-width:1024px){#app .form-grid{grid-template-columns:1fr!important}}@media(max-width:768px){#app .footer-row,#app .action-bar,#app .pm-footer,#app .edit-footer,#app .footer,#app .card-footer,#app .global-footer,#app .modal-footer,#app .footer-buttons{flex-direction:column;align-items:stretch!important}#app .footer-left,#app .footer-right,#app .right-btns,#app .right-actions,#app .left-actions,#app .footer-actions,#app .action-buttons,#app .header-actions,#app .action-btn-area{width:100%;justify-content:flex-end}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-shell{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040}.badge-wrap[data-v-4ebca40f]{width:32px;height:32px;background-color:var(--white);border-radius:var(--radius-full);padding:4px;color:var(--gray-600);font-weight:400;font-size:var(--text-14);align-items:center;text-align:center}ul[data-v-e333197b]{list-style:none;padding:0;margin:0}a[data-v-e333197b]{text-decoration:none;color:inherit;display:block}.main-content[data-v-e333197b]{padding:0 40px;overflow:auto;max-height:100vh}.main-content-title[data-v-e333197b]{font-size:var(--text-28);font-weight:600;margin-bottom:20px}.current-category[data-v-e333197b]{color:var(--gray-700);font-size:var(--text-14);margin-bottom:4px}.header[data-v-e333197b]{display:flex;justify-content:space-between;padding:var(--header-padding)}.user-role-chip[data-v-e333197b]{height:24px;padding:2px 8px;border:1px solid #16a34a;border-radius:4px;background:#f0fdf4;color:#15803d;font-size:14px;line-height:20px}.side-bar[data-v-e333197b]{width:240px;background:var(--white, #ffffff);color:var(--gray-700, #374151);padding:20px;border-right:1px solid #eee;display:flex;flex-direction:column}.place-name[data-v-e333197b]{display:flex;align-items:center;gap:8px;color:var(--gray-600, #4b5563);font-weight:600;margin-bottom:30px}.menu-list[data-v-e333197b]{display:flex;flex-direction:column;gap:4px}.sidebar-bottom[data-v-e333197b]{margin-top:auto;padding-top:16px}.logout-btn[data-v-e333197b]{width:100%;height:48px;border:0;background:transparent;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 12px;color:var(--gray-500, #afafaf);font-size:16px;line-height:24px;cursor:pointer;text-align:left}.logout-btn[data-v-e333197b]:hover{background:#f5f5f5}.logout-icon[data-v-e333197b]{width:24px;height:24px}.menu-link[data-v-e333197b]{min-height:48px;padding:12px;border-radius:6px;font-size:var(--text-16);line-height:24px;font-weight:600;color:var(--gray-700);transition:background .2s,color .2s}.menu-link[data-v-e333197b]:hover{background-color:var(--hover-gray)}.menu-group-header[data-v-e333197b]{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px;border-radius:6px;cursor:pointer;font-size:var(--text-16);line-height:24px;font-weight:600;color:var(--gray-700);transition:background .2s,color .2s}.menu-group-header[data-v-e333197b]:hover{background-color:var(--hover-gray)}.submenu-list[data-v-e333197b]{margin-top:2px;margin-bottom:4px}.submenu-link[data-v-e333197b]{min-height:48px;display:flex;align-items:center;padding:14px 12px;font-size:var(--text-14);line-height:20px;color:var(--gray-500);border-radius:6px;transition:all .2s}.submenu-link[data-v-e333197b]:hover{color:var(--gray-700);background-color:var(--hover-gray)}.active-menu-link[data-v-e333197b],.active-group[data-v-e333197b]{color:var(--primary-600);background-color:var(--primary-100)}.active-submenu-link[data-v-e333197b]{color:var(--primary-600);background-color:#f5f5f5}.icon-toggle[data-v-e333197b]{width:16px;height:16px}.user-info[data-v-e333197b]{display:flex;gap:10px}
