:root{--primary:#333896;--primary-hover:#2a2d7e;--primary-active:#1f2366;--primary-soft:#eef0ff;--accent-blue:#0182bd;--accent-blue-2:#4c52a3;--black:#111;--text:#1f2328;--text-muted:#5b6472;--text-disabled:#9aa3af;--text-inverse:#fff;--link:#0d6efd;--link-hover:#0a58ca;--gray-50:#fafbfc;--gray-100:#f3f5f7;--gray-200:#e6e9ee;--gray-300:#d3d8df;--gray-400:#b3bac4;--gray-500:#7a8494;--gray-600:#5b6472;--gray-700:#3a424e;--gray-800:#232932;--gray-900:#141820;--body-bg:#fff;--panel-bg:#fff;--colored-bg:#f6f8fa;--header-bg:#fff;--header-tab-bg:#f3f5f7;--sidebar-bg:#fff;--overlay:#1118277a;--border:#d3d8df;--border-light:#e6e9ee;--border-strong:#9aa3af;--focus-ring:#4c8dff;--red:#e03131;--red-bg:#fde8e8;--red-border:#f5b5b5;--orange:#d9730d;--orange-bg:#fff1dd;--orange-border:#f5c98a;--green:#2b8a3e;--green-bg:#e6f4ea;--green-border:#a9d8b8;--blue:#1c7ed6;--blue-bg:#e7f1fc;--blue-border:#a8c8ed;--yellow:#f59f00;--yellow-bg:#fff8db;--btn-default-bg:#fff;--btn-default-border:#d3d8df;--btn-default-text:#1f2328;--btn-default-hover-bg:#f3f5f7;--btn-blue-bg:#1c7ed6;--btn-blue-hover:#1971c2;--btn-blue-text:#fff;--btn-green-bg:#2b8a3e;--btn-green-hover:#227333;--btn-green-text:#fff;--btn-red-bg:#e03131;--btn-red-hover:#c02929;--btn-red-text:#fff;--chip-red-bg:#fde8e8;--chip-red-text:#c02929;--chip-orange-bg:#fff1dd;--chip-orange-text:#9c5000;--chip-green-bg:#e6f4ea;--chip-green-text:#1d6a2d;--chip-blue-bg:#e7f1fc;--chip-blue-text:#125aa0;--chip-gray-bg:#eceff2;--chip-gray-text:#3a424e}[data-theme=dark]{--text:#e7eaef;--text-muted:#a3acb8;--text-disabled:#6b7380;--body-bg:#141820;--panel-bg:#1c2029;--colored-bg:#181c24;--header-bg:#1c2029;--header-tab-bg:#232932;--sidebar-bg:#1c2029;--gray-100:#232932;--gray-200:#2b323c;--gray-300:#39414d;--gray-500:#8a95a3;--border:#2b323c;--border-light:#232932;--primary-soft:#1d2a5c;--btn-default-bg:#232932;--btn-default-border:#39414d;--btn-default-text:#e7eaef;--btn-default-hover-bg:#2b323c;--red-bg:#3a1d1d;--orange-bg:#3b2a15;--green-bg:#1d3324;--blue-bg:#132a44}:root{--font-sans:"Noto Sans", "Noto Sans KR", "Noto Sans JP", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--font-size-base:13px;--line-height-base:1.5;--fs-xs:.8461em;--fs-sm:.923em;--fs-md:1em;--fs-lg:1.0769em;--fs-xl:1.2307em;--fs-2xl:1.5384em;--fs-3xl:1.8461em;--fs-4xl:2.4615em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}body,input,textarea,button,select{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text);-webkit-font-smoothing:antialiased}h1{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:1.25}h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:1.3}h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.35}h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.4}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.section-title{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.field-label{font-size:var(--fs-sm);color:var(--gray-500);font-weight:var(--fw-medium)}.help-text{font-size:var(--fs-xs);color:var(--text-muted)}.mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--shadow-xs:0 1px 1px #1118270a;--shadow-sm:0 1px 2px #1118270f, 0 1px 3px #1118270a;--shadow-md:0 4px 8px #1118270f, 0 2px 4px #1118270a;--shadow-lg:0 12px 24px #1118271a, 0 4px 8px #1118270f;--shadow-modal:0 24px 48px #1118272e;--header-height:56px;--tab-bar-height:36px;--sidebar-width:240px;--sidebar-collapsed-width:56px;--input-height:32px;--input-height-lg:40px;--button-height:32px;--button-height-lg:40px;--table-row-height:36px;--z-header:100;--z-sidebar:90;--z-dropdown:200;--z-modal:1000;--z-notification:2000;--z-tooltip:3000;--ease:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-block{display:block}.d-none{display:none}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}.bs-layout-vertical{flex-direction:column;display:flex}.bs-layout-horizontal{flex-direction:row;display:flex}.flex-align-center{align-items:center}.w-full{width:100%}.h-full{height:100%}.gap-4{gap:4px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.p-4{padding:4px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-24{padding:24px}.px-4{padding-left:4px;padding-right:4px}.px-8{padding-left:8px;padding-right:8px}.px-16{padding-left:16px;padding-right:16px}.px-24{padding-left:24px;padding-right:24px}.py-4{padding-top:4px;padding-bottom:4px}.py-8{padding-top:8px;padding-bottom:8px}.py-16{padding-top:16px;padding-bottom:16px}.py-24{padding-top:24px;padding-bottom:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-40{margin-top:40px}.ml-4{margin-left:4px}.ml-8{margin-left:8px}.ml-16{margin-left:16px}.mr-4{margin-right:4px}.mr-8{margin-right:8px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}*{box-sizing:border-box}html,body{background:var(--body-bg);color:var(--text);margin:0;padding:0}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}.bs-button{height:var(--button-height);border:1px solid var(--btn-default-border);border-radius:var(--radius-md);background:var(--btn-default-bg);color:var(--btn-default-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;line-height:1;display:inline-flex}.bs-button:hover:not(:disabled){background:var(--btn-default-hover-bg)}.bs-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.bs-button:disabled{opacity:.5;cursor:not-allowed}.bs-button.blue{background:var(--btn-blue-bg);border-color:var(--btn-blue-bg);color:var(--btn-blue-text)}.bs-button.blue:hover:not(:disabled){background:var(--btn-blue-hover);border-color:var(--btn-blue-hover)}.bs-button.green{background:var(--btn-green-bg);border-color:var(--btn-green-bg);color:var(--btn-green-text)}.bs-button.green:hover:not(:disabled){background:var(--btn-green-hover);border-color:var(--btn-green-hover)}.bs-button.red{background:var(--btn-red-bg);border-color:var(--btn-red-bg);color:var(--btn-red-text)}.bs-button.red:hover:not(:disabled){background:var(--btn-red-hover);border-color:var(--btn-red-hover)}.bs-button.ghost{color:var(--text-muted);background:0 0;border-color:#0000}.bs-button.ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text)}.bs-button.lg{height:var(--button-height-lg);font-size:var(--fs-md);padding:0 16px}.bs-button.sm{height:24px;font-size:var(--fs-xs);padding:0 8px}.bs-button .icon{width:14px;height:14px;display:inline-block}.bs-button.pill{border-radius:var(--radius-pill);height:48px;font-size:var(--fs-lg);font-weight:var(--fw-semibold);padding:0 24px}.bs-text-input,.bs-select,.bs-input{height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-bg);color:var(--text);font-size:var(--fs-md);align-items:center;width:100%;padding:0 10px;line-height:1;display:inline-flex}.bs-text-input:focus-within,.bs-select:focus-within,.bs-input:focus{border-color:var(--focus-ring);outline-offset:0;outline:2px solid #4c8dff33}.bs-text-input input,.bs-input input{font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.bs-text-input input::placeholder{color:var(--text-disabled)}.bs-text-input.readonly{background:var(--gray-50);color:var(--text-muted)}.bs-text-input.error,.bs-input.error{border-color:var(--red)}.bs-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%235b6472' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:28px;position:relative}.bs-checkbox,.bs-radio{font-size:var(--fs-sm);color:var(--text);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.bs-checkbox input,.bs-radio input{accent-color:var(--primary);width:14px;height:14px}.bs-field{flex-direction:column;gap:4px;display:flex}.bs-field-error{color:var(--red);font-size:var(--fs-xs);margin-top:4px}.login-form .field .bs-text-input{border-radius:var(--radius-pill);height:48px;padding:0 20px}.bs-grid,table.item-table{border-collapse:collapse;background:var(--panel-bg);width:100%;font-size:var(--fs-sm);table-layout:auto}.bs-grid thead th,.item-table thead th,.item-table>tr>th{background:var(--gray-100);color:var(--text);font-weight:var(--fw-semibold);text-align:center;vertical-align:middle;border:1px solid var(--border);white-space:nowrap;padding:8px}.bs-grid tbody td,.item-table tbody td,.item-table>tr>td{border:1px solid var(--border);vertical-align:middle;padding:8px}.bs-grid tbody td{white-space:nowrap}.bs-grid tbody td.wrap{white-space:normal}.bs-grid tbody tr:hover{background:var(--gray-50)}.bs-grid td a{color:var(--link)}.bs-grid td a:hover{text-decoration:underline}.bg-color-red{background:var(--red-bg)!important}.bg-color-orange{background:var(--orange-bg)!important}.bg-color-green{background:var(--green-bg)!important}.bs-grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.bs-grid th.sortable:after{content:"↕";color:var(--gray-400);margin-left:4px;font-size:10px}.bs-grid th.sort-asc:after{content:"▲";color:var(--primary)}.bs-grid th.sort-desc:after{content:"▼";color:var(--primary)}.bs-grid-toolbar{background:var(--panel-bg);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 16px;display:flex}.bs-grid-toolbar .spacer{flex:1}.bs-grid-meta{color:var(--text-muted);font-size:var(--fs-xs)}.bs-grid-lookup{background:var(--gray-50);border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 16px;display:flex}.bs-grid-lookup .lookup-item{align-items:center;gap:6px;display:flex}.bs-grid-lookup .lookup-item>label{font-size:var(--fs-sm);color:var(--gray-500);white-space:nowrap}.bs-pagination{font-size:var(--fs-sm);justify-content:center;align-items:center;gap:4px;padding:8px;display:flex}.bs-pagination button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);min-width:28px;height:28px;color:var(--text);cursor:pointer;padding:0 8px}.bs-pagination button.active{background:var(--primary);border-color:var(--primary);color:#fff}.bs-pagination button:hover:not(.active):not(:disabled){background:var(--gray-100)}.chip{border-radius:var(--radius-pill);height:22px;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--chip-gray-bg);color:var(--chip-gray-text);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.chip.red{background:var(--chip-red-bg);color:var(--chip-red-text)}.chip.orange{background:var(--chip-orange-bg);color:var(--chip-orange-text)}.chip.green{background:var(--chip-green-bg);color:var(--chip-green-text)}.chip.blue{background:var(--chip-blue-bg);color:var(--chip-blue-text)}.code-chip-red{font-weight:var(--fw-medium);color:var(--red)!important}.dot{background:var(--gray-400);border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.blue{background:var(--blue)}.dot.orange{background:var(--orange)}.bs-card{background:var(--panel-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.bs-card-header{border-bottom:1px solid var(--border-light);background:var(--panel-bg);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.bs-card-header .title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.bs-card-body{padding:16px}.dashboard-box-style{background:var(--panel-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:16px}.bs-section-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);border-bottom:1px solid var(--border);margin:8px 0;padding:8px 0}.bs-form-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:160px 1fr 160px 1fr;gap:0;display:grid}.bs-form-grid>.label,.bs-form-grid>.value{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:40px;font-size:var(--fs-sm);align-items:center;padding:8px 12px;display:flex}.bs-form-grid>.label{background:var(--gray-100);color:var(--text);font-weight:var(--fw-medium)}.bs-form-grid>.value.colspan-3{grid-column:span 3}.bs-tabs{border-bottom:1px solid var(--border);background:var(--panel-bg);align-items:stretch;gap:4px;padding:0 16px;display:flex}.bs-tab{height:40px;color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 16px;display:inline-flex;position:relative}.bs-tab:hover{color:var(--text)}.bs-tab.active{color:var(--primary);font-weight:var(--fw-semibold)}.bs-tab.active:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.bs-page-tabs{background:var(--header-tab-bg);height:var(--tab-bar-height);border-bottom:1px solid var(--border);align-items:flex-end;padding:0 8px;display:flex;overflow-x:auto}.bs-page-tab{background:var(--header-tab-bg);height:32px;color:var(--text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-bottom:none;align-items:center;gap:8px;max-width:220px;margin-right:2px;padding:0 12px;display:inline-flex;overflow:hidden}.bs-page-tab.active{background:var(--panel-bg);color:var(--text);border-color:var(--border);font-weight:var(--fw-medium)}.bs-page-tab .close{width:14px;height:14px;color:var(--text-muted);border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.bs-page-tab .close:hover{background:var(--gray-200);color:var(--text)}.bs-modal-overlay{background:var(--overlay);z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bs-modal{background:var(--panel-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);flex-direction:column;min-width:420px;max-width:90vw;max-height:85vh;display:flex;overflow:hidden}.bs-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.bs-modal-close{cursor:pointer;width:24px;height:24px;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none}.bs-modal-close:hover{background:var(--gray-100);color:var(--text)}.bs-modal-body{flex:1;padding:20px;overflow:auto}.bs-modal-footer{border-top:1px solid var(--border-light);background:var(--gray-50);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.bs-notification{z-index:var(--z-notification);flex-direction:column;gap:8px;display:flex;position:fixed;top:72px;right:24px}.bs-toast{background:var(--panel-bg);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius-md);min-width:280px;max-width:380px;box-shadow:var(--shadow-lg);font-size:var(--fs-sm);padding:12px 14px}.bs-toast.success{border-left-color:var(--green)}.bs-toast.error{border-left-color:var(--red)}.bs-toast.warn{border-left-color:var(--orange)}.bs-header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--border);z-index:var(--z-header);align-items:center;gap:16px;padding:0 16px;display:flex;position:sticky;top:0}.bs-header .header-logo{font-weight:var(--fw-semibold);font-size:var(--fs-lg);color:var(--primary);cursor:pointer;align-items:center;gap:10px;display:flex}.bs-header .spacer{flex:1}.bs-header .actions{align-items:center;gap:8px;display:flex}.bs-sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border);flex-shrink:0;overflow-y:auto}.bs-sidebar .menu-group-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px 6px}.bs-sidebar .menu-item{color:var(--text);font-size:var(--fs-sm);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:8px 16px;display:flex}.bs-sidebar .menu-item:hover{background:var(--gray-100)}.bs-sidebar .menu-item.active{background:var(--primary-soft);border-left-color:var(--primary);color:var(--primary);font-weight:var(--fw-semibold)}.bs-sidebar .menu-item .caret{color:var(--text-muted);margin-left:auto}.bs-app{background:var(--body-bg);flex-direction:column;height:100vh;display:flex}.bs-app-body{flex:1;display:flex;overflow:hidden}.bs-app-content{background:var(--colored-bg);flex-direction:column;flex:1;display:flex;overflow:auto}.bs-page{flex-direction:column;height:100%;display:flex}.bs-page-header{background:var(--panel-bg);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.bs-page-header .title{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.bs-page-body{flex:1;padding:0;overflow:auto}:root{--pc-primary:#006fc0;--pc-primary-soft:#eaf3fb;--pc-navy:#113146;--pc-navy-active:#0c2331;--pc-logout-bg:#62a6d8;--pc-badge-active-border:#2f8fe0;--pc-badge-inactive-border:#f0ad1f;--pc-content-bg:#f3f3f3;--pc-cancel-bg:#585958;--pc-cancel-hover:#454645;--pc-table-header-bg:#d8d9d8;--pc-table-label-bg:#f1f2f1;--pc-table-border:#c7c8c7;--primary:var(--pc-primary);--primary-hover:#005ba3;--primary-active:#004a86;--primary-soft:var(--pc-primary-soft);--colored-bg:var(--pc-content-bg);--btn-blue-bg:var(--pc-primary);--btn-blue-hover:#005ba3}.bs-modal{border-radius:6px;box-shadow:0 12px 32px #11182738}.bs-modal-header{border-bottom:none;justify-content:center;padding:22px 24px 4px}.bs-modal-title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.bs-modal-body{padding:16px 24px 4px}.bs-modal-footer{background:0 0;border-top:none;flex-direction:row-reverse;justify-content:flex-end;padding:8px 24px 22px}.bs-modal-footer .bs-button{border-radius:4px;min-width:84px}.bs-modal-footer .bs-button:not(.blue){background:var(--pc-cancel-bg);border-color:var(--pc-cancel-bg);color:#fff}.bs-modal-footer .bs-button:not(.blue):hover:not(:disabled){background:var(--pc-cancel-hover);border-color:var(--pc-cancel-hover)}.bs-fieldset{border:0;min-width:0;margin:0;padding:0}.bs-modal-table{border-collapse:collapse;width:100%;margin-bottom:12px}.bs-modal-table th{background:var(--pc-table-header-bg);border:1px solid var(--pc-table-border);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:center;padding:8px 10px}.bs-modal-table td{border:1px solid var(--pc-table-border);font-size:var(--fs-sm);vertical-align:middle;padding:7px 10px}.bs-modal-table td.label{background:var(--pc-table-label-bg);font-weight:var(--fw-medium);white-space:nowrap;width:1%}.bs-modal-table td.value textarea{border:1px solid var(--border);width:100%;min-height:52px;font-size:var(--fs-sm);resize:vertical;border-radius:3px;padding:5px 7px;font-family:inherit}.bs-modal-table td.value input,.bs-modal-table td.value select{border:1px solid var(--border);width:100%;height:26px;font-size:var(--fs-sm);border-radius:3px;padding:0 7px}.bs-modal-table td.value.plain{padding:7px 10px}.login-bg{background:var(--pc-content-bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100vh;display:flex}.login-form{background:var(--panel-bg);border-radius:var(--radius-lg);width:420px;box-shadow:var(--shadow-md,0 2px 12px #00000014);flex-direction:column;align-items:center;padding:48px 40px;display:flex}.login-form .brand{justify-content:center;align-items:center;margin-bottom:32px;display:flex}.login-form .brand .brand-logo{width:160px;height:auto}.login-form .field{border-bottom:1px solid var(--border);align-items:center;gap:10px;width:100%;margin-top:24px;padding-bottom:10px;display:flex}.login-form .field .ico{color:var(--text-disabled);flex-shrink:0}.login-form .field input{font-size:var(--fs-md);color:var(--text);background:0 0;border:none;outline:none;flex:1}.login-form .field input::placeholder{color:var(--text-disabled)}.login-form .error{width:100%;font-size:var(--fs-sm);color:var(--red);margin-top:12px}.login-form .bs-button.pill{background:var(--pc-navy);border-color:var(--pc-navy);color:#fff;border-radius:var(--radius-md);width:100%;height:48px;font-size:var(--fs-lg);margin-top:32px}.login-form .bs-button.pill:hover:not(:disabled){background:var(--pc-navy-active);border-color:var(--pc-navy-active)}.login-footer{font-size:var(--fs-xs);color:var(--text-muted);text-align:center}.login-footer .footer-logo{width:auto;height:20px;margin-bottom:4px}.shell{flex-direction:column;height:100vh;display:flex}.shell-header{background:var(--header-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;height:64px;padding:0 24px;display:flex}.shell-header .logo-text{color:var(--text);font-weight:700;font-size:var(--fs-lg);flex-shrink:0;align-items:center;gap:8px;display:flex}.shell-header .logo-img{width:auto;height:40px}.shell-nav{align-items:stretch;gap:32px;height:100%;margin-left:48px;display:flex}.shell-nav a{height:100%;color:var(--text);font-size:var(--fs-md);border-bottom:3px solid #0000;align-items:center;font-weight:500;text-decoration:none;display:flex}.shell-nav a:hover{color:var(--pc-primary)}.shell-nav a.active{color:var(--pc-primary);border-bottom-color:var(--pc-primary);font-weight:700}.shell-header .header-actions{flex-shrink:0;align-items:center;gap:16px;margin-left:auto;display:flex}.shell-header .who{text-align:right;line-height:1.3}.shell-header .who .name{font-size:var(--fs-sm);color:var(--text)}.shell-header .who .name .domain{color:var(--text-muted);margin-left:6px}.shell-header .who .time{font-size:var(--fs-xs);color:var(--text-disabled)}.shell-header .bs-button.logout{background:var(--pc-logout-bg);border-color:var(--pc-logout-bg);color:#fff}.shell-header .bs-button.logout:hover{opacity:.9}.shell-header .settings-link{color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.shell-header .settings-link .ico{font-size:var(--fs-xl);line-height:1}.shell-header .settings-link:hover,.shell-header .settings-link.active{color:var(--pc-primary)}.shell-header .humix-logo{width:auto;height:18px;margin-left:4px}.shell-breadcrumb{background:var(--panel-bg);border-bottom:1px solid var(--border-light);font-size:var(--fs-sm);color:var(--text-muted);flex-shrink:0;align-items:center;gap:6px;padding:10px 24px;display:flex}.shell-breadcrumb .home{background:var(--pc-primary);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;text-decoration:none;display:flex}.shell-breadcrumb .current{color:var(--text);font-weight:600}.shell-body{flex:1;display:flex;overflow:hidden}.shell-sidebar{background:var(--pc-navy);flex-shrink:0;width:220px;overflow-y:auto}.shell-sidebar .sidebar-title{color:#fff;font-size:var(--fs-lg);padding:20px;font-weight:700}.shell-sidebar .menu-item{color:#ffffffbf;font-size:var(--fs-sm);cursor:pointer;border-left:3px solid #0000;padding:14px 20px;text-decoration:none;display:block}.shell-sidebar .menu-item:hover{color:#fff;background:#ffffff0f}.shell-sidebar .menu-item.active{background:var(--pc-navy-active);color:#fff;border-left-color:var(--pc-primary);font-weight:600}.shell-main{background:var(--pc-content-bg);flex:1;overflow:auto}.shell-content{padding:24px}.shell-content .page-title{font-size:var(--fs-2xl);color:var(--text);margin:0 0 16px;font-weight:700}.bs-panel{background:var(--panel-bg);border-radius:var(--radius-md)}.list-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.list-toolbar .count{font-size:var(--fs-sm);color:var(--text-muted)}.list-toolbar .count b{color:var(--text)}.list-toolbar .actions{gap:8px;display:flex}.tab-strip{gap:4px;margin-bottom:0;display:flex}.tab-strip button{background:var(--gray-200);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:none;padding:10px 20px}.tab-strip button:before{content:"› "}.tab-strip button.active{background:var(--panel-bg);color:var(--text);box-shadow:0 1px 0 var(--panel-bg);font-weight:600}.pagination{justify-content:center;align-items:center;gap:4px;padding:16px 0 4px;display:flex}.pagination button{border:1px solid var(--border);background:var(--panel-bg);min-width:28px;height:28px;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);padding:0 6px}.pagination button.active{background:var(--pc-primary);border-color:var(--pc-primary);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.badge{border-radius:var(--radius-sm);font-size:var(--fs-xs);background:0 0;border:1px solid;align-items:center;padding:3px 12px;font-weight:600;display:inline-flex}.badge.active{border-color:var(--pc-badge-active-border);color:var(--pc-badge-active-border)}.badge.inactive{border-color:var(--pc-badge-inactive-border);color:var(--pc-badge-inactive-border)}.badge.ok{border-color:var(--green);color:var(--green)}.badge.fail{border-color:var(--red);color:var(--red)}.row-action{border:1px solid var(--pc-primary);border-radius:var(--radius-sm);color:var(--pc-primary);font-size:var(--fs-xs);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 10px;text-decoration:none;display:inline-flex}.row-action:hover{background:var(--pc-primary-soft)}
