:root{--platform-primary: #1a73e8;--platform-primary-light: #4a9df4;--platform-primary-dark: #0d5cbf}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased}:root{--sidebar-width: 240px;--header-height: 56px;--bg-page: #f5f6fa;--bg-surface: #ffffff;--bg-surface-hover: #f0f2f5;--border-color: #e2e6ea;--text-primary: #1a1d23;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-on-primary: #ffffff;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-info: #3b82f6;--color-info-bg: #eff6ff;--color-ai: #8b5cf6;--color-ai-bg: #f5f3ff;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition: .15s ease}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--text-primary)}p{margin:0}a{color:var(--platform-primary);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--platform-primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--platform-primary-dark)}.btn-outline{background:transparent;color:var(--platform-primary);border:1px solid var(--platform-primary)}.btn-outline:hover{background:var(--bg-surface-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.input,.select{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);background:var(--bg-surface);outline:none;transition:border-color var(--transition)}.input:focus,.select:focus{border-color:var(--platform-primary);box-shadow:0 0 0 3px #1a73e81f}.input::placeholder,.select::placeholder{color:var(--text-muted)}.input.error,.error.select{border-color:var(--color-danger)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.error-text{font-size:12px;color:var(--color-danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-ai{background:var(--color-ai-bg);color:var(--color-ai)}.badge-neutral{background:var(--bg-surface-hover);color:var(--text-secondary)}.table-container{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse}table.data-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}table.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}table.data-table tr:last-child td{border-bottom:none}table.data-table tbody tr{cursor:pointer;transition:background var(--transition)}table.data-table tbody tr:hover{background:var(--bg-surface-hover)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:20px}.page-content{display:flex;flex-direction:column;gap:16px}.divider{height:1px;background:var(--border-color);border:none;margin:16px 0}
