.toast-stack{position:fixed;top:64px;right:16px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{min-width:240px;max-width:360px;padding:10px 14px;border-radius:var(--kdd-radius);border:1px solid var(--kdd-border-strong);background:var(--kdd-bg);box-shadow:var(--kdd-shadow-lg);font-size:13px}.toast--error{border-left:4px solid var(--kdd-danger)}.toast--success{border-left:4px solid var(--kdd-success)}.layout[data-v-b39ee212]{display:flex;height:100%}.sidebar[data-v-b39ee212]{width:var(--kdd-sidebar-w);background:var(--kdd-surface);border-right:1px solid var(--kdd-border);display:flex;flex-direction:column;flex-shrink:0}.brand[data-v-b39ee212]{display:flex;align-items:center;gap:var(--kdd-space-1);height:var(--kdd-topbar-h);padding:0 var(--kdd-space-2);border-bottom:1px solid var(--kdd-border)}.brand-name[data-v-b39ee212]{font-weight:600;color:var(--kdd-text)}.nav[data-v-b39ee212]{padding:var(--kdd-space-1);display:flex;flex-direction:column;gap:2px}.nav-item[data-v-b39ee212]{padding:10px var(--kdd-space-2);border-radius:var(--kdd-radius);color:var(--kdd-text-muted);min-height:44px;display:flex;align-items:center}.nav-item[data-v-b39ee212]:hover{background:var(--kdd-surface-2);color:var(--kdd-text)}.nav-item--active[data-v-b39ee212]{background:var(--kdd-primary);color:var(--kdd-text-inverse)}.main[data-v-b39ee212]{flex:1;display:flex;flex-direction:column;min-width:0}.topbar[data-v-b39ee212]{height:var(--kdd-topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--kdd-space-3);border-bottom:1px solid var(--kdd-border);background:var(--kdd-bg)}.topbar-title[data-v-b39ee212]{font-weight:600}.topbar-right[data-v-b39ee212]{display:flex;align-items:center;gap:var(--kdd-space-2)}.topbar-user[data-v-b39ee212]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--kdd-text-muted)}.topbar-user .dot[data-v-b39ee212]{width:8px;height:8px;border-radius:50%;background:var(--kdd-success)}.role[data-v-b39ee212]{text-transform:uppercase}.content[data-v-b39ee212]{flex:1;padding:var(--kdd-space-3);overflow:auto}@media(max-width:1199px)and (min-width:768px){.sidebar[data-v-b39ee212]{width:72px}.brand-name[data-v-b39ee212]{display:none}.nav-item[data-v-b39ee212]{font-size:0;padding:10px;justify-content:center}}@media(max-width:767px){.layout[data-v-b39ee212]{flex-direction:column}.sidebar[data-v-b39ee212]{width:100%;flex-direction:row;overflow-x:auto}.nav[data-v-b39ee212]{flex-direction:row}.nav-item[data-v-b39ee212]{white-space:nowrap}.topbar-user[data-v-b39ee212]{display:none}}:root{--kdd-bg: #ffffff;--kdd-surface: #f6f7f9;--kdd-surface-2: #eceff3;--kdd-text: #1a2332;--kdd-text-muted: #4b5563;--kdd-text-inverse: #ffffff;--kdd-primary: #1f4e79;--kdd-primary-hover: #173d5f;--kdd-primary-soft: rgba(31, 78, 121, .1);--kdd-gold: #d4af37;--kdd-gold-soft: rgba(212, 175, 55, .16);--kdd-success: #1e7e46;--kdd-success-soft: rgba(30, 126, 70, .12);--kdd-danger: #b3261e;--kdd-danger-soft: rgba(179, 38, 30, .12);--kdd-warning: #9a6700;--kdd-warning-soft: rgba(154, 103, 0, .14);--kdd-info: #1f6f8b;--kdd-info-soft: rgba(31, 111, 139, .14);--kdd-border: #d9dde3;--kdd-border-strong: #b9c0ca;--kdd-space-1: 8px;--kdd-space-2: 16px;--kdd-space-3: 24px;--kdd-space-4: 32px;--kdd-space-5: 48px;--kdd-radius: 8px;--kdd-radius-lg: 12px;--kdd-shadow: 0 1px 3px rgba(26, 35, 50, .08);--kdd-shadow-lg: 0 4px 16px rgba(26, 35, 50, .12);--kdd-font: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--kdd-font-mono: "SFMono-Regular", Consolas, monospace;--kdd-sidebar-w: 232px;--kdd-topbar-h: 56px}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--kdd-bg);color:var(--kdd-text);font-family:var(--kdd-font);font-size:14px;line-height:1.6}a{color:var(--kdd-primary);text-decoration:none}a:hover{color:var(--kdd-primary-hover)}.kdd-card{background:var(--kdd-bg);border:1px solid var(--kdd-border);border-radius:var(--kdd-radius-lg);padding:var(--kdd-space-3);box-shadow:var(--kdd-shadow)}:focus-visible{outline:2px solid var(--kdd-primary);outline-offset:2px}.kdd-input,.kdd-select{height:36px;padding:0 10px;border:1px solid var(--kdd-border-strong);border-radius:var(--kdd-radius);background:var(--kdd-bg);color:var(--kdd-text);font-family:var(--kdd-font);font-size:14px}.kdd-input:focus,.kdd-select:focus{outline:2px solid var(--kdd-primary);outline-offset:0}.kdd-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 16px;border:1px solid var(--kdd-border-strong);border-radius:var(--kdd-radius);background:var(--kdd-bg);color:var(--kdd-text);font-size:14px;font-family:var(--kdd-font);cursor:pointer}.kdd-btn:hover{background:var(--kdd-surface-2)}.kdd-btn:disabled{opacity:.55;cursor:not-allowed}.kdd-btn--primary{background:var(--kdd-primary);border-color:var(--kdd-primary);color:var(--kdd-text-inverse)}.kdd-btn--primary:hover{background:var(--kdd-primary-hover)}.kdd-btn--danger{background:var(--kdd-danger);border-color:var(--kdd-danger);color:var(--kdd-text-inverse)}.kdd-btn--sm{min-height:28px;padding:2px 10px;font-size:13px}.kdd-table{width:100%;border-collapse:collapse;font-size:14px}.kdd-table th{text-align:left;font-weight:600;color:var(--kdd-text-muted);border-bottom:1px solid var(--kdd-border-strong);padding:10px var(--kdd-space-2);white-space:nowrap}.kdd-table td{padding:10px var(--kdd-space-2);border-bottom:1px solid var(--kdd-border)}.kdd-table tbody tr{cursor:pointer}.kdd-table tbody tr:hover{background:var(--kdd-primary-soft)}.kdd-table tbody tr.no-click{cursor:default}.kdd-table tbody tr.no-click:hover{background:transparent}.kdd-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.kdd-tag--green{background:var(--kdd-success-soft);color:var(--kdd-success);border-color:var(--kdd-success)}.kdd-tag--yellow{background:var(--kdd-warning-soft);color:var(--kdd-warning);border-color:var(--kdd-warning)}.kdd-tag--red{background:var(--kdd-danger-soft);color:var(--kdd-danger);border-color:var(--kdd-danger)}.kdd-tag--blue{background:var(--kdd-info-soft);color:var(--kdd-info);border-color:var(--kdd-info)}.kdd-tag--neutral{background:var(--kdd-surface-2);color:var(--kdd-text-muted);border-color:var(--kdd-border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--kdd-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:transparent}
