@import "https://spoqa.github.io/spoqa-han-sans/css/SpoqaHanSansNeo.css";:root{--color-primary-50:#f3fcdc;--color-primary-100:#f0fad8;--color-primary-200:#dff6b3;--color-primary-300:#c1e687;--color-primary-400:#9fcd63;--color-primary-500:#73ac36;--color-primary-600:#5a9327;--color-primary-700:#437b1b;--color-primary-800:#2f6311;--color-primary-900:#21520a;--color-secondary-50:#e1f7fd;--color-secondary-100:#d6f1fb;--color-secondary-200:#afe1f8;--color-secondary-300:#84c4eb;--color-secondary-400:#61a5d8;--color-secondary-500:#337cbf;--color-secondary-600:#2560a4;--color-secondary-700:#194889;--color-secondary-800:#10326e;--color-secondary-900:#09235b;--color-grey-50:#f7f9f8;--color-grey-100:#f1f4f3;--color-grey-200:#ebeeed;--color-grey-300:#dde0df;--color-grey-400:#b9bcbb;--color-grey-500:#979998;--color-grey-600:#6e706f;--color-grey-700:#5b5c5b;--color-grey-800:#3c3e3d;--color-grey-900:#1f1f1f;--color-white:#fff;--color-black:#000;--color-success-100:#dcfbea;--color-success-300:#56d8aa;--color-success-500:#00806a;--color-success-700:#01463a;--color-success-900:#052923;--color-warning-100:#fff8cd;--color-warning-300:#ffe56a;--color-warning-500:#ffc907;--color-warning-700:#b78803;--color-warning-900:#7a5501;--color-caution-100:#feefd6;--color-caution-300:#ffcb7a;--color-caution-500:#ff9322;--color-caution-700:#b75511;--color-caution-900:#7a2b06;--color-error-100:#fee6db;--color-error-300:#fda293;--color-error-500:#f94b50;--color-error-700:#b32542;--color-error-900:#770e36;--color-offline-100:#f1f4f3;--color-offline-300:#dde0df;--color-offline-500:#979998;--color-offline-700:#5b5c5b;--color-offline-900:#1f1f1f;--color-deepblue-100:#d8d9f9;--color-deepblue-200:#b4b5f3;--color-deepblue-300:#8687db;--color-deepblue-400:#5e5fb7;--color-deepblue-500:#303188;--color-deepblue-600:#232374;--color-deepblue-700:#181861;--color-deepblue-800:#0f0f4e;--color-deepblue-900:#090941;--color-lime-100:#f6fcd8;--color-lime-200:#ecfab1;--color-lime-300:#daf088;--color-lime-400:#c4e167;--color-lime-500:#a6ce39;--color-lime-600:#89b129;--color-lime-700:#6d941c;--color-lime-800:#537712;--color-lime-900:#41620a;--color-pink-100:#fdd4da;--color-pink-200:#fca9bf;--color-pink-300:#f67da9;--color-pink-400:#ec5b9f;--color-pink-500:#e12991;--color-pink-600:#c11d8a;--color-pink-700:#a21480;--color-pink-800:#820d72;--color-pink-900:#6c0768;--color-lightblue-100:#e3f0ff;--color-lightblue-200:#c8e0ff;--color-lightblue-300:#adceff;--color-lightblue-400:#99bfff;--color-lightblue-500:#77a5ff;--color-lightblue-600:#567fdb;--color-lightblue-700:#3b5db7;--color-lightblue-800:#253f93;--color-lightblue-900:#162a7a;--color-brand:var(--color-primary-600);--color-brand-dark:var(--color-primary-700);--color-brand-light:var(--color-primary-100);--color-accent:var(--color-secondary-500);--color-accent-dark:var(--color-secondary-700);--color-accent-light:var(--color-secondary-100);--color-bg-base:var(--color-grey-50);--color-bg-surface:var(--color-white);--color-bg-overlay:#0006;--color-text-primary:var(--color-grey-900);--color-text-secondary:var(--color-grey-600);--color-text-disabled:var(--color-grey-400);--color-text-inverse:var(--color-white);--color-text-link:var(--color-secondary-500);--color-border:var(--color-grey-300);--color-border-focus:var(--color-secondary-500);--color-border-error:var(--color-error-500);--color-disabled-bg:var(--color-grey-100);--color-disabled-text:var(--color-grey-400);--font-family-base:"Spoqa Han Sans Neo", "Apple SD Gothic Neo", "Noto Sans CJK KR", "Malgun Gothic", sans-serif;--font-family-mono:"Spoqa Han Sans Neo", "Noto Sans CJK KR", monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-lg:14px;--font-size-xl:15px;--font-size-2xl:16px;--font-size-3xl:18px;--font-size-4xl:24px;--font-size-num-xs:11px;--font-size-num-sm:13px;--font-size-num-md:18px;--font-size-num-lg:25px;--font-size-num-xl:34px;--font-size-num-2xl:80px;--line-height-xs:17px;--line-height-sm:18px;--line-height-md:19px;--line-height-lg:20px;--line-height-xl:22px;--line-height-2xl:25px;--line-height-3xl:33px;--space-xxxs:2px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:20px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-full:9999px;--shadow-1:0 1px 3px #00000014, 0 0 1px #0000001c;--shadow-2:0 4px 5px #0000001c, 0 0 2px #0000002b;--shadow-3:0 7px 10px #0000001f, 0 0 2px #00000038;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-header:300;--z-sidebar:300;--z-overlay:400;--z-modal:500;--z-tooltip:600;--z-toast:700;--transition-fast:.1s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--header-height:48px;--sidebar-width:280px;--sidebar-collapsed:48px;--content-max-width:1920px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-md);color:var(--color-text-primary);background-color:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}.h1,h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-3xl)}.h2,h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-2xl)}.h3,h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-xl)}.h4,h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-xl)}.h5,h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-lg)}.h6,h6{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-md)}.body-1{font-size:var(--font-size-md);line-height:var(--line-height-md)}.body-2{font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.body-2-medium{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-sm)}.text-label,.body-1-medium{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-md)}.text-caption,.text-small{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-xs)}.text-caption-bold{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-xs)}.num-1{font-size:var(--font-size-num-2xl);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:90px}.num-2{font-size:var(--font-size-num-xl);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:40px}.num-3{font-size:var(--font-size-num-md);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:25px}.num-4{font-size:var(--font-size-num-sm);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:19px}.num-5{font-size:var(--font-size-num-xs);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:17px}.num-6{font-size:var(--font-size-num-xs);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:17px}.text-underline{text-decoration:underline}.text-strike{text-decoration:line-through}.text-ellipsis,.truncate{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.text-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-disabled{color:var(--color-text-disabled)}.text-inverse{color:var(--color-text-inverse)}.text-link{color:var(--color-text-link)}.text-brand{color:var(--color-brand)}.text-success{color:var(--color-success-500)}.text-error{color:var(--color-error-500)}.text-warning{color:var(--color-warning-500)}.text-caution{color:var(--color-caution-500)}hr,.divider{border:none;border-top:1px solid var(--color-border);margin:0}.divider-vertical{background-color:var(--color-border);vertical-align:middle;width:1px;height:1em;display:inline-block}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{height:var(--header-height);background-color:var(--color-grey-50);color:var(--color-text-primary);border-bottom:1px solid var(--color-grey-300);z-index:var(--z-header);flex-shrink:0;align-items:center;gap:0;padding:0;display:flex}.header-hamburger{width:var(--header-height);height:var(--header-height);background-color:var(--color-primary-600);color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-hamburger:hover{background-color:var(--color-primary-700)}.header-logo{align-items:center;gap:var(--space-xs);padding:0 var(--space-md);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;display:flex}.header-nav{flex:1;align-items:center;gap:0;height:100%;display:flex}.header-nav-item{height:100%;padding:0 var(--space-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:flex}.header-nav-item:hover{color:var(--color-text-primary);border-bottom-color:var(--color-grey-300)}.header-nav-item.is-active{color:var(--color-primary-600);font-weight:var(--font-weight-bold);border-bottom-color:var(--color-primary-600)}.header-util{align-items:center;gap:var(--space-xxs);padding-right:var(--space-md);margin-left:auto;display:flex}.header-util-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.header-util-btn:hover{background-color:var(--color-grey-100);color:var(--color-text-primary)}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--color-grey-50);color:var(--color-text-primary);border-right:1px solid var(--color-grey-300);z-index:var(--z-sidebar);transition:width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.sidebar.is-collapsed{width:var(--sidebar-collapsed)}.sidebar-header{height:var(--header-height);padding:0 var(--space-md);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sidebar-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden}.sidebar-menu{padding:var(--space-xs) 0;flex-direction:column;flex:1;display:flex}.sidebar-menu-group{margin-bottom:var(--space-xxs)}.sidebar-menu-group-label{padding:var(--space-sm) var(--space-md) var(--space-xxs);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden}.sidebar-item{align-items:center;gap:var(--space-xs);height:36px;padding:0 var(--space-md);font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;text-decoration:none;display:flex;overflow:hidden}.sidebar-item:hover{background-color:var(--color-grey-100);color:var(--color-text-primary)}.sidebar-item.is-active{background-color:var(--color-grey-800);color:var(--color-white)}.sidebar-item.is-active:hover{background-color:var(--color-grey-700)}.sidebar-item-icon{flex-shrink:0;width:16px;height:16px}.sidebar-item-label{text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-item--depth-2{padding-left:calc(var(--space-md) + 20px)}.sidebar-item--depth-3{padding-left:calc(var(--space-md) + 36px)}.sidebar-section{flex-direction:column;display:flex}.sidebar-section--bottom{margin-top:0}.sidebar-section-header{padding:var(--space-sm) var(--space-md) var(--space-xxs);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-disabled);letter-spacing:.4px;justify-content:space-between;align-items:center;display:flex}.sidebar-section-count{border-radius:var(--radius-full);background-color:var(--color-grey-200);min-width:16px;height:16px;color:var(--color-grey-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;padding:0 4px;line-height:1;display:inline-flex}.sidebar-empty-hint{padding:var(--space-xxs) var(--space-md) var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-disabled);font-style:italic}.sidebar-status-dot{border-radius:var(--radius-full);flex-shrink:0;width:7px;height:7px}.sidebar-status-dot--plan{background-color:var(--color-warning-500)}.sidebar-status-dot--progress{background-color:var(--color-primary-500)}.sidebar-status-dot--hold{background-color:var(--color-grey-400)}.sidebar-status-dot--complete{background-color:var(--color-grey-300)}.sidebar-status-dot--drop{background-color:var(--color-error-500)}.sidebar-divider{background-color:var(--color-border);height:1px;margin:var(--space-xs) var(--space-md);flex-shrink:0}.sidebar-divider--bottom{margin-top:auto}.btn-star{cursor:pointer;border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-grey-300);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-star:hover{color:var(--color-warning-500);background-color:var(--color-grey-100)}.btn-star.is-active{color:var(--color-warning-500)}.btn-star.is-active svg{fill:currentColor}.btn-star.is-active:hover{color:var(--color-warning-700)}.right-panel{background-color:var(--color-bg-surface);border-left:1px solid var(--color-border);flex-shrink:0;width:280px;overflow-y:auto}.main{background-color:var(--color-white);flex-direction:column;flex:1;display:flex;overflow:hidden}.content{padding:var(--space-xl);flex:1;overflow-y:auto}.content--flush{padding:0}.content--sm{padding:var(--space-md)}.layout-top-only .app-body{overflow:auto}.mdi-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.mdi-tab-bar{background-color:var(--color-grey-100);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;display:flex;overflow:auto hidden}.mdi-tab{align-items:center;gap:var(--space-xs);height:36px;padding:0 var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-right:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;display:flex}.mdi-tab:hover{background-color:var(--color-grey-200);color:var(--color-text-primary)}.mdi-tab.is-active{background-color:var(--color-bg-surface);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.mdi-tab-close{border-radius:var(--radius-sm);width:16px;height:16px;color:var(--color-text-disabled);transition:background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:10px;display:flex}.mdi-tab-close:hover{background-color:var(--color-grey-300);color:var(--color-text-primary)}.mdi-content{background-color:var(--color-bg-surface);flex:1;overflow:auto}.page-title-area{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-2xl);color:var(--color-text-primary)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-xxs)}.page-actions{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.section{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-1)}.section+.section{margin-top:var(--space-xl)}.section-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.section-actions{align-items:center;gap:var(--space-xs);display:flex}.split-layout{gap:var(--space-xl);height:100%;display:flex;overflow:hidden}.split-master{flex:none;width:360px;overflow:auto}.split-detail{flex:1;overflow:auto}.split-layout--equal .split-master,.split-layout--equal .split-detail{flex:1;width:auto}.grid{gap:var(--space-xl);grid-template-columns:repeat(12,1fr);display:grid}.grid--sm{gap:var(--space-md)}.grid--xs{gap:var(--space-xs)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.overlay{background-color:var(--color-bg-overlay);z-index:var(--z-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);width:480px;max-width:calc(100vw - var(--space-2xl));max-height:calc(100vh - var(--space-2xl));z-index:var(--z-modal);flex-direction:column;display:flex}.dialog--sm{width:360px}.dialog--lg{width:720px}.dialog--xl{width:960px}.dialog-header{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.dialog-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.dialog-body{padding:var(--space-xl);flex:1;overflow-y:auto}.dialog-footer{justify-content:flex-end;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border);flex-shrink:0;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xxs);height:32px;padding:0 var(--space-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-xs);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex}.btn:disabled,.btn.is-disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.btn-primary{background-color:var(--color-primary-700);color:var(--color-white);border-color:var(--color-primary-700)}.btn-primary:hover{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.btn-primary:active{background-color:var(--color-primary-900);border-color:var(--color-primary-900)}.btn-normal{background-color:var(--color-grey-900);color:var(--color-white);border-color:var(--color-grey-900)}.btn-normal:hover{background-color:var(--color-grey-700);border-color:var(--color-grey-700)}.btn-normal:active{background-color:var(--color-black);border-color:var(--color-black)}.btn-outline{color:var(--color-primary-700);border-color:var(--color-primary-700);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-700)}.btn-outline:active{background-color:var(--color-primary-100);border-color:var(--color-primary-700)}.btn-ghost{color:var(--color-text-primary);border-color:var(--color-border);background-color:#0000}.btn-ghost:hover{background-color:var(--color-grey-100)}.btn-ghost:active{background-color:var(--color-grey-200)}.btn-unfilled-primary{color:var(--color-primary-700);background-color:#0000;border-color:#0000}.btn-unfilled-primary:hover{background-color:var(--color-primary-50)}.btn-unfilled-primary:active{background-color:var(--color-primary-700);color:var(--color-white)}.btn-unfilled{color:var(--color-text-primary);background-color:#0000;border-color:#0000}.btn-unfilled:hover{background-color:var(--color-grey-100)}.btn-unfilled:active{background-color:var(--color-grey-900);color:var(--color-white)}.btn-secondary{background-color:var(--color-secondary-500);color:var(--color-white);border-color:var(--color-secondary-500)}.btn-secondary:hover{background-color:var(--color-secondary-600);border-color:var(--color-secondary-600)}.btn-secondary:active{background-color:var(--color-secondary-700);border-color:var(--color-secondary-700)}.btn-danger{background-color:var(--color-error-500);color:var(--color-white);border-color:var(--color-error-500)}.btn-danger:hover{background-color:var(--color-error-700);border-color:var(--color-error-700)}.btn-danger:active{background-color:var(--color-error-900);border-color:var(--color-error-900)}.btn-text{color:var(--color-text-link);padding:0 var(--space-xxs);background-color:#0000;border-color:#0000;height:auto}.btn-text:hover{text-decoration:underline}.btn-lg{height:40px;padding:0 var(--space-xl)}.btn-sm{height:26px;padding:0 var(--space-sm);font-size:var(--font-size-sm);line-height:var(--line-height-xs)}.btn-icon-only{width:32px;padding:0}.btn-icon-only.btn-sm{width:26px}.btn-icon-only.btn-lg{width:40px}.input-wrap{gap:var(--space-xxs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-md)}.form-label .required{color:var(--color-error-500);margin-left:var(--space-xxxs)}.input{width:100%;height:32px;padding:0 var(--space-xs);font-size:var(--font-size-md);font-family:var(--font-family-base);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.input::placeholder{color:var(--color-text-disabled)}.input:hover{border-color:var(--color-grey-400)}.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-secondary-100)}.input:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.input.is-error{border-color:var(--color-border-error)}.input.is-error:focus{box-shadow:0 0 0 2px var(--color-error-100)}.input-sm{height:26px;font-size:var(--font-size-sm)}.input-lg{height:40px;font-size:var(--font-size-2xl)}.textarea{width:100%;height:auto;min-height:80px;padding:var(--space-xs);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;line-height:var(--line-height-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.textarea::placeholder{color:var(--color-text-disabled)}.textarea:hover{border-color:var(--color-grey-400)}.textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-secondary-100)}.textarea:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed;resize:none}.input-group{align-items:center;display:flex;position:relative}.input-group .input{padding-left:32px}.input-group .input-group-icon{left:var(--space-xs);color:var(--color-text-disabled);pointer-events:none;position:absolute}.input-group .input-group-suffix{right:var(--space-xs);align-items:center;gap:var(--space-xxs);display:flex;position:absolute}.helper-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-xs)}.helper-text.is-error{color:var(--color-error-500)}.helper-text.is-success{color:var(--color-success-500)}.search-area{background-color:var(--color-grey-50);border:1px solid var(--color-grey-300);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-md);align-items:flex-end;gap:var(--space-xl);display:flex}.search-area-body{gap:var(--space-md) var(--space-xl);flex:1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.search-col-span-2{grid-column:span 2}.search-col-start-1{grid-column-start:1}.search-area-footer{justify-content:flex-end;align-items:flex-end;gap:var(--space-xs);flex-shrink:0;display:flex}.search-field{align-items:center;gap:var(--space-xs);display:flex}.search-field-label{width:72px;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;flex-shrink:0}.search-field>.input,.search-field>.select,.search-field>.input-group,.search-field>.date-picker-group,.search-field>.input-wrap{flex:1;min-width:0}.search-action-bar{justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-xs);margin-bottom:var(--space-md);display:flex}.select{appearance:none;width:100%;height:32px;padding:0 30px 0 var(--space-xs);font-size:var(--font-size-md);font-family:var(--font-family-base);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23969997' 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-position:right 10px center;background-repeat:no-repeat;outline:none}.select:hover{border-color:var(--color-grey-400)}.select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-secondary-100)}.select:disabled{background-color:var(--color-disabled-bg);cursor:not-allowed;opacity:.6}.dropdown{display:inline-block;position:relative}.dropdown-menu{top:calc(100% + var(--space-xxs));background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-2);z-index:var(--z-dropdown);position:absolute;left:0;overflow:hidden}.dropdown-menu-item{align-items:center;gap:var(--space-xs);height:32px;padding:0 var(--space-md);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast);display:flex}.dropdown-menu-item:hover{background-color:var(--color-grey-100)}.dropdown-menu-item.is-active{color:var(--color-primary-500);font-weight:var(--font-weight-medium)}.dropdown-menu-item--danger{color:var(--color-error-500)}.dropdown-menu-item--danger:hover{background-color:var(--color-error-100)}.dropdown-menu-divider{background-color:var(--color-border);height:1px;margin:var(--space-xxs) 0}.dropdown-menu--right{left:auto;right:0}.dropdown-menu-header{padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-border)}.dropdown-menu-header-name{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dropdown-menu-header-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.checkbox-wrap,.radio-wrap{align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}:is(.checkbox-wrap:has(:disabled),.radio-wrap:has(:disabled)){cursor:not-allowed}.checkbox,.radio{appearance:none;border:1.5px solid var(--color-grey-400);background-color:var(--color-bg-surface);cursor:pointer;width:16px;height:16px;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0}.checkbox{border-radius:var(--radius-sm)}.radio{border-radius:var(--radius-full)}.checkbox:hover:not(:disabled),.radio:hover:not(:disabled){border-color:var(--color-primary-500)}.checkbox:checked,.radio:checked{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}.radio:checked{box-shadow:inset 0 0 0 3px var(--color-white)}.checkbox:indeterminate{background-color:var(--color-primary-500);border-color:var(--color-primary-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='2' viewBox='0 0 10 2'%3E%3Cpath d='M1 1h8' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}.checkbox.is-secondary:hover:not(:disabled),.radio.is-secondary:hover:not(:disabled){border-color:var(--color-secondary-500)}.checkbox.is-secondary:checked,.radio.is-secondary:checked,.checkbox.is-secondary:indeterminate{background-color:var(--color-secondary-500);border-color:var(--color-secondary-500)}.checkbox:disabled,.radio:disabled{border-color:var(--color-grey-300);background-color:var(--color-disabled-bg);cursor:not-allowed;opacity:.4}.checkbox:focus-visible,.radio:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.checkbox-label,.radio-label{font-size:var(--font-size-md);color:var(--color-text-primary);line-height:var(--line-height-md)}.checkbox:disabled~.checkbox-label,.radio:disabled~.radio-label{color:var(--color-text-disabled)}.checkbox-group,.radio-group{gap:var(--space-sm);flex-direction:column;display:flex}.checkbox-group.is-horizontal,.radio-group.is-horizontal{gap:var(--space-xs) var(--space-xl);flex-flow:wrap}.switch-wrap{align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.switch{appearance:none;background-color:var(--color-grey-300);border-radius:var(--radius-full);cursor:pointer;width:36px;height:20px;transition:background-color var(--transition-base);flex-shrink:0;position:relative}.switch:after{content:"";background-color:var(--color-white);border-radius:var(--radius-full);width:16px;height:16px;transition:transform var(--transition-base);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background-color:var(--color-primary-500)}.switch:checked:after{transform:translate(16px)}.switch:disabled{opacity:.4;cursor:not-allowed}.chip{align-items:center;gap:var(--space-xxs);height:24px;padding:0 var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-primary);white-space:nowrap;cursor:default;display:inline-flex}.chip-action{cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast)}.chip-action:hover{background-color:var(--color-grey-100);border-color:var(--color-grey-400)}.chip-filter{cursor:pointer;transition:all var(--transition-fast)}.chip-filter.is-selected{background-color:var(--color-primary-100);border-color:var(--color-primary-500);color:var(--color-primary-700)}.chip-input .chip-remove{border-radius:var(--radius-full);cursor:pointer;width:14px;height:14px;color:var(--color-text-secondary);transition:background-color var(--transition-fast);justify-content:center;align-items:center;font-size:10px;display:flex}.chip-input .chip-remove:hover{background-color:var(--color-grey-300)}.chip-sm{height:18px;padding:0 5px;font-size:11px}.chip-default{background-color:var(--color-grey-100);border-color:var(--color-grey-300);color:var(--color-text-secondary)}.chip-success{background-color:var(--color-success-100);border-color:var(--color-success-300);color:var(--color-success-700)}.chip-error{background-color:var(--color-error-100);border-color:var(--color-error-300);color:var(--color-error-700)}.chip-warning{background-color:var(--color-warning-100);border-color:var(--color-warning-300);color:var(--color-warning-700)}.chip-caution{background-color:var(--color-caution-100);border-color:var(--color-caution-300);color:var(--color-caution-700)}.chip-offline{background-color:var(--color-offline-100);border-color:var(--color-offline-300);color:var(--color-offline-700)}.badge{min-width:18px;height:18px;padding:0 var(--space-xxs);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);background-color:var(--color-error-500);color:var(--color-white);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge-dot{border-radius:var(--radius-full);background-color:var(--color-error-500);width:8px;height:8px}.badge-success{background-color:var(--color-success-500)}.badge-warning{background-color:var(--color-warning-500);color:var(--color-grey-900)}.badge-danger{background-color:var(--color-error-500)}.badge-offline{background-color:var(--color-offline-500)}.badge-primary{background-color:var(--color-primary-500)}.avatar{border-radius:var(--radius-full);background-color:var(--color-primary-200);width:32px;height:32px;color:var(--color-primary-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar-lg{width:40px;height:40px;font-size:var(--font-size-2xl)}.avatar-xl{width:56px;height:56px;font-size:var(--font-size-4xl)}.avatar-group{flex-direction:row-reverse;display:inline-flex}.avatar-group .avatar{border:2px solid var(--color-white);margin-left:-8px}.avatar-group .avatar:last-child{margin-left:0}.tab-list{border-bottom:1px solid var(--color-border);gap:0;display:flex}.tab-item{align-items:center;gap:var(--space-xxs);height:40px;padding:0 var(--space-md);font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;margin-bottom:-1px;display:flex}.tab-item:hover{color:var(--color-text-primary)}.tab-item.is-active{color:var(--color-primary-500);border-bottom-color:var(--color-primary-500);font-weight:var(--font-weight-medium)}.tab-panel{padding-top:0}.process-tab-list{align-items:center;gap:0;display:flex;overflow-x:auto}.process-tab-item{align-items:center;gap:var(--space-xs);height:40px;padding:0 var(--space-md);font-size:var(--font-size-md);color:var(--color-text-secondary);background-color:var(--color-grey-100);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);border-right:none;display:flex;position:relative}.process-tab-item:last-child{border-right:1px solid var(--color-border)}.process-tab-item:hover{background-color:var(--color-grey-200)}.process-tab-item.is-active{background-color:var(--color-primary-500);color:var(--color-white);border-color:var(--color-primary-500);font-weight:var(--font-weight-medium);z-index:1}.process-tab-step{border-radius:var(--radius-full);background-color:var(--color-grey-400);width:18px;height:18px;color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.process-tab-item.is-active .process-tab-step{background-color:var(--color-white);color:var(--color-primary-500)}.breadcrumb{align-items:center;gap:var(--space-xxs);flex-wrap:wrap;display:flex}.breadcrumb-item{align-items:center;gap:var(--space-xxs);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.breadcrumb-item a{color:var(--color-text-secondary)}.breadcrumb-item a:hover{color:var(--color-text-link)}.breadcrumb-item:last-child,.breadcrumb-item:last-child a{color:var(--color-text-primary);font-weight:var(--font-weight-medium);pointer-events:none}.breadcrumb-separator{color:var(--color-grey-400);font-size:10px}.message-bar{align-items:flex-start;gap:var(--space-xs);max-width:600px;padding:var(--space-sm) 10px;border-radius:var(--radius-md);font-size:var(--font-size-lg);line-height:var(--line-height-lg);border:1px solid #0000;display:flex}.message-bar-icon{flex-shrink:0;margin-top:1px}.message-bar-body{flex:1}.message-bar-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-xxxs)}.message-bar-close{cursor:pointer;color:inherit;opacity:.6;flex-shrink:0}.message-bar-close:hover{opacity:1}.message-bar-neutral{background-color:var(--color-grey-900);color:var(--color-white);border-color:#0000}.message-bar-info{background-color:var(--color-secondary-100);border-color:var(--color-secondary-300);color:var(--color-secondary-800)}.message-bar-success{background-color:var(--color-success-100);border-color:var(--color-success-300);color:var(--color-success-700)}.message-bar-warning{background-color:var(--color-warning-100);border-color:var(--color-warning-300);color:var(--color-warning-700)}.message-bar-error{background-color:var(--color-error-100);border-color:var(--color-error-300);color:var(--color-error-700)}.progress{background-color:var(--color-grey-200);border-radius:var(--radius-full);width:100%;height:4px;overflow:hidden}.progress-bar{background-color:var(--color-primary-500);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-sm{height:2px}.progress-lg{height:8px}.spinner-sm{width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.tooltip-wrap{cursor:help;align-items:center;display:inline-flex;position:relative}.tooltip{background-color:var(--color-grey-900);color:var(--color-white);padding:var(--space-xxs) var(--space-xs);font-size:var(--font-size-xs);line-height:var(--line-height-xs);border-radius:var(--radius-md);z-index:var(--z-tooltip);opacity:0;visibility:hidden;transition:opacity var(--transition-fast), visibility var(--transition-fast);pointer-events:none;white-space:normal;word-break:break-all;width:max-content;max-width:500px;box-shadow:var(--shadow-2);position:absolute}.tooltip,.tooltip--top{bottom:calc(100% + var(--space-xs));left:50%;transform:translate(-50%)}.tooltip--bottom{top:calc(100% + var(--space-xs));bottom:auto;left:50%;transform:translate(-50%)}.tooltip--left{right:calc(100% + var(--space-xs));top:50%;left:auto;transform:translateY(-50%)}.tooltip--right{left:calc(100% + var(--space-xs));top:50%;transform:translateY(-50%)}.tooltip-wrap:hover .tooltip{opacity:1;visibility:visible}.tooltip-icon{background-color:var(--color-grey-300);width:14px;height:14px;color:var(--color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;font-size:10px;font-weight:700;display:inline-flex}.tooltip-wrap:hover .tooltip-icon{background-color:var(--color-grey-600)}.accordion{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.login-page{background-color:var(--color-bg-base);min-height:100vh;padding:0;display:flex;overflow:hidden}.login-intro{background:linear-gradient(145deg, var(--color-primary-800) 0%, var(--color-primary-600) 50%, var(--color-primary-400) 100%);color:var(--color-white);flex-direction:column;flex:1;justify-content:space-between;padding:80px;display:flex;position:relative;overflow:hidden}.login-intro:before,.login-intro:after{content:"";border-radius:var(--radius-full);pointer-events:none;background-color:#ffffff0d;position:absolute}.login-intro:before{width:480px;height:480px;bottom:-120px;right:-100px}.login-intro:after{width:280px;height:280px;top:-60px;right:80px}.login-intro-content{z-index:1;position:relative}.login-brand-logo{width:48px;height:48px;margin-bottom:80px}.login-intro-title{font-size:36px;font-weight:var(--font-weight-bold);margin-bottom:var(--space-xl);line-height:1.4}.login-intro-desc{font-size:var(--font-size-md);opacity:.8;margin-bottom:40px;line-height:1.6}.login-intro-bullets{margin:0;padding:0;list-style:none}.login-intro-bullets li{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);font-size:var(--font-size-md);opacity:.9;display:flex}.login-intro-bullets li:before{content:"•";color:var(--color-primary-200)}.login-intro-footer{z-index:1;font-size:var(--font-size-xs);opacity:.6;position:relative}.login-form-area{background-color:var(--color-bg-surface);flex-direction:column;flex-shrink:0;justify-content:center;width:480px;padding:80px 60px;display:flex}.login-form-container{width:100%;max-width:360px;margin:0 auto}.login-form-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.login-form-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-2xl)}.status-list{justify-content:center;align-items:center;gap:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-grey-200);margin-top:40px;display:flex}.status-item{align-items:center;gap:var(--space-xxs);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.accordion-item+.accordion-item{border-top:1px solid var(--color-border)}.accordion-trigger{width:100%;padding:var(--space-md) var(--space-xl);background-color:var(--color-bg-surface);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.accordion-trigger:hover{background-color:var(--color-grey-50)}.accordion-icon{transition:transform var(--transition-base);color:var(--color-text-secondary);flex-shrink:0}.accordion-item.is-open .accordion-icon{transform:rotate(180deg)}.accordion-content{padding:var(--space-md) var(--space-xl) var(--space-xl);border-top:1px solid var(--color-border);background-color:var(--color-bg-surface)}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.card-header{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.card-body{padding:var(--space-xl)}.card-footer{padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border);background-color:var(--color-grey-50)}.form-section{margin-bottom:var(--space-xl)}.form-section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:2px solid var(--color-primary-500)}.form-row,.search-area-row{gap:var(--space-md) var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-row{margin-bottom:var(--space-md)}.form-col-full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:var(--space-xs);padding-top:var(--space-xl);border-top:1px solid var(--color-border);display:flex}.grid-toolbar{padding:var(--space-xs) 0;margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.grid-toolbar-left,.grid-toolbar-right{align-items:center;gap:var(--space-xs);display:flex}.grid-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.grid-count strong{color:var(--color-primary-500);font-weight:var(--font-weight-bold)}.data-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.data-grid table{border-collapse:collapse;width:100%}.data-grid thead tr{background-color:var(--color-grey-100)}.data-grid th{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-grid th.sortable:hover{background-color:var(--color-grey-200)}.data-grid td{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-grey-100);vertical-align:middle}.data-grid tbody tr:last-child td{border-bottom:none}.data-grid tbody tr:hover{background-color:var(--color-primary-50)}.data-grid tbody tr.is-selected{background-color:var(--color-primary-100)}.data-grid-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:480px;overflow-y:auto}.data-grid-wrapper .data-grid{border:none;border-radius:0}.data-grid-wrapper thead th{z-index:1;background-color:var(--color-grey-100);position:sticky;top:0}.pagination{justify-content:center;align-items:center;gap:var(--space-xxs);padding-top:var(--space-md);display:flex}.pagination-btn{min-width:28px;height:28px;padding:0 var(--space-xs);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);background-color:var(--color-bg-surface);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.pagination-btn:hover{background-color:var(--color-grey-100);border-color:var(--color-grey-400)}.pagination-btn.is-active{background-color:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-white)}.pagination-btn:disabled{opacity:.4;pointer-events:none}.detail-table{border-collapse:collapse;width:100%}.detail-table th,.detail-table td{padding:1px var(--space-md);font-size:var(--font-size-md);border:1px solid var(--color-border);vertical-align:middle}.detail-table tr{height:37px}.detail-table th{background-color:var(--color-grey-100);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:left;white-space:nowrap;width:140px}.detail-table th .required{color:var(--color-error-500);vertical-align:middle;margin-right:4px}.detail-table td{background-color:var(--color-bg-surface)}.tree{font-size:var(--font-size-md)}.tree-item{align-items:center;gap:var(--space-xxs);height:28px;padding-right:var(--space-xs);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);display:flex}.tree-item:hover{background-color:var(--color-grey-100)}.tree-item.is-active{background-color:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-weight-medium)}.tree-toggle{width:16px;height:16px;transition:transform var(--transition-fast);color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tree-item.is-open>.tree-toggle{transform:rotate(90deg)}.tree-icon{flex-shrink:0;width:16px;height:16px}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-children{padding-left:var(--space-md)}.popup{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);width:360px;padding:var(--space-xl);text-align:center;z-index:var(--z-modal)}.popup-icon{margin:0 auto var(--space-md)}.popup-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.popup-message{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.popup-footer{justify-content:center;gap:var(--space-xs);display:flex}.counter{align-items:center;gap:var(--space-xxs);display:flex}.counter-value{text-align:center;min-width:32px;font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.counter-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:24px;height:24px;transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.counter-btn:hover{background-color:var(--color-grey-100)}.slider{appearance:none;background-color:var(--color-grey-300);border-radius:var(--radius-full);cursor:pointer;outline:none;width:100%;height:4px}.slider::-webkit-slider-thumb{appearance:none;background-color:var(--color-primary-500);border-radius:var(--radius-full);width:16px;height:16px;box-shadow:var(--shadow-1);transition:transform var(--transition-fast)}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.input[type=date],.input[type=datetime-local],.input[type=time]{cursor:pointer}.date-picker-group{align-items:center;gap:var(--space-xs);display:flex}.date-picker-group .date-sep{color:var(--color-text-secondary);font-size:var(--font-size-md)}.toast-container{bottom:var(--space-xl);right:var(--space-xl);gap:var(--space-xs);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-xs);min-width:280px;max-width:400px;padding:var(--space-xs) var(--space-md);background-color:var(--color-grey-900);color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);font-size:var(--font-size-md);line-height:var(--line-height-md);pointer-events:auto;animation:toast-in var(--transition-base) ease forwards;display:flex}.toast.is-hiding{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1}.toast-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-xxxs)}.toast-message{color:#ffffffd9;font-size:var(--font-size-sm)}.toast-close{border-radius:var(--radius-sm);cursor:pointer;opacity:.6;width:20px;height:20px;transition:opacity var(--transition-fast), background-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-close:hover{opacity:1;background-color:#ffffff26}.toast-info{background-color:var(--color-secondary-700)}.toast-success{background-color:var(--color-success-500)}.toast-warning{background-color:var(--color-warning-700)}.toast-error{background-color:var(--color-error-700)}.toast-progress{border-radius:0 0 var(--radius-lg) var(--radius-lg);background-color:#fff6;height:3px;animation:linear forwards toast-progress;position:absolute;bottom:0;left:0}@keyframes toast-progress{0%{width:100%}to{width:0%}}.timeline{padding:var(--space-md) 0;flex-direction:column;gap:0;display:flex}.timeline-item{gap:var(--space-md);padding-bottom:var(--space-xl);display:flex;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background-color:var(--color-grey-200);width:2px;position:absolute;top:16px;bottom:-4px;left:3.5px}.timeline-item:last-child:before{display:none}.timeline-marker{border-radius:var(--radius-full);background-color:var(--color-primary-500);outline:2px solid var(--color-bg-surface);width:9px;height:9px;box-shadow:0 0 0 3px var(--color-primary-50);z-index:1;flex-shrink:0;margin-top:5px;position:relative}.timeline-content{flex:1;padding-top:0}.timeline-header{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xxs);display:flex}.timeline-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timeline-user{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.timeline-body{font-size:var(--font-size-md);color:var(--color-text-primary);line-height:var(--line-height-md);background-color:var(--color-grey-50);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:var(--space-xs)}.input-icon-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--color-text-secondary);pointer-events:none;font-size:14px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.spinner{border:3px solid var(--color-grey-200);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);width:28px;height:28px;animation:.8s linear infinite spinner-rotate}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-lg{border-width:4px;width:48px;height:48px}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-loading-wrap{justify-content:center;align-items:center;gap:var(--space-md);background-color:var(--color-bg-base);flex-direction:column;width:100%;height:100vh;display:flex}.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}.flex-row{flex-direction:row!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-1{flex:1!important}.flex-auto{flex:auto!important}.flex-none{flex:none!important}.flex-shrink-0{flex-shrink:0!important}.flex-grow-1{flex-grow:1!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.items-stretch{align-items:stretch!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.self-start{align-self:flex-start!important}.self-center{align-self:center!important}.self-end{align-self:flex-end!important}.self-stretch{align-self:stretch!important}.gap-0{gap:0!important}.gap-xxxs{gap:var(--space-xxxs)!important}.gap-xxs{gap:var(--space-xxs)!important}.gap-xs{gap:var(--space-xs)!important}.gap-sm{gap:var(--space-sm)!important}.gap-md{gap:var(--space-md)!important}.gap-lg{gap:var(--space-lg)!important}.gap-xl{gap:var(--space-xl)!important}.gap-2xl{gap:var(--space-2xl)!important}.m-0{margin:0!important}.m-auto{margin:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.ml-auto{margin-left:auto!important}.mr-auto{margin-right:auto!important}.mt-xxxs{margin-top:var(--space-xxxs)!important}.mt-xxs{margin-top:var(--space-xxs)!important}.mt-xs{margin-top:var(--space-xs)!important}.mt-sm{margin-top:var(--space-sm)!important}.mt-md{margin-top:var(--space-md)!important}.mt-lg{margin-top:var(--space-lg)!important}.mt-xl{margin-top:var(--space-xl)!important}.mt-2xl{margin-top:var(--space-2xl)!important}.mt-3xl{margin-top:var(--space-3xl)!important}.mb-xxxs{margin-bottom:var(--space-xxxs)!important}.mb-xxs{margin-bottom:var(--space-xxs)!important}.mb-xs{margin-bottom:var(--space-xs)!important}.mb-sm{margin-bottom:var(--space-sm)!important}.mb-md{margin-bottom:var(--space-md)!important}.mb-lg{margin-bottom:var(--space-lg)!important}.mb-xl{margin-bottom:var(--space-xl)!important}.mb-2xl{margin-bottom:var(--space-2xl)!important}.mb-3xl{margin-bottom:var(--space-3xl)!important}.ml-xxs{margin-left:var(--space-xxs)!important}.ml-xs{margin-left:var(--space-xs)!important}.ml-sm{margin-left:var(--space-sm)!important}.ml-md{margin-left:var(--space-md)!important}.ml-lg{margin-left:var(--space-lg)!important}.mr-xxs{margin-right:var(--space-xxs)!important}.mr-xs{margin-right:var(--space-xs)!important}.mr-sm{margin-right:var(--space-sm)!important}.mr-md{margin-right:var(--space-md)!important}.mr-lg{margin-right:var(--space-lg)!important}.p-0{padding:0!important}.p-xxs{padding:var(--space-xxs)!important}.p-xs{padding:var(--space-xs)!important}.p-sm{padding:var(--space-sm)!important}.p-md{padding:var(--space-md)!important}.p-lg{padding:var(--space-lg)!important}.p-xl{padding:var(--space-xl)!important}.p-2xl{padding:var(--space-2xl)!important}.px-xxs{padding-left:var(--space-xxs)!important;padding-right:var(--space-xxs)!important}.px-xs{padding-left:var(--space-xs)!important;padding-right:var(--space-xs)!important}.px-sm{padding-left:var(--space-sm)!important;padding-right:var(--space-sm)!important}.px-md{padding-left:var(--space-md)!important;padding-right:var(--space-md)!important}.px-lg{padding-left:var(--space-lg)!important;padding-right:var(--space-lg)!important}.px-xl{padding-left:var(--space-xl)!important;padding-right:var(--space-xl)!important}.py-xxs{padding-top:var(--space-xxs)!important;padding-bottom:var(--space-xxs)!important}.py-xs{padding-top:var(--space-xs)!important;padding-bottom:var(--space-xs)!important}.py-sm{padding-top:var(--space-sm)!important;padding-bottom:var(--space-sm)!important}.py-md{padding-top:var(--space-md)!important;padding-bottom:var(--space-md)!important}.py-lg{padding-top:var(--space-lg)!important;padding-bottom:var(--space-lg)!important}.py-xl{padding-top:var(--space-xl)!important;padding-bottom:var(--space-xl)!important}.w-full{width:100%!important}.w-auto{width:auto!important}.w-fit{width:fit-content!important}.h-full{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.min-w-0{min-width:0!important}.max-w-full{max-width:100%!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.icon-13{font-size:13px!important}.icon-14{font-size:14px!important}.icon-15{font-size:15px!important}.icon-16{font-size:16px!important}.icon-18{font-size:18px!important}.icon-20{font-size:20px!important}.icon-24{font-size:24px!important}.icon-32{font-size:32px!important}.icon-40{font-size:40px!important}.icon-48{font-size:48px!important}.font-regular{font-weight:var(--font-weight-regular)!important}.font-medium{font-weight:var(--font-weight-medium)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.bg-white{background-color:var(--color-white)!important}.bg-base{background-color:var(--color-bg-base)!important}.bg-surface{background-color:var(--color-bg-surface)!important}.bg-primary{background-color:var(--color-primary-500)!important}.bg-secondary{background-color:var(--color-secondary-500)!important}.bg-grey-50{background-color:var(--color-grey-50)!important}.bg-grey-100{background-color:var(--color-grey-100)!important}.border{border:1px solid var(--color-border)!important}.border-top{border-top:1px solid var(--color-border)!important}.border-bottom{border-bottom:1px solid var(--color-border)!important}.border-left{border-left:1px solid var(--color-border)!important}.border-right{border-right:1px solid var(--color-border)!important}.border-none{border:none!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-xl{border-radius:var(--radius-xl)!important}.rounded-full{border-radius:var(--radius-full)!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-scroll{overflow:scroll!important}.relative{position:relative!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.sticky{position:sticky!important}.inset-0{inset:0!important}.z-dropdown{z-index:var(--z-dropdown)!important}.z-modal{z-index:var(--z-modal)!important}.shadow-1{box-shadow:var(--shadow-1)!important}.shadow-2{box-shadow:var(--shadow-2)!important}.shadow-3{box-shadow:var(--shadow-3)!important}.shadow-none{box-shadow:none!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-grab{cursor:grab!important}.select-none{-webkit-user-select:none!important;user-select:none!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.opacity-0{opacity:0!important}.opacity-50{opacity:.5!important}.opacity-100{opacity:1!important}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot-success{background-color:var(--color-success-500)}.status-dot-error{background-color:var(--color-error-500)}.status-dot-warning{background-color:var(--color-warning-500)}.status-dot-caution{background-color:var(--color-caution-500)}.status-dot-offline{background-color:var(--color-offline-500)}.status-dot-primary{background-color:var(--color-primary-500)}.skeleton{background:linear-gradient(90deg, var(--color-grey-200) 25%, var(--color-grey-100) 50%, var(--color-grey-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.whitespace-nowrap{white-space:nowrap!important}.break-word{word-break:break-word!important}#root{text-align:left;width:100%;max-width:100%;min-height:unset;border:none;margin:0;display:contents}.chip-friend-5{background:linear-gradient(135deg, var(--color-primary-900), var(--color-primary-700));color:#fff;border:none}.chip-friend-4{background:linear-gradient(135deg, var(--color-primary-700), var(--color-primary-500));color:#fff;border:none}.chip-friend-3{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-300));color:#fff;border:none}.chip-friend-2{background:linear-gradient(135deg, var(--color-primary-300), var(--color-primary-100));color:var(--color-primary-900);border:none}.chip-friend-1{background:linear-gradient(135deg, var(--color-primary-100), #fff);color:var(--color-primary-700);border:1px solid var(--color-primary-200)}.memo-body-view .timeline-body{white-space:pre-wrap;word-break:break-word}.skill-category-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.pv-section{margin-bottom:24px}.pv-section-title{color:#343a40;border-bottom:1.5px solid #437b1b;margin-bottom:10px;padding-bottom:4px;font-size:13px;font-weight:700}.pv-table{border-collapse:collapse;width:100%;font-size:12px}.pv-table th,.pv-table td{text-align:left;vertical-align:middle;border:1px solid #dee2e6;padding:6px 10px}.pv-table th{color:#495057;white-space:nowrap;background:#f8f9fa;font-weight:600}.pv-table .center{text-align:center}.pv-table thead th{background:#e9ecef}.pv-project-list{flex-direction:column;gap:10px;display:flex}.pv-project-card{border:1px solid #dee2e6;border-radius:6px;padding:12px 14px}.pv-project-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.pv-project-name{color:#212529;font-size:13px;font-weight:700}.pv-project-co{color:#6c757d;margin-top:2px;font-size:11px}.pv-project-meta{text-align:right;color:#6c757d;flex-shrink:0;font-size:11px}.pv-role-badge{color:#2e7d32;background:#e8f5e9;border-radius:4px;margin-top:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.pv-tech-tags{border-top:1px solid #f1f3f5;flex-wrap:wrap;gap:5px;padding-top:8px;display:flex}.pv-tech-tags span{color:#495057;border:1px solid #ced4da;border-radius:4px;padding:2px 7px;font-size:11px;display:inline-block}.saram-row{cursor:pointer}.saram-row:hover td{background-color:var(--color-grey-50)}.saram-row.is-active td{background-color:var(--color-primary-50)!important}.split-master .data-grid{border:none;border-radius:0}.split-master .data-grid thead th{z-index:1;position:sticky;top:0}.search-field>.ms-wrap{flex:1;min-width:0}.ms-wrap{position:relative}.ms-trigger{width:100%;height:32px;padding:0 var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;display:flex}.ms-trigger:hover{border-color:var(--color-grey-400)}.ms-wrap.is-open .ms-trigger{border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-secondary-100)}.ms-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ms-label.is-placeholder{color:var(--color-text-disabled)}.ms-arrow{color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.ms-wrap.is-open .ms-arrow{transform:rotate(180deg)}.ms-dropdown{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:100%;box-shadow:var(--shadow-2);z-index:var(--z-dropdown);max-height:220px;padding:var(--space-xxs) 0;display:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.ms-wrap.is-open .ms-dropdown{display:block}.ms-option{align-items:center;gap:var(--space-xs);padding:6px var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;white-space:nowrap;display:flex}.ms-option:hover{background-color:var(--color-grey-50)}.ms-option input[type=checkbox]{accent-color:var(--color-primary-600);flex-shrink:0;margin:0}.saram-page-header{padding:var(--space-xl) var(--space-xl) 0;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.saram-mgmt-header{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.saram-avatar{background-color:var(--color-primary-100);color:var(--color-primary-700);width:36px;height:36px;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.friend-card-avatar{width:36px;height:36px;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.saram-empty-state{color:var(--color-text-disabled);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.saram-mgmt-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.split-layout{gap:5px;height:0;min-height:0}.split-master,.split-detail{height:100%}.data-grid-container{flex:1;min-height:0;overflow-y:auto}.btn-text-link:hover{color:var(--color-primary-600);text-decoration:underline}.search-area-body.saram-search-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
