@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");:root{--main-color:#00508f;--main-dark:#003a6a;--main-light:#e8f0f8;--accent:#4affff;--text-primary:#222;--text-secondary:#666;--text-muted:#999;--bg-body:#f4f6f9;--bg-card:#fff;--sidebar-bg:#2b2e3b;--sidebar-hover-bg:#3d4155;--sidebar-active-bg:#353848;--sidebar-text:#c8cce0;--sidebar-text-hover:#fff;--sidebar-icon-color:#8b8fa3;--header-bg:#fff;--header-border:#eee;--border-color:#e5e8ec;--header-height:52px;--sider-width:220px;--sider-collapsed-width:60px;--content-margin:16px;--font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-title:26px;--transition:all 0.3s ease;--radius:6px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 30px rgba(0,0,0,.12)}[data-theme=teal]{--main-color:#0d7377;--main-dark:#095456;--main-light:#e5f4f4;--accent:#4ad9d9;--sidebar-hover-bg:#3d4155;--sidebar-active-bg:#353848}[data-theme=green]{--main-color:#2e7d32;--main-dark:#1b5e20;--main-light:#e8f5e9;--accent:#66bb6a;--sidebar-hover-bg:#3d4155;--sidebar-active-bg:#353848}[data-theme=purple]{--main-color:#5e35b1;--main-dark:#4527a0;--main-light:#ede7f6;--accent:#b39ddb;--sidebar-hover-bg:#3d4155;--sidebar-active-bg:#353848}[data-theme=red]{--main-color:#c62828;--main-dark:#b71c1c;--main-light:#ffebee;--accent:#ef9a9a;--sidebar-hover-bg:#3d4155;--sidebar-active-bg:#353848}[data-theme=dark]{--main-color:#37474f;--main-dark:#263238;--main-light:#eceff1;--accent:#78909c;--bg-body:#1a1a2e;--bg-card:#252540;--text-primary:#e0e0e0;--text-secondary:#aaa;--text-muted:#777;--sidebar-bg:#1a1a2e;--sidebar-hover-bg:#2f2f52;--sidebar-active-bg:#252540;--sidebar-text:#b0b4c0;--sidebar-icon-color:#8b8fa3;--header-bg:#252540;--header-border:#333;--border-color:#333}html{min-width:1280px;overflow-x:auto;height:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans KR,sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;color:var(--text-primary);background:var(--bg-body);height:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0c29,#302b63 50%,#24243e);position:relative;overflow:hidden}.login-container:before{background:radial-gradient(circle at 20% 50%,rgba(0,80,143,.3) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(74,255,255,.08) 0,transparent 40%),radial-gradient(circle at 50% 80%,rgba(94,53,177,.15) 0,transparent 50%);animation:loginBgPulse 20s ease-in-out infinite}.login-container:after,.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0}.login-container:after{background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:60px 60px;pointer-events:none}@keyframes loginBgPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.login-card{width:420px;padding:48px 40px;background:hsla(0,0%,100%,.97);border-radius:12px;box-shadow:var(--shadow-lg);position:relative;z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card .logo{text-align:center;margin-bottom:36px}.login-card .logo h1{font-size:26px;font-weight:800;color:var(--main-color);letter-spacing:2px}.login-card .logo p{color:var(--text-muted);font-size:13px;margin-top:6px;font-weight:400}.login-card .logo .company{font-size:11px;color:#bbb;margin-top:10px;letter-spacing:1px}.login-form .ant-btn-primary,.login-form .ant-input-affix-wrapper{height:44px;border-radius:8px}.login-form .ant-btn-primary{font-size:15px;font-weight:600}.login-options{justify-content:space-between;margin-bottom:20px}.login-footer,.login-options{display:flex;align-items:center}.login-footer{position:absolute;bottom:0;left:0;right:0;gap:40px;padding:20px 40px;background:hsla(0,0%,100%,.95);border-top:1px solid #eee;z-index:2}.login-footer-left svg{width:40px;height:40px}.login-footer-left h1{font-size:16px!important;letter-spacing:1px!important}.login-footer-info p{font-size:11px;color:#888;line-height:1.6;margin:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2{font-size:18px;font-weight:700;color:var(--text-primary)}.search-bar{display:flex;gap:8px;margin-bottom:16px}.crud-container{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:12px 14px 10px}.crud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--main-color)}.crud-title{font-size:14px;font-weight:700;color:var(--main-color);margin:0;padding-left:8px;border-left:3px solid var(--main-color);line-height:1.4}.crud-search{background:#f8f9fb;border-radius:4px;padding:6px 10px;margin-bottom:8px;border:1px solid var(--border-color)}.dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;background:var(--sidebar-bg);overflow:hidden;display:flex;flex-direction:column;transition:width .2s}.sidebar-logo{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,.06)}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:0}.app-header{height:52px;background:var(--header-bg);border-bottom:1px solid var(--header-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:99}.theme-dropdown-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:middle;border:1px solid rgba(0,0,0,.1)}@media (min-width:1600px){body{font-size:13px}.ant-table-thead>tr>th{font-size:12px!important;padding:7px 10px!important}.ant-table-tbody>tr>td{padding:6px 10px!important;font-size:12px!important}.ant-card-head{padding:10px 20px!important}}.ant-layout-content{min-height:calc(100vh - var(--header-height) - var(--content-margin) * 2)!important}.ant-layout-sider{background:var(--sidebar-bg)!important}.ant-layout-sider .ant-menu{background:transparent!important}.ant-layout-sider .ant-menu .ant-menu-sub{background:rgba(0,0,0,.15)!important}.ant-layout-sider .ant-menu .ant-menu-submenu-title{color:#e0e4f0!important;font-weight:700!important;font-size:13.5px!important;margin:2px 6px!important;border-radius:6px!important}.ant-layout-sider .ant-menu .ant-menu-submenu-title:hover{background:var(--sidebar-hover-bg)!important;color:#fff!important}.ant-layout-sider .ant-menu .ant-menu-item{margin:1px 6px!important;border-radius:6px!important;font-size:13px!important}.ant-layout-sider .ant-menu .ant-menu-item-selected{background:var(--main-color)!important;color:#fff!important;font-weight:600!important}.ant-menu-submenu-popup .ant-menu{background:var(--sidebar-bg)!important}.ant-menu-submenu-popup .ant-menu .ant-menu-item-selected{background:var(--main-color)!important;color:#fff!important}.ant-table{border-radius:4px!important;overflow:hidden}.ant-table-thead>tr>th{background:#f8f9fb!important;font-weight:600!important;color:var(--text-primary)!important;font-size:12px!important;border-bottom:2px solid var(--main-color)!important;padding:6px 8px!important;white-space:nowrap!important}.ant-table-tbody>tr>td{padding:5px 8px!important;font-size:12px!important}.ant-table-tbody>tr:hover>td{background:var(--main-light)!important}.ant-pagination{margin:8px 0!important;font-size:12px!important}.ant-pagination-item-active{border-color:var(--main-color)!important}.ant-pagination-item-active a{color:var(--main-color)!important}.ant-card{border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important}.ant-card-head{border-bottom:2px solid var(--main-color)!important;font-weight:600!important;min-height:auto!important;padding:12px 20px!important}.ant-card-head-title{font-size:14px!important;color:var(--main-color)!important}.ant-btn-primary{background:var(--main-color)!important;border-color:var(--main-color)!important;border-radius:var(--radius)!important;font-weight:500!important;box-shadow:0 2px 6px rgba(0,80,143,.25)!important;transition:var(--transition)!important}.ant-btn-primary:hover{background:var(--main-dark)!important;border-color:var(--main-dark)!important;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,80,143,.35)!important}.ant-btn-default,.ant-input,.ant-picker,.ant-select-selector{border-radius:var(--radius)!important}.ant-input-focused,.ant-input:focus,.ant-select-focused .ant-select-selector{border-color:var(--main-color)!important;box-shadow:0 0 0 2px rgba(0,80,143,.12)!important}.ant-tag{border-radius:4px!important;font-size:12px!important}.ant-modal-header{border-bottom:2px solid var(--main-color)!important;padding:14px 20px!important}.ant-modal-title{color:var(--main-color)!important;font-weight:600!important;font-size:15px!important}.ant-modal-body{padding:16px 20px!important}.ant-modal-footer{padding:10px 20px!important}.ant-form-item-label>label{font-size:12px!important;font-weight:500!important;color:var(--text-secondary)!important}.ant-form-item{margin-bottom:12px!important}.ant-dropdown-menu-item:hover{background:var(--main-light)!important}.dashboard-welcome{margin-bottom:20px}.dashboard-welcome h2{font-size:20px;font-weight:600;color:var(--text-primary)}.dashboard-welcome p{color:var(--text-secondary);font-size:14px;margin-top:4px}.stat-card{border-left:3px solid var(--main-color)}.stat-card .ant-statistic-title{font-size:var(--font-size-sm);color:var(--text-secondary)}.stat-card .ant-statistic-content{color:var(--main-color)}.admin-panel .ant-tabs-nav{margin-bottom:16px}.admin-search-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.admin-search-bar .ant-input,.admin-search-bar .ant-select{max-width:200px}