@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--gray-0: #FFFFFF;--gray-25: #FBFAF8;--gray-50: #F5F4F0;--gray-100: #EDEBE4;--gray-150: #E4E1D8;--gray-200: #D8D4C8;--gray-300: #C1BCAC;--gray-400: #9C9686;--gray-500: #7A7568;--gray-600: #5E594E;--gray-700: #46423A;--gray-800: #2E2B25;--gray-900: #1F2A24;--gray-950: #14180F;--emerald-50: #EAF5EF;--emerald-100: #CFEBDC;--emerald-200: #9DD6BB;--emerald-300: #6CC098;--emerald-400: #3CA379;--emerald-500: #1F8A5B;--emerald-600: #186F49;--emerald-700: #12563A;--emerald-800: #0C3D29;--emerald-900: #072819;--forest-500: #1F2A24;--forest-600: #19221D;--forest-700: #131A16;--forest-800: #0D120F;--green-50: #EEF5EE;--green-300: #8FBF95;--green-500: #3F8A4C;--green-600: #2F6D3B;--green-700: #24552E;--amber-50: #FBF2E3;--amber-300: #E8C07E;--amber-500: #C98A2B;--amber-600: #A66E1F;--amber-700: #7F5417;--red-50: #FBECE9;--red-300: #E7A79A;--red-500: #C9412A;--red-600: #A63220;--red-700: #802719;--blue-50: #EAF0FB;--blue-300: #9DBDE8;--blue-500: #3564B0;--blue-600: #2A4F8C;--blue-700: #203D6C;--bg-page: var(--gray-50);--bg-canvas: var(--gray-25);--bg-surface: var(--gray-0);--bg-surface-sunken: var(--gray-100);--bg-surface-hover: var(--gray-100);--bg-overlay-scrim: rgba(20, 24, 15, .44);--border-subtle: var(--gray-150);--border-default: var(--gray-200);--border-strong: var(--gray-300);--border-focus: var(--emerald-500);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-400);--text-on-accent: #FFFFFF;--text-on-dark: #F5F4F0;--text-on-dark-secondary: rgba(245, 244, 240, .64);--text-link: var(--emerald-600);--accent-default: var(--emerald-500);--accent-hover: var(--emerald-600);--accent-active: var(--emerald-700);--accent-subtle-bg: var(--emerald-50);--accent-subtle-border: var(--emerald-200);--chrome-bg: var(--forest-500);--chrome-bg-elevated: var(--forest-600);--chrome-border: rgba(245, 244, 240, .08);--chrome-item-hover: rgba(245, 244, 240, .06);--chrome-item-active: rgba(31, 138, 91, .2);--chrome-item-active-text: #6CC098;--success-bg: var(--green-50);--success-border: var(--green-300);--success-text: var(--green-700);--success-solid: var(--green-500);--warning-bg: var(--amber-50);--warning-border: var(--amber-300);--warning-text: var(--amber-700);--warning-solid: var(--amber-500);--danger-bg: var(--red-50);--danger-border: var(--red-300);--danger-text: var(--red-700);--danger-solid: var(--red-500);--info-bg: var(--blue-50);--info-border: var(--blue-300);--info-text: var(--blue-700);--info-solid: var(--blue-500);--focus-ring: 0 0 0 3px rgba(31, 138, 91, .28)}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-display: 32px;--text-h1: 26px;--text-h2: 21px;--text-h3: 17px;--text-body-lg: 16px;--text-body: 14px;--text-body-sm: 13px;--text-caption: 12px;--text-micro: 11px;--leading-display: 1.15;--leading-heading: 1.25;--leading-body: 1.5;--leading-tight: 1.3;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-caps: .06em}:root{--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--control-height-sm: 32px;--control-height-md: 40px;--control-height-lg: 48px;--control-padding-x: 14px;--card-padding: 24px;--card-padding-sm: 16px;--sidebar-width-l1: 72px;--sidebar-width-l2: 248px;--topbar-height: 64px;--content-max-width: 1180px;--content-gutter: 32px}:root{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--radius-circle: 50%}:root{--shadow-xs: 0 1px 2px rgba(31, 42, 36, .06);--shadow-sm: 0 1px 3px rgba(31, 42, 36, .08), 0 1px 2px rgba(31, 42, 36, .04);--shadow-md: 0 4px 12px rgba(31, 42, 36, .08), 0 1px 3px rgba(31, 42, 36, .06);--shadow-lg: 0 12px 32px rgba(31, 42, 36, .12), 0 2px 6px rgba(31, 42, 36, .06);--shadow-focus: var(--focus-ring);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: .26s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}body,input,select,textarea,button{font-family:var(--font-sans)}.font-mono-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.bo-shell{display:flex;height:100vh;overflow:hidden}.bo-shell-rail{display:contents}.bo-shell-sidebar-l2{width:var(--sidebar-width-l2);flex-shrink:0;background:var(--chrome-bg-elevated);display:flex;flex-direction:column;padding:16px;gap:16px;overflow-y:auto;transition:width var(--transition-fast)}.bo-shell-sidebar-l2.collapsed{width:64px;padding:16px 8px;gap:12px}.bo-shell-content{flex:1;overflow-y:auto;background:var(--bg-page)}.bo-shell-content-inner{width:100%;padding:var(--content-gutter)}.bo-shell-topbar{display:none}.bo-shell-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay-scrim);z-index:90;display:flex}.bo-shell-drawer{width:280px;max-width:82vw;height:100%;background:var(--chrome-bg-elevated);padding:16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}@media (max-width: 960px){.bo-shell{flex-direction:column}.bo-shell-rail,.bo-shell-sidebar-l2{display:none}.bo-shell-topbar{height:var(--topbar-height);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--chrome-bg);border-bottom:1px solid var(--chrome-border)}.bo-shell-topbar>button{color:var(--text-on-dark)!important}.bo-shell-content-inner{padding:20px 16px}}.bo-home-title{font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 6px}.bo-home-subtitle{color:var(--text-secondary)}.bo-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--card-padding);margin-bottom:16px}.bo-card h2{font-size:var(--text-h3);font-weight:var(--weight-semibold);margin:0 0 12px;color:var(--text-primary)}.bo-card-head{display:flex;justify-content:space-between;align-items:center}.bo-table{width:100%;border-collapse:collapse}.bo-table th,.bo-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-subtle);font-size:var(--text-body-sm)}.bo-table thead th{color:var(--text-secondary);font-weight:var(--weight-semibold);text-transform:uppercase;font-size:var(--text-micro);letter-spacing:var(--tracking-caps)}.bo-table tr.active{background:var(--accent-subtle-bg)}.bo-table thead .bo-table-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bo-table thead .bo-table-sortable:hover{color:var(--text-primary)}.bo-table-sort-icons{margin-left:4px;font-size:9px;color:var(--text-tertiary)}.bo-table-sort-icons.active{color:var(--accent-default)}.bo-table button{margin-right:6px;background:var(--bg-surface);color:var(--text-link)}.bo-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.bo-form-row input[type=text],.bo-form-row input[type=number],.bo-form-row select{padding:8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-body);background:var(--bg-surface)}.bo-card button{padding:8px 14px;border:none;border-radius:var(--radius-md);background:var(--accent-default);color:var(--text-on-accent);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.bo-card button:hover{background:var(--accent-hover)}.bo-card button:disabled{opacity:.5;cursor:not-allowed}.bo-flash{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:14px;font-size:var(--text-body-sm)}.bo-hint{color:var(--text-tertiary);font-size:var(--text-caption);margin-top:8px}.bo-dot{display:inline-block;width:9px;height:9px;border-radius:var(--radius-circle);margin-right:6px}.bo-dot.ok{background:var(--success-solid)}.bo-dot.ko{background:var(--danger-solid)}.bo-ellipsis{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page)}.bo-login-card{display:flex;flex-direction:column;gap:14px;width:340px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:32px 28px}.bo-login-brand{font-size:var(--text-h2);font-weight:var(--weight-bold);color:var(--text-primary);text-align:center;margin-bottom:6px}.bo-login-field{display:flex;flex-direction:column;gap:5px;font-size:var(--text-body-sm);color:var(--text-primary)}.bo-login-field input{padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-body)}.bo-login-field input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.bo-login-error{color:var(--danger-text);font-size:var(--text-caption);font-style:normal}.bo-login-remember{display:flex;align-items:center;gap:6px;font-size:var(--text-caption);color:var(--text-secondary)}.bo-login-card>button{padding:10px 14px;border:none;border-radius:var(--radius-md);background:var(--accent-default);color:var(--text-on-accent);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.bo-login-card>button:hover{background:var(--accent-hover)}.bo-login-card>button:disabled{opacity:.6;cursor:not-allowed}.bo-goto-global{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--chrome-bg);color:var(--text-on-dark);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:background var(--transition-fast)}.bo-goto-global:hover{background:var(--chrome-bg-elevated)}
