.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-start{justify-content:flex-start}.flex-end,.flex-start{display:flex;align-items:center}.flex-end{justify-content:flex-end}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.fixed-left{height:100vh}.fixed-left,.fixed-top{position:fixed;top:0;left:0}.fixed-top{right:0}.absolute-fill{position:absolute;top:0;left:0;right:0;bottom:0}.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-fast)}.clickable:hover{opacity:.9}.clickable:active{transform:scale(.98)}.menu-item-base,.sidebar-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;font-size:var(--font-size-sm);transition:all var(--transition-fast);cursor:pointer}.sidebar-menu-item{color:rgba(255,255,255,.85)}.sidebar-menu-item:hover{background-color:var(--color-bg-sidebar-hover);color:var(--color-text-inverse)}.sidebar-menu-item.active{background-color:var(--color-bg-sidebar-active);color:var(--color-text-inverse);font-weight:var(--font-weight-medium)}.icon-container{display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clamp-2{-webkit-line-clamp:2}.text-clamp-2,.text-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3}.custom-scrollbar{overflow-y:auto}.custom-scrollbar::-webkit-scrollbar{width:.375rem}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.custom-scrollbar-light::-webkit-scrollbar-thumb{background:var(--color-border)}.custom-scrollbar-light::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.sidebar-container{position:fixed;top:0;left:0;width:var(--sidebar-width);min-width:var(--sidebar-min-width);max-width:var(--sidebar-max-width);height:100vh;background-color:var(--color-bg-sidebar);display:flex;flex-direction:column;z-index:var(--z-sticky)}.nav-container{flex:1 1;overflow-y:auto;padding-top:var(--header-height)}.list-reset{list-style:none;padding:0;margin:0}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--base-unit:1rem;--color-primary:#317FF4;--color-primary-hover:#2968d9;--color-primary-light:#E3F2FD;--color-bg-primary:#FFFFFF;--color-bg-secondary:#F5F7FA;--color-bg-sidebar:#1a2236;--color-bg-sidebar-hover:rgba(255,255,255,0.05);--color-bg-sidebar-active:#317FF4;--color-text-primary:#000000;--color-text-secondary:#666666;--color-text-tertiary:#999999;--color-text-disabled:#CCCCCC;--color-text-inverse:#FFFFFF;--color-text-link:#317FF4;--color-border:#E0E0E0;--color-border-light:#F0F0F0;--color-border-focus:#317FF4;--color-success:#4CAF50;--color-success-light:#E8F5E9;--color-warning:#FF9800;--color-warning-light:#FFF3E0;--color-danger:#F44336;--color-danger-light:#FFEBEE;--color-info:#2196F3;--color-info-light:#E3F2FD;--color-table-header:#F1F1F1;--color-table-row-hover:#FAFBFC;--color-table-row-selected:#E3F2FD;--color-table-border:#D4D4D5;--font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Monaco","Inconsolata","Fira Code","Droid Sans Mono","Source Code Pro",monospace;--font-size-xs:0.6875rem;--font-size-sm:0.75rem;--font-size-md:0.8125rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-2xs:0.125rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.25rem;--spacing-2xl:1.5rem;--spacing-3xl:2rem;--spacing-4xl:2.5rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--shadow-sm:0 0.0625rem 0.125rem rgba(0,0,0,0.05);--shadow-md:0 0.25rem 0.375rem rgba(0,0,0,0.07);--shadow-lg:0 0.625rem 0.9375rem rgba(0,0,0,0.1);--shadow-xl:0 1.25rem 1.5625rem rgba(0,0,0,0.15);--sidebar-width:11.25rem;--header-height:3.75rem;--transition-fast:0.15s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:#ffffff}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-md)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:inherit}input:focus,select:focus,textarea:focus{outline:none}table{border-collapse:collapse;width:100%}ol,ul{list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background-color:var(--color-primary-light);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.text-ellipsis{overflow:hidden;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}