﻿@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@300;400;500;700&display=swap";.admin-container{display:grid;grid-template-areas:"sidebar header" "sidebar content";grid-template-columns:var(--sidebar-width, 250px) 1fr;grid-template-rows:var(--header-height, 60px) 1fr;height:100vh;background-color:var(--bg-primary);transition:all .3s ease;min-height:0;--sidebar-width: 250px;--header-height: 60px}.admin-container.sidebar-collapsed{grid-template-columns:0 1fr}.admin-container.sidebar-collapsed .left-menu{transform:translateX(-100%)}@media(max-width: 768px){.admin-container{grid-template-areas:"header" "content";grid-template-columns:1fr;grid-template-rows:var(--header-height) 1fr}}.top-menu{grid-area:header;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;padding:0 20px;position:relative;z-index:300;box-shadow:0 1px 2px var(--shadow-light)}.top-menu .logo-area{margin-right:20px;display:flex;align-items:center}.top-menu .top-nav{display:flex;gap:12px;height:100%;align-items:center;flex:1}@media(max-width: 768px){.top-menu .top-nav{display:none}}.top-menu .top-nav-item{padding:0 20px;height:40px;display:flex;align-items:center;border-radius:6px;font-weight:500;font-size:15px;color:var(--text-primary);cursor:pointer;transition:all .3s ease;margin:0 5px}.top-menu .top-nav-item:hover{background-color:var(--accent-hover);color:var(--accent-primary)}.top-menu .top-nav-item.active{background-color:var(--accent-primary);color:#fff;box-shadow:none}.top-menu .top-nav-item .icon{margin-right:8px;font-size:18px;display:none}.top-menu .top-actions{display:flex;align-items:center;gap:8px}.top-menu .top-actions .theme-selector{padding:6px 12px;border:1px solid var(--border-primary);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;outline:none;transition:all .2s}.top-menu .top-actions .theme-selector:hover,.top-menu .top-actions .theme-selector:focus{border-color:var(--accent-primary)}.top-menu .top-actions .user-info-brief{margin-right:15px;text-align:right}.top-menu .top-actions .user-info-brief .name{font-size:13px;font-weight:600;color:var(--text-primary);display:block}.top-menu .top-actions .user-info-brief .level{font-size:11px;color:var(--text-tertiary);display:block;margin-top:-2px}.top-menu .top-actions .action-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;border:1px solid var(--border-primary);color:var(--text-secondary);background-color:rgba(0,0,0,0);transition:all .3s ease}.top-menu .top-actions .action-btn:hover{background-color:var(--accent-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.top-menu .top-actions .action-btn.btn-logout:hover{color:var(--error);border-color:var(--error);background-color:rgba(var(--error-rgb), 0.1)}.left-menu{grid-area:sidebar;background-color:var(--bg-tertiary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .3s ease}.left-menu .sidebar-header{padding:20px;border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary)}.left-menu .sidebar-header .site-name{font-size:12px;font-weight:700;color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;opacity:.8}.left-menu .sidebar-header .menu-name{font-size:18px;font-weight:800;color:var(--text-primary);letter-spacing:-0.5px}.left-menu .sidebar-nav{flex:1;overflow-y:auto;padding:10px 0;scrollbar-width:none;-ms-overflow-style:none}.left-menu .sidebar-nav::-webkit-scrollbar{display:none}.menu-item .menu-link{display:flex;align-items:center;padding:12px 20px;color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:all .3s ease;position:relative}.menu-item .menu-link:hover{background-color:var(--accent-hover);color:var(--accent-primary)}.menu-item .menu-link.active{color:var(--accent-primary);background-color:rgba(var(--accent-primary-rgb), 0.05);font-weight:700}.menu-item .menu-link.active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--accent-primary)}.menu-item .menu-link .icon{margin-right:10px;font-size:20px;opacity:.7}.menu-item .menu-link .text{flex:1}.menu-item .menu-link .toggle-icon{font-size:18px;transition:transform .2s ease}.menu-item.expanded>.menu-link{color:var(--accent-primary)}.menu-item.expanded>.menu-link .toggle-icon{transform:rotate(90deg)}.menu-item .submenu{display:none;background-color:rgba(0,0,0,0);padding-left:15px}.menu-item .submenu .menu-item .menu-link{padding:10px 20px;font-size:13.5px}.menu-item .submenu .menu-item .menu-link .icon{font-size:18px}.menu-item.expanded>.submenu{display:block}.submenu[style*="display:block"],.submenu[style*="display: block"]{display:block !important}.content-area{grid-area:content;position:relative;overflow-y:auto;background-color:var(--bg-primary);padding:20px;min-height:0;animation:fadeIn .3s ease-in-out}@media(max-width: 768px){.content-area{padding:16px}}.page-header{margin-bottom:20px}.page-header .page-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.page-header .breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.page-header .breadcrumb .root{display:flex;align-items:center;color:var(--text-tertiary)}.page-header .breadcrumb .sep{color:var(--text-tertiary);font-size:10px}.page-header .breadcrumb .current{color:var(--accent-primary);font-weight:500}.page-header .page-header-right{display:flex;gap:8px}.page-header .page-header-right .action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;border:1px solid var(--border-primary);color:var(--text-secondary);background-color:var(--bg-secondary);transition:all .3s ease;cursor:pointer}.page-header .page-header-right .action-btn:hover{background-color:var(--accent-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.page-header .page-title{display:flex;align-items:center;gap:12px}.page-header .page-title h2{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-0.5px}.section{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px var(--shadow-light)}.section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-secondary)}.section .section-header h3{font-size:16px;font-weight:600;color:var(--text-primary)}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.admin-settings-modal{padding:12px}.theme-options{display:flex;gap:16px;flex-wrap:wrap}.theme-option{display:flex;flex-direction:column;align-items:center;padding:16px;border:2px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s;min-width:140px;flex:1}.theme-option input[type=radio]{display:none}.theme-option:hover{border-color:var(--accent-primary);background-color:var(--accent-hover)}.theme-option.active{border-color:var(--accent-primary);background-color:rgba(var(--accent-primary-rgb, 0, 123, 255), 0.1)}.theme-option .theme-preview{width:60px;height:40px;border-radius:6px;margin-bottom:8px;border:1px solid var(--border-secondary)}.theme-option .theme-preview-1{background:linear-gradient(135deg, #f8f9fa 50%, #007bff 50%)}.theme-option .theme-preview-2{background:linear-gradient(135deg, #1e293b 50%, #8b5cf6 50%)}.theme-option .theme-preview-3{background:linear-gradient(135deg, #ffffff 50%, #10b981 50%)}.theme-option .theme-name{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.theme-option .theme-desc{font-size:11px;color:var(--text-secondary);text-align:center}.filter-tabs-wrapper{background:var(--bg-primary);padding:16px;border-radius:12px;border:1px solid var(--border-primary);box-shadow:0 1px 3px rgba(0,0,0,.02);margin-bottom:20px}.underline-hover:hover{text-decoration:underline}.top-menu{grid-area:header;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;padding:0 20px;position:relative}.top-menu .menu-toggle{background:none;border:none;font-size:18px;cursor:pointer;padding:8px;margin-right:20px;border-radius:4px;transition:background-color .2s;color:var(--text-primary)}.top-menu .menu-toggle:hover{background-color:var(--accent-hover)}.top-menu .menu-toggle[aria-expanded=true]{background-color:var(--accent-primary);color:#fff}@media(max-width: 768px){.top-menu .menu-toggle{font-size:20px;padding:10px;display:block !important}}.top-menu .top-nav-menu{display:flex;gap:30px;flex:1}@media(max-width: 768px){.top-menu .top-nav-menu{display:none}}.top-menu .top-nav-item{padding:8px 16px;cursor:pointer;border-radius:4px;font-weight:500;transition:all .2s;color:var(--text-primary)}.top-menu .top-nav-item:hover{background-color:var(--accent-hover);color:var(--accent-primary)}.top-menu .top-nav-item.active{background-color:var(--accent-primary);color:#fff}.top-menu .top-menu-actions{display:flex;align-items:center;gap:10px}.top-menu .top-menu-actions .theme-toggle{background:none;border:1px solid var(--border-primary);font-size:16px;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s;color:var(--text-primary);display:flex;align-items:center;gap:6px;min-width:80px;justify-content:center}.top-menu .top-menu-actions .theme-toggle:hover{background-color:var(--accent-hover);border-color:var(--accent-primary)}.top-menu .top-menu-actions .theme-toggle .theme-icon{font-size:16px}.top-menu .top-menu-actions .theme-toggle .theme-text{font-size:14px}.top-menu .top-menu-actions .user-icon,.top-menu .top-menu-actions .settings-icon,.top-menu .top-menu-actions .logout-icon{background:none;border:1px solid var(--border-primary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.top-menu .top-menu-actions .user-icon .material-symbols-outlined,.top-menu .top-menu-actions .settings-icon .material-symbols-outlined,.top-menu .top-menu-actions .logout-icon .material-symbols-outlined{font-size:20px}.top-menu .top-menu-actions .user-icon:hover,.top-menu .top-menu-actions .settings-icon:hover,.top-menu .top-menu-actions .logout-icon:hover{background-color:var(--accent-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.top-menu .top-menu-actions .logout-icon:hover{color:#ef4444;border-color:#ef4444;background-color:rgba(239,68,68,.1)}@media(max-width: 768px){.top-menu{padding:0 15px}}.left-menu{grid-area:sidebar;background-color:var(--bg-tertiary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:relative;transition:all .3s ease;min-height:0;min-width:0;height:100%;overflow:hidden}.left-menu.hidden{margin-left:-250px}.left-menu .left-menu-header{padding:20px;text-align:center;border-bottom:1px solid var(--border-primary);flex-shrink:0}.left-menu .left-menu-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:5px}.left-menu .left-menu-header p{font-size:14px;color:var(--text-secondary)}.left-menu .left-menu-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 0;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.left-menu .left-menu-content::-webkit-scrollbar{display:none}@media(max-width: 768px){.left-menu{display:none}}.menu-item{position:relative}.menu-item .menu-item-header{padding:12px 20px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);text-decoration:none}.menu-item .menu-item-header:hover{background-color:var(--accent-hover)}.menu-item .menu-item-header.active{background-color:var(--accent-primary);color:#fff}.menu-item .menu-item-header span:first-child{display:flex;align-items:center;gap:8px}.menu-item .menu-expand-icon{font-size:12px;transition:transform .2s}.menu-item.expanded .menu-expand-icon{transform:rotate(90deg)}.menu-item.expanded .submenu{max-height:1000px}.submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:var(--bg-quaternary)}.submenu div.submenu-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 20px 10px 25px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-tertiary);border-left:2px solid var(--accent-primary);color:var(--text-primary);font-size:14px;font-weight:500}.submenu div.submenu-item:hover{background-color:var(--bg-quinary)}.submenu div.submenu-item.active{background-color:var(--accent-secondary);color:#fff}.submenu div.submenu-item>span:first-child{grid-column:1;word-break:break-word}.submenu div.submenu-item .menu-expand-icon{grid-column:2;font-size:12px;transition:transform .2s}.submenu div.submenu-item.expanded .menu-expand-icon{transform:rotate(90deg)}.submenu div.submenu-item.expanded .sub-submenu{max-height:500px}.submenu div.submenu-item .sub-submenu{grid-column:1/-1}.submenu a.submenu-item{padding:10px 20px 10px 25px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-tertiary);border-left:2px solid var(--accent-primary);display:block;color:var(--text-primary);text-decoration:none;font-size:14px}.submenu a.submenu-item:hover{background-color:var(--bg-quinary)}.submenu a.submenu-item.active{background-color:var(--accent-secondary);color:#fff}.submenu a.submenu-item.menu-disabled{opacity:.6;cursor:pointer}.sub-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:var(--bg-quinary)}.sub-submenu div.sub-submenu-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 20px 8px 30px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-quaternary);border-left:2px solid var(--accent-secondary);font-size:13px;color:var(--text-primary);font-weight:500}.sub-submenu div.sub-submenu-item:hover{background-color:var(--bg-senary)}.sub-submenu div.sub-submenu-item.active{background-color:var(--accent-tertiary);color:#fff}.sub-submenu div.sub-submenu-item>span:first-child{grid-column:1;word-break:break-word}.sub-submenu div.sub-submenu-item .menu-expand-icon{grid-column:2;font-size:12px;transition:transform .2s}.sub-submenu div.sub-submenu-item.expanded .menu-expand-icon{transform:rotate(90deg)}.sub-submenu div.sub-submenu-item.expanded .sub-sub-submenu{max-height:500px}.sub-submenu div.sub-submenu-item .sub-sub-submenu{grid-column:1/-1}.sub-submenu a.sub-submenu-item{padding:8px 20px 8px 30px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-quaternary);border-left:2px solid var(--accent-secondary);font-size:13px;color:var(--text-primary);text-decoration:none;display:block}.sub-submenu a.sub-submenu-item:hover{background-color:var(--bg-senary)}.sub-submenu a.sub-submenu-item.active{background-color:var(--accent-tertiary);color:#fff}.sub-submenu a.sub-submenu-item.menu-disabled{opacity:.6;cursor:pointer}.sub-sub-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:var(--bg-senary)}.sub-sub-submenu div.sub-sub-submenu-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 20px 8px 35px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-quaternary);border-left:2px solid var(--accent-tertiary);font-size:12px;color:var(--text-primary);font-weight:500}.sub-sub-submenu div.sub-sub-submenu-item:hover{background-color:rgba(0,0,0,.05)}.sub-sub-submenu div.sub-sub-submenu-item.active{background-color:var(--accent-quaternary);color:#fff}.sub-sub-submenu div.sub-sub-submenu-item>span:first-child{grid-column:1;word-break:break-word}.sub-sub-submenu div.sub-sub-submenu-item .menu-expand-icon{grid-column:2;font-size:12px;transition:transform .2s}.sub-sub-submenu div.sub-sub-submenu-item.expanded .menu-expand-icon{transform:rotate(90deg)}.sub-sub-submenu div.sub-sub-submenu-item.expanded .sub-sub-sub-submenu{max-height:500px}.sub-sub-submenu div.sub-sub-submenu-item .sub-sub-sub-submenu{grid-column:1/-1}.sub-sub-submenu a.sub-sub-submenu-item{padding:8px 20px 8px 35px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-quaternary);border-left:2px solid var(--accent-tertiary);font-size:12px;color:var(--text-primary);text-decoration:none;display:block}.sub-sub-submenu a.sub-sub-submenu-item:hover{background-color:rgba(0,0,0,.05)}.sub-sub-submenu a.sub-sub-submenu-item.active{background-color:var(--accent-quaternary);color:#fff}.sub-sub-submenu a.sub-sub-submenu-item.menu-disabled{opacity:.6;cursor:pointer}.sub-sub-sub-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:rgba(0,0,0,.03)}.sub-sub-sub-submenu a.sub-sub-sub-submenu-item{padding:8px 20px 8px 40px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-quaternary);border-left:2px solid var(--accent-quaternary);font-size:12px;color:var(--text-primary);text-decoration:none;display:block}.sub-sub-sub-submenu a.sub-sub-sub-submenu-item:hover{background-color:rgba(0,0,0,.08)}.sub-sub-sub-submenu a.sub-sub-sub-submenu-item.active{background-color:var(--accent-quaternary);color:#fff}.sub-sub-sub-submenu a.sub-sub-sub-submenu-item.menu-disabled{opacity:.6;cursor:pointer}.menu-item.expanded .sub-submenu,.submenu-item.expanded .sub-submenu{max-height:500px}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;visibility:hidden;display:none;transition:opacity .3s ease,visibility .3s ease;overflow:hidden}.mobile-menu-overlay.show{display:block;opacity:1;visibility:visible}.mobile-menu-overlay.show .mobile-menu-content{transform:translateX(0)}.mobile-menu-overlay .mobile-menu-content{position:absolute;top:0;left:0;width:85%;max-width:320px;height:100%;background-color:var(--bg-tertiary);transform:translateX(-100%);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);display:flex;flex-direction:column;box-shadow:4px 0 20px rgba(0,0,0,.15)}@media(max-width: 576px){.mobile-menu-overlay .mobile-menu-content{width:90%}}.mobile-menu-overlay .mobile-menu-header{padding:20px;border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;min-height:80px}.mobile-menu-overlay .mobile-menu-header .mobile-menu-title{flex:1}.mobile-menu-overlay .mobile-menu-header .mobile-menu-title h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:5px}.mobile-menu-overlay .mobile-menu-header .mobile-menu-title p{font-size:14px;color:var(--text-secondary)}.mobile-menu-overlay .mobile-menu-header .mobile-menu-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:4px;transition:background-color .2s,color .2s;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.mobile-menu-overlay .mobile-menu-header .mobile-menu-close:hover{background-color:var(--accent-hover);color:var(--text-primary)}.mobile-menu-overlay .mobile-menu-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:none;-ms-overflow-style:none}.mobile-menu-overlay .mobile-menu-body::-webkit-scrollbar{display:none}.mobile-top-nav{display:none;padding:15px 20px;border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);flex-direction:column;gap:10px}@media(max-width: 768px){.mobile-top-nav{display:flex}}.mobile-top-nav .mobile-top-nav-item{padding:12px 16px;cursor:pointer;border-radius:6px;font-weight:500;transition:all .2s;color:var(--text-primary);text-align:center;border:1px solid var(--border-primary)}.mobile-top-nav .mobile-top-nav-item:hover{background-color:var(--accent-hover);color:var(--accent-primary)}.mobile-top-nav .mobile-top-nav-item.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.touch-feedback{position:relative;overflow:hidden}.touch-feedback::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background-color:hsla(0,0%,100%,.3);border-radius:50%;transform:translate(-50%, -50%);transition:width .3s,height .3s;pointer-events:none}.touch-feedback.active::before{width:200px;height:200px}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(max-width: 768px){body::after{content:"";position:fixed;top:50%;left:10px;transform:translateY(-50%);width:4px;height:60px;background:linear-gradient(to bottom, transparent, var(--accent-primary), transparent);border-radius:2px;opacity:0;animation:swipeHint 3s ease-in-out infinite;z-index:10;pointer-events:none}body.menu-shown::after{display:none}@keyframes swipeHint{0%,100%{opacity:0;transform:translateY(-50%) translateX(0)}50%{opacity:.6;transform:translateY(-50%) translateX(10px)}}}.btn,.save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:.375rem;font-size:.75rem;font-weight:500;line-height:1rem;padding:.375rem .75rem;transition:all .2s ease-in-out;cursor:pointer;border:1px solid rgba(0,0,0,0);user-select:none;text-decoration:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.btn:focus-visible,.save-btn:focus-visible,.btn:focus,.save-btn:focus{outline:none;box-shadow:0 0 0 4px rgba(59,130,246,.5)}.btn:disabled,.save-btn:disabled,.btn.disabled,.disabled.save-btn{pointer-events:none;opacity:.65;cursor:not-allowed}.btn .material-symbols-outlined,.save-btn .material-symbols-outlined,.btn svg,.save-btn svg{width:1.125em;height:1.125em;flex-shrink:0;line-height:1;vertical-align:middle}.btn .material-symbols-outlined,.save-btn .material-symbols-outlined{font-size:1.25em;line-height:1}.btn-blue,.btn-info,.btn-search,.btn-save,.btn-submit,.btn-confirm,.btn-primary,.save-btn{background-color:#3b82f6;color:#fff}.btn-blue:hover,.btn-info:hover,.btn-search:hover,.btn-save:hover,.btn-submit:hover,.btn-confirm:hover,.btn-primary:hover,.save-btn:hover{background-color:#2563eb}.btn-blue:focus-visible,.btn-info:focus-visible,.btn-search:focus-visible,.btn-save:focus-visible,.btn-submit:focus-visible,.btn-confirm:focus-visible,.btn-primary:focus-visible,.save-btn:focus-visible,.btn-blue:focus,.btn-info:focus,.btn-search:focus,.btn-save:focus,.btn-submit:focus,.btn-confirm:focus,.btn-primary:focus,.save-btn:focus{box-shadow:0 0 0 4px rgba(59,130,246,.5)}.btn-gray{background-color:#6b7280;color:#fff}.btn-gray:hover{background-color:#4b5563}.btn-gray:focus-visible,.btn-gray:focus{box-shadow:0 0 0 4px rgba(107,114,128,.5)}.btn-dark{background-color:#1f2937;color:#fff}.btn-dark:hover{background-color:#111827}.btn-dark:focus-visible,.btn-dark:focus{box-shadow:0 0 0 4px rgba(55,65,81,.5)}.btn-light{background-color:#f9fafb;color:#1f2937;border-color:#d1d5db}.btn-light:hover{background-color:#f3f4f6}.btn-light:focus-visible,.btn-light:focus{box-shadow:0 0 0 4px rgba(229,231,235,.5)}.btn-green,.btn-success{background-color:#22c55e;color:#fff}.btn-green:hover,.btn-success:hover{background-color:#16a34a}.btn-green:focus-visible,.btn-success:focus-visible,.btn-green:focus,.btn-success:focus{box-shadow:0 0 0 4px rgba(34,197,94,.5)}.btn-red,.btn-delete,.btn-remove,.btn-destructive{background-color:#ef4444;color:#fff}.btn-red:hover,.btn-delete:hover,.btn-remove:hover,.btn-destructive:hover{background-color:#dc2626}.btn-red:focus-visible,.btn-delete:focus-visible,.btn-remove:focus-visible,.btn-destructive:focus-visible,.btn-red:focus,.btn-delete:focus,.btn-remove:focus,.btn-destructive:focus{box-shadow:0 0 0 4px rgba(248,113,113,.5)}.btn-yellow,.btn-warning{background-color:#f59e0b;color:#fff}.btn-yellow:hover,.btn-warning:hover{background-color:#d97706}.btn-yellow:focus-visible,.btn-warning:focus-visible,.btn-yellow:focus,.btn-warning:focus{box-shadow:0 0 0 4px rgba(251,191,36,.5)}.btn-purple{background-color:#9333ea;color:#fff}.btn-purple:hover{background-color:#7c3aed}.btn-purple:focus-visible,.btn-purple:focus{box-shadow:0 0 0 4px rgba(192,132,252,.5)}.btn-pink{background-color:#ec4899;color:#fff}.btn-pink:hover{background-color:#db2777}.btn-pink:focus-visible,.btn-pink:focus{box-shadow:0 0 0 4px rgba(244,114,182,.5)}.btn-secondary,.btn-cancel,.btn-list,.btn-back{background-color:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn-secondary:hover,.btn-cancel:hover,.btn-list:hover,.btn-back:hover{background-color:#e5e7eb;color:#1f2937}.btn-secondary:focus-visible,.btn-cancel:focus-visible,.btn-list:focus-visible,.btn-back:focus-visible,.btn-secondary:focus,.btn-cancel:focus,.btn-list:focus,.btn-back:focus{box-shadow:0 0 0 4px rgba(156,163,175,.5)}.btn-tertiary{background-color:rgba(0,0,0,0);color:#374151;border-color:#d1d5db}.btn-tertiary:hover{background-color:#f3f4f6;color:#1f2937}.btn-tertiary:focus-visible,.btn-tertiary:focus{box-shadow:0 0 0 4px rgba(209,213,219,.5)}.btn-ghost,.btn-reset{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:var(--text-primary);box-shadow:none}.btn-ghost:hover,.btn-reset:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-ghost:focus-visible,.btn-reset:focus-visible,.btn-ghost:focus,.btn-reset:focus{box-shadow:0 0 0 4px rgba(156,163,175,.3)}.btn-outline-blue{background-color:rgba(0,0,0,0);color:#3b82f6;border-color:#3b82f6}.btn-outline-blue:hover{background-color:#3b82f6;color:#fff}.btn-outline-blue:focus-visible,.btn-outline-blue:focus{box-shadow:0 0 0 4px rgba(59,130,246,.5)}.btn-outline-gray{background-color:rgba(0,0,0,0);color:#6b7280;border-color:#6b7280}.btn-outline-gray:hover{background-color:#6b7280;color:#fff}.btn-outline-gray:focus-visible,.btn-outline-gray:focus{box-shadow:0 0 0 4px rgba(107,114,128,.5)}.btn-outline-dark{background-color:rgba(0,0,0,0);color:#1f2937;border-color:#1f2937}.btn-outline-dark:hover{background-color:#1f2937;color:#fff}.btn-outline-dark:focus-visible,.btn-outline-dark:focus{box-shadow:0 0 0 4px rgba(55,65,81,.5)}.btn-outline-light{background-color:rgba(0,0,0,0);color:#f9fafb;border-color:#f9fafb}.btn-outline-light:hover{background-color:#f9fafb;color:#1f2937}.btn-outline-light:focus-visible,.btn-outline-light:focus{box-shadow:0 0 0 4px rgba(229,231,235,.5)}.btn-outline-green{background-color:rgba(0,0,0,0);color:#22c55e;border-color:#22c55e}.btn-outline-green:hover{background-color:#22c55e;color:#fff}.btn-outline-green:focus-visible,.btn-outline-green:focus{box-shadow:0 0 0 4px rgba(34,197,94,.5)}.btn-outline-red{background-color:rgba(0,0,0,0);color:#ef4444;border-color:#ef4444}.btn-outline-red:hover{background-color:#ef4444;color:#fff}.btn-outline-red:focus-visible,.btn-outline-red:focus{box-shadow:0 0 0 4px rgba(248,113,113,.5)}.btn-outline-yellow{background-color:rgba(0,0,0,0);color:#f59e0b;border-color:#f59e0b}.btn-outline-yellow:hover{background-color:#f59e0b;color:#fff}.btn-outline-yellow:focus-visible,.btn-outline-yellow:focus{box-shadow:0 0 0 4px rgba(251,191,36,.5)}.btn-outline-purple{background-color:rgba(0,0,0,0);color:#9333ea;border-color:#9333ea}.btn-outline-purple:hover{background-color:#9333ea;color:#fff}.btn-outline-purple:focus-visible,.btn-outline-purple:focus{box-shadow:0 0 0 4px rgba(192,132,252,.5)}.btn-outline-pink{background-color:rgba(0,0,0,0);color:#ec4899;border-color:#ec4899}.btn-outline-pink:hover{background-color:#ec4899;color:#fff}.btn-outline-pink:focus-visible,.btn-outline-pink:focus{box-shadow:0 0 0 4px rgba(244,114,182,.5)}.btn-outline{background-color:rgba(0,0,0,0);color:var(--text-primary);border-color:var(--border-primary)}.btn-outline:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-outline:focus-visible,.btn-outline:focus{box-shadow:0 0 0 4px rgba(156,163,175,.3)}.btn-pill{border-radius:9999px}.btn-xs{font-size:.625rem;padding:.25rem .5rem;border-radius:.25rem}.btn-xs .material-symbols-outlined,.btn-xs svg{width:.625rem;height:.625rem}.btn-sm{font-size:.6875rem;padding:.3125rem .625rem;border-radius:.3125rem}.btn-sm .material-symbols-outlined,.btn-sm svg{width:.6875rem;height:.6875rem}.btn-md{font-size:.75rem;padding:.375rem .75rem}.btn-lg{font-size:.875rem;padding:.5rem .875rem;border-radius:.4375rem}.btn-lg .material-symbols-outlined,.btn-lg svg{width:1rem;height:1rem}.btn-xl{font-size:.875rem;padding:.625rem 1rem;border-radius:.5rem}.btn-xl .material-symbols-outlined,.btn-xl svg{width:1.125rem;height:1.125rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;width:1.75rem;height:1.75rem}.btn-icon .material-symbols-outlined,.btn-icon svg{width:.875rem;height:.875rem;margin:0}.btn-icon-sm,.btn-icon.btn-sm{width:1.5rem;height:1.5rem}.btn-icon-sm .material-symbols-outlined,.btn-icon-sm svg,.btn-icon.btn-sm .material-symbols-outlined,.btn-icon.btn-sm svg{width:.75rem;height:.75rem}.btn-icon-xs,.btn-icon.btn-xs{width:1.25rem;height:1.25rem}.btn-icon-xs .material-symbols-outlined,.btn-icon-xs svg,.btn-icon.btn-xs .material-symbols-outlined,.btn-icon.btn-xs svg{width:.625rem;height:.625rem}.btn-icon-lg,.btn-icon.btn-lg{width:2rem;height:2rem}.btn-icon-lg .material-symbols-outlined,.btn-icon-lg svg,.btn-icon.btn-lg .material-symbols-outlined,.btn-icon.btn-lg svg{width:1rem;height:1rem}.btn-icon-xl,.btn-icon.btn-xl{width:2.25rem;height:2.25rem}.btn-icon-xl .material-symbols-outlined,.btn-icon-xl svg,.btn-icon.btn-xl .material-symbols-outlined,.btn-icon.btn-xl svg{width:1.125rem;height:1.125rem}.btn-loading{pointer-events:none;position:relative}.btn-loading .btn-spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.btn-blink{animation:btn-pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite}.btn-blink:hover{animation:none}.btn-blink:disabled,.btn-blink.disabled{animation:none}.btn-blink-fast{animation:btn-pulse .8s cubic-bezier(0.4, 0, 0.6, 1) infinite}.btn-blink-fast:hover{animation:none}.btn-blink-fast:disabled,.btn-blink-fast.disabled{animation:none}.btn-blink-slow{animation:btn-pulse 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite}.btn-blink-slow:hover{animation:none}.btn-blink-slow:disabled,.btn-blink-slow.disabled{animation:none}.btn-blink-glow{animation:btn-glow 1.5s ease-in-out infinite}.btn-blink-glow:hover{animation:none}.btn-blink-glow:disabled,.btn-blink-glow.disabled{animation:none}@keyframes btn-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(0.98)}}@keyframes btn-glow{0%,100%{box-shadow:0 0 5px rgba(59,130,246,.5),0 0 10px rgba(59,130,246,.3)}50%{box-shadow:0 0 15px rgba(59,130,246,.8),0 0 25px rgba(59,130,246,.5),0 0 35px rgba(59,130,246,.3)}}.btn-group{display:inline-flex}.btn-group .btn,.btn-group .save-btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child,.btn-group .save-btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.btn-group .btn:last-child,.btn-group .save-btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-right-width:1px}.btn-group .btn:focus-visible,.btn-group .save-btn:focus-visible{z-index:1}.btn-group-inline{display:inline-flex;gap:.5rem;align-items:center}.btn-link{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:#3b82f6;text-decoration:underline;text-underline-offset:4px;padding:0;height:auto;box-shadow:none}.btn-link:hover{color:#2563eb;background-color:rgba(0,0,0,0);box-shadow:none}.btn-link:focus-visible,.btn-link:focus{box-shadow:none}.btn-danger-text{color:#ef4444}.btn-danger-text:hover{color:#dc2626;background-color:rgba(239,68,68,.1)}.btn-success-text{color:#22c55e}.btn-success-text:hover{color:#16a34a;background-color:rgba(34,197,94,.1)}.btn-warning-text{color:#f59e0b}.btn-warning-text:hover{color:#d97706;background-color:rgba(245,158,11,.1)}.btn-primary-text{color:#3b82f6}.btn-primary-text:hover{color:#2563eb;background-color:rgba(59,130,246,.1)}[data-theme=dark] .btn-secondary,[data-theme=dark] .btn-cancel,[data-theme=dark] .btn-list,[data-theme=dark] .btn-back,.dark .btn-secondary,.dark .btn-cancel,.dark .btn-list,.dark .btn-back{background-color:#374151;color:#f9fafb;border-color:#4b5563}[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .btn-cancel:hover,[data-theme=dark] .btn-list:hover,[data-theme=dark] .btn-back:hover,.dark .btn-secondary:hover,.dark .btn-cancel:hover,.dark .btn-list:hover,.dark .btn-back:hover{background-color:#4b5563;color:#fff}[data-theme=dark] .btn-tertiary,.dark .btn-tertiary{background-color:rgba(0,0,0,0);color:#f9fafb;border-color:#4b5563}[data-theme=dark] .btn-tertiary:hover,.dark .btn-tertiary:hover{background-color:#374151;color:#fff}[data-theme=dark] .btn-ghost,[data-theme=dark] .btn-reset,.dark .btn-ghost,.dark .btn-reset{color:#f9fafb}[data-theme=dark] .btn-ghost:hover,[data-theme=dark] .btn-reset:hover,.dark .btn-ghost:hover,.dark .btn-reset:hover{background-color:#374151}[data-theme=dark] .btn-outline,.dark .btn-outline{color:#f9fafb;border-color:#4b5563}[data-theme=dark] .btn-outline:hover,.dark .btn-outline:hover{background-color:#374151}[data-theme=dark] .btn-light,.dark .btn-light{background-color:#374151;color:#f9fafb;border-color:#4b5563}[data-theme=dark] .btn-light:hover,.dark .btn-light:hover{background-color:#4b5563}@media(prefers-color-scheme: dark){.btn-secondary,.btn-cancel,.btn-list,.btn-back{background-color:#374151;color:#f9fafb;border-color:#4b5563}.btn-secondary:hover,.btn-cancel:hover,.btn-list:hover,.btn-back:hover{background-color:#4b5563;color:#fff}.btn-tertiary{background-color:rgba(0,0,0,0);color:#f9fafb;border-color:#4b5563}.btn-tertiary:hover{background-color:#374151;color:#fff}.btn-ghost,.btn-reset{color:#f9fafb}.btn-ghost:hover,.btn-reset:hover{background-color:#374151}.btn-outline{color:#f9fafb;border-color:#4b5563}.btn-outline:hover{background-color:#374151}}.pagination{display:flex;align-items:center;justify-content:center;gap:.25rem;list-style:none;padding:0;margin:1.25rem 0}.pagination .page-item .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .375rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary);text-decoration:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);transition:all .2s;cursor:pointer}.pagination .page-item .page-link:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.pagination .page-item.active .page-link{background-color:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600;pointer-events:none}.pagination .page-item.disabled .page-link{opacity:.5;pointer-events:none;cursor:not-allowed}.tabulator .tabulator-footer{background-color:rgba(0,0,0,0) !important;border-top:1px solid var(--border-primary) !important;padding:1.25rem 0 !important}.tabulator .tabulator-footer .tabulator-paginator{display:flex;justify-content:center;align-items:center;gap:.25rem;color:var(--text-primary)}.tabulator .tabulator-footer .tabulator-page{display:inline-flex !important;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .375rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary) !important;background-color:rgba(0,0,0,0) !important;border:1px solid rgba(0,0,0,0) !important;transition:all .2s;cursor:pointer;opacity:1 !important;margin:0 !important}.tabulator .tabulator-footer .tabulator-page:hover{background-color:var(--bg-secondary) !important;color:var(--text-primary) !important}.tabulator .tabulator-footer .tabulator-page.active{background-color:#3b82f6 !important;border-color:#3b82f6 !important;color:#fff !important;font-weight:600;pointer-events:none}.tabulator .tabulator-footer .tabulator-page:disabled,.tabulator .tabulator-footer .tabulator-page[disabled]{opacity:.5 !important;cursor:not-allowed;pointer-events:none;background-color:rgba(0,0,0,0) !important;color:var(--text-primary) !important}.menu-box,.menu-box-style{width:-webkit-fill-available;display:inline-flex;flex-direction:row;align-items:stretch;margin:0;gap:.25rem;box-shadow:none;line-height:1.1rem;cursor:pointer}.menu-box.vertical,.menu-box-style.vertical{flex-direction:column !important}.menu-box.wrap,.menu-box-style.wrap{flex-wrap:wrap;row-gap:.25rem}.menu-box.menu-gap-tiny,.menu-box-style.menu-gap-tiny{gap:.25rem}.menu-box.menu-gap-min,.menu-box-style.menu-gap-min{gap:.5rem}.menu-box.menu-gap-mid,.menu-box-style.menu-gap-mid{gap:.75rem}.menu-box.menu-gap-big,.menu-box-style.menu-gap-big{gap:1rem}.menu-box.menu-gap-huge,.menu-box-style.menu-gap-huge{gap:1.5rem}.menu-box.menu-align-start,.menu-box-style.menu-align-start{align-items:flex-start}.menu-box.menu-align-center,.menu-box-style.menu-align-center{align-items:center}.menu-box.menu-align-end,.menu-box-style.menu-align-end{align-items:flex-end}.menu-box.menu-nowrap,.menu-box-style.menu-nowrap{flex-wrap:nowrap !important}@media(max-width: 1024px){.menu-box.menu-reverse,.menu-box-style.menu-reverse{flex-direction:row-reverse}}.menu-box .item,.menu-box-style .item{position:relative;display:flex;flex:1 0 auto;flex-wrap:nowrap;flex-direction:row;vertical-align:middle;align-items:center;justify-content:center;margin:0;padding:1rem 1.5rem;background-color:var(--bg-secondary);color:var(--text-primary);font-weight:600;font-size:1rem;text-decoration:none;border-radius:.5rem;transition:all .2s ease-in-out}.menu-box .item:last-child,.menu-box-style .item:last-child{margin-right:0}.menu-box .item:hover,.menu-box-style .item:hover{background-color:#3b82f6;color:#fff}.menu-box .item.active,.menu-box-style .item.active{background-color:#1f2937;color:#fff}.menu-box .item.inline-box,.menu-box-style .item.inline-box{display:inline-flex;margin:.25rem}.menu-box.line .item,.menu-box-style.line .item{padding:.7rem 1rem;background-color:rgba(0,0,0,0);border-bottom:2px solid var(--border-primary);border-radius:0}.menu-box.line .item:hover,.menu-box-style.line .item:hover{background-color:rgba(0,0,0,0);color:#3b82f6;border-color:#3b82f6}.menu-box.line .item.active,.menu-box-style.line .item.active{background-color:rgba(0,0,0,0);color:#3b82f6;border-color:#3b82f6}.menu-box.big .item,.menu-box-style.big .item{padding:1.2rem 2rem}.menu-box.small .item,.menu-box-style.small .item{padding:.5rem .8rem;font-size:.875rem;font-weight:500}.menu-box.tiny .item,.menu-box-style.tiny .item{padding:.2rem .5rem;font-size:.75rem;font-weight:normal}.menu-box.style-primary:not(.line) .item,.menu-box-style.style-primary:not(.line) .item{background-color:var(--bg-tertiary)}.menu-box.style-primary:not(.line) .item:hover,.menu-box.style-primary:not(.line) .item.active,.menu-box-style.style-primary:not(.line) .item:hover,.menu-box-style.style-primary:not(.line) .item.active{background-color:#3b82f6;color:#fff}.menu-box.style-warning:not(.line) .item,.menu-box-style.style-warning:not(.line) .item{background-color:var(--bg-tertiary)}.menu-box.style-warning:not(.line) .item:hover,.menu-box-style.style-warning:not(.line) .item:hover{background-color:#f59e0b;color:#fff}.menu-box.style-warning:not(.line) .item.active,.menu-box-style.style-warning:not(.line) .item.active{background-color:#d97706;color:#fff}.menu-box.style-success:not(.line) .item,.menu-box-style.style-success:not(.line) .item{background-color:var(--bg-tertiary)}.menu-box.style-success:not(.line) .item:hover,.menu-box-style.style-success:not(.line) .item:hover{background-color:#22c55e;color:#fff}.menu-box.style-success:not(.line) .item.active,.menu-box-style.style-success:not(.line) .item.active{background-color:#16a34a;color:#fff}.menu-box-vertical{width:100%;line-height:1.1rem}.menu-box-vertical .item{position:relative;cursor:pointer;display:block;padding:1rem 1.5rem;background-color:rgba(0,0,0,0);color:var(--text-primary);text-decoration:none;border-radius:.5rem;transition:all .2s ease-in-out}.menu-box-vertical .item:hover{background-color:#3b82f6;color:#fff}.menu-box-vertical .item.active{background-color:#1f2937;color:#fff}.menu-box-vertical.tiny .item{padding:.2rem 1rem;font-size:.75rem}.menu-box-vertical.small .item{padding:.7rem 1rem;font-size:.875rem}.menu-box-vertical.big .item{padding:1.2rem 2rem;font-size:1.1rem}.menu-box-vertical.line .item{border-left:3px solid rgba(0,0,0,0);border-radius:0;background-color:rgba(0,0,0,0)}.menu-box-vertical.line .item:hover{background-color:var(--bg-secondary);border-color:#3b82f6;color:#3b82f6}.menu-box-vertical.line .item.active{background-color:var(--bg-secondary);border-color:#1f2937;color:#1f2937}.menu-box-vertical.divided .item{border-bottom:1px solid var(--border-primary)}.menu-box-vertical.divided .item:last-child{border-bottom:none}.form-group{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.form-group.form-group-inline{flex-direction:row;align-items:center;gap:12px}.form-group.form-group-inline .form-label{margin-bottom:0;min-width:100px}.form-group label{display:block;margin-bottom:2px;font-size:14px;font-weight:500;color:var(--text-primary);transition:color .3s}.form-group label.form-radio{display:inline-flex;margin-bottom:0}.form-grid{display:grid;column-gap:16px;row-gap:20px;margin-bottom:16px;grid-template-columns:repeat(2, 1fr)}.form-grid.cols-3{grid-template-columns:repeat(3, 1fr)}.form-grid.cols-4{grid-template-columns:repeat(4, 1fr)}.form-grid .form-group.full-width,.form-grid .full-width{grid-column:1/-1}.form-grid .form-group.span-2,.form-grid .span-2{grid-column:span 2}.form-grid .form-group{margin-bottom:0}@media(max-width: 1024px){.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:repeat(2, 1fr)}.form-grid .span-2{grid-column:span 2}}@media(max-width: 768px){.form-grid{grid-template-columns:1fr}.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.form-label{display:block;margin-bottom:2px;font-size:14px;font-weight:500;line-height:1;color:var(--text-primary);transition:color .3s}.form-label.disabled{cursor:not-allowed;opacity:.7}.form-label.required::after{content:" ☑";color:#b92bf1;margin-left:2px;font-size:.9em}.form-label .required{color:#b92bf1;margin-left:2px}.form-input[required],.form-select[required],.form-textarea[required]{border-color:#b92bf1}.form-input[required]:focus,.form-select[required]:focus,.form-textarea[required]:focus{border-color:#b92bf1;box-shadow:0 0 0 1px #b92bf1}.form-radio-group.required,.form-checkbox-group.required{border-left:3px solid #b92bf1;padding-left:12px;margin-left:-12px}.form-description{font-size:12px;color:var(--text-secondary);margin-top:4px}.form-message{font-size:12px;font-weight:500;color:#ef4444;margin-top:4px}.form-input{display:flex;height:36px;width:100%;border-radius:6px;border:1px solid var(--border-primary);background-color:var(--bg-primary);padding:6px 12px;font-size:14px;color:var(--text-primary);transition:all .2s}.form-input::placeholder{color:var(--text-secondary);opacity:.5}.form-input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.form-input:disabled{cursor:not-allowed;opacity:.5;background-color:var(--bg-secondary)}.form-input:read-only,.form-input[readonly]{cursor:not-allowed;background-color:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-secondary)}.form-input:read-only:focus,.form-input[readonly]:focus{border-color:var(--border-secondary);box-shadow:none}.form-input.is-invalid{border-color:#ef4444;background-color:rgba(239,68,68,.05)}.form-input.is-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 1px #ef4444}.form-input[type=file]{border:0;background-color:rgba(0,0,0,0);font-size:14px;font-weight:500;padding:0;height:auto}.form-input.error{border-color:#ef4444}.form-input.error:focus{box-shadow:0 0 0 1px #ef4444}.form-textarea{display:flex;min-height:60px;width:100%;border-radius:6px;border:1px solid var(--border-primary);background-color:var(--bg-primary);padding:8px 12px;font-size:14px;color:var(--text-primary);resize:vertical}.form-textarea::placeholder{color:var(--text-secondary);opacity:.5}.form-textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.form-textarea:disabled{cursor:not-allowed;opacity:.5;background-color:var(--bg-secondary)}.form-select{display:inline-flex;height:36px;width:100%;border-radius:6px;border:1px solid var(--border-primary);background-color:var(--bg-primary);padding:6px 32px 6px 12px;font-size:14px;color:var(--text-primary);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;vertical-align:middle}.form-select:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.form-select:disabled{cursor:not-allowed;opacity:.5;background-color:var(--bg-secondary)}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper .form-checkbox{appearance:none;height:16px;width:16px;border-radius:4px;border:1px solid var(--text-primary);background-color:var(--bg-primary);cursor:pointer;position:relative}.checkbox-wrapper .form-checkbox:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.checkbox-wrapper .form-checkbox:checked{background-color:var(--text-primary);border-color:var(--text-primary)}.checkbox-wrapper .form-checkbox:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:10px;height:10px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat}.checkbox-wrapper .form-checkbox:disabled{cursor:not-allowed;opacity:.5}.checkbox-wrapper .checkbox-label{font-size:14px;font-weight:500;line-height:1;color:var(--text-primary);cursor:pointer;user-select:none}.checkbox-wrapper .checkbox-label.disabled{cursor:not-allowed;opacity:.7}.radio-group-inline{display:inline-flex;gap:20px;align-items:center}.form-switch{position:relative;display:inline-flex;align-items:center}.form-switch input{opacity:0;width:0;height:0}.form-switch input:checked+.switch-slider{background-color:var(--text-primary)}.form-switch input:checked+.switch-slider::before{transform:translateX(20px)}.form-switch input:focus-visible+.switch-slider{outline:none;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.form-switch input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}.form-switch .switch-slider{width:44px;height:24px;background-color:var(--border-primary);border-radius:9999px;position:relative;transition:background-color .2s;cursor:pointer}.form-switch .switch-slider::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--bg-primary);border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px rgba(0,0,0,.2)}input[type=radio]{appearance:none !important;-webkit-appearance:none !important;width:28px !important;height:16px !important;background-color:#e5e7eb !important;border-radius:9999px !important;border:none !important;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;margin:0;vertical-align:middle}input[type=radio]::before{content:"" !important;position:absolute;top:2px;left:2px;width:12px !important;height:12px !important;background-color:#fff !important;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.2)}input[type=radio]:checked{background-color:#f59e0b !important}input[type=radio]:checked::before{transform:translateX(12px)}input[type=radio]:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}input[type=radio]:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox]{appearance:none !important;-webkit-appearance:none !important;width:28px !important;height:16px !important;background-color:#e5e7eb !important;border-radius:3px !important;border:none !important;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;margin:0;vertical-align:middle}input[type=checkbox]::before{content:"" !important;position:absolute;top:2px;left:2px;width:12px !important;height:12px !important;background-color:#fff !important;border-radius:2px;transition:transform .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.2)}input[type=checkbox]:checked{background-color:#3b82f6 !important}input[type=checkbox]:checked::before{transform:translateX(12px)}input[type=checkbox]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox-classic input[type=checkbox],.form-checkbox-classicinput[type=checkbox]{appearance:none !important;-webkit-appearance:none !important;width:16px !important;height:16px !important;background-color:var(--bg-primary, white) !important;border:2px solid var(--border-primary, #d1d5db) !important;border-radius:3px !important;position:relative;cursor:pointer;transition:all .2s ease;margin:0;vertical-align:middle}.form-checkbox-classic input[type=checkbox]::before,.form-checkbox-classicinput[type=checkbox]::before{content:"" !important;position:absolute;top:1px;left:4px;width:5px !important;height:9px !important;background-color:rgba(0,0,0,0) !important;border:solid #fff !important;border-width:0 2px 2px 0 !important;border-radius:0 !important;transform:rotate(45deg) scale(0);transition:transform .15s ease;box-shadow:none !important}.form-checkbox-classic input[type=checkbox]:checked,.form-checkbox-classicinput[type=checkbox]:checked{background-color:#3b82f6 !important;border-color:#3b82f6 !important}.form-checkbox-classic input[type=checkbox]:checked::before,.form-checkbox-classicinput[type=checkbox]:checked::before{transform:rotate(45deg) scale(1)}.form-checkbox-classic input[type=checkbox]:hover:not(:disabled),.form-checkbox-classicinput[type=checkbox]:hover:not(:disabled){border-color:#3b82f6}.form-checkbox-classic input[type=checkbox]:focus-visible,.form-checkbox-classicinput[type=checkbox]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.form-checkbox-classic input[type=checkbox]:disabled,.form-checkbox-classicinput[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.form-radio-classic input[type=radio],.form-radio-classicinput[type=radio]{appearance:none !important;-webkit-appearance:none !important;width:16px !important;height:16px !important;background-color:var(--bg-primary, white) !important;border:2px solid var(--border-primary, #d1d5db) !important;border-radius:50% !important;position:relative;cursor:pointer;transition:all .2s ease;margin:0;vertical-align:middle}.form-radio-classic input[type=radio]::before,.form-radio-classicinput[type=radio]::before{content:"" !important;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);width:6px !important;height:6px !important;background-color:#fff !important;border-radius:50% !important;transition:transform .15s ease;box-shadow:none !important}.form-radio-classic input[type=radio]:checked,.form-radio-classicinput[type=radio]:checked{background-color:#f59e0b !important;border-color:#f59e0b !important}.form-radio-classic input[type=radio]:checked::before,.form-radio-classicinput[type=radio]:checked::before{transform:translate(-50%, -50%) scale(1)}.form-radio-classic input[type=radio]:hover:not(:disabled),.form-radio-classicinput[type=radio]:hover:not(:disabled){border-color:#f59e0b}.form-radio-classic input[type=radio]:focus-visible,.form-radio-classicinput[type=radio]:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.form-radio-classic input[type=radio]:disabled,.form-radio-classicinput[type=radio]:disabled{opacity:.5;cursor:not-allowed}.form-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;white-space:nowrap}.form-radio input[type=radio]{appearance:none;-webkit-appearance:none;width:28px;height:16px;background-color:#e5e7eb;border-radius:9999px;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;margin:0}.form-radio input[type=radio]::before{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.2)}.form-radio input[type=radio]:checked{background-color:#f59e0b}.form-radio input[type=radio]:checked::before{transform:translateX(12px)}.form-radio input[type=radio]:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.form-radio input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.form-radio span{font-size:13px;color:var(--text-primary);line-height:16px}.form-radio:has(input:checked) span{font-weight:600;color:#f59e0b}.form-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;white-space:nowrap}.form-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:28px;height:16px;background-color:#e5e7eb;border-radius:3px;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;margin:0}.form-checkbox input[type=checkbox]::before{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background-color:#fff;border-radius:2px;transition:transform .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.2)}.form-checkbox input[type=checkbox]:checked{background-color:#3b82f6}.form-checkbox input[type=checkbox]:checked::before{transform:translateX(12px)}.form-checkbox input[type=checkbox]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.form-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox span{font-size:13px;color:var(--text-primary);line-height:1}.form-checkbox:has(input:checked) span{font-weight:600;color:#3b82f6}.form-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-checkbox-row .form-label{display:block;margin-bottom:0;flex:1}.form-checkbox-row .form-checkbox{flex-shrink:0}.input-group{display:flex;width:100%}.input-group .form-input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .input-group-text{display:flex;align-items:center;padding:0 12px;background-color:var(--bg-secondary);border:1px solid var(--border-primary);font-size:14px;color:var(--text-secondary)}.input-group .input-group-text:first-child{border-right:0;border-top-left-radius:6px;border-bottom-left-radius:6px}.input-group .input-group-text:last-child{border-left:0;border-top-right-radius:6px;border-bottom-right-radius:6px}.editable{position:relative;cursor:pointer;transition:all .2s;border:1px solid rgba(0,0,0,0);border-radius:6px}.editable:hover{background-color:var(--bg-secondary);border-color:var(--border-primary);padding-right:24px !important}.editable:hover::after{content:"✏️";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.5}.editable:focus-within{background-color:var(--bg-primary);border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary);z-index:1}.editable:focus-within::after{display:none}.option-section{padding:15px;background-color:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-primary);margin-bottom:15px}.option-section h4,.option-section h5{margin:0 0 15px 0;color:var(--text-primary);font-weight:600}.option-section h5{color:var(--accent-primary)}.tab-content{display:none;padding:15px 0}.tab-content.active{display:block}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-primary)}.form-actions.align-left{justify-content:flex-start}.form-actions.align-between{justify-content:space-between}.form-actions.align-center{justify-content:center}.category-box{border:1px solid var(--border-primary);border-radius:6px;padding:15px;margin-bottom:15px}.category-box h5{margin:0 0 15px 0;color:var(--accent-primary);font-weight:600}.category-table{width:100%;border-collapse:collapse}.category-table th{width:120px;text-align:right;padding:8px 15px 8px 0;color:var(--text-secondary);font-weight:500;vertical-align:middle}.category-table td{padding:8px 0;vertical-align:middle}.mb-0{margin-bottom:0 !important}.form-input-sm{max-width:100px}.form-input-md{max-width:300px}.form-input-lg{max-width:500px}.form-color-picker{height:40px;width:60px;padding:0;border:none;cursor:pointer;border-radius:4px}.form-radio-hidden{display:none}.form-radio-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.form-checkbox-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.form-section-sub{background-color:var(--bg-secondary);border-radius:8px;padding:16px;border:1px solid var(--border-secondary)}.form-label-sm{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-section-primary{background:linear-gradient(135deg, var(--accent-hover) 0%, var(--bg-secondary) 100%);border-radius:8px;padding:16px;border:2px solid var(--accent-primary);position:relative}.form-section-primary::before{content:"필수";position:absolute;top:-10px;right:12px;background-color:var(--accent-primary);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.form-help-text{font-size:12px;color:var(--text-secondary);margin-top:8px;margin-bottom:0}.address-picker{width:100%}.address-picker-search{display:flex;gap:8px;margin-bottom:12px}.address-picker-search .address-picker-input{flex:1}.address-picker-search .address-picker-btn{white-space:nowrap}.address-picker-results{border:1px solid var(--border-primary);border-radius:8px;background-color:var(--bg-primary);margin-bottom:12px;overflow:hidden}.address-picker-loading{padding:16px;text-align:center;color:var(--text-secondary)}.address-picker-table{width:100%;border-collapse:collapse;font-size:13px}.address-picker-table th,.address-picker-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-secondary)}.address-picker-table th{background-color:var(--bg-secondary);font-weight:600;color:var(--text-primary);white-space:nowrap}.address-picker-table .zip{color:var(--accent-primary);font-weight:600;text-align:center}.address-picker-row{cursor:pointer;transition:background-color .2s}.address-picker-row:hover{background-color:var(--accent-hover)}.address-picker-row:last-child td{border-bottom:none}.address-picker-paging{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;background-color:var(--bg-secondary);border-top:1px solid var(--border-secondary)}.address-picker-paging .address-picker-page-info{font-size:13px;color:var(--text-secondary)}.address-picker-selected{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.address-picker-selected-info{padding:16px;background-color:var(--bg-secondary)}.address-picker-field{display:flex;align-items:center;gap:12px;margin-bottom:8px}.address-picker-field:last-child{margin-bottom:0}.address-picker-label{flex-shrink:0;width:80px;font-size:12px;font-weight:500;color:var(--text-secondary)}.address-picker-value{flex:1;font-size:14px;color:var(--text-primary)}.address-picker-value.zip{font-weight:600;color:var(--accent-primary)}.address-picker-addr2{flex:1}.address-picker-map{border-top:1px solid var(--border-secondary)}.form-section{margin-bottom:20px}.form-section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--accent-primary)}.form-row{margin-bottom:16px}.form-row.mb-0,.form-row:last-child{margin-bottom:0}.form-help-text{margin-top:4px;font-size:12px;color:var(--text-secondary)}.form-help-text.mt-0{margin-top:0}.password-section{background:var(--bg-secondary);padding:16px;border-radius:8px;margin-top:20px}.password-section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.password-section-title i{color:var(--accent-primary)}.search-input-group{display:flex;align-items:stretch;border:1px solid var(--border-primary, #cbd5e1);border-radius:6px;overflow:hidden;background:var(--bg-primary, #fff);width:280px}.search-input-group input{flex:1;border:none;padding:8px 12px;font-size:14px;outline:none;background:rgba(0,0,0,0);color:var(--text-primary);min-width:0}.search-input-group input::placeholder{color:var(--text-secondary, #94a3b8);opacity:.7}.search-input-group input:focus{outline:none}.search-input-group button{display:flex;align-items:center;justify-content:center;padding:8px 12px;border:none;border-left:1px solid var(--border-light, #e2e8f0);background:var(--bg-secondary, #f1f5f9);cursor:pointer;transition:background .2s;flex-shrink:0}.search-input-group button:hover{background:var(--bg-hover, #e2e8f0)}.search-input-group button .material-symbols-outlined{font-size:20px;color:var(--text-secondary, #64748b)}.search-input-group.search-sm{width:200px}.search-input-group.search-sm input{padding:6px 10px;font-size:13px}.search-input-group.search-sm button{padding:6px 10px}.search-input-group.search-sm button .material-symbols-outlined{font-size:18px}.search-input-group.search-lg{width:360px}.search-input-group.search-lg input{padding:10px 14px;font-size:15px}.search-input-group.search-lg button{padding:10px 14px}.search-input-group.search-lg button .material-symbols-outlined{font-size:22px}.search-input-group.search-full{width:100%}.search-input-group:focus-within{border-color:var(--accent-primary, #6366f1);box-shadow:0 0 0 1px var(--accent-primary, #6366f1)}.form-image-upload{display:flex;align-items:flex-start;gap:16px}.form-image-preview{width:120px;height:120px;border:2px dashed var(--border-primary, #e5e7eb);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary, #f9fafb);overflow:hidden}.form-image-preview img{width:100%;height:100%;object-fit:cover}.form-image-preview .material-symbols-outlined{font-size:32px;color:var(--text-muted, #9ca3af)}.form-image-preview span:not(.material-symbols-outlined){font-size:12px;color:var(--text-muted, #9ca3af);margin-top:4px}.form-image-actions{display:flex;flex-direction:column;gap:8px}.form-image-actions .btn-sm{padding:6px 12px;font-size:12px}.form-image-actions .form-help-text{margin-top:4px}.image-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;animation:fadeIn .2s ease}.image-preview-content{position:relative;max-width:90vw;max-height:90vh;cursor:default}.image-preview-content img{max-width:100%;max-height:80vh;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4)}.image-preview-caption{text-align:center;color:#fff;font-size:14px;margin-top:12px;padding:0 16px}.image-preview-close{position:absolute;top:-40px;right:0;width:36px;height:36px;border:none;background:hsla(0,0%,100%,.1);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-preview-close .material-symbols-outlined{color:#fff;font-size:24px}.image-preview-close:hover{background:hsla(0,0%,100%,.2)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.multi-line-cell{font-size:12px;line-height:1.4}.multi-line-cell>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-cell .price-label{color:var(--text-muted);font-size:11px}.product-cell{display:flex;align-items:center;gap:10px}.product-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;cursor:pointer;flex-shrink:0;border:1px solid var(--border-secondary)}.product-thumb-empty{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:6px;flex-shrink:0}.product-thumb-empty .material-symbols-outlined{font-size:20px;color:var(--text-muted)}.product-info{display:flex;flex-direction:column;overflow:hidden}.product-info strong{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-info small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-search-bar{background:var(--bg-secondary);padding:12px 16px;border-radius:12px;border:1px solid var(--border-primary);margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-search-bar .form-group-inline{margin-bottom:0;width:100%;display:flex;align-items:center}.search-group{background:var(--bg-primary);border-radius:8px !important;overflow:hidden;border:1px solid var(--border-primary) !important;display:flex;align-items:center;width:fit-content}.search-group>*:not(:last-child){border-right:1px solid var(--border-primary) !important}.search-group .input-group-text,.search-group .form-input,.search-group .form-select,.search-group .btn{border:none !important;border-radius:0 !important;margin:0 !important;height:38px !important;box-shadow:none !important}.search-group .input-group-text:focus,.search-group .form-input:focus,.search-group .form-select:focus,.search-group .btn:focus{background:var(--bg-secondary)}.search-group .input-group-text{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:13px;padding:0 15px}.divider-v{width:1px;height:20px;background:var(--border-primary);margin:0 10px}.profile-photo-wrapper{text-align:center;margin-bottom:20px}.profile-photo-container{position:relative;display:inline-block;cursor:pointer;border-radius:50%;overflow:hidden;width:100px;height:100px;border:3px solid var(--border-primary);transition:all .2s}.profile-photo-container:hover{border-color:var(--accent-primary);transform:scale(1.05)}.profile-photo-container img{width:100%;height:100%;object-fit:cover}.profile-photo-container .photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.profile-photo-container .photo-overlay .material-symbols-outlined{color:#fff;font-size:32px}.profile-photo-container:hover .photo-overlay{opacity:1}.form-section{margin-bottom:24px}.form-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:6px}.form-section-title .material-symbols-outlined{font-size:18px;color:var(--accent-primary)}.form-section-password{background:#fef3c7;padding:16px;border-radius:8px;border:1px solid #fcd34d}.form-section-password .form-section-title{color:#92400e;border-bottom-color:#fcd34d}.map-view-container{width:100%;height:200px;border-radius:8px;overflow:hidden;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.map-view-container img{width:100%;height:100%;object-fit:cover}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mt-5{margin-top:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.table{width:100%;border-collapse:collapse;background-color:var(--bg-primary);font-size:14px}.table thead{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-primary)}.table thead th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap;position:relative}.table thead th.sortable{cursor:pointer;user-select:none;padding-right:30px}.table thead th.sortable::after{content:"⇅";position:absolute;right:12px;opacity:.3;transition:opacity .2s ease}.table thead th.sortable:hover::after{opacity:.7}.table thead th.sortable.sort-asc::after{content:"↑";opacity:1;color:var(--accent-primary)}.table thead th.sortable.sort-desc::after{content:"↓";opacity:1;color:var(--accent-primary)}.table thead th.checkbox-column{width:40px;text-align:center}.table thead th.action-column{width:100px;text-align:center}.table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background-color .2s ease}.table tbody tr:hover{background-color:var(--bg-secondary)}.table tbody tr.selected{background-color:var(--accent-hover)}.table tbody tr.disabled{opacity:.5;cursor:not-allowed}.table tbody tr.disabled:hover{background-color:rgba(0,0,0,0)}.table tbody tr.success{background-color:rgba(40,167,69,.1)}.table tbody tr.warning{background-color:rgba(255,193,7,.1)}.table tbody tr.danger{background-color:rgba(220,53,69,.1)}.table tbody tr.info{background-color:rgba(0,123,255,.1)}.table tbody td{padding:12px 16px;color:var(--text-primary);vertical-align:middle}.table tbody td.checkbox-cell{text-align:center;width:40px}.table tbody td.action-cell{text-align:center;white-space:nowrap}.table tbody td.action-cell .btn{padding:4px 12px;font-size:12px;margin:0 2px}.table tbody td .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.table tbody td .status-badge.active{background-color:rgba(40,167,69,.2);color:#28a745}.table tbody td .status-badge.inactive{background-color:rgba(220,53,69,.2);color:#dc3545}.table tbody td .status-badge.pending{background-color:rgba(255,193,7,.2);color:#ffc107}.table tfoot{background-color:var(--bg-secondary);border-top:2px solid var(--border-primary)}.table tfoot td{padding:12px 16px;font-weight:600;color:var(--text-primary)}.table.table-bordered{border:1px solid var(--border-primary)}.table.table-bordered th,.table.table-bordered td{border:1px solid var(--border-primary)}.table.table-striped tbody tr:nth-child(odd){background-color:var(--bg-secondary)}.table.table-hover tbody tr{cursor:pointer}.table.table-hover tbody tr:hover{background-color:var(--accent-hover)}.table.table-compact th,.table.table-compact td{padding:8px 12px}.table.table-fixed{table-layout:fixed}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px}.table-responsive .table{min-width:100%;margin-bottom:0}.table-responsive::-webkit-scrollbar{height:8px}.table-responsive::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@media(max-width: 768px){.table-responsive::after{content:"← 스크롤 →";display:block;text-align:center;padding:8px;color:var(--text-secondary);font-size:12px}}.data-table .data-table-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-bottom:none;border-radius:8px 8px 0 0}@media(max-width: 768px){.data-table .data-table-header{flex-direction:column;gap:12px}}.data-table .data-table-header .data-table-search{display:flex;align-items:center;gap:12px}.data-table .data-table-header .data-table-search input{width:250px}@media(max-width: 768px){.data-table .data-table-header .data-table-search input{width:100%}}.data-table .data-table-header .data-table-actions{display:flex;gap:8px}.data-table .data-table-info{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-top:none;color:var(--text-secondary);font-size:13px}@media(max-width: 768px){.data-table .data-table-info{flex-direction:column;gap:8px;text-align:center}}.data-table .data-table-info .showing-entries span{font-weight:600;color:var(--text-primary)}.data-table .data-table-info .page-size-selector{display:flex;align-items:center;gap:8px}.data-table .data-table-info .page-size-selector select{padding:4px 8px;border:1px solid var(--border-primary);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:13px}.list{list-style:none;padding:0;margin:0}.list .list-item{padding:12px 16px;border-bottom:1px solid var(--border-secondary);transition:background-color .2s ease}.list .list-item:hover{background-color:var(--bg-secondary)}.list .list-item:last-child{border-bottom:none}.list .list-item .list-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list .list-item .list-item-header .list-item-title{font-weight:600;color:var(--text-primary);font-size:15px}.list .list-item .list-item-header .list-item-meta{color:var(--text-secondary);font-size:13px}.list .list-item .list-item-body{color:var(--text-secondary);font-size:14px;line-height:1.5}.list .list-item .list-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-secondary)}.list .list-item .list-item-footer .list-item-tags{display:flex;gap:8px}.list .list-item .list-item-footer .list-item-tags .tag{padding:2px 8px;background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:12px}.list .list-item .list-item-footer .list-item-actions{display:flex;gap:8px}.list.media-list .list-item{display:flex;gap:16px}@media(max-width: 768px){.list.media-list .list-item{flex-direction:column}}.list.media-list .list-item .media-object{flex-shrink:0;width:80px;height:80px;border-radius:6px;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--text-secondary)}.list.media-list .list-item .media-body{flex:1}.list.checklist .list-item{display:flex;align-items:center;gap:12px}.list.checklist .list-item input[type=checkbox]{flex-shrink:0}.list.checklist .list-item .list-item-content{flex:1}.list.checklist .list-item .list-item-content.completed{text-decoration:line-through;opacity:.6}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px}.pagination .page-item{list-style:none}.pagination .page-item .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1px solid var(--border-primary);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s ease}.pagination .page-item .page-link:hover:not(.disabled){background-color:var(--accent-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.pagination .page-item .page-link.disabled{opacity:.5;cursor:not-allowed}.pagination .page-item.active .page-link{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pagination .page-item.prev .page-link,.pagination .page-item.next .page-link{padding:0 16px}.pagination .page-item.ellipsis .page-link{border:none;background:none;cursor:default}.pagination .page-item.ellipsis .page-link:hover{background:none}.pagination.pagination-sm .page-link{min-width:28px;height:28px;padding:0 8px;font-size:12px}.pagination.pagination-lg .page-link{min-width:44px;height:44px;padding:0 20px;font-size:16px}@media(max-width: 768px){.pagination .page-item:not(.active):not(.prev):not(.next){display:none}.pagination .page-item.ellipsis{display:inline-block}}.pagination-simple{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px}.pagination-simple .page-info{color:var(--text-secondary);font-size:14px}.pagination-simple .page-info strong{color:var(--text-primary)}.pagination-simple .page-controls{display:flex;gap:8px}.table-loading,.list-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary)}.table-loading .spinner,.list-loading .spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}.table-empty,.list-empty{text-align:center;padding:60px;color:var(--text-secondary)}.table-empty .empty-icon,.list-empty .empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.table-empty .empty-title,.list-empty .empty-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.table-empty .empty-description,.list-empty .empty-description{font-size:14px;margin-bottom:20px}.tabulator{border:none !important;background-color:rgba(0,0,0,0) !important;border-top:3px solid var(--tab-border-strong) !important}.tabulator .tabulator-tableholder{border-left:none !important;border-right:none !important}.tabulator .tabulator-header{background:var(--tab-header-bg) !important;border-top:none !important;border-bottom:3px double var(--tab-header-border) !important;color:var(--tab-header-text) !important;font-weight:700 !important}.tabulator .tabulator-header .tabulator-col{background-color:rgba(0,0,0,0) !important;border-right:1px dotted var(--tab-border-cell) !important;text-align:center !important}.tabulator .tabulator-header .tabulator-col:last-child{border-right:none !important}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:13px 16px}.tabulator .tabulator-row{border-bottom:1px solid var(--tab-border-row) !important;background-color:var(--tab-row-bg) !important;color:var(--clr-text-primary) !important}.tabulator .tabulator-row.tabulator-row-even{background:var(--tab-row-alt-bg) !important}.tabulator .tabulator-row:hover{background:var(--tab-row-hover) !important}.tabulator .tabulator-row .tabulator-cell{padding:10px 16px;border-right:1px dotted var(--tab-border-cell) !important;vertical-align:middle;color:var(--clr-text-primary) !important}.tabulator .tabulator-row .tabulator-cell:last-child{border-right:none !important}.tabulator .tabulator-row.tabulator-group{background:var(--tab-group-bg) !important;border-left:none !important;border-bottom:3px double var(--tab-border-strong) !important;border-top:1px solid var(--tab-group-border) !important;font-weight:700 !important;padding:8px 16px !important;min-height:38px !important}.tabulator .tabulator-row.tabulator-group .tabulator-group-toggle{margin-right:8px;color:var(--tab-group-text)}.tabulator .tabulator-row.tabulator-group span,.tabulator .tabulator-row.tabulator-group strong{font-size:14px;color:var(--tab-group-text) !important}.tabulator .tabulator-row.tabulator-group:hover{background:var(--tab-group-hover) !important}.tabulator .tabulator-footer{background-color:rgba(0,0,0,0) !important;border-top:3px solid var(--tab-border-strong) !important}.tabulator .tabulator-footer .tabulator-page{border:1px solid var(--clr-border-default) !important;border-radius:4px !important;background:var(--clr-bg-content) !important;color:var(--clr-text-primary) !important}.tabulator .tabulator-footer .tabulator-page.active{background:var(--clr-accent-primary) !important;color:#fff !important;border-color:var(--clr-accent-primary) !important}.tabulator .tabulator-footer .tabulator-page:hover:not(.active){background:var(--tab-row-alt-bg) !important}.tabulator:not(:has(.tabulator-footer)) .tabulator-tableholder{border-bottom:3px solid var(--tab-border-strong) !important}.table-excel{width:100%;table-layout:fixed;border-collapse:collapse;font-family:"Malgun Gothic","맑은 고딕",sans-serif;font-size:13px;color:#333;background-color:#fff}.table-excel td,.table-excel th{border:1px solid #b2b2b2;padding:6px 10px;vertical-align:middle}.table-excel .excel-title{font-size:22px;font-weight:bold;text-align:center;padding:20px;border:none;border-bottom:2px solid #000;background-color:#fff}.table-excel .excel-th{border:1px solid #b2b2b2;padding:6px 10px;vertical-align:middle;background-color:#f0f0f0;font-weight:bold;color:#000}.table-excel .excel-section-header{background-color:#dce6f1;font-weight:bold;border:1px solid #b2b2b2;color:#1f497d}.table-excel .excel-blue-header{background-color:#4f81bd;color:#fff;font-weight:bold;text-align:center;border:1px solid #385d8a}.table-excel .excel-blue-header-cell{background-color:#dce6f1;font-weight:bold;text-align:center;border:1px solid #b2b2b2;color:#000}.table-excel .text-red{color:#d9534f}.table-excel .text-blue{color:#0d6efd}.table-excel .text-bold{font-weight:bold}.table-excel .text-right{text-align:right}.table-excel .text-center{text-align:center}.table-excel .bg-gray{background-color:#f9f9f9}.table-excel .border-none{border:none !important}.table-excel .border-bottom{border-bottom:1px solid #b2b2b2 !important}.main-content{flex:1;background-color:var(--bg-primary);display:flex;flex-direction:column;min-width:200px;min-height:0;height:100%}.main-content .main-content-header{padding:20px;border-bottom:1px solid var(--border-primary);flex-shrink:0;background-color:var(--bg-primary);display:flex;justify-content:space-between;align-items:center}.main-content .main-content-header .main-content-header-left{display:flex;align-items:center;gap:12px}.main-content .main-content-header .main-content-header-left .header-icon{font-size:20px}.main-content .main-content-header .main-content-header-left .breadcrumb-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-content .main-content-header .main-content-header-left .breadcrumb-container .breadcrumb-item{font-size:14px;color:var(--text-primary);font-weight:500}.main-content .main-content-header .main-content-header-left .breadcrumb-container .breadcrumb-item:first-child{font-weight:600}.main-content .main-content-header .main-content-header-left .breadcrumb-container .breadcrumb-item:last-child{color:var(--accent-primary);font-weight:600}.main-content .main-content-header .main-content-header-left .breadcrumb-container .breadcrumb-separator{color:var(--text-secondary);font-size:14px;margin:0 4px;opacity:.5}.main-content .main-content-header .main-content-header-left .main-content-header-info h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:5px;text-align:left}.main-content .main-content-header .main-content-header-left .main-content-header-info p{font-size:14px;color:var(--text-secondary);text-align:left}.main-content .main-content-header .main-content-header-actions{display:flex;align-items:center;gap:8px}@media(max-width: 768px){.main-content .main-content-header{padding:15px 20px}.main-content .main-content-header .main-content-header-left .header-icon{font-size:18px}.main-content .main-content-header .main-content-header-left .main-content-header-info h2{font-size:14px}.main-content .main-content-header .main-content-header-left .main-content-header-info p{font-size:12px}}.main-content .main-content-body{flex:1;overflow:auto;padding:20px;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.main-content .main-content-body::-webkit-scrollbar{display:none}@media(max-width: 768px){.main-content .main-content-body{padding:15px 20px}}@media(max-width: 576px){.main-content .main-content-body{padding:12px 15px}}.resizer{width:6px;background-color:var(--border-primary);cursor:col-resize;position:relative;transition:background-color .2s;flex-shrink:0}.resizer:hover{background-color:var(--accent-primary)}.resizer::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:20px;height:40px;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 40"><circle cx="3" cy="10" r="1" fill="%23666"/><circle cx="3" cy="20" r="1" fill="%23666"/><circle cx="3" cy="30" r="1" fill="%23666"/></svg>') center/contain no-repeat;opacity:.5}.resizer:hover::before{opacity:1}.resizer.dragging{background-color:var(--accent-primary)}@media(max-width: 768px){.resizer{display:none}}.right-content{width:var(--right-width, 250px);background-color:var(--bg-secondary);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;min-width:150px;max-width:400px;min-height:0;height:100%;transition:transform .3s ease,opacity .3s ease}.right-content .right-content-header{padding:20px;border-bottom:1px solid var(--border-primary);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.right-content .right-content-header .right-content-header-left{display:flex;align-items:center;gap:8px}.right-content .right-content-header .right-content-header-left div h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:5px;text-align:left}.right-content .right-content-header .right-content-header-left div p{font-size:14px;color:var(--text-secondary);text-align:left}.right-content .right-content-header .right-content-close{background:none;border:1px solid var(--border-primary);padding:6px;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.right-content .right-content-header .right-content-close:hover{background-color:var(--accent-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.right-content .right-content-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.right-content .right-content-body::-webkit-scrollbar{display:none}.right-content .right-content-body .right-content-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;padding:12px;margin-bottom:10px;box-shadow:0 1px 3px var(--shadow-light)}.right-content .right-content-body .right-content-item h4{font-size:14px;font-weight:600;margin-bottom:5px;color:var(--text-primary)}.right-content .right-content-body .right-content-item p{font-size:12px;color:var(--text-secondary);line-height:1.4}@media(max-width: 768px){.right-content{position:fixed;top:60px;right:0;height:calc(100vh - 60px);width:100%;max-width:350px;z-index:999;transform:translateX(100%);transition:transform .3s ease;border-left:none;box-shadow:-4px 0 20px rgba(0,0,0,.15)}.right-content.show{transform:translateX(0)}}@media(max-width: 576px){.right-content{max-width:100%}}.content-area.hide-right{grid-template-columns:1fr 0}.content-area.hide-right .right-content{transform:translateX(100%);opacity:0}.content-area.hide-right .resizer{display:none}.content-header{margin-bottom:30px}.content-header h3{font-size:24px;margin-bottom:10px;color:var(--text-primary)}.content-header p{color:var(--text-secondary);font-size:16px}@media(max-width: 768px){.content-header h3{font-size:20px;margin-bottom:8px}.content-header p{font-size:14px}}.content-block{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:30px;box-shadow:0 2px 4px var(--shadow-light);margin-bottom:20px}.content-block h4{margin-bottom:15px;color:var(--text-primary)}.content-block p{color:var(--text-secondary);line-height:1.6;margin-bottom:15px}@media(max-width: 768px){.content-block{padding:20px;margin-bottom:15px}}@media(max-width: 576px){.content-block{padding:15px}}.test-content{width:1200px;height:200px;background:linear-gradient(45deg, var(--bg-secondary) 25%, transparent 25%),linear-gradient(-45deg, var(--bg-secondary) 25%, transparent 25%);background-size:20px 20px;border:2px dashed var(--border-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.tall-content{height:300px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container{max-width:540px}}@media(min-width: 768px){.container{max-width:720px}}@media(min-width: 1024px){.container{max-width:960px}}@media(min-width: 1200px){.container{max-width:1140px}}.container.container-fluid{max-width:100%}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.row>*{padding-right:15px;padding-left:15px}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}@media(min-width: 576px){.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}}@media(min-width: 768px){.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}}@media(min-width: 1024px){.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}}@media(min-width: 1200px){.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}}.card{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow-light);display:flex;flex-direction:column;position:relative;transition:all .2s}.card:hover{box-shadow:0 4px 12px var(--shadow-medium)}.card .card-header{padding:15px 20px;border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);border-radius:8px 8px 0 0}.card .card-header .card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.card .card-header .card-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.card .card-body{padding:20px;flex:1}.card .card-body p:last-child{margin-bottom:0}.card .card-footer{padding:15px 20px;border-top:1px solid var(--border-primary);background-color:var(--bg-secondary);border-radius:0 0 8px 8px}.card .card-img-top{width:100%;border-radius:8px 8px 0 0;object-fit:cover}.card.card-overlay{position:relative;overflow:hidden}.card.card-overlay .card-overlay-content{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.8));color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity .3s}.card.card-overlay:hover .card-overlay-content{opacity:1}.dashboard-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}@media(max-width: 768px){.dashboard-grid{grid-template-columns:1fr;gap:15px}}.dashboard-grid .widget{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:20px;transition:all .2s}.dashboard-grid .widget:hover{box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.dashboard-grid .widget .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dashboard-grid .widget .widget-header .widget-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dashboard-grid .widget .widget-header .widget-icon{font-size:20px;color:var(--accent-primary)}.dashboard-grid .widget .widget-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:5px}.dashboard-grid .widget .widget-change{display:flex;align-items:center;gap:5px;font-size:13px}.dashboard-grid .widget .widget-change.positive{color:#28a745}.dashboard-grid .widget .widget-change.negative{color:#dc3545}.dashboard-grid .widget.widget-chart .widget-chart-container{height:200px;margin-top:15px}.dashboard-grid .widget.widget-list .widget-list-items{margin-top:15px}.dashboard-grid .widget.widget-list .widget-list-items .widget-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-secondary)}.dashboard-grid .widget.widget-list .widget-list-items .widget-list-item:last-child{border-bottom:none}.dashboard-grid .widget-wide{grid-column:span 2}@media(max-width: 768px){.dashboard-grid .widget-wide{grid-column:span 1}}.dashboard-grid .widget-full{grid-column:1/-1}.d-flex{display:flex !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-wrap{flex-wrap:wrap !important}.justify-content-start{justify-content:flex-start !important}.justify-content-center{justify-content:center !important}.justify-content-end{justify-content:flex-end !important}.justify-content-between{justify-content:space-between !important}.align-items-start{align-items:flex-start !important}.align-items-center{align-items:center !important}.align-items-end{align-items:flex-end !important}.flex-fill{flex:1 1 auto !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.gap-1{gap:8px !important}.gap-2{gap:16px !important}.gap-3{gap:24px !important}.gap-4{gap:32px !important}.gap-5{gap:40px !important}.m-1{margin:8px !important}.mt-1{margin-top:8px !important}.mb-1{margin-bottom:8px !important}.ml-1{margin-left:8px !important}.mr-1{margin-right:8px !important}.mx-1{margin-left:8px !important;margin-right:8px !important}.my-1{margin-top:8px !important;margin-bottom:8px !important}.p-1{padding:8px !important}.pt-1{padding-top:8px !important}.pb-1{padding-bottom:8px !important}.pl-1{padding-left:8px !important}.pr-1{padding-right:8px !important}.px-1{padding-left:8px !important;padding-right:8px !important}.py-1{padding-top:8px !important;padding-bottom:8px !important}.m-2{margin:16px !important}.mt-2{margin-top:16px !important}.mb-2{margin-bottom:16px !important}.ml-2{margin-left:16px !important}.mr-2{margin-right:16px !important}.mx-2{margin-left:16px !important;margin-right:16px !important}.my-2{margin-top:16px !important;margin-bottom:16px !important}.p-2{padding:16px !important}.pt-2{padding-top:16px !important}.pb-2{padding-bottom:16px !important}.pl-2{padding-left:16px !important}.pr-2{padding-right:16px !important}.px-2{padding-left:16px !important;padding-right:16px !important}.py-2{padding-top:16px !important;padding-bottom:16px !important}.m-3{margin:24px !important}.mt-3{margin-top:24px !important}.mb-3{margin-bottom:24px !important}.ml-3{margin-left:24px !important}.mr-3{margin-right:24px !important}.mx-3{margin-left:24px !important;margin-right:24px !important}.my-3{margin-top:24px !important;margin-bottom:24px !important}.p-3{padding:24px !important}.pt-3{padding-top:24px !important}.pb-3{padding-bottom:24px !important}.pl-3{padding-left:24px !important}.pr-3{padding-right:24px !important}.px-3{padding-left:24px !important;padding-right:24px !important}.py-3{padding-top:24px !important;padding-bottom:24px !important}.m-4{margin:32px !important}.mt-4{margin-top:32px !important}.mb-4{margin-bottom:32px !important}.ml-4{margin-left:32px !important}.mr-4{margin-right:32px !important}.mx-4{margin-left:32px !important;margin-right:32px !important}.my-4{margin-top:32px !important;margin-bottom:32px !important}.p-4{padding:32px !important}.pt-4{padding-top:32px !important}.pb-4{padding-bottom:32px !important}.pl-4{padding-left:32px !important}.pr-4{padding-right:32px !important}.px-4{padding-left:32px !important;padding-right:32px !important}.py-4{padding-top:32px !important;padding-bottom:32px !important}.m-5{margin:40px !important}.mt-5{margin-top:40px !important}.mb-5{margin-bottom:40px !important}.ml-5{margin-left:40px !important}.mr-5{margin-right:40px !important}.mx-5{margin-left:40px !important;margin-right:40px !important}.my-5{margin-top:40px !important;margin-bottom:40px !important}.p-5{padding:40px !important}.pt-5{padding-top:40px !important}.pb-5{padding-bottom:40px !important}.pl-5{padding-left:40px !important}.pr-5{padding-right:40px !important}.px-5{padding-left:40px !important;padding-right:40px !important}.py-5{padding-top:40px !important;padding-bottom:40px !important}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:none;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;padding:20px;box-sizing:border-box}.modal-overlay.show{display:flex;opacity:1;visibility:visible}.modal-overlay.show .modal,.modal-overlay.show .dialog{transform:scale(1) translateY(0)}.modal-overlay.maximized{padding:0}@media(max-width: 768px){.modal-overlay{padding:0}}.modal{background-color:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px var(--shadow-medium);width:100%;max-width:600px;max-height:90vh;overflow:hidden;transform:scale(0.9) translateY(20px);transition:transform .3s ease;border:1px solid var(--border-primary)}.modal.modal-small{max-width:400px}.modal.modal-medium{max-width:600px}.modal.modal-large{max-width:800px}.modal.modal-xlarge{max-width:1000px}.modal.modal-maximized{width:100% !important;max-width:100% !important;height:100% !important;max-height:100% !important;border-radius:0 !important;margin:0 !important;display:flex;flex-direction:column}.modal.modal-maximized .modal-body{flex:1;max-height:none !important;overflow-y:auto}.modal.modal-maximized .modal-body form,.modal.modal-maximized .modal-body>div{max-height:none !important;height:auto}.modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-secondary)}.modal .modal-header .modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal .modal-header .modal-header-actions{display:flex;align-items:center;gap:4px}.modal .modal-header .modal-header-actions button{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.modal .modal-header .modal-header-actions button:hover{background-color:var(--accent-hover);color:var(--text-primary)}.modal .modal-header .modal-header-actions button .material-symbols-outlined{font-size:20px}.modal .modal-header .modal-header-actions .modal-close{font-size:24px;line-height:1}@media(max-width: 768px){.modal .modal-header .modal-header-actions .modal-maximize{display:none !important}}.modal .modal-body{padding:24px;max-height:60vh;overflow-y:auto}.modal .modal-body h4{color:var(--text-primary);margin-bottom:16px;font-size:16px}.modal .modal-body p{line-height:1.6;margin-bottom:16px}.modal .modal-footer{padding:20px 24px;border-top:1px solid var(--border-primary);display:flex;gap:12px;justify-content:flex-end;background-color:var(--bg-secondary)}.modal .modal-footer .btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid rgba(0,0,0,0);min-width:80px}.modal .modal-footer .btn-primary{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.modal .modal-footer .btn-primary:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary)}.modal .modal-footer .btn-secondary{background-color:rgba(0,0,0,0);color:var(--text-primary);border-color:var(--border-primary)}.modal .modal-footer .btn-secondary:hover{background-color:var(--accent-hover)}@media(max-width: 768px){.modal{width:100% !important;max-width:100% !important;height:100% !important;max-height:100% !important;border-radius:0 !important;margin:0 !important;display:flex;flex-direction:column}.modal .modal-header,.modal .modal-body,.modal .modal-footer{padding-left:16px;padding-right:16px}.modal .modal-body{flex:1;max-height:none !important;overflow-y:auto}.modal .modal-body form,.modal .modal-body>div{max-height:none !important;height:auto}.modal .modal-footer{flex-direction:column-reverse}.modal .modal-footer .btn{width:100%}}@media(max-width: 480px){.modal .modal-title{font-size:16px}.modal .modal-close{font-size:20px;width:28px;height:28px}}.dialog{background-color:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px var(--shadow-medium);width:100%;max-width:400px;border:1px solid var(--border-primary);transform:scale(0.9) translateY(20px);transition:transform .3s ease}.dialog .dialog-header{padding:20px 24px 16px;text-align:center}.dialog .dialog-header .dialog-icon{font-size:48px;margin-bottom:12px;display:block}.dialog .dialog-header .dialog-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px 0}.dialog .dialog-header .dialog-message{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.dialog .dialog-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:center}.dialog .dialog-footer .btn{flex:1;max-width:120px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid rgba(0,0,0,0)}.dialog .dialog-footer .btn-primary{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.dialog .dialog-footer .btn-primary:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary)}.dialog .dialog-footer .btn-secondary{background-color:rgba(0,0,0,0);color:var(--text-primary);border-color:var(--border-primary)}.dialog .dialog-footer .btn-secondary:hover{background-color:var(--accent-hover)}@media(max-width: 768px){.dialog{max-width:320px;margin:0 10px}.dialog .dialog-footer{flex-direction:column}.dialog .dialog-footer .btn{max-width:none}}@media(max-width: 480px){.dialog .dialog-icon{font-size:40px}.dialog .dialog-title{font-size:16px}}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.modal-form h5{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.modal-form p{line-height:1.6;margin-bottom:16px}.modal-form ul{margin:10px 0;padding-left:20px}.modal-form ul li{color:var(--text-secondary);margin-bottom:8px}.modal-form kbd{background-color:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:monospace;font-size:13px}.popover{position:absolute;z-index:1060;display:none;max-width:280px;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px var(--shadow-light)}.popover.show{display:block}.popover .popover-header{padding:12px 16px;border-bottom:1px solid var(--border-secondary);background-color:var(--bg-secondary);border-radius:8px 8px 0 0;font-weight:600;font-size:14px;color:var(--text-primary)}.popover .popover-body{padding:16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.tooltip{position:absolute;z-index:1070;display:none;padding:6px 12px;background-color:rgba(0,0,0,.9);color:#fff;font-size:12px;border-radius:4px;pointer-events:none;white-space:nowrap;max-width:200px}.tooltip.show{display:block}.dropdown{position:relative;display:inline-block}.dropdown .dropdown-toggle{cursor:pointer;user-select:none}.dropdown .dropdown-toggle::after{content:"▼";margin-left:8px;font-size:10px;transition:transform .2s}.dropdown .dropdown-toggle.active::after{transform:rotate(180deg)}.dropdown .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:180px;margin-top:4px;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 4px 12px var(--shadow-light);padding:8px 0}.dropdown .dropdown-menu.show{display:block}.dropdown .dropdown-menu .dropdown-item{display:block;padding:8px 16px;color:var(--text-primary);text-decoration:none;font-size:14px;cursor:pointer;transition:background-color .2s}.dropdown .dropdown-menu .dropdown-item:hover{background-color:var(--accent-hover)}.dropdown .dropdown-menu .dropdown-item.active{background-color:var(--accent-primary);color:#fff}.dropdown .dropdown-menu .dropdown-item.disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.5}.dropdown .dropdown-menu .dropdown-item.disabled:hover{background-color:rgba(0,0,0,0)}.dropdown .dropdown-menu .dropdown-divider{height:0;margin:8px 0;overflow:hidden;border-top:1px solid var(--border-secondary)}.modal-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border-primary)}.modal-tabs .tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all .2s;position:relative;bottom:-2px}.modal-tabs .tab-btn:hover{color:var(--text-primary)}.modal-tabs .tab-btn.active{color:var(--accent-primary);border-bottom:2px solid var(--accent-primary);font-weight:600}.tab-content{display:none}.tab-content.active{display:block}.snackbar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;min-width:300px;max-width:568px;display:flex;align-items:center;padding:12px 20px;background-color:#323232;color:#fff;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:all .3s ease}.snackbar.show{opacity:1;visibility:visible;animation:slideUp .3s cubic-bezier(0.4, 0, 0.2, 1)}.snackbar .snackbar-message{flex:1;font-size:14px;line-height:1.4}.snackbar .snackbar-action{margin-left:20px;padding:8px 12px;background:none;border:none;color:var(--accent-primary);font-weight:600;font-size:14px;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:all .3s ease}.snackbar .snackbar-action:hover{background-color:hsla(0,0%,100%,.1)}.snackbar.snackbar-top{top:20px;bottom:auto;animation:slideDown .3s cubic-bezier(0.4, 0, 0.2, 1)}@media(max-width: 768px){.snackbar{left:12px;right:12px;transform:none;min-width:auto;max-width:none}}.alert{position:relative;padding:16px 20px;margin-bottom:20px;border:1px solid rgba(0,0,0,0);border-radius:6px;transition:all .3s ease}.alert .alert-icon{display:inline-flex;margin-right:12px;font-size:18px;vertical-align:middle}.alert .alert-heading{font-size:16px;font-weight:600;margin-bottom:8px;display:flex;align-items:center}.alert .alert-message{font-size:14px;line-height:1.5}.alert .alert-message p:last-child{margin-bottom:0}.alert .alert-link{font-weight:600;text-decoration:underline;cursor:pointer}.alert .alert-link:hover{text-decoration:none}.alert .alert-close{position:absolute;top:16px;right:16px;padding:0;background:none;border:none;font-size:20px;line-height:1;opacity:.5;cursor:pointer;transition:all .3s ease}.alert .alert-close:hover{opacity:1}.alert.alert-primary{background-color:rgba(0,123,255,.1);border-color:rgba(0,123,255,.2);color:#004085}.alert.alert-primary .alert-icon{color:#004085}.alert.alert-primary .alert-link{color:#002752}.alert.alert-success{background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.2);color:#155724}.alert.alert-success .alert-icon{color:#155724}.alert.alert-success .alert-link{color:#0b2e13}.alert.alert-warning{background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.2);color:#856404}.alert.alert-warning .alert-icon{color:#856404}.alert.alert-warning .alert-link{color:#533f03}.alert.alert-danger{background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.2);color:#721c24}.alert.alert-danger .alert-icon{color:#721c24}.alert.alert-danger .alert-link{color:#491217}.alert.alert-info{background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.2);color:#0c5460}.alert.alert-info .alert-icon{color:#0c5460}.alert.alert-info .alert-link{color:#062c33}.alert.alert-dismissible{padding-right:45px}.alert.alert-outlined{background-color:rgba(0,0,0,0);border-width:2px}.alert.alert-filled{color:#fff}.alert.alert-filled.alert-primary{background-color:var(--accent-primary);border-color:var(--accent-primary)}.alert.alert-filled.alert-success{background-color:#28a745;border-color:#28a745}.alert.alert-filled.alert-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.alert.alert-filled.alert-danger{background-color:#dc3545;border-color:#dc3545}.alert.alert-filled.alert-info{background-color:#17a2b8;border-color:#17a2b8}.alert.alert-filled .alert-link{color:#fff;text-decoration-color:hsla(0,0%,100%,.5)}.notification-dot{position:relative;display:inline-block}.notification-dot::after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;background-color:#dc3545;border-radius:50%;border:2px solid var(--bg-primary)}.notification-dot.dot-sm::after{width:6px;height:6px;border-width:1px}.notification-dot.dot-lg::after{width:10px;height:10px}.notification-dot.dot-primary::after{background-color:var(--accent-primary)}.notification-dot.dot-success::after{background-color:#28a745}.notification-dot.dot-warning::after{background-color:#ffc107}.notification-dot.dot-pulse::after{animation:pulse 1.5s ease-out infinite}.notification-dot.notification-count::after{content:attr(data-count);width:auto;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1}.progress-notification{position:fixed;top:0;left:0;right:0;z-index:2000;height:4px;background-color:var(--bg-secondary);overflow:hidden;opacity:0;transition:opacity .2s ease}.progress-notification.show{opacity:1}.progress-notification .progress-bar{height:100%;background-color:var(--accent-primary);transition:width .3s ease;position:relative;overflow:hidden}.progress-notification .progress-bar::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);animation:shimmer 2s linear infinite}.progress-notification.progress-success .progress-bar{background-color:#28a745}.progress-notification.progress-warning .progress-bar{background-color:#ffc107}.progress-notification.progress-danger .progress-bar{background-color:#dc3545}.inline-notification{display:inline-flex;align-items:center;padding:4px 12px;background-color:var(--bg-secondary);border-radius:4px;font-size:13px;gap:8px}.inline-notification .inline-notification-icon{font-size:14px}.inline-notification.inline-success{background-color:rgba(40,167,69,.1);color:#155724}.inline-notification.inline-success .inline-notification-icon{color:#28a745}.inline-notification.inline-warning{background-color:rgba(255,193,7,.1);color:#856404}.inline-notification.inline-warning .inline-notification-icon{color:#ffc107}.inline-notification.inline-error{background-color:rgba(220,53,69,.1);color:#721c24}.inline-notification.inline-error .inline-notification-icon{color:#dc3545}.inline-notification.inline-info{background-color:rgba(23,162,184,.1);color:#0c5460}.inline-notification.inline-info .inline-notification-icon{color:#17a2b8}.floating-notification{position:fixed;bottom:20px;right:20px;max-width:320px;padding:16px;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 6px 20px var(--shadow-medium);z-index:1990;opacity:0;transform:translateY(20px);visibility:hidden;transition:all .3s ease}.floating-notification.show{opacity:1;transform:translateY(0);visibility:visible}.floating-notification .floating-notification-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.floating-notification .floating-notification-header .floating-notification-title{font-weight:600;font-size:14px;color:var(--text-primary)}.floating-notification .floating-notification-header .floating-notification-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:16px;opacity:.5;transition:all .3s ease}.floating-notification .floating-notification-header .floating-notification-close:hover{opacity:1}.floating-notification .floating-notification-body{font-size:13px;color:var(--text-secondary);line-height:1.5}.floating-notification .floating-notification-actions{display:flex;gap:8px;margin-top:12px}.floating-notification .floating-notification-actions .btn{flex:1;padding:8px 12px;font-size:12px}@media(max-width: 768px){.floating-notification{right:12px;left:12px;max-width:none}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.3}100%{transform:scale(2);opacity:0}}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.toast-container{position:fixed;z-index:2000;pointer-events:none;padding:20px}.toast-container.toast-top-right{top:0;right:0}.toast-container.toast-top-left{top:0;left:0}.toast-container.toast-top-center{top:0;left:50%;transform:translateX(-50%)}.toast-container.toast-bottom-right{bottom:0;right:0}.toast-container.toast-bottom-left{bottom:0;left:0}.toast-container.toast-bottom-center{bottom:0;left:50%;transform:translateX(-50%)}@media(max-width: 768px){.toast-container{padding:12px}.toast-container.toast-top-right,.toast-container.toast-top-left{top:60px}}.toast{position:relative;display:flex;align-items:flex-start;min-width:280px;max-width:380px;margin-bottom:12px;padding:16px;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px var(--shadow-medium);pointer-events:auto;animation:slideInRight .3s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s ease}.toast:hover{transform:translateX(-4px);box-shadow:0 6px 16px var(--shadow-medium)}.toast .toast-icon{flex-shrink:0;width:24px;height:24px;margin-right:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.toast .toast-body{flex:1;margin-right:12px}.toast .toast-body .toast-title{font-weight:600;color:var(--text-primary);margin-bottom:4px;font-size:14px}.toast .toast-body .toast-message{color:var(--text-secondary);font-size:13px;line-height:1.4}.toast .toast-body .toast-time{color:var(--text-secondary);font-size:11px;margin-top:4px;opacity:.7}.toast .toast-close{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:18px;line-height:1;opacity:.5;transition:all .3s ease}.toast .toast-close:hover{opacity:1;transform:rotate(90deg)}.toast .toast-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:var(--accent-primary);border-radius:0 0 8px 8px;animation:progress 3s linear}.toast.toast-success{border-left:4px solid #28a745}.toast.toast-success .toast-icon{color:#28a745}.toast.toast-success .toast-progress{background-color:#28a745}.toast.toast-error{border-left:4px solid #dc3545}.toast.toast-error .toast-icon{color:#dc3545}.toast.toast-error .toast-progress{background-color:#dc3545}.toast.toast-warning{border-left:4px solid #ffc107}.toast.toast-warning .toast-icon{color:#ffc107}.toast.toast-warning .toast-progress{background-color:#ffc107}.toast.toast-info{border-left:4px solid var(--accent-primary)}.toast.toast-info .toast-icon{color:var(--accent-primary)}.toast.toast-action .toast-actions{display:flex;gap:8px;margin-top:12px}.toast.toast-action .toast-actions .btn{padding:4px 12px;font-size:12px;min-width:auto}.toast.toast-hide{animation:slideOutRight .3s forwards}@media(max-width: 768px){.toast{min-width:calc(100vw - 40px);max-width:calc(100vw - 40px)}}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes progress{from{width:100%}to{width:0}}.mobile-header{display:none;position:fixed;top:0;left:0;width:100%;height:60px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);z-index:1000;padding:0 15px;align-items:center;justify-content:space-between;box-shadow:0 2px 5px rgba(0,0,0,.05)}@media(max-width: 768px){.mobile-header{display:flex}}.mobile-header .header-left{display:flex;align-items:center;gap:15px}.mobile-header .mobile-menu-toggle{background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.mobile-header .mobile-menu-toggle .material-symbols-outlined{font-size:24px}.mobile-header .mobile-header-title{font-size:18px;font-weight:600;color:var(--text-primary)}.mobile-header .header-right{display:flex;align-items:center;gap:10px}.mobile-header .header-icon-btn{background:none;border:none;font-size:20px;padding:8px;cursor:pointer;color:var(--text-primary)}.mobile-sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1001;opacity:0;visibility:hidden;transition:all .3s;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.mobile-sidebar-overlay.active{opacity:1;visibility:visible}.mobile-sidebar{position:fixed;top:0;left:0;width:280px;height:100%;background-color:var(--bg-tertiary);z-index:1002;transform:translateX(-100%);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);display:none;flex-direction:column;box-shadow:2px 0 10px rgba(0,0,0,.1)}.mobile-sidebar.active{display:flex;transform:translateX(0)}.mobile-sidebar .mobile-sidebar-header{padding:20px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.mobile-sidebar .mobile-sidebar-header .sidebar-user{display:flex;align-items:center;gap:15px;margin-bottom:20px}.mobile-sidebar .mobile-sidebar-header .sidebar-user .user-avatar{width:40px;height:40px;background-color:var(--accent-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.mobile-sidebar .mobile-sidebar-header .sidebar-user .user-info h3{font-size:16px;font-weight:600;margin:0;color:var(--text-primary)}.mobile-sidebar .mobile-sidebar-header .sidebar-user .user-info p{font-size:12px;color:var(--text-secondary);margin:2px 0 0}.mobile-sidebar .mobile-sidebar-header .menu-selector-container{position:relative}.mobile-sidebar .mobile-sidebar-header .menu-selector{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s}.mobile-sidebar .mobile-sidebar-header .menu-selector:active{background-color:var(--bg-secondary)}.mobile-sidebar .mobile-sidebar-header .menu-selector .menu-selector-text{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--text-primary)}.mobile-sidebar .mobile-sidebar-header .menu-selector .menu-selector-arrow{font-size:12px;color:var(--text-secondary);transition:transform .2s}.mobile-sidebar .mobile-sidebar-header .menu-selector.active .menu-selector-arrow{transform:rotate(180deg)}.mobile-sidebar .mobile-sidebar-header .menu-dropdown{position:absolute;top:100%;left:0;width:100%;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;margin-top:5px;box-shadow:0 4px 15px rgba(0,0,0,.1);display:none;max-height:300px;overflow-y:auto;z-index:10}.mobile-sidebar .mobile-sidebar-header .menu-dropdown.active{display:block;animation:slideDown .2s ease}.mobile-sidebar .mobile-sidebar-header .menu-dropdown .dropdown-item{padding:12px 15px;display:flex;align-items:center;gap:10px;cursor:pointer;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.mobile-sidebar .mobile-sidebar-header .menu-dropdown .dropdown-item:last-child{border-bottom:none}.mobile-sidebar .mobile-sidebar-header .menu-dropdown .dropdown-item:active{background-color:var(--bg-secondary)}.mobile-sidebar .mobile-sidebar-header .menu-dropdown .dropdown-item.selected{background-color:var(--accent-light);color:var(--accent-primary);font-weight:500}.mobile-sidebar .mobile-sidebar-header .menu-dropdown .dropdown-item .dropdown-item-check{margin-left:auto;color:var(--accent-primary)}.mobile-sidebar .mobile-sidebar-content{flex:1;overflow-y:auto;padding:10px 0}.mobile-sidebar .mobile-sidebar-content .mobile-menu-section{display:none}.mobile-sidebar .mobile-sidebar-content .mobile-menu-section.active{display:block;animation:fadeIn .3s ease}.mobile-sidebar .mobile-sidebar-content .menu-item .menu-item-header{padding:15px 20px;font-size:15px}.mobile-sidebar .mobile-sidebar-content .menu-item .menu-item-header .menu-expand-icon{font-size:14px;opacity:.7}.mobile-sidebar .mobile-sidebar-content .submenu{background-color:rgba(0,0,0,.03)}.mobile-sidebar .mobile-sidebar-content .submenu .submenu-item,.mobile-sidebar .mobile-sidebar-content .submenu a.submenu-item{padding:12px 20px 12px 30px;font-size:14px}.mobile-sidebar .mobile-sidebar-content .sub-submenu{background-color:rgba(0,0,0,.05)}.mobile-sidebar .mobile-sidebar-content .sub-submenu .sub-submenu-item,.mobile-sidebar .mobile-sidebar-content .sub-submenu a.sub-submenu-item{padding:12px 20px 12px 40px;font-size:13px}.mobile-sidebar .mobile-sidebar-content .sub-sub-submenu{background-color:rgba(0,0,0,.07)}.mobile-sidebar .mobile-sidebar-content .sub-sub-submenu .sub-sub-submenu-item,.mobile-sidebar .mobile-sidebar-content .sub-sub-submenu a.sub-sub-submenu-item{padding:12px 20px 12px 50px;font-size:13px}.mobile-sidebar .mobile-sidebar-content a.active{background-color:var(--accent-primary) !important;color:#fff !important}.mobile-sidebar .mobile-sidebar-content .menu-folder-icon{margin-right:5px;font-size:14px;color:var(--text-secondary)}.mobile-sidebar .mobile-sidebar-content .mobile-empty-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary)}.mobile-sidebar .mobile-sidebar-content .mobile-empty-menu .mobile-empty-menu-icon{font-size:40px;margin-bottom:10px;opacity:.5}.mobile-sidebar .mobile-sidebar-content .mobile-empty-menu .mobile-empty-menu-text{font-size:14px}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.loading-spinner{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px;gap:16px}.loading-spinner .dots{display:flex;gap:8px}.loading-spinner .dots .dot{width:12px;height:12px;border-radius:50%;background:var(--accent-primary);animation:pulse-dot 1.4s ease-in-out infinite}.loading-spinner .dots .dot:nth-child(1){animation-delay:0s}.loading-spinner .dots .dot:nth-child(2){animation-delay:.2s}.loading-spinner .dots .dot:nth-child(3){animation-delay:.4s}.loading-spinner .loading-text{color:var(--text-secondary);font-size:.9rem;font-weight:500}@keyframes pulse-dot{0%,80%,100%{transform:scale(0.6);opacity:.4}40%{transform:scale(1);opacity:1}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-overlay .loading-content{background:var(--bg-primary);padding:24px 30px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;min-width:160px}.loading-overlay .loading-content .dots{display:flex;gap:8px}.loading-overlay .loading-content .dots .dot{width:14px;height:14px;border-radius:50%;background:var(--accent-primary);animation:pulse-dot 1.4s ease-in-out infinite}.loading-overlay .loading-content .dots .dot:nth-child(1){animation-delay:0s}.loading-overlay .loading-content .dots .dot:nth-child(2){animation-delay:.2s}.loading-overlay .loading-content .dots .dot:nth-child(3){animation-delay:.4s}.loading-overlay .loading-content .msg{font-size:.95rem;color:var(--text-secondary);font-weight:500}.loading-inline{display:flex;align-items:center;justify-content:center;padding:16px;color:var(--text-secondary);font-size:.85rem}.loading-inline i{margin-right:8px;color:var(--accent-primary)}.table-loading,.list-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.table-loading .loading-icon,.list-loading .loading-icon{font-size:1.5rem;margin-bottom:12px;color:var(--accent-primary)}.skeleton{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-tertiary) 50%, var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:100%}.skeleton-circle{width:40px;height:40px;border-radius:50%}.skeleton-rect{width:100%;height:100px}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px;color:var(--text-secondary)}.empty-state i{font-size:2.5rem;margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:.95rem}.tabulator-loader .tabulator-loader-msg{background:var(--bg-primary) !important;border:none !important;border-radius:8px !important;box-shadow:0 4px 20px rgba(0,0,0,.15) !important;padding:20px 24px !important;color:var(--text-secondary) !important;font-size:.9rem !important;font-weight:500 !important}.tabulator-loader .tabulator-loader-msg.tabulator-loading{font-size:0 !important}.tabulator-loader .tabulator-loader-msg.tabulator-loading::after{content:"";display:inline-flex;gap:6px}.tabulator-loader .tabulator-loader-msg.tabulator-loading::before{content:"불러오는 중...";font-size:.9rem;color:var(--text-secondary)}.tabulator-loader .tabulator-loader-msg.tabulator-error{background:#fef2f2 !important;color:#dc2626 !important}.text-del,.text-line-through{text-decoration:line-through !important}.text-underline{text-decoration:underline !important}.text-none{text-decoration:none !important}.text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.text-shadow{text-shadow:2px 1px 3px rgba(0,0,0,.5)}.text-shadow-light{text-shadow:2px 1px 3px rgba(0,0,0,.15)}.text-shadow-medium{text-shadow:2px 1px 3px rgba(0,0,0,.35)}.text-shadow-dark{text-shadow:2px 1px 3px rgba(0,0,0,.7)}.text-left{text-align:left !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-primary{color:var(--text-primary) !important}.text-secondary{color:var(--text-secondary) !important}.text-accent{color:var(--accent-primary) !important}.text-success{color:#28a745 !important}.text-danger{color:#dc3545 !important}.text-warning{color:#ffc107 !important}.text-info{color:#17a2b8 !important}.text-muted{color:var(--text-secondary) !important;opacity:.7}.font-thin{font-weight:100 !important}.font-light{font-weight:300 !important}.font-normal{font-weight:400 !important}.font-medium{font-weight:500 !important}.font-bold{font-weight:700 !important}.font-black{font-weight:900 !important}.font-xs{font-size:.7rem !important}.font-sm{font-size:.85rem !important}.font-md{font-size:1rem !important}.font-lg{font-size:1.25rem !important}.font-xl{font-size:1.5rem !important}.font-2xl{font-size:2rem !important}.font-italic{font-style:italic !important}.font-mono{font-family:monospace !important}.w-auto{width:auto !important}.w-full{width:100% !important}.w-half{width:50% !important}.w-25{width:25% !important}.w-75{width:75% !important}.w-xs{width:3rem !important}.w-sm{width:6rem !important}.w-md{width:10rem !important}.w-lg{width:15rem !important}.w-xl{width:20rem !important}.w-max{width:100% !important;width:-webkit-fill-available !important;width:fill-available !important}.h-auto{height:auto !important}.h-full{height:100% !important}.h-screen{height:100vh !important}.h-xs{height:3rem !important}.h-sm{height:6rem !important}.h-md{height:10rem !important}.h-lg{height:15rem !important}.h-xl{height:20rem !important}.m-0{margin:0 !important}.m-1{margin:4px !important}.m-2{margin:8px !important}.m-3{margin:12px !important}.m-4{margin:16px !important}.m-5{margin:20px !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:4px !important}.mt-2{margin-top:8px !important}.mt-3{margin-top:12px !important}.mt-4{margin-top:16px !important}.mt-5{margin-top:20px !important}.mr-0{margin-right:0 !important}.mr-1{margin-right:4px !important}.mr-2{margin-right:8px !important}.mr-3{margin-right:12px !important}.mr-4{margin-right:16px !important}.mr-5{margin-right:20px !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:4px !important}.mb-2{margin-bottom:8px !important}.mb-3{margin-bottom:12px !important}.mb-4{margin-bottom:16px !important}.mb-5{margin-bottom:20px !important}.ml-0{margin-left:0 !important}.ml-1{margin-left:4px !important}.ml-2{margin-left:8px !important}.ml-3{margin-left:12px !important}.ml-4{margin-left:16px !important}.ml-5{margin-left:20px !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.mx-1{margin-left:4px !important;margin-right:4px !important}.my-1{margin-top:4px !important;margin-bottom:4px !important}.mx-2{margin-left:8px !important;margin-right:8px !important}.my-2{margin-top:8px !important;margin-bottom:8px !important}.mx-3{margin-left:12px !important;margin-right:12px !important}.my-3{margin-top:12px !important;margin-bottom:12px !important}.mx-4{margin-left:16px !important;margin-right:16px !important}.my-4{margin-top:16px !important;margin-bottom:16px !important}.mx-5{margin-left:20px !important;margin-right:20px !important}.my-5{margin-top:20px !important;margin-bottom:20px !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.p-0{padding:0 !important}.p-1{padding:4px !important}.p-2{padding:8px !important}.p-3{padding:12px !important}.p-4{padding:16px !important}.p-5{padding:20px !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:4px !important}.pt-2{padding-top:8px !important}.pt-3{padding-top:12px !important}.pt-4{padding-top:16px !important}.pt-5{padding-top:20px !important}.pr-0{padding-right:0 !important}.pr-1{padding-right:4px !important}.pr-2{padding-right:8px !important}.pr-3{padding-right:12px !important}.pr-4{padding-right:16px !important}.pr-5{padding-right:20px !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:4px !important}.pb-2{padding-bottom:8px !important}.pb-3{padding-bottom:12px !important}.pb-4{padding-bottom:16px !important}.pb-5{padding-bottom:20px !important}.pl-0{padding-left:0 !important}.pl-1{padding-left:4px !important}.pl-2{padding-left:8px !important}.pl-3{padding-left:12px !important}.pl-4{padding-left:16px !important}.pl-5{padding-left:20px !important}.px-0{padding-left:0 !important;padding-right:0 !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.px-1{padding-left:4px !important;padding-right:4px !important}.py-1{padding-top:4px !important;padding-bottom:4px !important}.px-2{padding-left:8px !important;padding-right:8px !important}.py-2{padding-top:8px !important;padding-bottom:8px !important}.px-3{padding-left:12px !important;padding-right:12px !important}.py-3{padding-top:12px !important;padding-bottom:12px !important}.px-4{padding-left:16px !important;padding-right:16px !important}.py-4{padding-top:16px !important;padding-bottom:16px !important}.px-5{padding-left:20px !important;padding-right:20px !important}.py-5{padding-top:20px !important;padding-bottom:20px !important}.d-none{display:none !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-grid{display:grid !important}.d-hidden{visibility:hidden !important}.d-visible{visibility:visible !important}.v-top{vertical-align:top !important}.v-middle{vertical-align:middle !important}.v-bottom{vertical-align:bottom !important}.v-baseline{vertical-align:baseline !important}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}.clearfix::after{content:"";display:table;clear:both}.pos-static{position:static !important}.pos-relative{position:relative !important}.pos-absolute{position:absolute !important}.pos-fixed{position:fixed !important}.pos-sticky{position:sticky !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.cursor-pointer{cursor:pointer !important}.cursor-default{cursor:default !important}.cursor-move{cursor:move !important}.cursor-not-allowed{cursor:not-allowed !important}.cursor-grab{cursor:grab !important}.bg-primary{background-color:var(--bg-primary) !important}.bg-secondary{background-color:var(--bg-secondary) !important}.bg-tertiary{background-color:var(--bg-tertiary) !important}.bg-accent{background-color:var(--accent-primary) !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-success{background-color:#28a745 !important}.bg-danger{background-color:#dc3545 !important}.bg-warning{background-color:#ffc107 !important}.bg-info{background-color:#17a2b8 !important}.border-0{border:0 !important}.border-1{border:1px solid var(--border-primary) !important}.border-2{border:2px solid var(--border-primary) !important}.border-top{border-top:1px solid var(--border-primary) !important}.border-bottom{border-bottom:1px solid var(--border-primary) !important}.border-left{border-left:1px solid var(--border-primary) !important}.border-right{border-right:1px solid var(--border-primary) !important}.border-rounded{border-radius:6px !important}.border-circle{border-radius:50% !important}.border-pill{border-radius:999px !important}.shadow-none{box-shadow:none !important}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.1) !important}.shadow-md{box-shadow:0 2px 4px rgba(0,0,0,.12) !important}.shadow-lg{box-shadow:0 4px 8px rgba(0,0,0,.15) !important}.shadow-xl{box-shadow:0 8px 16px rgba(0,0,0,.2) !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.z-0{z-index:0 !important}.z-10{z-index:10 !important}.z-20{z-index:20 !important}.z-50{z-index:50 !important}.z-100{z-index:100 !important}.z-auto{z-index:auto !important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.hidden{display:none !important}.invisible{visibility:hidden !important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media(max-width: 576px){.hidden-mobile{display:none !important}}@media(min-width: 768px){.hidden-desktop{display:none !important}}body.login-page{margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);background-attachment:fixed;font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;display:flex;align-items:center;justify-content:center}body.login-page::before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url("/admin/assets/img/bg-login.jpg") no-repeat center center;background-size:cover;opacity:.3;z-index:0}.login-container{position:relative;z-index:1;width:100%;max-width:450px;padding:20px}.login-box{background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:50px 40px;animation:slideIn .5s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.login-logo{text-align:center;margin-bottom:35px}.login-logo img{max-width:180px;height:auto;margin-bottom:15px}.login-logo h1{margin:0;font-size:28px;font-weight:600;color:#2c3e50;letter-spacing:-0.5px}.login-logo p{margin:8px 0 0 0;font-size:14px;color:#7f8c8d}.login-form{margin-top:30px}.login-form-group{margin-bottom:25px;position:relative}.login-form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#2c3e50;transition:color .3s}.login-form-group label .required{color:#e74c3c;margin-left:3px}.login-form-group .input-wrapper{position:relative}.login-form-group .input-wrapper input{width:100%;padding:12px 45px 12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;transition:all .3s;box-sizing:border-box}.login-form-group .input-wrapper input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px rgba(52,152,219,.1)}.login-form-group .input-wrapper input.error{border-color:#e74c3c}.login-form-group .input-wrapper .input-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#95a5a6;font-size:18px;pointer-events:none}.login-form-group .error-message{display:none;margin-top:6px;font-size:13px;color:#e74c3c;animation:shake .3s}.login-form-group .error-message.active{display:block}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.login-form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.login-form-options .remember-me{display:flex;align-items:center;cursor:pointer;user-select:none}.login-form-options .remember-me input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer}.login-form-options .remember-me label{font-size:14px;color:#7f8c8d;cursor:pointer;margin:0}.login-form-options .forgot-password{font-size:14px;color:#3498db;text-decoration:none;transition:color .3s}.login-form-options .forgot-password:hover{color:#2980b9;text-decoration:underline}.btn-login{width:100%;padding:14px;background:linear-gradient(135deg, #3498db 0%, #2980b9 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.btn-login::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%, -50%);transition:width .6s,height .6s}.btn-login:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(52,152,219,.4)}.btn-login:hover::before{width:300px;height:300px}.btn-login:active{transform:translateY(0)}.btn-login:disabled{background:#95a5a6;cursor:not-allowed;transform:none}.btn-login:disabled:hover{box-shadow:none}.login-alert{margin-bottom:20px;padding:12px 15px;border-radius:8px;display:none;animation:fadeIn .3s}.login-alert.active{display:block}.login-alert.error{background:#fadbd8;color:#e74c3c;border-left:4px solid #e74c3c}.login-alert.success{background:#d4edda;color:#27ae60;border-left:4px solid #27ae60}.login-alert.info{background:#d1ecf1;color:#0c5460;border-left:4px solid #17a2b8}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.login-footer{margin-top:30px;padding-top:25px;border-top:1px solid #e0e0e0;text-align:center;font-size:13px;color:#7f8c8d}.login-footer p{margin:0;line-height:1.6}.login-footer a{color:#3498db;text-decoration:none;transition:color .3s}.login-footer a:hover{color:#2980b9}.login-copyright{position:fixed;bottom:0;left:0;right:0;padding:20px;text-align:center;color:hsla(0,0%,100%,.8);font-size:13px;z-index:1;background:linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent)}.login-copyright p{margin:5px 0}.login-spinner{display:none;width:20px;height:20px;border:3px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.login-spinner.active{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width: 480px){.login-container{padding:15px}.login-box{padding:35px 25px}.login-logo h1{font-size:24px}.form-options{flex-direction:column;align-items:flex-start;gap:12px}}.menu-manager-wrapper{width:100%;padding:16px;background:var(--bg-primary);min-height:100vh}.menu-manager-wrapper .container{max-width:100%;margin:0;padding:0}.menu-manager-wrapper .tabulator-row.tabulator-tree-level-1{background:#f8fafc}.menu-manager-wrapper .tabulator-row.tabulator-tree-level-2{background:#f1f5f9}.menu-manager-wrapper .tabulator-row.tabulator-tree-level-3{background:#e2e8f0}.menu-manager-wrapper .tabulator-data-tree-control,.menu-manager-wrapper .tabulator-data-tree-control-empty,.menu-manager-wrapper .tabulator-data-tree-branch{display:none !important}.menu-manager-wrapper .tabulator-cell{white-space:nowrap !important}.menu-code{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:2px 8px;background:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);color:#fff;border-radius:4px;font-weight:600;font-size:.8rem}.menu-name{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.menu-name:hover{color:var(--accent-primary)}.menu-name i{flex-shrink:0}.menu-name.disabled{color:#94a3b8;text-decoration:line-through}.menu-url{color:var(--text-secondary);font-size:.85rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-group-inline{display:flex;gap:4px}.btn-icon-sm{padding:4px 8px !important;font-size:12px !important}.btn-danger-text{color:#ef4444 !important}.btn-danger-text:hover{background:rgba(239,68,68,.1) !important}.menu-manager-wrapper .form-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-secondary)}.menu-manager-wrapper .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.menu-manager-wrapper .form-section h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.menu-manager-wrapper .form-section h3 i{color:var(--accent-primary)}.menu-manager-wrapper .form-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}.menu-manager-wrapper .form-group{display:flex;flex-direction:column;gap:6px}.menu-manager-wrapper .form-group.full-width{grid-column:span 2}.menu-manager-wrapper .color-input-wrapper{display:flex;gap:8px}.menu-manager-wrapper .color-input-wrapper input[type=color]{width:44px;height:38px;padding:2px;border:1px solid var(--border-primary);border-radius:4px;cursor:pointer}.menu-manager-wrapper .color-input-wrapper input[type=text]{flex:1}.menu-manager-wrapper .permission-group{margin-bottom:16px;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.menu-manager-wrapper .permission-group:last-child{margin-bottom:0}.menu-manager-wrapper .permission-header{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--bg-secondary);cursor:pointer;transition:background-color .2s ease}.menu-manager-wrapper .permission-header:hover{background:var(--bg-tertiary)}.menu-manager-wrapper .permission-header span{font-weight:500;display:flex;align-items:center;gap:8px}.menu-manager-wrapper .permission-header span i{transition:transform .2s ease;color:var(--text-secondary)}.menu-manager-wrapper .permission-header.collapsed span i{transform:rotate(-90deg)}.menu-manager-wrapper .permission-header small{font-size:12px;color:var(--text-secondary);padding-left:22px}.menu-manager-wrapper .permission-body{padding:16px;border-top:1px solid var(--border-secondary)}.menu-manager-wrapper .permission-body.collapsed{display:none}.menu-manager-wrapper .permission-table{width:100%;border-collapse:collapse;font-size:13px}.menu-manager-wrapper .permission-table thead{background:var(--bg-tertiary)}.menu-manager-wrapper .permission-table th,.menu-manager-wrapper .permission-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-secondary)}.menu-manager-wrapper .permission-table th{font-weight:600;color:var(--text-secondary)}.menu-manager-wrapper .permission-table th.perm-col{text-align:center;width:70px}.menu-manager-wrapper .permission-table td.perm-col{text-align:center}.menu-manager-wrapper .permission-table tbody tr:hover{background:var(--bg-secondary)}.menu-manager-wrapper .permission-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.menu-manager-wrapper .permission-table .level-badge{display:inline-block;font-size:11px;padding:2px 8px;background:var(--accent-primary);color:#fff;border-radius:10px;margin-left:8px}.menu-manager-wrapper .permission-table .code-badge{display:inline-block;font-size:11px;padding:2px 6px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-family:monospace}@media(max-width: 768px){.menu-manager-wrapper{padding:12px}.menu-manager-wrapper .form-grid{grid-template-columns:1fr}.menu-manager-wrapper .form-group.full-width{grid-column:span 1}}.auth-grade-wrapper{width:100%;padding:16px;background-color:var(--bg-primary)}.auth-grade-wrapper .container{max-width:100%;margin:0;padding:0}.auth-grade-wrapper .tabulator-row.tabulator-tree-level-1{background:#f0fdf4}.auth-grade-wrapper .tabulator-row.tabulator-tree-level-1:hover{background:#dcfce7 !important}.grade-code{display:inline-flex;align-items:center;justify-content:center;min-width:50px;padding:4px 12px;background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;border-radius:6px;font-weight:600;font-size:.85rem}.grade-code.sub-grade{background:linear-gradient(135deg, #22c55e 0%, #16a34a 100%);font-size:.8rem}.member-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:.75rem;font-weight:500}.member-count.has-members{background:rgba(0,123,255,.1);color:var(--accent-primary)}.member-count i{font-size:.7rem}.auth-grade-wrapper .empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px;color:var(--text-secondary)}.auth-grade-wrapper .empty-state i{font-size:2.5rem;margin-bottom:16px;opacity:.5}.auth-grade-wrapper .empty-state p{margin:0;font-size:.95rem}.material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.btn>.material-symbols-outlined,.btn>svg{margin-right:4px}.btn-icon>.material-symbols-outlined{margin-right:0}.icon-sm{font-size:16px !important}.icon-md{font-size:20px !important}.icon-lg{font-size:24px !important}.icon-xl{font-size:32px !important}.icon-2x{font-size:36px !important}.icon-3x{font-size:48px !important}.rotating,.icon-spin{animation:spin 1s linear infinite}.icon-primary{color:var(--primary-color, #3b82f6)}.icon-success{color:var(--success-color, #22c55e)}.icon-warning{color:var(--warning-color, #f59e0b)}.icon-danger{color:var(--danger-color, #ef4444)}.icon-info{color:var(--info-color, #3b82f6)}.icon-muted{color:var(--text-muted, #6b7280)}.badge,.badge-mini,.badge-notice,.badge-hot,.badge-new{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.25rem;border-radius:.25rem;white-space:nowrap;transition:all .15s ease-in-out}.badge .material-symbols-outlined,.badge-mini .material-symbols-outlined,.badge-notice .material-symbols-outlined,.badge-hot .material-symbols-outlined,.badge-new .material-symbols-outlined{font-size:.875rem;line-height:1}.badge-gray,.badge-mini{background-color:#f9fafb;color:#374151;box-shadow:inset 0 0 0 1px #e5e7eb}.badge-gray.badge-flat,.badge-flat.badge-mini{background-color:#f3f4f6;box-shadow:none}.badge-red,.badge-new,.badge-danger{background-color:#fef2f2;color:#b91c1c;box-shadow:inset 0 0 0 1px #fecaca}.badge-red.badge-flat,.badge-flat.badge-new,.badge-flat.badge-danger{background-color:#fee2e2;box-shadow:none}.badge-yellow,.badge-hot,.badge-warning{background-color:#fefce8;color:#a16207;box-shadow:inset 0 0 0 1px #fef08a}.badge-yellow.badge-flat,.badge-flat.badge-hot,.badge-flat.badge-warning{background-color:#fef9c3;box-shadow:none}.badge-green,.badge-success{background-color:#f0fdf4;color:#15803d;box-shadow:inset 0 0 0 1px #bbf7d0}.badge-green.badge-flat,.badge-flat.badge-success{background-color:#dcfce7;box-shadow:none}.badge-blue,.badge-notice,.badge-info,.badge-primary{background-color:#eff6ff;color:#1d4ed8;box-shadow:inset 0 0 0 1px #bfdbfe}.badge-blue.badge-flat,.badge-flat.badge-notice,.badge-flat.badge-info,.badge-flat.badge-primary{background-color:#dbeafe;box-shadow:none}.badge-indigo,.badge-secondary{background-color:#eef2ff;color:#4338ca;box-shadow:inset 0 0 0 1px #c7d2fe}.badge-indigo.badge-flat,.badge-flat.badge-secondary{background-color:#e0e7ff;box-shadow:none}.badge-purple{background-color:#faf5ff;color:#7e22ce;box-shadow:inset 0 0 0 1px #e9d5ff}.badge-purple.badge-flat{background-color:#f3e8ff;box-shadow:none}.badge-pink{background-color:#fdf2f8;color:#be185d;box-shadow:inset 0 0 0 1px #fbcfe8}.badge-pink.badge-flat{background-color:#fce7f3;box-shadow:none}.badge-pill,.badge-notice,.badge-hot,.badge-new{border-radius:9999px}.badge-sm,.badge-mini,.badge-notice,.badge-hot,.badge-new{padding:0 .375rem;font-size:.75rem;line-height:1rem}.badge-sm .material-symbols-outlined,.badge-mini .material-symbols-outlined,.badge-notice .material-symbols-outlined,.badge-hot .material-symbols-outlined,.badge-new .material-symbols-outlined{font-size:.75rem}.badge-md{padding:.125rem .5rem;font-size:.75rem}.badge-lg{padding:.25rem .625rem;font-size:.875rem}.badge-lg .material-symbols-outlined{font-size:1rem}.badge-dot::before{content:"";display:inline-block;width:.375rem;height:.375rem;border-radius:9999px;flex-shrink:0}.badge-gray.badge-dot::before,.badge-dot.badge-mini::before{background-color:#6b7280}.badge-red.badge-dot::before,.badge-dot.badge-new::before,.badge-dot.badge-danger::before{background-color:#ef4444}.badge-yellow.badge-dot::before,.badge-dot.badge-hot::before,.badge-dot.badge-warning::before{background-color:#eab308}.badge-green.badge-dot::before,.badge-dot.badge-success::before{background-color:#22c55e}.badge-blue.badge-dot::before,.badge-dot.badge-notice::before,.badge-dot.badge-info::before,.badge-dot.badge-primary::before{background-color:#3b82f6}.badge-indigo.badge-dot::before,.badge-dot.badge-secondary::before{background-color:#6366f1}.badge-purple.badge-dot::before{background-color:#a855f7}.badge-pink.badge-dot::before{background-color:#ec4899}.badge-remove{display:inline-flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;padding:0;margin-left:.25rem;margin-right:-0.125rem;border:none;border-radius:.125rem;background:rgba(0,0,0,0);cursor:pointer;opacity:.6;transition:all .15s ease-in-out}.badge-remove:hover{opacity:1}.badge-remove .material-symbols-outlined{font-size:.875rem;line-height:1}.badge-remove svg{width:.75rem;height:.75rem}.badge-gray .badge-remove,.badge-mini .badge-remove{color:#374151}.badge-gray .badge-remove:hover,.badge-mini .badge-remove:hover{background-color:rgba(156,163,175,.2)}.badge-red .badge-remove,.badge-new .badge-remove,.badge-danger .badge-remove{color:#b91c1c}.badge-red .badge-remove:hover,.badge-new .badge-remove:hover,.badge-danger .badge-remove:hover{background-color:rgba(248,113,113,.2)}.badge-yellow .badge-remove,.badge-hot .badge-remove,.badge-warning .badge-remove{color:#a16207}.badge-yellow .badge-remove:hover,.badge-hot .badge-remove:hover,.badge-warning .badge-remove:hover{background-color:rgba(250,204,21,.2)}.badge-green .badge-remove,.badge-success .badge-remove{color:#15803d}.badge-green .badge-remove:hover,.badge-success .badge-remove:hover{background-color:rgba(74,222,128,.2)}.badge-blue .badge-remove,.badge-notice .badge-remove,.badge-info .badge-remove,.badge-primary .badge-remove{color:#1d4ed8}.badge-blue .badge-remove:hover,.badge-notice .badge-remove:hover,.badge-info .badge-remove:hover,.badge-primary .badge-remove:hover{background-color:rgba(96,165,250,.2)}.badge-indigo .badge-remove,.badge-secondary .badge-remove{color:#4338ca}.badge-indigo .badge-remove:hover,.badge-secondary .badge-remove:hover{background-color:rgba(129,140,248,.2)}.badge-purple .badge-remove{color:#7e22ce}.badge-purple .badge-remove:hover{background-color:rgba(192,132,252,.2)}.badge-pink .badge-remove{color:#be185d}.badge-pink .badge-remove:hover{background-color:rgba(244,114,182,.2)}.badge-group{display:inline-flex;gap:.5rem;flex-wrap:wrap;align-items:center}.badge-icon{padding:.25rem;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center}.badge-icon .material-symbols-outlined{font-size:.875rem}.badge-icon.badge-sm,.badge-icon.badge-mini,.badge-icon.badge-notice,.badge-icon.badge-hot,.badge-icon.badge-new{width:1.25rem;height:1.25rem;padding:.125rem}.badge-icon.badge-sm .material-symbols-outlined,.badge-icon.badge-mini .material-symbols-outlined,.badge-icon.badge-notice .material-symbols-outlined,.badge-icon.badge-hot .material-symbols-outlined,.badge-icon.badge-new .material-symbols-outlined{font-size:.75rem}.badge-icon.badge-lg{width:1.75rem;height:1.75rem;padding:.375rem}.badge-icon.badge-lg .material-symbols-outlined{font-size:1rem}.badge-status::before{animation:badge-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.badge-status.badge-static::before{animation:none}@keyframes badge-pulse{0%,100%{opacity:1}50%{opacity:.5}}.badge-count{min-width:1.25rem;padding:0 .375rem;text-align:center;font-weight:600;border-radius:9999px}.badge-corner{position:absolute}.badge-corner.top-right{top:-0.375rem;right:-0.375rem}.badge-corner.top-left{top:-0.375rem;left:-0.375rem}.badge-corner.bottom-right{bottom:-0.375rem;right:-0.375rem}.badge-corner.bottom-left{bottom:-0.375rem;left:-0.375rem}.badge-wrapper{position:relative;display:inline-flex}.badge-hover{cursor:pointer}.badge-hover:hover{filter:brightness(0.97);transform:translateY(-1px)}.badge-hover:active{transform:translateY(0)}[data-theme=dark] .badge-gray,[data-theme=dark] .badge-mini,.dark .badge-gray,.dark .badge-mini{background-color:#374151;color:#f3f4f6;box-shadow:inset 0 0 0 1px #4b5563}[data-theme=dark] .badge-gray.badge-flat,[data-theme=dark] .badge-flat.badge-mini,.dark .badge-gray.badge-flat,.dark .badge-flat.badge-mini{background-color:#4b5563;box-shadow:none}[data-theme=dark] .badge-gray.badge-dot::before,[data-theme=dark] .badge-dot.badge-mini::before,.dark .badge-gray.badge-dot::before,.dark .badge-dot.badge-mini::before{background-color:#9ca3af}[data-theme=dark] .badge-red,[data-theme=dark] .badge-danger,[data-theme=dark] .badge-new,.dark .badge-red,.dark .badge-danger,.dark .badge-new{background-color:#450a0a;color:#fecaca;box-shadow:inset 0 0 0 1px #7f1d1d}[data-theme=dark] .badge-red.badge-flat,[data-theme=dark] .badge-flat.badge-danger,[data-theme=dark] .badge-flat.badge-new,.dark .badge-red.badge-flat,.dark .badge-flat.badge-danger,.dark .badge-flat.badge-new{background-color:#7f1d1d;box-shadow:none}[data-theme=dark] .badge-red.badge-dot::before,[data-theme=dark] .badge-dot.badge-danger::before,[data-theme=dark] .badge-dot.badge-new::before,.dark .badge-red.badge-dot::before,.dark .badge-dot.badge-danger::before,.dark .badge-dot.badge-new::before{background-color:#f87171}[data-theme=dark] .badge-yellow,[data-theme=dark] .badge-warning,[data-theme=dark] .badge-hot,.dark .badge-yellow,.dark .badge-warning,.dark .badge-hot{background-color:#422006;color:#fef08a;box-shadow:inset 0 0 0 1px #713f12}[data-theme=dark] .badge-yellow.badge-flat,[data-theme=dark] .badge-flat.badge-warning,[data-theme=dark] .badge-flat.badge-hot,.dark .badge-yellow.badge-flat,.dark .badge-flat.badge-warning,.dark .badge-flat.badge-hot{background-color:#713f12;box-shadow:none}[data-theme=dark] .badge-yellow.badge-dot::before,[data-theme=dark] .badge-dot.badge-warning::before,[data-theme=dark] .badge-dot.badge-hot::before,.dark .badge-yellow.badge-dot::before,.dark .badge-dot.badge-warning::before,.dark .badge-dot.badge-hot::before{background-color:#facc15}[data-theme=dark] .badge-green,[data-theme=dark] .badge-success,.dark .badge-green,.dark .badge-success{background-color:#052e16;color:#bbf7d0;box-shadow:inset 0 0 0 1px #14532d}[data-theme=dark] .badge-green.badge-flat,[data-theme=dark] .badge-flat.badge-success,.dark .badge-green.badge-flat,.dark .badge-flat.badge-success{background-color:#14532d;box-shadow:none}[data-theme=dark] .badge-green.badge-dot::before,[data-theme=dark] .badge-dot.badge-success::before,.dark .badge-green.badge-dot::before,.dark .badge-dot.badge-success::before{background-color:#4ade80}[data-theme=dark] .badge-blue,[data-theme=dark] .badge-primary,[data-theme=dark] .badge-info,[data-theme=dark] .badge-notice,.dark .badge-blue,.dark .badge-primary,.dark .badge-info,.dark .badge-notice{background-color:#172554;color:#bfdbfe;box-shadow:inset 0 0 0 1px #1e3a8a}[data-theme=dark] .badge-blue.badge-flat,[data-theme=dark] .badge-flat.badge-primary,[data-theme=dark] .badge-flat.badge-info,[data-theme=dark] .badge-flat.badge-notice,.dark .badge-blue.badge-flat,.dark .badge-flat.badge-primary,.dark .badge-flat.badge-info,.dark .badge-flat.badge-notice{background-color:#1e3a8a;box-shadow:none}[data-theme=dark] .badge-blue.badge-dot::before,[data-theme=dark] .badge-dot.badge-primary::before,[data-theme=dark] .badge-dot.badge-info::before,[data-theme=dark] .badge-dot.badge-notice::before,.dark .badge-blue.badge-dot::before,.dark .badge-dot.badge-primary::before,.dark .badge-dot.badge-info::before,.dark .badge-dot.badge-notice::before{background-color:#60a5fa}[data-theme=dark] .badge-indigo,[data-theme=dark] .badge-secondary,.dark .badge-indigo,.dark .badge-secondary{background-color:#1e1b4b;color:#c7d2fe;box-shadow:inset 0 0 0 1px #312e81}[data-theme=dark] .badge-indigo.badge-flat,[data-theme=dark] .badge-flat.badge-secondary,.dark .badge-indigo.badge-flat,.dark .badge-flat.badge-secondary{background-color:#312e81;box-shadow:none}[data-theme=dark] .badge-indigo.badge-dot::before,[data-theme=dark] .badge-dot.badge-secondary::before,.dark .badge-indigo.badge-dot::before,.dark .badge-dot.badge-secondary::before{background-color:#818cf8}[data-theme=dark] .badge-purple,.dark .badge-purple{background-color:#3b0764;color:#e9d5ff;box-shadow:inset 0 0 0 1px #581c87}[data-theme=dark] .badge-purple.badge-flat,.dark .badge-purple.badge-flat{background-color:#581c87;box-shadow:none}[data-theme=dark] .badge-purple.badge-dot::before,.dark .badge-purple.badge-dot::before{background-color:#c084fc}[data-theme=dark] .badge-pink,.dark .badge-pink{background-color:#500724;color:#fbcfe8;box-shadow:inset 0 0 0 1px #831843}[data-theme=dark] .badge-pink.badge-flat,.dark .badge-pink.badge-flat{background-color:#831843;box-shadow:none}[data-theme=dark] .badge-pink.badge-dot::before,.dark .badge-pink.badge-dot::before{background-color:#f472b6}@media(prefers-color-scheme: dark){.badge-gray,.badge-mini{background-color:#374151;color:#f3f4f6;box-shadow:inset 0 0 0 1px #4b5563}.badge-gray.badge-flat,.badge-flat.badge-mini{background-color:#4b5563;box-shadow:none}.badge-gray.badge-dot::before,.badge-dot.badge-mini::before{background-color:#9ca3af}.badge-red,.badge-danger,.badge-new{background-color:#450a0a;color:#fecaca;box-shadow:inset 0 0 0 1px #7f1d1d}.badge-red.badge-flat,.badge-flat.badge-danger,.badge-flat.badge-new{background-color:#7f1d1d;box-shadow:none}.badge-red.badge-dot::before,.badge-dot.badge-danger::before,.badge-dot.badge-new::before{background-color:#f87171}.badge-yellow,.badge-warning,.badge-hot{background-color:#422006;color:#fef08a;box-shadow:inset 0 0 0 1px #713f12}.badge-yellow.badge-flat,.badge-flat.badge-warning,.badge-flat.badge-hot{background-color:#713f12;box-shadow:none}.badge-yellow.badge-dot::before,.badge-dot.badge-warning::before,.badge-dot.badge-hot::before{background-color:#facc15}.badge-green,.badge-success{background-color:#052e16;color:#bbf7d0;box-shadow:inset 0 0 0 1px #14532d}.badge-green.badge-flat,.badge-flat.badge-success{background-color:#14532d;box-shadow:none}.badge-green.badge-dot::before,.badge-dot.badge-success::before{background-color:#4ade80}.badge-blue,.badge-primary,.badge-info,.badge-notice{background-color:#172554;color:#bfdbfe;box-shadow:inset 0 0 0 1px #1e3a8a}.badge-blue.badge-flat,.badge-flat.badge-primary,.badge-flat.badge-info,.badge-flat.badge-notice{background-color:#1e3a8a;box-shadow:none}.badge-blue.badge-dot::before,.badge-dot.badge-primary::before,.badge-dot.badge-info::before,.badge-dot.badge-notice::before{background-color:#60a5fa}.badge-indigo,.badge-secondary{background-color:#1e1b4b;color:#c7d2fe;box-shadow:inset 0 0 0 1px #312e81}.badge-indigo.badge-flat,.badge-flat.badge-secondary{background-color:#312e81;box-shadow:none}.badge-indigo.badge-dot::before,.badge-dot.badge-secondary::before{background-color:#818cf8}.badge-purple{background-color:#3b0764;color:#e9d5ff;box-shadow:inset 0 0 0 1px #581c87}.badge-purple.badge-flat{background-color:#581c87;box-shadow:none}.badge-purple.badge-dot::before{background-color:#c084fc}.badge-pink{background-color:#500724;color:#fbcfe8;box-shadow:inset 0 0 0 1px #831843}.badge-pink.badge-flat{background-color:#831843;box-shadow:none}.badge-pink.badge-dot::before{background-color:#f472b6}}.badge-level{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;background:rgba(var(--accent-primary-rgb, 52, 152, 219), 0.1);color:var(--accent-primary)}:root{--clr-bg-body: #f8fafc;--clr-bg-sidebar: rgba(255, 255, 255, 0.98);--clr-bg-header: rgba(255, 255, 255, 0.6);--clr-bg-content: #ffffff;--clr-bg-card: #ffffff;--clr-bg-input: #f8fafc;--clr-bg-hover: #f1f5f9;--clr-bg-active: #eef2ff;--clr-text-primary: #1e293b;--clr-text-secondary: #475569;--clr-text-tertiary: #64748b;--clr-text-muted: #94a3b8;--clr-text-disabled: #cbd5e1;--clr-accent-primary: #6366f1;--clr-accent-secondary: #8b5cf6;--clr-accent-hover: #4f46e5;--clr-accent-light: #eef2ff;--clr-border-light: rgba(226, 232, 240, 0.8);--clr-border-default: #e2e8f0;--clr-border-dark: #cbd5e1;--clr-success: #22c55e;--clr-success-light: #dcfce7;--clr-warning: #f59e0b;--clr-warning-light: #fef3c7;--clr-error: #ef4444;--clr-error-light: #fef2f2;--clr-info: #3b82f6;--clr-info-light: #dbeafe;--clr-highlight-bg: #f5f3ff;--clr-highlight-text: #6366f1;--font-family-base: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;--font-family-heading: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;--font-family-mono: 'Fira Code', 'Consolas', monospace;--font-size-2xs: 0.625rem;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -0.025em;--letter-spacing-wide: 0.1em;--layout-sidebar-width: 280px;--layout-sidebar-width-collapsed: 64px;--layout-header-height: 64px;--spacing-1: 0.25rem;--spacing-2: 0.5rem;--spacing-3: 0.75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--layout-content-max-width: 64rem;--layout-content-padding: var(--spacing-4);--layout-content-padding-lg: var(--spacing-10);--radius-sm: 0.375rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);--shadow-soft: 0 10px 25px -5px rgba(0, 0, 0, 0.02), 0 8px 10px -6px rgba(0, 0, 0, 0.02);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--glass-blur: 20px;--glass-opacity: 0.98;--transition-fast: 0.15s ease;--transition-normal: 0.2s ease;--transition-slow: 0.3s ease;--transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1);--menu-depth1-weight: 600;--menu-depth1-color: #334155;--menu-depth1-size: var(--font-size-sm);--menu-depth1-padding: 12px 16px;--menu-depth2-weight: 500;--menu-depth2-color: #64748b;--menu-depth2-size: var(--font-size-sm);--menu-depth2-padding: 10px 16px 10px 28px;--menu-depth3-weight: 400;--menu-depth3-color: #94a3b8;--menu-depth3-size: 0.8rem;--menu-depth3-padding: 8px 16px 8px 44px;--menu-depth4-weight: 300;--menu-depth4-color: #cbd5e1;--menu-depth4-size: 0.75rem;--menu-depth4-padding: 6px 16px 6px 60px;--submenu-border-color: #f1f5f9;--submenu-margin-left: 0.75rem;--logo-icon-bg: #4f46e5;--logo-icon-size: 32px;--logo-text-color: var(--clr-text-primary);--logo-highlight-color: #6366f1;--search-bg: var(--clr-bg-input);--search-border: var(--clr-border-default);--search-radius: var(--radius-lg);--search-focus-ring: rgba(99, 102, 241, 0.1);--scrollbar-width: 3px;--scrollbar-thumb: rgba(99, 102, 241, 0.35);--scrollbar-thumb-hover: rgba(99, 102, 241, 0.6);--scrollbar-track: transparent;--tab-border-strong: #8D8D8D;--tab-border-row: #8D8D8D;--tab-border-cell: #EEEEEE;--tab-header-bg: #D9D9D9;--tab-header-text: #333333;--tab-header-border: #8D8D8D;--tab-row-bg: transparent;--tab-row-alt-bg: #F5F5F5;--tab-row-hover: #FFFA99;--tab-group-bg: #DAF2D0;--tab-group-hover: #c6e8b8;--tab-group-border: #6aa84f;--tab-group-text: #38761d}[data-admin-theme=modern]{--clr-bg-body: #f8fafc;--clr-bg-sidebar: rgba(255, 255, 255, 0.85);--clr-bg-header: rgba(255, 255, 255, 0.7);--clr-accent-primary: #6366f1;--clr-accent-secondary: #8b5cf6;--clr-accent-hover: #4f46e5;--clr-accent-light: #e0e7ff;--clr-text-primary: #1e293b;--clr-text-secondary: #475569;--glass-blur: 16px;--glass-opacity: 0.9;--radius-sm: 0.5rem;--radius-md: 0.75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-soft: 0 4px 6px -1px rgba(99, 102, 241, 0.1), 0 2px 4px -1px rgba(99, 102, 241, 0.06);--shadow-card: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);--logo-icon-bg: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--logo-text-color: #1e293b;--search-bg: rgba(255, 255, 255, 0.8);--search-border: transparent;--search-shadow: 0 4px 6px -1px rgba(148, 163, 184, 0.1);--search-focus-ring: rgba(99, 102, 241, 0.25);--btn-radius: var(--radius-md);--btn-shadow: 0 4px 6px -1px rgba(99, 102, 241, 0.3);--tab-border-strong: #a5b4fc;--tab-border-row: #e0e7ff;--tab-border-cell: #eef2ff;--tab-header-bg: linear-gradient(135deg, #e0e7ff 0%, #ede9fe 100%);--tab-header-text: #3730a3;--tab-header-border: #a5b4fc;--tab-row-bg: transparent;--tab-row-alt-bg: rgba(238, 242, 255, 0.5);--tab-row-hover: rgba(224, 231, 255, 0.7);--tab-group-bg: linear-gradient(90deg, #e0e7ff 0%, #ede9fe 100%);--tab-group-hover: #c7d2fe;--tab-group-border: #818cf8;--tab-group-text: #4338ca;--scrollbar-thumb: rgba(99, 102, 241, 0.35);--scrollbar-thumb-hover: rgba(99, 102, 241, 0.6)}[data-admin-theme=classic]{--clr-bg-body: #f1f5f9;--clr-bg-sidebar: #ffffff;--clr-bg-header: #ffffff;--clr-bg-content: #ffffff;--clr-bg-input: #ffffff;--clr-accent-primary: #2563eb;--clr-accent-secondary: #3b82f6;--clr-accent-hover: #1d4ed8;--clr-accent-light: #eff6ff;--clr-text-primary: #0f172a;--clr-text-secondary: #334155;--clr-text-tertiary: #64748b;--clr-border-light: #e2e8f0;--clr-border-default: #cbd5e1;--clr-border-dark: #94a3b8;--glass-blur: 0;--glass-opacity: 1;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.5rem;--radius-2xl: 0.5rem;--shadow-soft: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);--logo-icon-bg: #2563eb;--logo-text-color: #1e3a8a;--search-bg: #ffffff;--search-border: #cbd5e1;--search-shadow: none;--search-focus-ring: rgba(37, 99, 235, 0.2);--btn-radius: 4px;--btn-shadow: none;--sidebar-border-right: 1px solid var(--clr-border-default);--tab-border-strong: #93c5fd;--tab-border-row: #bfdbfe;--tab-border-cell: #dbeafe;--tab-header-bg: #dbeafe;--tab-header-text: #1e3a8a;--tab-header-border: #60a5fa;--tab-row-bg: #ffffff;--tab-row-alt-bg: #f8fafc;--tab-row-hover: #eff6ff;--tab-group-bg: #dbeafe;--tab-group-hover: #bfdbfe;--tab-group-border: #3b82f6;--tab-group-text: #1e40af;--scrollbar-thumb: rgba(37, 99, 235, 0.35);--scrollbar-thumb-hover: rgba(37, 99, 235, 0.6)}[data-admin-theme=dark]{--clr-bg-body: #030712;--clr-bg-sidebar: rgba(17, 24, 39, 0.95);--clr-bg-header: rgba(17, 24, 39, 0.8);--clr-bg-content: #111827;--clr-bg-card: #1f2937;--clr-bg-input: #374151;--clr-bg-hover: #374151;--clr-bg-active: #312e81;--clr-text-primary: #f8fafc;--clr-text-secondary: #cbd5e1;--clr-text-tertiary: #94a3b8;--clr-text-muted: #64748b;--clr-accent-primary: #818cf8;--clr-accent-secondary: #a78bfa;--clr-accent-hover: #6366f1;--clr-accent-light: rgba(99, 102, 241, 0.15);--clr-border-light: rgba(75, 85, 99, 0.4);--clr-border-default: #374151;--clr-border-dark: #4b5563;--glass-blur: 12px;--glass-opacity: 0.95;--shadow-soft: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.3);--logo-icon-bg: linear-gradient(135deg, #6366f1, #d946ef);--logo-text-color: #f8fafc;--search-bg: #1f2937;--search-border: #374151;--search-focus-ring: rgba(129, 140, 248, 0.3);--scrollbar-thumb: rgba(129, 140, 248, 0.4);--scrollbar-thumb-hover: rgba(129, 140, 248, 0.65);--menu-depth1-color: #f8fafc;--menu-depth2-color: #cbd5e1;--menu-depth3-color: #94a3b8;--submenu-border-color: #374151;--tab-border-strong: #4b5563;--tab-border-row: #374151;--tab-border-cell: #1f2937;--tab-header-bg: #1f2937;--tab-header-text: #e0e7ff;--tab-header-border: #4b5563;--tab-row-bg: #111827;--tab-row-alt-bg: #1f2937;--tab-row-hover: rgba(99, 102, 241, 0.15);--tab-group-bg: rgba(99, 102, 241, 0.1);--tab-group-hover: rgba(99, 102, 241, 0.2);--tab-group-border: #818cf8;--tab-group-text: #a5b4fc}[data-admin-theme=minimal]{--clr-bg-body: #ffffff;--clr-bg-sidebar: #ffffff;--clr-bg-header: rgba(255, 255, 255, 0.9);--clr-bg-content: #ffffff;--clr-bg-input: #ffffff;--clr-accent-primary: #10b981;--clr-accent-secondary: #34d399;--clr-accent-hover: #059669;--clr-accent-light: #ecfdf5;--clr-text-primary: #171717;--clr-text-secondary: #525252;--clr-border-light: #f5f5f5;--clr-border-default: #e5e5e5;--clr-border-dark: #d4d4d4;--glass-blur: 0;--glass-opacity: 1;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-soft: none;--shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--logo-icon-bg: #10b981;--logo-text-color: #171717;--search-bg: transparent;--search-border: transparent;--search-border-bottom: 1px solid #e5e5e5;--search-radius: 0;--search-shadow: none;--search-focus-ring: none;--btn-radius: 4px;--sidebar-border-right: 1px solid #f5f5f5;--tab-border-strong: #d4d4d4;--tab-border-row: #e5e5e5;--tab-border-cell: #f5f5f5;--tab-header-bg: #fafafa;--tab-header-text: #171717;--tab-header-border: #d4d4d4;--tab-row-bg: #ffffff;--tab-row-alt-bg: #fafafa;--tab-row-hover: #ecfdf5;--tab-group-bg: #ecfdf5;--tab-group-hover: #d1fae5;--tab-group-border: #10b981;--tab-group-text: #065f46;--scrollbar-thumb: rgba(16, 185, 129, 0.35);--scrollbar-thumb-hover: rgba(16, 185, 129, 0.6)}[data-admin-theme=compact]{--layout-sidebar-width: 220px;--layout-header-height: 56px;--font-size-2xs: 0.5625rem;--font-size-xs: 0.6875rem;--font-size-sm: 0.8125rem;--font-size-base: 0.875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--spacing-1: 0.1875rem;--spacing-2: 0.375rem;--spacing-3: 0.5rem;--spacing-4: 0.75rem;--spacing-5: 1rem;--spacing-6: 1.25rem;--spacing-8: 1.5rem;--spacing-10: 2rem;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--menu-depth1-padding: 8px 12px;--menu-depth2-padding: 6px 12px 6px 24px;--menu-depth3-padding: 6px 12px 6px 36px;--menu-depth4-padding: 4px 12px 4px 48px;--logo-icon-size: 28px}[data-admin-theme=ruby]{--clr-bg-body: #fdf2f8;--clr-bg-sidebar: rgba(255, 255, 255, 0.92);--clr-bg-header: rgba(255, 255, 255, 0.75);--clr-bg-content: #ffffff;--clr-bg-input: #fdf2f8;--clr-bg-hover: #fce7f3;--clr-bg-active: #fbcfe8;--clr-accent-primary: #db2777;--clr-accent-secondary: #be185d;--clr-accent-hover: #9d174d;--clr-accent-light: #fce7f3;--clr-text-primary: #1c1917;--clr-text-secondary: #57534e;--clr-text-tertiary: #78716c;--clr-text-muted: #a8a29e;--clr-border-light: rgba(251, 207, 232, 0.5);--clr-border-default: #fbcfe8;--clr-border-dark: #f472b6;--glass-blur: 14px;--glass-opacity: 0.88;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-soft: 0 4px 6px -1px rgba(219, 39, 119, 0.1), 0 2px 4px -1px rgba(219, 39, 119, 0.06);--shadow-card: 0 10px 15px -3px rgba(219, 39, 119, 0.05);--logo-icon-bg: linear-gradient(135deg, #ec4899 0%, #be185d 50%, #9d174d 100%);--logo-text-color: #9d174d;--search-bg: rgba(255, 255, 255, 0.85);--search-border: #fbcfe8;--search-focus-ring: rgba(219, 39, 119, 0.2);--btn-radius: 10px;--btn-shadow: 0 4px 6px -1px rgba(219, 39, 119, 0.25);--menu-depth1-color: #1c1917;--menu-depth2-color: #57534e;--menu-depth3-color: #a8a29e;--tab-border-strong: #f472b6;--tab-border-row: #fce7f3;--tab-border-cell: #fdf2f8;--tab-header-bg: linear-gradient(135deg, #fce7f3 0%, #fae8ff 100%);--tab-header-text: #9d174d;--tab-header-border: #f472b6;--tab-row-bg: transparent;--tab-row-alt-bg: rgba(252, 231, 243, 0.4);--tab-row-hover: rgba(251, 207, 232, 0.5);--tab-group-bg: linear-gradient(90deg, #fce7f3 0%, #fae8ff 100%);--tab-group-hover: #fbcfe8;--tab-group-border: #ec4899;--tab-group-text: #9d174d;--scrollbar-thumb: rgba(219, 39, 119, 0.35);--scrollbar-thumb-hover: rgba(219, 39, 119, 0.6)}[data-admin-theme=sunset]{--clr-bg-body: #fff7ed;--clr-bg-sidebar: rgba(255, 255, 255, 0.9);--clr-bg-header: rgba(255, 255, 255, 0.8);--clr-bg-content: #ffffff;--clr-bg-input: #fff7ed;--clr-bg-hover: #ffedd5;--clr-bg-active: #fed7aa;--clr-accent-primary: #f97316;--clr-accent-secondary: #ea580c;--clr-accent-hover: #c2410c;--clr-accent-light: #fff7ed;--clr-text-primary: #431407;--clr-text-secondary: #7c2d12;--clr-text-tertiary: #9a3412;--clr-border-light: rgba(254, 215, 170, 0.5);--clr-border-default: #fed7aa;--clr-border-dark: #fb923c;--glass-blur: 10px;--glass-opacity: 0.9;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 4px 6px -1px rgba(249, 115, 22, 0.1), 0 2px 4px -1px rgba(249, 115, 22, 0.06);--shadow-card: 0 10px 15px -3px rgba(249, 115, 22, 0.05);--logo-icon-bg: linear-gradient(135deg, #f97316 0%, #ec4899 100%);--logo-text-color: #7c2d12;--search-bg: rgba(255, 255, 255, 0.9);--search-border: #fed7aa;--search-focus-ring: rgba(249, 115, 22, 0.2);--btn-radius: 8px;--btn-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.25);--clr-warning: #ea580c;--clr-warning-light: #ffedd5;--tab-border-strong: #fb923c;--tab-border-row: #fed7aa;--tab-border-cell: #ffedd5;--tab-header-bg: linear-gradient(135deg, #ffedd5 0%, #fce7f3 100%);--tab-header-text: #7c2d12;--tab-header-border: #fb923c;--tab-row-bg: transparent;--tab-row-alt-bg: rgba(255, 237, 213, 0.4);--tab-row-hover: rgba(254, 215, 170, 0.5);--tab-group-bg: linear-gradient(90deg, #fff7ed 0%, #fce7f3 100%);--tab-group-hover: #fed7aa;--tab-group-border: #f97316;--tab-group-text: #9a3412;--scrollbar-thumb: rgba(249, 115, 22, 0.35);--scrollbar-thumb-hover: rgba(249, 115, 22, 0.6)}.modern-body{font-family:var(--font-family-base);background-color:var(--clr-bg-body);color:var(--clr-text-primary);-webkit-tap-highlight-color:rgba(0,0,0,0);height:100vh;margin:0;padding:0;overflow:hidden}.modern-container{display:flex;height:100vh;overflow:hidden}.modern-main{flex:1;display:flex;flex-direction:column;min-width:0;background-color:var(--clr-bg-body);overflow:hidden;position:relative}.modern-content{flex:1;overflow-y:auto;padding:var(--layout-content-padding)}@media(min-width: 1024px){.modern-content{padding:var(--layout-content-padding-lg)}}.modern-content-inner{background:#fff;border-radius:var(--radius-2xl);padding:var(--layout-content-padding);min-height:calc(100vh - var(--layout-header-height) - var(--layout-content-padding)*4);box-shadow:var(--shadow-soft)}.modern-page-header{display:none}.modern-card{background:var(--clr-bg-card);padding:var(--spacing-8);border-radius:var(--radius-3xl);border:1px solid var(--clr-border-default);box-shadow:var(--shadow-soft);transition:all var(--transition-normal)}.modern-card:hover{border-color:rgba(99,102,241,.2)}.modern-card .card-icon{width:48px;height:48px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);margin-bottom:var(--spacing-6);transition:transform var(--transition-normal)}.modern-card .card-icon .material-symbols-outlined{font-size:24px}.modern-card .card-icon.indigo{background:var(--clr-accent-light);color:var(--clr-accent-primary)}.modern-card .card-icon.orange{background:#fff7ed;color:#ea580c}.modern-card .card-icon.green{background:var(--clr-success-light);color:var(--clr-success)}.modern-card .card-icon.blue{background:var(--clr-info-light);color:var(--clr-info)}.modern-card:hover .card-icon{transform:scale(1.1)}.modern-card .card-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);margin-bottom:var(--spacing-3);color:var(--clr-text-primary)}.modern-card .card-desc{color:var(--clr-text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.modern-card-grid{display:grid;grid-template-columns:repeat(1, 1fr);gap:var(--spacing-6)}@media(min-width: 768px){.modern-card-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 1024px){.modern-sidebar{position:fixed;transform:translateX(-100%)}.modern-sidebar.show{transform:translateX(0)}}@media(max-width: 768px){.modern-content{padding:var(--spacing-4)}.modern-page-header{margin-bottom:var(--spacing-6)}.modern-page-header h2{font-size:var(--font-size-2xl)}.modern-card{padding:var(--spacing-6);border-radius:var(--radius-2xl)}}.fullscreen-mode .modern-sidebar{display:none !important}.fullscreen-mode .modern-header{display:none !important}.fullscreen-mode .sidebar-overlay{display:none !important}.fullscreen-mode .modern-main{margin-left:0}.fullscreen-mode .modern-content{padding:var(--spacing-4)}.fullscreen-mode .modern-content-inner{max-width:100%;border-radius:0;box-shadow:none;min-height:100vh}@media print{.modern-sidebar,.modern-header,.sidebar-overlay,.fullscreen-toggle-btn,.mobile-menu-toggle{display:none !important}.modern-container{display:block}.modern-main{margin:0;padding:0}.modern-content{padding:0;overflow:visible}.modern-content-inner{box-shadow:none;border-radius:0;padding:20px;min-height:auto}body{background:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.modern-sidebar{width:var(--layout-sidebar-width);height:100%;position:fixed;left:0;top:0;z-index:50;display:flex;flex-direction:column;background:var(--clr-bg-sidebar);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--clr-border-light);transition:transform var(--transition-smooth);transform:translateX(-100%)}.modern-sidebar.show{transform:translateX(0)}@media(min-width: 1024px){.modern-sidebar{position:relative;transform:none !important}}.sidebar-header{padding:var(--spacing-4);border-bottom:1px solid var(--clr-bg-hover)}.logo-wrapper{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-2);margin-bottom:var(--spacing-4);position:relative}.logo-wrapper .logo-icon{width:var(--logo-icon-size);height:var(--logo-icon-size);background:var(--logo-icon-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);box-shadow:0 10px 15px -3px rgba(99,102,241,.1)}.logo-wrapper .logo-text{font-weight:var(--font-weight-extrabold);color:var(--logo-text-color);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-lg)}.logo-wrapper .logo-text .highlight{color:var(--logo-highlight-color);font-weight:var(--font-weight-medium)}.logo-wrapper .dev-ribbon{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg, #ef4444, #dc2626);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;border-radius:4px;text-transform:uppercase;box-shadow:0 2px 6px rgba(239,68,68,.4);animation:dev-ribbon-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes dev-ribbon-pulse{0%,100%{opacity:1}50%{opacity:.6}}.menu-search{position:relative}.menu-search .search-icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--clr-text-disabled);font-size:var(--font-size-2xs)}.menu-search input{width:100%;background-color:var(--search-bg);border:1px solid var(--search-border);border-radius:var(--search-radius);padding:var(--spacing-2) var(--spacing-4) var(--spacing-2) 36px;font-size:var(--font-size-xs);font-family:var(--font-family-base);color:var(--clr-text-primary);outline:none;transition:all var(--transition-normal)}.menu-search input::placeholder{color:var(--clr-text-muted)}.menu-search input:focus{box-shadow:0 0 0 2px var(--search-focus-ring)}.favorites-section{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--clr-bg-hover)}.favorites-section .section-header{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-2)}.favorites-section .section-header .material-symbols-outlined{font-size:14px;color:var(--clr-warning)}.favorites-section .favorite-list{display:flex;flex-direction:column;gap:var(--spacing-1)}.favorites-section .favorite-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);color:var(--clr-text-secondary);font-size:var(--font-size-xs);text-decoration:none;transition:all var(--transition-fast)}.favorites-section .favorite-item:hover{background-color:var(--clr-bg-hover);color:var(--clr-accent-primary)}.favorites-section .favorite-item .material-symbols-outlined{font-size:16px;color:var(--clr-warning)}.favorites-section .favorite-item .text{flex:1}.favorites-section .favorite-item .remove-btn{opacity:0;background:none;border:none;padding:2px;cursor:pointer;color:var(--clr-text-muted)}.favorites-section .favorite-item .remove-btn .material-symbols-outlined{font-size:14px;color:inherit}.favorites-section .favorite-item .remove-btn:hover{color:var(--clr-error)}.favorites-section .favorite-item:hover .remove-btn{opacity:1}.favorites-section .empty-favorites{font-size:var(--font-size-xs);color:var(--clr-text-muted);padding:var(--spacing-2)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--spacing-3)}.sidebar-nav::-webkit-scrollbar{width:var(--scrollbar-width)}.sidebar-nav::-webkit-scrollbar-track{background:var(--scrollbar-track)}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.menu-section-title{padding:0 var(--spacing-4);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:var(--spacing-6) 0 var(--spacing-2)}.menu-section-title:first-child{margin-top:0}.menu-item-group{margin-bottom:var(--spacing-1)}.menu-dashboard{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background-color:var(--clr-accent-light);color:var(--clr-accent-hover);border-radius:var(--radius-lg);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4);text-decoration:none;transition:all var(--transition-fast)}.menu-dashboard .material-symbols-outlined{font-size:18px}.menu-dashboard:hover{background-color:var(--clr-accent-light)}.menu-toggle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-4);border:none;background:rgba(0,0,0,0);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.menu-toggle-btn:hover{background-color:var(--clr-bg-hover)}.menu-toggle-btn .menu-label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-family:var(--font-family-base)}.menu-toggle-btn .menu-label .material-symbols-outlined{font-size:18px;width:20px;text-align:center;flex-shrink:0;transition:color var(--transition-fast)}.menu-toggle-btn:hover .menu-label .material-symbols-outlined{color:var(--clr-accent-primary)}.menu-toggle-btn .arrow-icon{font-size:8px;color:var(--clr-text-disabled);transition:transform var(--transition-slow)}.menu-toggle-btn .arrow-icon.rotated{transform:rotate(90deg)}.menu-link{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4) var(--spacing-2) var(--spacing-2);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-fast)}.menu-link .material-symbols-outlined{font-size:18px;width:20px;text-align:center;flex-shrink:0}.menu-link:hover{background-color:var(--clr-bg-hover);color:var(--clr-accent-primary)}.menu-link.active{background-color:var(--clr-accent-light);color:var(--clr-accent-primary);font-weight:var(--font-weight-semibold)}.menu-link.active .material-symbols-outlined{color:var(--clr-accent-primary)}.menu-link .menu-badge{display:none}.menu-link .menu-badge.has-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:auto;background:linear-gradient(135deg, #ef4444, #dc2626);color:#fff;font-size:10px;font-weight:700;line-height:1;border-radius:9px;box-shadow:0 2px 6px rgba(239,68,68,.35);animation:badge-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes badge-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.menu-link .favorite-toggle{opacity:0;margin-left:auto;background:none;border:none;padding:2px;cursor:pointer;color:var(--clr-text-muted)}.menu-link .favorite-toggle .material-symbols-outlined{font-size:16px}.menu-link .favorite-toggle:hover{color:var(--clr-warning)}.menu-link .favorite-toggle.is-favorite{opacity:1;color:var(--clr-warning)}.menu-link .menu-badge.has-count+.favorite-toggle{margin-left:var(--spacing-2)}.menu-link:hover .favorite-toggle{opacity:1}.menu-parent{display:flex;align-items:center;border-radius:var(--radius-lg);transition:background-color var(--transition-fast)}.menu-parent:hover{background-color:var(--clr-bg-hover)}.menu-parent .menu-link{flex:1;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.menu-parent .menu-link:hover{background-color:rgba(0,0,0,0)}.menu-parent .arrow-toggle{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-3);background:rgba(0,0,0,0);border:none;border-radius:0 var(--radius-lg) var(--radius-lg) 0;cursor:pointer;color:var(--clr-text-muted);transition:all var(--transition-fast)}.menu-parent .arrow-toggle .arrow-icon{font-size:16px;transition:transform var(--transition-slow)}.menu-parent .arrow-toggle .arrow-icon.rotated{transform:rotate(90deg)}.menu-parent .arrow-toggle:hover{color:var(--clr-accent-primary)}.depth-1{font-weight:var(--menu-depth1-weight);color:var(--menu-depth1-color);font-size:var(--menu-depth1-size)}.depth-2{font-weight:var(--menu-depth2-weight);color:var(--menu-depth2-color);font-size:var(--menu-depth2-size)}.depth-3{font-weight:var(--menu-depth3-weight);color:var(--menu-depth3-color);font-size:var(--menu-depth3-size)}.depth-4{font-weight:var(--menu-depth4-weight);color:var(--menu-depth4-color);font-size:var(--menu-depth4-size)}.sub-menu{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--transition-slow) cubic-bezier(0.4, 0, 0.2, 1),opacity var(--transition-normal);border-left:1px solid var(--submenu-border-color);margin-left:var(--submenu-margin-left);padding-left:var(--spacing-4)}.sub-menu.open{max-height:2000px;opacity:1}.search-stats{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-2xs);color:var(--clr-text-muted);font-weight:var(--font-weight-medium)}.search-stats.hidden{display:none}.search-stats .match-count{color:var(--clr-accent-primary);font-weight:var(--font-weight-bold)}.search-highlight{background-color:var(--clr-highlight-bg);color:var(--clr-highlight-text);font-weight:var(--font-weight-bold);border-radius:3px;padding:0 2px}.menu-highlight{background-color:var(--clr-highlight-bg) !important;color:var(--clr-highlight-text) !important;border-radius:var(--radius-lg)}.search-hidden{display:none !important}.sidebar-footer{padding:var(--spacing-4);border-top:1px solid var(--clr-bg-hover)}.sidebar-footer .sidebar-actions{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.sidebar-footer .btn-expand-all,.sidebar-footer .btn-collapse-all{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);padding:var(--spacing-2);background:var(--clr-bg-hover);border:none;border-radius:var(--radius-md);color:var(--clr-text-tertiary);font-size:var(--font-size-xs);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-fast)}.sidebar-footer .btn-expand-all .material-symbols-outlined,.sidebar-footer .btn-collapse-all .material-symbols-outlined{font-size:16px}.sidebar-footer .btn-expand-all:hover,.sidebar-footer .btn-collapse-all:hover{background:var(--clr-border-default);color:var(--clr-text-secondary)}.sidebar-footer .btn-logout{width:100%;display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:rgba(0,0,0,0);border:none;border-radius:var(--radius-lg);color:var(--clr-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-fast)}.sidebar-footer .btn-logout .material-symbols-outlined{font-size:18px}.sidebar-footer .btn-logout:hover{background:var(--clr-error-light);color:var(--clr-error)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:40}.sidebar-overlay.active{display:block}@media(min-width: 1024px){.sidebar-overlay{display:none !important}}.modern-header{height:var(--layout-header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-6);background:var(--clr-bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--clr-border-default);box-shadow:0 2px 4px rgba(0,0,0,.02),0 4px 8px rgba(0,0,0,.01);position:sticky;top:0;z-index:30}@media(min-width: 1024px){.modern-header{padding:0 var(--spacing-8)}}.header-left{display:flex;align-items:center;gap:var(--spacing-4)}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:var(--spacing-2);color:var(--clr-text-secondary);cursor:pointer}.mobile-menu-toggle .material-symbols-outlined{font-size:24px}@media(min-width: 1024px){.mobile-menu-toggle{display:none}}.modern-breadcrumb{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--clr-text-muted)}.modern-breadcrumb .breadcrumb-item{display:flex;align-items:center}.modern-breadcrumb .breadcrumb-item:hover:not(.current){color:var(--clr-accent-primary);cursor:pointer}.modern-breadcrumb .breadcrumb-item.current{color:var(--clr-text-primary)}.modern-breadcrumb a.breadcrumb-item{text-decoration:none;color:inherit;transition:color var(--transition-fast)}.modern-breadcrumb a.breadcrumb-item:hover{color:var(--clr-accent-primary)}.modern-breadcrumb .breadcrumb-sep{font-size:8px;color:var(--clr-text-disabled)}.modern-breadcrumb .breadcrumb-perms{display:inline-flex;align-items:center;gap:2px;margin-left:var(--spacing-3);padding:1px 4px;background:var(--clr-bg-hover);border-radius:var(--radius-md);border:1px solid var(--clr-border-default)}.modern-breadcrumb .breadcrumb-perms .perm-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modern-breadcrumb .breadcrumb-perms .perm-badge .material-symbols-outlined{font-size:13px}.modern-breadcrumb .breadcrumb-perms .perm-badge.active{color:var(--clr-accent-primary)}.modern-breadcrumb .breadcrumb-perms .perm-badge.inactive{color:var(--clr-text-disabled);opacity:.35}.header-right{display:flex;align-items:center;gap:var(--spacing-3)}.header-divider{width:1px;height:24px;background:var(--clr-border-default)}.notification-btn{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:var(--spacing-2);color:var(--clr-text-muted);cursor:pointer;transition:color var(--transition-fast)}.notification-btn .material-symbols-outlined{font-size:22px}.notification-btn:hover{color:var(--clr-accent-primary)}.notification-btn .notification-badge{position:absolute;top:4px;right:4px;width:6px;height:6px;background:var(--clr-accent-primary);border-radius:var(--radius-full)}.fullscreen-toggle-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:var(--spacing-2);color:var(--clr-text-muted);cursor:pointer;transition:color var(--transition-fast)}.fullscreen-toggle-btn .material-symbols-outlined{font-size:22px}.fullscreen-toggle-btn:hover{color:var(--clr-accent-primary)}.profile-wrapper{position:relative}.profile-trigger{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1);background:rgba(0,0,0,0);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.profile-trigger:hover{background:var(--clr-bg-hover)}.profile-trigger .profile-avatar{width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--clr-border-default);object-fit:cover}.profile-trigger .arrow-icon{font-size:8px;color:var(--clr-text-disabled)}.profile-dropdown{position:absolute;right:0;top:100%;margin-top:var(--spacing-3);width:210px;background:var(--clr-bg-card);border:1px solid var(--clr-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);overflow:hidden;z-index:50;display:none;transform-origin:top right}.profile-dropdown.active{display:block;animation:dropdownScale .2s ease-out forwards}@keyframes dropdownScale{from{opacity:0;transform:scale(0.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.profile-info{padding:var(--spacing-4);border-bottom:1px solid var(--clr-border-default);background:var(--clr-bg-hover)}.profile-info .profile-role{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-1)}.profile-info .profile-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--clr-text-primary)}.profile-menu{padding:var(--spacing-2)}.profile-menu-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2) var(--spacing-3);background:rgba(0,0,0,0);border:none;border-radius:var(--radius-md);color:var(--clr-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family-base);text-align:left;cursor:pointer;transition:all var(--transition-fast)}.profile-menu-item .material-symbols-outlined{font-size:18px;width:18px}.profile-menu-item:hover{background:var(--clr-accent-light);color:var(--clr-accent-primary)}.profile-menu-item.logout{color:var(--clr-error);font-weight:var(--font-weight-medium)}.profile-menu-item.logout:hover{background:var(--clr-error-light)}.profile-menu-divider{height:1px;background:var(--clr-bg-hover);margin:var(--spacing-2) 0}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f4;--bg-quaternary: #e9ecef;--bg-quinary: #d4e3f0;--bg-senary: #c1d7ed;--text-primary: #333;--text-secondary: #666;--text-tertiary: #333;--border-primary: #dee2e6;--border-secondary: #e9ecef;--border-tertiary: #d4e3f0;--border-quaternary: #c1d7ed;--accent-primary: #007bff;--accent-secondary: #0056b3;--accent-tertiary: #004085;--accent-hover: #e9ecef;--shadow-light: rgba(0, 0, 0, 0.1);--shadow-medium: rgba(0, 0, 0, 0.15)}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #333333;--bg-quaternary: #404040;--bg-quinary: #4a4a4a;--bg-senary: #555555;--text-primary: #ffffff;--text-secondary: #cccccc;--text-tertiary: #ffffff;--border-primary: #404040;--border-secondary: #4a4a4a;--border-tertiary: #555555;--border-quaternary: #606060;--accent-primary: #0d6efd;--accent-secondary: #0b5ed7;--accent-tertiary: #084fa5;--accent-hover: #404040;--shadow-light: rgba(0, 0, 0, 0.3);--shadow-medium: rgba(0, 0, 0, 0.4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;height:100vh;overflow:hidden;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease;transition:color .3s ease;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body *::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}body *::-webkit-scrollbar-track{background:var(--scrollbar-track)}body *::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}body *::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body *{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.loading{display:flex;align-items:center;justify-content:center;padding:39.9px;color:var(--text-secondary);font-size:16px}.loading::before{content:"⏳";margin-right:8px;animation:spin 2s linear infinite}.error{display:flex;align-items:center;justify-content:center;padding:39.9px;color:#dc3545;font-size:16px;background-color:var(--bg-secondary);border:1px solid #f5c6cb;border-radius:6px;margin:20px}.error::before{content:"⚠️";margin-right:8px}.content-area-hidden{display:none !important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*{transition:background-color .3s ease;transition:color .3s ease;transition:border-color .3s ease;transition:box-shadow .3s ease}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-secondary)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid var(--accent-primary);display:inline-block}.settings-section h5{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.theme-selector{display:flex;gap:20px;margin-top:8px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:12px;border:2px solid var(--border-primary);border-radius:8px;transition:all .2s;background-color:var(--bg-primary)}.theme-option:hover{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.theme-option input[type=radio]{display:none}.theme-option input[type=radio]:checked+.theme-preview{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(0,123,255,.2)}.theme-option input[type=radio]:checked~span{color:var(--accent-primary);font-weight:600}.theme-option span{font-size:14px;font-weight:500;color:var(--text-primary);transition:all .2s}.theme-preview{width:80px;height:60px;border:2px solid var(--border-secondary);border-radius:6px;overflow:hidden;transition:all .2s;position:relative}.theme-preview .theme-preview-header{height:20px;width:100%}.theme-preview .theme-preview-body{height:40px;width:100%}.light-theme .theme-preview-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.light-theme .theme-preview-body{background-color:#fff}.dark-theme .theme-preview-header{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-theme .theme-preview-body{background-color:#1a1a1a}.test-content{width:1200px;height:200px;background:linear-gradient(45deg, var(--bg-secondary) 25%, transparent 25%),linear-gradient(-45deg, var(--bg-secondary) 25%, transparent 25%);background-size:20px 20px;border:2px dashed var(--border-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.tall-content{height:300px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}@media(max-width: 1024px){.admin-container{--sidebar-width: 200px}.right-content{--right-width: 200px}}@media(max-width: 768px){.admin-container{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"content";padding-top:60px}.admin-container.sidebar-hidden{grid-template-columns:1fr}.left-menu{display:none !important;position:fixed !important;top:0 !important;left:0 !important;right:auto !important;bottom:auto !important;width:280px !important;height:100% !important;z-index:1002 !important;transform:translateX(-100%) !important;transition:transform .3s ease !important;background-color:var(--bg-tertiary) !important;box-shadow:2px 0 10px rgba(0,0,0,.1) !important;overflow-y:auto !important;grid-area:unset !important}.left-menu.show{display:flex !important;transform:translateX(0) !important}.mobile-sidebar-overlay.show{opacity:1;visibility:visible}.top-menu{display:none !important}.top-nav-menu{display:none}.mobile-top-nav{display:flex}.content-area{display:block;height:100%}.main-content{width:100%;max-width:100%}.resizer{display:none}.right-content{position:fixed;top:60px;right:0;height:calc(100vh - 60px);width:100%;max-width:350px;z-index:999;transform:translateX(100%);transition:transform .3s ease;border-left:none;box-shadow:-4px 0 20px rgba(0,0,0,.15)}.right-content.show{transform:translateX(0)}.content-area.hide-right .right-content{display:block;transform:translateX(100%)}.main-content-header{padding:15px 20px}.main-content-header .main-content-header-left .header-icon{font-size:18px}.main-content-header .main-content-header-info h2{font-size:14px}.main-content-header .main-content-header-info p{font-size:12px}.main-content-body{padding:15px 20px}.content-header h3{font-size:20px;margin-bottom:8px}.content-header p{font-size:14px}.content-block{padding:20px;margin-bottom:15px}.menu-toggle{font-size:20px;padding:10px;display:block !important}}@media(max-width: 576px){.mobile-menu-content{width:90%}.right-content{max-width:100%}.main-content-header{padding:12px 15px}.main-content-body{padding:12px 15px}.content-block{padding:15px}.top-menu{display:none !important}}@media(max-width: 768px){body::after{content:"";position:fixed;top:50%;left:10px;transform:translateY(-50%);width:4px;height:60px;background:linear-gradient(to bottom, transparent, var(--accent-primary), transparent);border-radius:2px;opacity:0;animation:swipeHint 3s ease-in-out infinite;z-index:10;pointer-events:none}body.menu-shown::after{display:none}@keyframes swipeHint{0%,100%{opacity:0;transform:translateY(-50%) translateX(0)}50%{opacity:.6;transform:translateY(-50%) translateX(10px)}}}/*# sourceMappingURL=interface.css.map */
