:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-subtle: #eff6ff;--primary-border: #bfdbfe;--honey: #f59e0b;--bg: #ffffff;--surface: #f8fafc;--surface-2: #f1f5f9;--border: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--text-faint: #cbd5e1;--text-code: #475569;--green-text: #16a34a;--green-bg: #f0fdf4;--green-border: #bbf7d0;--amber-text: #d97706;--amber-bg: #fffbeb;--amber-border: #fde68a;--red-text: #dc2626;--red-bg: #fef2f2;--red-border: #fecaca;--purple-text: #7c3aed;--purple-bg: #f5f3ff;--purple-border: #ddd6fe;--slate-bg: #f8fafc;--slate-archive-bg: #f1f5f9;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-stat: 0 1px 3px rgba(0, 0, 0, .06);--shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .06);--shadow-slide-over: -8px 0 32px rgba(0, 0, 0, .12);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .18);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.app-root{min-height:100vh;background:var(--bg)}.topnav{position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;padding:0 24px}.topnav-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:var(--text-primary)}.topnav-sep{width:1px;height:24px;background:var(--border);margin:0 20px}.topnav-tabs{display:flex;align-items:stretch;height:56px}.topnav-tab{height:56px;padding:0 16px;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:0;cursor:pointer;position:relative;transition:background .1s,color .1s}.topnav-tab:hover{background:var(--surface);color:var(--text-primary)}.topnav-tab.active{color:var(--primary);font-weight:600}.topnav-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary)}.topnav-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.topnav-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer}.icon-btn{width:36px;height:36px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;position:relative;transition:background .1s}.icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.product-switch{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:background .1s}.product-switch:hover{background:var(--surface-2)}.product-switch-icon{color:var(--text-secondary)}.sidebar{position:fixed;top:56px;left:0;width:240px;height:calc(100vh - 56px);background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:16px 8px;z-index:50}.side-label{text-transform:uppercase;font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.08em;padding:16px 8px 6px}.side-label:first-child{padding-top:8px}.side-item{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;background:transparent;border:0;width:100%;text-align:left;transition:background .1s,color .1s}.side-item:hover{background:var(--surface-2);color:var(--text-primary)}.side-item.active{background:var(--primary-subtle);color:var(--primary);font-weight:600}.side-item .icon{color:var(--text-secondary);flex-shrink:0}.side-item.active .icon{color:var(--primary)}.side-sep{height:1px;background:var(--border);margin:8px 12px}.subnav{position:fixed;top:56px;left:0;right:0;height:44px;background:var(--bg);border-bottom:1px solid var(--border);z-index:95;display:flex;align-items:stretch;padding:0 20px}.subnav-tab{position:relative;padding:0 16px;height:44px;display:flex;align-items:center;background:transparent;border:0;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .1s;gap:6px}.subnav-tab:hover{color:var(--text-primary)}.subnav-tab.active{color:var(--primary);font-weight:600}.subnav-tab.active:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--primary)}.subnav-tab.soon{cursor:default;opacity:.5}.subnav-tab-count{margin-left:2px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px}.with-subnav .sidebar{top:100px;height:calc(100vh - 100px)}.with-subnav .main{padding-top:100px}.with-subnav .form-sticky{top:100px}.soon-badge{font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--text-muted);letter-spacing:.02em}.topnav-tab.soon{cursor:default;opacity:.55}.topnav-tab.soon:hover{background:transparent;color:var(--text-secondary)}.main{margin-left:240px;padding-top:56px;min-height:100vh;background:var(--bg)}.main.no-sidebar{margin-left:0}.main.no-padding>.page-inner{padding:0}.page-inner{padding:32px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;min-height:56px}.page-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.page-actions{display:inline-flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .1s,border-color .1s,color .1s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:#fff;border-color:var(--border);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--surface)}.btn-destructive{background:var(--red-text);color:#fff}.btn-destructive:hover:not(:disabled){background:#b91c1c}.btn-destructive-outline{background:#fff;border-color:var(--red-border);color:var(--red-text)}.btn-destructive-outline:hover:not(:disabled){background:var(--red-bg)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.btn-ghost-danger{color:var(--red-text)}.btn-ghost-danger:hover:not(:disabled){background:var(--red-bg)}.btn-sm{height:28px;padding:0 10px;font-size:12px;border-radius:6px}.btn-lg{height:44px;padding:0 20px;font-size:15px}.btn-link{background:transparent;border:0;padding:0;color:var(--primary);font-weight:500;cursor:pointer}.btn-link:hover{color:var(--primary-hover);text-decoration:underline}.input,.select{height:36px;border:1px solid var(--border);border-radius:6px;padding:0 12px;font-size:14px;background:#fff;color:var(--text-primary);outline:none;transition:border-color .1s,box-shadow .1s;width:100%}.input::placeholder{color:var(--text-muted)}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.input:disabled,.select:disabled{background:var(--surface);color:var(--text-muted);cursor:not-allowed}.input.error{border-color:var(--red-text);box-shadow:0 0 0 3px var(--red-bg)}.input-with-icon{position:relative}.input-with-icon .input{padding-left:36px}.input-with-icon .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;background:#fff;font-family:inherit;outline:none;resize:vertical;transition:border-color .1s,box-shadow .1s}.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.label .req{color:var(--red-text)}.field-row{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.toggle{width:36px;height:20px;border-radius:999px;background:var(--border);position:relative;cursor:pointer;transition:background .15s;flex-shrink:0;border:0;padding:0}.toggle.on{background:var(--primary)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .15s}.toggle.on:after{left:18px}.toggle.sm{width:28px;height:16px}.toggle.sm:after{width:12px;height:12px}.toggle.sm.on:after{left:14px}.checkbox{width:16px;height:16px;border:1px solid var(--border-strong);border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s,border-color .1s;flex-shrink:0}.checkbox.checked,.checkbox.indeterminate{background:var(--primary);border-color:var(--primary);color:#fff}.radio-row{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.radio{width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.radio.checked{border-color:var(--primary);border-width:5px}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.active{color:var(--green-text);background:var(--green-bg);border-color:var(--green-border)}.badge.paused{color:var(--amber-text);background:var(--amber-bg);border-color:var(--amber-border)}.badge.draft{color:var(--text-secondary);background:var(--slate-bg);border-color:var(--border)}.badge.archived{color:var(--text-secondary);background:var(--slate-archive-bg);border-color:var(--border-strong)}.badge.submit{color:var(--purple-text);background:var(--purple-bg);border-color:var(--purple-border)}.badge.failed{color:var(--red-text);background:var(--red-bg);border-color:var(--red-border)}.badge.in_progress,.badge.processing{color:var(--primary);background:var(--primary-subtle);border-color:var(--primary-border)}.badge.success,.badge.completed{color:var(--green-text);background:var(--green-bg);border-color:var(--green-border)}.badge.pending,.badge.queued{color:var(--amber-text);background:var(--amber-bg);border-color:var(--amber-border)}.badge.rejected{color:var(--red-text);background:var(--red-bg);border-color:var(--red-border)}.badge.with_issues{color:var(--amber-text);background:var(--amber-bg);border-color:var(--amber-border)}.badge.neutral{color:var(--text-secondary);background:var(--slate-bg);border-color:var(--border)}.badge.info{color:var(--primary);background:var(--primary-subtle);border-color:var(--primary-border)}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--primary-subtle);border:1px solid var(--primary-border);color:var(--primary);font-size:13px;font-weight:500}.tag .x{cursor:pointer;opacity:.7}.tag .x:hover{opacity:1}.card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:var(--shadow-card)}.stat-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:var(--shadow-stat)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat-card-label{text-transform:uppercase;font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between}.stat-card-number{font-size:40px;font-weight:700;line-height:1.1;margin-top:12px}.stat-card-desc{color:var(--text-secondary);font-size:12px;margin-top:6px}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:#fff}.table{width:auto;min-width:100%;border-collapse:collapse;table-layout:fixed}.table thead th{position:relative;background:var(--surface);height:40px;text-transform:uppercase;font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.04em;text-align:left;padding:0 16px;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table thead th.sortable{cursor:pointer}.table thead th.sortable:hover{color:var(--text-primary)}.col-resize-handle{position:absolute;top:0;bottom:0;right:-6px;width:12px;cursor:col-resize;z-index:1;touch-action:none}.col-resize-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:5px;width:2px;border-radius:1px;background:var(--border-strong);opacity:.7}.col-resize-handle:hover,.col-resize-handle:active{background:var(--border-strong)}.col-resize-handle:hover:after,.col-resize-handle:active:after{background:var(--primary);opacity:1}.table tbody td{padding:6px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-primary);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tbody tr{cursor:pointer;transition:background 80ms}.table tbody tr:hover{background:var(--surface)}.table tbody tr:last-child td{border-bottom:0}.table-totals-row td{background:#fff;border-top:0;border-bottom:2px solid var(--border-strong, var(--border));font-variant-numeric:tabular-nums;padding:8px 16px;font-size:13px;vertical-align:middle}.table-totals-row .totals-label{color:var(--text-secondary);font-weight:600}.table-add-row td{color:var(--primary);font-weight:500;text-align:center;background:var(--primary-subtle)}.table-add-row td>span{display:inline-flex;align-items:center;justify-content:center;gap:8px}.table-add-row:hover td{background:color-mix(in srgb,var(--primary-subtle) 60%,var(--primary) 10%)}.breakdown-subrow td{background:var(--surface);border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.cell-link{color:var(--primary);cursor:pointer;font-weight:500}.cell-link:hover{color:var(--primary-hover);text-decoration:underline}.cell-secondary{color:var(--text-secondary)}.cell-mono{font-family:var(--font-mono);font-size:13px;color:var(--text-code)}.cell-right{text-align:right}.table-footer{padding:12px 16px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.pagination{display:inline-flex;gap:4px;align-items:center}.pagination button{min-width:28px;height:28px;padding:0 8px;border-radius:6px;border:0;background:transparent;font-size:13px;color:var(--text-secondary);cursor:pointer}.pagination button:hover{background:var(--surface-2)}.pagination button.active{background:var(--primary);color:#fff;font-weight:600}.pagination button:disabled{opacity:.4;cursor:not-allowed}.filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filter-bar-with-refresh{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.filter-bar-with-refresh .filter-bar{margin-bottom:0}.stats-refresh-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.bulk-bar{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:6px;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;animation:slideDown .2s ease-out}.bulk-bar .count{color:var(--primary);font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.thumb{border-radius:6px;background:var(--surface);object-fit:cover;display:inline-block;flex-shrink:0}.thumb-40{width:40px;height:40px}.thumb-32{width:32px;height:32px}.thumb-24{width:24px;height:24px}.row-with-thumb{display:flex;align-items:center;gap:10px;min-width:0}.row-with-thumb .text{min-width:0;overflow:hidden;text-overflow:ellipsis}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:200;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}.slide-over{position:fixed;top:0;right:0;bottom:0;width:520px;background:#fff;box-shadow:var(--shadow-slide-over);z-index:201;display:flex;flex-direction:column;animation:slideIn .2s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-over-header{height:64px;padding:0 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.slide-over-title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis}.slide-over-body{padding:24px;overflow-y:auto;flex:1}.slide-over-footer{height:64px;padding:0 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.section-title{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.kv{min-width:0}.kv .k{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.kv .v{font-size:14px;color:var(--text-primary);word-break:break-word}.kv.full{grid-column:span 2}.divider{height:1px;background:var(--border);margin:20px 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#0f172a66;animation:fade .15s ease-out}.modal-card{background:#fff;border-radius:10px;box-shadow:var(--shadow-modal);width:400px;padding:24px;animation:modalIn .2s cubic-bezier(.16,1,.3,1)}.modal-card.lg{width:560px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:500;max-width:360px}.toast{background:#fff;border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:12px 14px;box-shadow:var(--shadow-dropdown);display:flex;align-items:flex-start;gap:10px;animation:slideInRight .18s ease-out}.toast.success{border-left-color:var(--green-text)}.toast.error{border-left-color:var(--red-text)}.toast.info{border-left-color:var(--primary)}.toast .t-title{font-size:14px;font-weight:600;color:var(--text-primary)}.toast .t-desc{font-size:13px;color:var(--text-secondary);margin-top:2px}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.dropdown{position:absolute;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-dropdown);min-width:180px;padding:4px;z-index:300;animation:fade .1s ease-out}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;background:transparent;border:0;width:100%;text-align:left}.dropdown-item:hover{background:var(--surface)}.dropdown-item.danger{color:var(--red-text)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item:disabled:hover{background:transparent}.dropdown-divider{height:1px;background:var(--border);margin:4px 2px}.date-range-dropdown{left:0;width:480px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-sm{font-size:13px}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.mono{font-family:var(--font-mono);font-size:13px;color:var(--text-code)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc{border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:16px;overflow:hidden}.acc-head{height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff;border:0;width:100%}.acc-head h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.acc-body{padding:0 20px 20px}.acc-body.collapsed{display:none}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;padding:64px 24px;gap:12px;text-align:center}.empty-state .es-icon{color:var(--text-faint)}.empty-state .es-title{font-size:16px;font-weight:500;color:var(--text-secondary)}.empty-state .es-desc{font-size:14px;color:var(--text-muted);max-width:360px}.json-viewer{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px;font-family:var(--font-mono);font-size:13px;color:var(--text-code);white-space:pre;max-height:200px;overflow:auto;position:relative}.json-key{color:#2563eb}.json-string{color:#16a34a}.json-number{color:#d97706}.json-null{color:#94a3b8}.json-copy{position:absolute;top:8px;right:8px}.alert{padding:12px 14px;border-radius:6px;font-size:13px;line-height:1.5;border:1px solid}.alert.error{background:var(--red-bg);border-color:var(--red-border);color:var(--red-text)}.alert.warning{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber-text)}.alert.success{background:var(--green-bg);border-color:var(--green-border);color:var(--green-text)}.alert.info{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary)}.progress{height:4px;background:var(--border);border-radius:999px;overflow:hidden}.progress .fill{height:100%;background:var(--primary);transition:width .2s}.provider-card{border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;display:flex;align-items:center;gap:10px;background:#fff;transition:all .1s}.provider-card:hover{border-color:var(--border-strong)}.provider-card.selected{border:2px solid var(--primary);background:var(--primary-subtle);padding:11px}.provider-card .icon-box{width:32px;height:32px;border-radius:6px;background:var(--surface);color:var(--text-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.provider-card .pname{font-size:14px;font-weight:600;color:var(--text-primary)}.provider-card .ptype{font-size:11px;color:var(--text-muted)}.dropzone{border:2px dashed var(--border);border-radius:8px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:background .1s,border-color .1s}.dropzone:hover,.dropzone.active{border-color:var(--primary);background:var(--primary-subtle)}.dropzone .icon{color:var(--text-muted);margin-bottom:6px}.ref-img{width:72px;height:72px;border-radius:6px;position:relative;background:var(--surface);overflow:hidden;flex-shrink:0}.ref-img img{width:100%;height:100%;object-fit:cover}.ref-img .rm{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--red-text);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border:0}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result-card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative}.result-card .thumb-area{aspect-ratio:1/1;background:var(--surface);display:flex;align-items:center;justify-content:center;position:relative}.result-card.video .thumb-area{aspect-ratio:16/9}.result-card.failed{border-color:var(--red-border)}.result-card .card-foot{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.result-card .card-foot .fname{font-size:12px;font-weight:500;color:var(--text-secondary)}.result-card .hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .15s}.result-card:hover .hover-overlay{opacity:1}.daypart{display:grid;grid-template-columns:60px repeat(24,1fr);gap:2px;font-size:11px}.daypart .day-label{color:var(--text-secondary);display:flex;align-items:center}.daypart .hour-label{text-align:center;color:var(--text-muted);font-size:10px}.daypart .cell{height:22px;background:var(--surface-2);border-radius:2px;cursor:pointer}.daypart .cell.on{background:var(--primary)}.asset-card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:box-shadow .12s,transform .12s;position:relative}.asset-card:hover{box-shadow:var(--shadow-card)}.asset-card .preview{aspect-ratio:4/3;background:var(--surface);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.asset-card.video .preview{aspect-ratio:16/9}.asset-card .preview img{width:100%;height:100%;object-fit:cover}.asset-card .a-body{padding:12px}.asset-card .a-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.asset-card .a-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.asset-card .hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .15s}.asset-card:hover .hover-overlay{opacity:1}.split{display:grid;grid-template-columns:480px 1fr;height:calc(100vh - 56px)}.split .left-panel{background:#fff;border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.split .right-panel{background:var(--surface);overflow-y:auto}.panel-header{height:56px;padding:0 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.panel-footer{height:64px;padding:0 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;bottom:0}.form-sticky{position:sticky;top:56px;z-index:30;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--border);height:56px;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.crumbs{font-size:13px;color:var(--text-secondary)}.crumbs .sep{margin:0 6px;color:var(--text-muted)}.crumbs .current{color:var(--text-primary)}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:6px;font-size:13px;color:var(--primary)}.chip .x{cursor:pointer;opacity:.6}.chip .x:hover{opacity:1}.chip .thumb-24{background:#fff}.num-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:4px;color:var(--primary);font-weight:600;font-size:13px}.kebab{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;color:var(--text-secondary);border:0;background:transparent}.kebab:hover{background:var(--surface-2);color:var(--text-primary)}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:transparent;border:0;border-radius:4px}.cell-mono:hover .copy-btn,.has-copy:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--primary);background:var(--surface-2)}.side-count{margin-left:auto;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px}.side-item.active .side-count{background:#fff;color:var(--primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.icon-btn.danger{color:var(--red-text)}.icon-btn.danger:hover{background:var(--red-bg);color:var(--red-text)}.reports-layout{--accent: #1f53ff;--accent-ink: #143ac2;--accent-wash: #eef2ff;--high: #0e8a5f;--high-wash: #e6f4ee;--high-ink: #0a6b4a;--middle: #b07d18;--middle-wash: #f7f0df;--middle-ink: #8a6210;--low: #c0463a;--low-wash: #f9e9e7;--low-ink: #98352b;--insuff: #9a9a90;--insuff-wash: #f0efe9;--ink: #16150f;--ink-2: #3a3930;--ink-3: #706f66;--ink-4: #9a9a90;--paper: #faf9f5;--proto-surface: #ffffff;--line: #e8e7e0;--line-2: #f0efe9;--line-strong: #cccbc3;--proto-radius: 10px;--proto-radius-sm: 7px;--proto-shadow-card: 0 1px 2px rgba(22, 22, 15, .04), 0 1px 1px rgba(22, 22, 15, .03);--proto-shadow-pop: 0 12px 32px -8px rgba(22, 22, 15, .18), 0 2px 8px rgba(22, 22, 15, .08);--proto-font-sans: "IBM Plex Sans", system-ui, sans-serif;--proto-font-mono: "IBM Plex Mono", ui-monospace, monospace;font-family:var(--proto-font-sans);background:var(--paper);min-height:calc(100vh - 56px);display:flex;flex-direction:column}.proto-tabs{display:flex;align-items:stretch;gap:4px;padding:10px 22px 0;background:var(--proto-surface);border-bottom:1px solid var(--line);position:relative;flex:0 0 auto}.proto-tab{display:flex;align-items:center;gap:10px;padding:9px 16px 12px;border-radius:8px 8px 0 0;color:var(--ink-3);background:transparent;border:none;cursor:pointer;position:relative;transition:color .12s,background .12s;font-family:var(--proto-font-sans)}.proto-tab:hover{color:var(--ink-2);background:var(--line-2)}.proto-tab.on{color:var(--ink)}.proto-tab.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--ink);border-radius:2px;z-index:2}.proto-tab-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.proto-tab-dot.backlog{background:var(--ink-4)}.proto-tab-dot.exploration{background:var(--accent)}.proto-tab-dot.scaling{background:var(--ink)}.proto-tab-name{font-size:15px;font-weight:700;letter-spacing:-.01em}.proto-tab-badge{font-size:11px;font-weight:500;color:var(--text-muted);background:var(--surface-2);border-radius:4px;padding:1px 5px;margin-left:4px}.proto-tab.on .proto-tab-badge{color:var(--blue-600, #2563eb);background:var(--blue-50, #eff6ff)}.proto-tabs-rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);z-index:1}.proto-tabs-dates{margin-left:auto;display:flex;align-items:center;gap:8px;align-self:center;padding-bottom:2px;flex-shrink:0}.proto-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 22px;background:var(--proto-surface);border-bottom:1px solid var(--line);flex:0 0 auto;font-family:var(--proto-font-sans)}.proto-fsearch{display:flex;align-items:center;gap:8px;width:268px;height:34px;padding:0 11px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--proto-radius-sm);transition:border-color .15s,box-shadow .15s}.proto-fsearch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash);background:#fff}.proto-fsearch input{border:none;background:none;outline:none;flex:1;font-size:13px;color:var(--ink);font-family:var(--proto-font-sans)}.proto-fsearch input::placeholder{color:var(--ink-4)}.proto-fsearch-icon{color:var(--ink-4);flex-shrink:0}.proto-ctl{display:flex;align-items:center;gap:7px;height:34px;padding:0 11px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--proto-radius-sm);font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap;font-family:var(--proto-font-sans)}.proto-ctl:hover{border-color:var(--line-strong);color:var(--ink)}.proto-ctl label{color:var(--ink-3);font-weight:500;font-size:12px;cursor:default}.proto-ctl select{border:none;background:none;font-family:var(--proto-font-sans);font-size:12.5px;font-weight:600;color:inherit;cursor:pointer;outline:none}.proto-ctl input[type=date]{border:none;background:none;font-family:var(--proto-font-sans);font-size:12.5px;font-weight:600;color:inherit;cursor:pointer;outline:none;width:auto;height:auto;padding:0}.proto-controls-spacer{flex:1;min-width:8px}.proto-angle-section{margin-bottom:28px}.proto-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.proto-section-kicker{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:8px;color:var(--ink-3);white-space:nowrap}.proto-section-kicker .proto-section-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.proto-section-name{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.proto-section-meta{font-family:var(--proto-font-mono);font-size:12px;color:var(--ink-3);white-space:nowrap}.proto-section-rule{flex:1;height:1px;background:var(--line);align-self:center}.proto-group-toggle{display:flex;align-items:center;gap:4px;padding:0 8px;height:30px;border:1px solid var(--line);border-radius:var(--proto-radius-sm);background:var(--line-2);cursor:pointer;font-size:12px;font-weight:500;color:var(--ink-3);transition:border-color .12s,background .12s,color .12s;white-space:nowrap}.proto-group-toggle.on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}.proto-group-toggle:hover:not(.on){border-color:var(--line-strong);color:var(--ink)}.proto-thresh{display:flex;align-items:center;gap:9px;font-family:var(--proto-font-sans)}.proto-thresh-label{font-size:12px;color:var(--ink-3);white-space:nowrap}.proto-thresh input[type=number]{width:72px;font-family:var(--proto-font-mono);font-size:12px;font-feature-settings:"tnum" 1;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);outline:none}.proto-thresh input[type=number]:focus{border-color:var(--accent)}.proto-thresh input[type=number]::-webkit-inner-spin-button{opacity:.4}.proto-ctl select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2px}.proto-ctl-chevron{font-size:10px;color:var(--ink-3);pointer-events:none;line-height:1}.proto-ctl-active{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}.proto-ctl-active .proto-ctl-chevron{color:var(--accent)}.proto-multiselect{position:relative}.proto-multiselect-count{font-family:var(--proto-font-mono);font-size:10px;font-weight:600;color:#fff;background:var(--accent);border-radius:9px;padding:1px 6px;min-width:16px;text-align:center}.proto-multiselect-pop{position:absolute;top:40px;left:0;z-index:20;min-width:200px;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--proto-radius-sm);box-shadow:var(--proto-shadow-pop, 0 12px 32px -8px rgba(22, 22, 15, .18));padding:6px}.proto-multiselect-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:12.5px;font-family:var(--proto-font-sans);color:var(--ink-2);cursor:pointer}.proto-multiselect-row:hover{background:var(--line-2)}.proto-multiselect-empty{padding:8px;font-size:12px;color:var(--ink-4)}.proto-multiselect-clear{display:block;width:100%;text-align:left;margin-top:4px;padding:6px 8px;border:none;border-top:1px solid var(--line);background:none;font-size:12px;font-family:var(--proto-font-sans);color:var(--accent);cursor:pointer}.proto-multiselect-clear:hover{background:var(--accent-wash)}.proto-date-basis-toggle{display:flex;gap:2px;padding:3px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--proto-radius-sm)}.proto-date-basis-toggle button{border:none;background:none;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;font-family:var(--proto-font-sans);color:var(--ink-3);cursor:pointer;white-space:nowrap}.proto-date-basis-toggle button.on{background:var(--surface);color:var(--ink);box-shadow:var(--proto-shadow-card, 0 1px 2px rgba(22, 22, 15, .04))}.proto-subtabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:13px 22px;background:var(--paper);border-bottom:1px solid var(--line)}.proto-subtab-desc{font-size:11.5px;color:var(--ink-4)}.proto-unit-toggles{display:flex;align-items:center;gap:8px;margin-left:auto}.proto-mode-toggle,.proto-layout-toggle{display:flex;gap:2px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--proto-radius-sm);padding:2px}.proto-mode-toggle button{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:none;background:none;border-radius:5px;font-size:13px;font-weight:500;font-family:var(--proto-font-sans);color:var(--ink-4);cursor:pointer;white-space:nowrap}.proto-mode-toggle button.on{background:var(--proto-surface);color:var(--ink);font-weight:600;box-shadow:var(--proto-shadow-card)}.proto-mode-toggle button:hover:not(.on){color:var(--ink-2)}.proto-layout-toggle button{width:32px;height:30px;border:none;background:none;border-radius:5px;display:grid;place-items:center;color:var(--ink-4);cursor:pointer}.proto-layout-toggle button.on{background:var(--proto-surface);color:var(--ink);box-shadow:var(--proto-shadow-card)}.proto-layout-toggle button:hover:not(.on){color:var(--ink-2)}.proto-filterbar-sep{width:1px;height:20px;background:var(--line);flex-shrink:0;margin:0 2px}.proto-date-mode{font-size:12px;font-weight:500;color:var(--ink-3);white-space:nowrap}.proto-date-warn{font-size:11px;font-weight:600;color:var(--amber, #b45309);white-space:nowrap}.proto-date-ctl{position:relative;gap:5px;cursor:pointer}.proto-date-label{font-size:12.5px;font-weight:600;color:inherit;white-space:nowrap;pointer-events:none}.proto-date-clear{background:none;border:none;cursor:pointer;padding:0;color:var(--ink-3);font-size:13px;line-height:1}.proto-date-clear:hover{color:var(--ink)}.proto-sort-icon{font-size:13px;color:var(--ink-3)}.proto-sort-dir{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);padding:0;line-height:1}.proto-sort-dir:hover{color:var(--ink)}.proto-fsearch-clear{background:none;border:none;cursor:pointer;padding:0;color:var(--ink-3);font-size:14px;line-height:1;font-weight:600}.proto-fsearch-clear:hover{color:var(--ink)}.proto-scroller{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--paper)}.proto-scroll-pad{padding:22px}.proto-card{background:var(--proto-surface);border:1px solid var(--line);border-radius:var(--proto-radius);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;gap:12px;padding:11px;position:relative;font-family:var(--proto-font-sans)}.proto-card:hover{border-color:var(--line-strong);box-shadow:var(--proto-shadow-pop);transform:translateY(-2px)}.proto-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.proto-card-thumb{width:78px;flex:0 0 auto}.proto-card-preview{position:relative;aspect-ratio:9 / 16;background:var(--line-2);overflow:hidden;border-radius:7px;border:1px solid var(--line)}.proto-card-preview img,.proto-card-preview video{width:100%;height:100%;object-fit:cover;display:block}.proto-card-preview .proto-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(150deg,#ecebe4,#e0dfd6);color:var(--ink-4);font-family:var(--proto-font-mono);font-size:9px;text-align:center}.proto-type-badge{position:absolute;top:6px;right:6px;z-index:2;background:#16160fbd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-family:var(--proto-font-mono);font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:2px 4px;border-radius:4px}.meta-reject-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 4px;border-radius:4px;font-size:10px;font-weight:700;line-height:1.5;color:var(--low-ink);background:var(--low-wash);border:1px solid #e6c7c1;white-space:nowrap}.dd-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dd-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1;font-family:var(--proto-font-sans)}.dd-badge.rej{padding:5px 9px 5px 7px;border-radius:8px;color:#d63a30;border:1.5px solid #e0776d}.dd-badge.act{color:#157f4a}.dd-badge.act .dd-dot{width:8px;height:8px;border-radius:50%;background:#16a34a}.dd-badge.paused{color:var(--ink-3)}.dd-badge.paused .dd-pause{display:inline-block;width:8px;height:12px;border-left:2px solid var(--ink-4);border-right:2px solid var(--ink-4)}.dd-badge-sep{width:1px;height:20px;background:var(--line)}.proto-card-checkbox{position:absolute;top:6px;left:6px;z-index:3;width:16px;height:16px;cursor:pointer}.proto-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.proto-card-head{display:flex;align-items:baseline;gap:8px}.proto-card-id{font-family:var(--proto-font-mono);font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.02em}.proto-card-badges{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:7px}.proto-card-badges.inline{margin-left:0}.proto-card-camp{font-size:11px;color:var(--ink-3);white-space:nowrap}.proto-card-camp-active{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:500}.proto-card-camp-dot{width:7px;height:7px;border-radius:50%;background:#16a34a;flex-shrink:0}.proto-card-pause-icon{display:inline-block;width:7px;height:11px;border-left:2px solid var(--ink-4);border-right:2px solid var(--ink-4)}.proto-card-camp-idle{color:var(--ink-4);font-style:italic}.proto-cb{display:inline-flex;align-items:center;gap:4px;font-family:var(--proto-font-mono);font-size:11px;font-weight:600;line-height:1}.proto-cb-rej{padding:2px 7px 2px 5px;border-radius:8px;color:#d63a30;background:transparent;border:1.5px solid #e0776d}.proto-cb-rej svg{color:#d63a30}.proto-card-sub{font-size:14px;color:var(--ink-2);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proto-card-labels{display:flex;flex-direction:column;gap:3px}.proto-label-line{display:flex;align-items:baseline;gap:8px;font-size:11.5px;min-width:0}.proto-label-k{flex:0 0 44px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);padding-top:1px;font-family:var(--proto-font-sans)}.proto-label-v{flex:1;min-width:0;color:var(--ink);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proto-label-v.angle{color:var(--accent-ink);font-weight:600}.proto-label-v.concept{color:var(--ink-2);font-style:italic}.proto-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--proto-radius-sm);overflow:hidden;margin-top:auto}.proto-metric{background:var(--proto-surface);padding:5px 8px}.proto-metric .mlabel{font-size:8.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);font-family:var(--proto-font-sans)}.proto-metric .mval{font-family:var(--proto-font-mono);font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.03em;margin-top:1px}.proto-metric .mval.dim{color:var(--ink-3)}.proto-metric.hl{background:var(--accent-wash)}.proto-metric.hl .mval{color:var(--accent-ink)}.proto-card-nometrics{margin-top:auto;font-size:11px;color:var(--ink-4);font-style:italic;border:1px dashed var(--line-strong);border-radius:var(--proto-radius-sm);padding:9px 10px;text-align:center}.proto-card-dates{display:flex;align-items:center;gap:6px;font-family:var(--proto-font-mono);font-size:10.5px;color:var(--ink-3);letter-spacing:-.01em;white-space:nowrap}.proto-card-live-dot{width:6px;height:6px;border-radius:50%;background:var(--high);box-shadow:0 0 0 3px var(--high-wash);flex-shrink:0}.proto-card-locs{margin-top:2px;border:1px solid var(--line);border-radius:var(--proto-radius-sm);background:var(--line-2);overflow:hidden}.proto-loc-bar{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;font-size:12px;color:var(--ink-2);background:none;border:none;cursor:pointer;font-family:var(--proto-font-sans)}.proto-loc-bar:hover{background:var(--proto-surface)}.proto-loc-caret{margin-left:auto;color:var(--ink-4);flex-shrink:0}.proto-card-locs.is-open .proto-loc-bar{border-bottom:1px solid var(--line)}.proto-loc-scroll{overflow-x:auto;overflow-y:hidden}.proto-loc-table{width:100%;min-width:300px;table-layout:fixed;border-collapse:collapse;background:var(--proto-surface)}.proto-loc-table th{padding:6px 7px;text-align:right;font-family:var(--proto-font-mono);font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);border-bottom:1px solid var(--line-2)}.proto-loc-table th:first-child,.proto-loc-table td:first-child{text-align:left}.proto-loc-table td{padding:7px;text-align:right;font-size:12px;color:var(--ink);border-bottom:1px solid var(--line-2);cursor:pointer}.proto-loc-table tr:last-child td{border-bottom:none}.proto-loc-lang-cell{display:flex;align-items:center;gap:6px}.proto-loc-mono{font-family:var(--proto-font-mono)}.proto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.proto-grid.wide{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.proto-gt-wrap{background:var(--proto-surface);border:1px solid var(--line);border-radius:var(--proto-radius);overflow:hidden}table.proto-gt{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--proto-font-sans)}table.proto-gt thead th{text-align:right;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}table.proto-gt thead th.lft{text-align:left}table.proto-gt tbody td{padding:8px 14px;border-bottom:1px solid var(--line-2);text-align:right;white-space:nowrap}table.proto-gt tbody td.lft{text-align:left}table.proto-gt tbody tr{cursor:pointer}table.proto-gt tbody tr:hover{background:var(--line-2)}table.proto-gt tbody tr:last-child td{border-bottom:none}.proto-gt-sarrow{color:var(--accent);margin-left:3px}.proto-gt-mono{font-family:var(--proto-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.proto-gt-mono.strong{color:var(--ink);font-weight:600}.proto-gt-cell-creative{display:flex;align-items:flex-start;gap:11px}.proto-gt-thumb{position:relative;width:30px;height:53px;border-radius:5px;flex-shrink:0;background:var(--line-2);border:1px solid var(--line);overflow:hidden;margin-top:1px}.proto-gt-thumb img,.proto-gt-thumb video{width:100%;height:100%;object-fit:cover;display:block}.proto-gt-thumb-type{position:absolute;bottom:2px;right:2px;color:#fff;background:#16160f99;border-radius:3px;padding:1px;display:flex}.proto-gt-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.proto-gt-top{display:flex;align-items:baseline;gap:9px}.proto-gt-id{font-family:var(--proto-font-mono);font-weight:600;font-size:13px;letter-spacing:-.02em;color:var(--ink)}.proto-gt-sub{font-size:12.5px;color:var(--ink-2)}.proto-gt-lang{font-family:var(--proto-font-mono);font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.02em}.proto-gt-loc-toggle{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 7px;flex-shrink:0;border:1.5px solid var(--accent);border-radius:7px;background:none;color:var(--accent);font-family:var(--proto-font-mono);font-size:11px;font-weight:600;align-self:center;cursor:pointer}.proto-gt-loc-toggle:hover{background:var(--accent-wash)}.proto-gt-loc-toggle-gap{width:47px;flex-shrink:0}table.proto-gt tbody tr.proto-gt-loc-row{background:var(--proto-surface)}table.proto-gt tbody tr.proto-gt-loc-row td{padding-top:6px;padding-bottom:6px}.proto-gt-loc-trow{display:flex;align-items:center;gap:9px;padding-left:47px}.proto-gt-loc-rail{width:1.5px;height:20px;background:var(--line-strong);flex-shrink:0}.proto-state{display:grid;place-items:center;padding:80px 20px;text-align:center}.proto-state-inner{max-width:360px;display:flex;flex-direction:column;align-items:center;gap:12px}.proto-state h3{margin:0;font-size:16px;color:var(--ink);font-family:var(--proto-font-sans)}.proto-state p{margin:0;color:var(--ink-3);font-size:13px;line-height:1.5;font-family:var(--proto-font-sans)}.proto-spinner{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:proto-spin .8s linear infinite}@keyframes proto-spin{to{transform:rotate(360deg)}}.proto-dd{width:100%;max-width:1180px;margin:0 auto;padding:22px;font-family:var(--proto-font-sans)}.proto-dd-back{display:inline-flex;align-items:center;gap:7px;color:var(--ink-3);font-size:13px;font-weight:600;margin-bottom:18px;background:none;border:none;cursor:pointer;padding:0;font-family:var(--proto-font-sans)}.proto-dd-back:hover{color:var(--ink)}.proto-dd-top{display:grid;grid-template-columns:248px 1fr;gap:26px;margin-bottom:28px}.proto-dd-preview{border:1px solid var(--line);border-radius:var(--proto-radius);overflow:hidden;background:var(--proto-surface)}.proto-dd-preview-inner{position:relative;aspect-ratio:9/16;background:var(--line-2);overflow:hidden}.proto-dd-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--line-2);z-index:1}.proto-dd-preview-inner img,.proto-dd-preview-inner video{width:100%;height:100%;object-fit:contain;display:block}.proto-dd-preview-inner .proto-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(150deg,#ecebe4,#e0dfd6);color:var(--ink-4);font-family:var(--proto-font-mono);font-size:11px;text-align:center;padding:16px}.proto-ph-name{font-size:10px;color:var(--ink-3);word-break:break-all}.proto-dd-info h1{font-family:var(--proto-font-mono);font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px;color:var(--ink)}.proto-dd-filename{font-size:11px;color:var(--ink-3);margin-bottom:2px;word-break:break-all}.proto-dd-sub{font-family:var(--proto-font-mono);font-size:13px;color:var(--ink-3);margin-bottom:16px}.proto-dd-attrs{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--proto-radius);overflow:hidden;margin-bottom:18px;background:var(--proto-surface)}.proto-dd-attr{display:flex;padding:10px 14px;border-bottom:1px solid var(--line-2);font-size:13px}.proto-dd-attr:last-child{border-bottom:none}.proto-dd-attr .dk{width:120px;flex-shrink:0;color:var(--ink-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding-top:1px}.proto-dd-attr .dv{flex:1;color:var(--ink)}.proto-dd-dates{display:flex;gap:8px;padding:0 0 16px}.proto-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.proto-kpi{background:var(--proto-surface);border:1px solid var(--line);border-radius:var(--proto-radius);padding:14px 16px}.proto-kpi .klabel{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);font-family:var(--proto-font-sans)}.proto-kpi .kval{font-family:var(--proto-font-mono);font-size:24px;font-weight:600;letter-spacing:-.03em;margin-top:4px;color:var(--ink)}.proto-kpi .ksub{font-size:11px;color:var(--ink-3);margin-top:3px}.proto-panel{background:var(--proto-surface);border:1px solid var(--line);border-radius:var(--proto-radius);margin-bottom:22px}.proto-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.proto-panel-title{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--ink);font-family:var(--proto-font-sans)}.proto-panel-count{font-size:12px;color:var(--ink-3);font-family:var(--proto-font-sans)}.proto-panel-body{padding:18px}.proto-chart-tabs{display:flex;gap:2px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--proto-radius-sm);padding:2px}.proto-chart-tabs button{font-size:12px;font-weight:600;color:var(--ink-3);padding:4px 11px;border-radius:5px;border:none;background:none;cursor:pointer;font-family:var(--proto-font-sans);transition:.1s}.proto-chart-tabs button.on{background:var(--proto-surface);color:var(--ink);box-shadow:var(--proto-shadow-card)}.proto-lc-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.proto-lc-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);font-family:var(--proto-font-sans);cursor:pointer}.proto-lc-chip:hover{border-color:var(--ink-4)}.proto-lc-chip.dim{opacity:.45}.proto-lc-chip.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600;opacity:1}.proto-lc-chip.clear{font-family:var(--proto-font-mono);font-size:11.5px;color:var(--ink-3);background:none;border:none}.proto-lc-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.proto-bd-table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--proto-font-sans)}.proto-bd-table thead th{background:var(--line-2);text-align:right;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.proto-bd-table thead th:first-child{text-align:left}.proto-bd-table thead th.sortable{cursor:pointer}.proto-bd-table thead th.sortable:hover{color:var(--ink)}.proto-bd-table tbody td{padding:8px 14px;border-bottom:1px solid var(--line-2);text-align:right;white-space:nowrap;color:var(--ink)}.proto-bd-table tbody td:first-child{text-align:left}.proto-bd-table tbody tr:hover{background:var(--line-2)}.proto-bd-table tbody tr:last-child td{border-bottom:none}.proto-bd-mono{font-family:var(--proto-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.proto-bd-mono.strong{font-weight:600}.proto-bd-truncate{max-width:260px;overflow:hidden;text-overflow:ellipsis}.proto-loc-cell{display:inline-flex;align-items:center;gap:9px}.proto-loc-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex-shrink:0}.proto-loc-dot.live{background:#16a34a}.proto-loc-dot.warn{background:#d98324}.proto-rej-time{color:var(--ink-4)}.proto-info-tooltip{position:relative;display:inline-flex}.proto-info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);background:var(--proto-surface);color:var(--ink-3);padding:0;cursor:pointer}.proto-info-tooltip-trigger:hover{color:var(--ink);border-color:var(--ink-4)}.proto-info-tooltip-bubble{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;width:260px;padding:9px 11px;border-radius:8px;border:1px solid var(--line-strong);background:var(--proto-surface);box-shadow:var(--proto-shadow-pop);font-family:var(--proto-font-sans);font-size:12.5px;line-height:1.45;color:var(--ink);white-space:normal}.proto-unset-flag{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:3px 9px;border-radius:7px;color:#a86a18;background:#fdf5e9;border:1px solid #eecb9a;font-family:var(--proto-font-mono);font-size:11px;font-weight:600}tr.proto-unset-row{background:#fffdf8}tr.proto-unset-row:hover{background:#fdf7ec}.proto-unset-cell{display:flex;align-items:center;gap:12px}.proto-unset-meta{min-width:0}.proto-unset-name{max-width:260px;font-size:14px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proto-unset-sub{max-width:260px;font-family:var(--proto-font-mono);font-size:11px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proto-unset-pick-wrap{margin-left:auto}.proto-unset-pick{display:flex;align-items:center;gap:8px}.proto-unset-pick-error{margin-top:4px;font-size:11.5px;color:#d63a30;text-align:right}.proto-unset-select{height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;background:var(--proto-surface);font-family:var(--proto-font-sans);font-size:13px;color:var(--ink);min-width:150px}.proto-lang-search{position:relative}.proto-lang-search-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:220px;overflow-y:auto;background:var(--proto-surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--proto-shadow-pop);padding:4px}.proto-lang-search-option{display:block;width:100%;text-align:left;padding:7px 10px;border:none;border-radius:6px;background:none;font-family:var(--proto-font-sans);font-size:13px;color:var(--ink);cursor:pointer}.proto-lang-search-option:hover{background:var(--line-2)}.proto-bd-empty{padding:24px 18px;text-align:center;color:var(--ink-3);font-size:13px;font-family:var(--proto-font-sans)}.proto-bd-table tbody tr.is-focus{background:var(--accent-wash)}.proto-bd-table tbody tr.is-focus td{color:var(--accent-ink)}.proto-lang-rail{display:flex;flex-direction:column;gap:4px;position:fixed;left:calc(50vw + 610px);top:50%;transform:translateY(-50%);z-index:30;width:148px;max-height:calc(100vh - 40px);overflow-y:auto;padding:10px;background:var(--proto-surface);border:1px solid var(--line);border-radius:var(--proto-radius, 10px);box-shadow:0 8px 28px #16160f1a}@media (max-width: 900px){.proto-lang-rail{display:none}}.proto-lang-rail-label{font-family:var(--proto-font-mono);font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);padding:2px 6px 6px}.proto-lang-rail-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:none;font-size:13px;font-family:var(--proto-font-sans);color:var(--ink-2);text-align:left;cursor:pointer}.proto-lang-rail-btn:hover{background:var(--line-2)}.proto-lang-rail-btn.all{font-weight:600;color:var(--ink)}.proto-lang-rail-btn.on{background:var(--ink);color:#fff}.proto-lang-rail-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4);flex-shrink:0}.proto-lang-rail-dot.live{background:#16a34a}.proto-cat-card{margin-top:14px;border:1px solid var(--line);border-radius:var(--proto-radius);overflow:hidden;background:var(--proto-surface)}.proto-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--line-2);border-bottom:1px solid var(--line)}.proto-cat-title{font-family:var(--proto-font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.proto-cat-actions{display:flex;gap:8px}.proto-cat-btn{display:inline-flex;align-items:center;gap:6px;height:28px;border:1px solid var(--line-strong);background:var(--proto-surface);border-radius:7px;padding:0 12px;font-size:12.5px;font-weight:500;font-family:var(--proto-font-sans);color:var(--ink-2);cursor:pointer}.proto-cat-btn:hover{color:var(--ink);border-color:var(--ink-4)}.proto-cat-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.proto-cat-btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.proto-cat-btn:disabled{opacity:.6;cursor:default}.proto-cat-error{color:var(--low, #c0463a);font-size:12px;padding:8px 20px 0}.proto-cat-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;min-height:52px;font-size:13px}.proto-cat-row+.proto-cat-row{border-top:1px solid var(--line)}.proto-cat-k{font-family:var(--proto-font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}.proto-cat-v{font-size:15px;color:var(--ink)}.proto-cat-v.unassigned{color:var(--ink-4);font-weight:400;font-style:italic}.proto-cat-select,.proto-cat-input{flex:1;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px;font-family:var(--proto-font-sans);color:var(--ink);text-align:right}.proto-cat-select option{text-align:right}.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.pack-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.pack-card:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pack-id{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.pack-ver{font-size:11px;font-weight:600;color:var(--primary);background:var(--primary-subtle);border-radius:5px;padding:1px 6px;flex-shrink:0}.pack-sub{font-size:11.5px;color:var(--text-muted);margin-top:3px}.pack-types{display:flex;gap:5px;flex:0 0 auto}.ptype{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px}.pack-thumbs{display:flex;gap:6px;align-items:flex-start}.pack-thumb{flex:1;min-width:0;max-width:72px}.pack-thumb-preview{aspect-ratio:9 / 16;background:var(--surface-2);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.pack-thumb-preview img{width:100%;height:100%;object-fit:cover;display:block}.pack-more{flex:0 0 auto;align-self:center;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-muted);padding:0 6px}.pack-cta{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-strong);border-radius:6px;padding:8px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--surface-2);transition:background .12s,color .12s,border-color .12s;cursor:pointer;width:100%}.pack-cta:hover{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.pack-name{color:var(--text-primary)}.pack-thumb{position:relative}.pack-thumb-badge{position:absolute;bottom:4px;left:4px;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#0009;border-radius:3px;padding:2px 4px;pointer-events:none}.pack-thumb-preview video{width:100%;height:100%;object-fit:cover;display:block}.pack-labels{display:flex;flex-direction:column;gap:4px}.pack-label-row{display:flex;align-items:baseline;gap:8px}.pack-label-k{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);flex:0 0 56px}.pack-label-v{font-size:12px;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-label-angle{color:var(--primary);font-weight:500}.folder-detail{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:900px}.folder-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.folder-file-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.folder-file-thumb{aspect-ratio:9 / 16;background:var(--surface-2);overflow:hidden;position:relative}.folder-file-thumb img,.folder-file-thumb video{width:100%;height:100%;object-fit:cover;display:block}.folder-file-info{padding:6px 8px}.folder-file-name{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-file-type{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.tag-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:5px;border:1px solid;font-size:12px;font-weight:500;white-space:nowrap}.topnav-menu-btn,.sidebar-scrim{display:none}.filter-trigger-btn{display:none;width:36px;height:36px;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);align-items:center;justify-content:center;cursor:pointer}@media (max-width: 1023px){.topnav{padding:0 12px}.topnav-menu-btn{display:inline-flex;width:44px;height:44px;margin-right:4px}.topnav-tabs,.topnav-sep{display:none}.sidebar{transform:translate(-100%);transition:transform .2s ease-out;width:280px;max-width:85vw;z-index:150;box-shadow:var(--shadow-dropdown)}.sidebar.mobile-open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:56px;right:0;bottom:0;left:0;background:#0f172a66;z-index:140;animation:fade .15s ease-out}.with-subnav .sidebar{top:100px;height:calc(100vh - 100px)}.main,.main.no-sidebar{margin-left:0}.subnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 12px}.subnav::-webkit-scrollbar{display:none}.subnav-tab{flex-shrink:0}.proto-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.proto-tabs::-webkit-scrollbar{display:none}.proto-tab,.proto-tabs-dates{flex-shrink:0}.dashboard-kpi-grid{grid-template-columns:1fr}.page-inner{padding:16px}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-actions{flex-wrap:wrap}.filter-trigger-btn{display:inline-flex;width:44px;height:44px;margin-bottom:12px}.filter-bar{display:none}.filter-bar.mobile-sheet-open{display:flex;flex-direction:column;align-items:stretch;gap:12px;position:fixed;top:auto;right:0;bottom:0;left:0;background:#fff;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-modal);z-index:210;max-height:70vh;overflow-y:auto;margin-bottom:0}.date-range-dropdown{position:fixed;top:50%!important;left:16px;right:16px;transform:translateY(-50%);width:auto;max-height:80vh;overflow-y:auto}.date-range-months{flex-direction:column;gap:12px!important}.slide-over{width:100vw!important;max-width:100vw}.slide-over-header,.slide-over-footer{padding:0 16px}.slide-over-body{padding:16px}.kv-grid{grid-template-columns:1fr}.kv.full{grid-column:span 1}.modal-card,.modal-card.lg{width:calc(100vw - 32px);max-width:480px}.toggle{width:44px;height:32px}.toggle:after{top:3px;left:3px;width:26px;height:26px}.toggle.on:after{left:15px}.toggle.sm{width:44px;height:32px}.toggle.sm:after{top:3px;left:3px;width:26px;height:26px}.toggle.sm.on:after{left:15px}.checkbox{width:24px;height:24px}.kebab,.icon-btn{width:44px;height:44px}.slide-over-footer .btn,.modal-card .btn{min-height:44px}}.data-card-list{display:flex;flex-direction:column;gap:8px}.data-card{border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer}.data-card-totals{cursor:default;background:var(--surface);border-top:2px solid var(--border-strong, var(--border))}.data-card-totals .totals-label{color:var(--text-secondary);font-weight:600}.data-card-top{display:flex;align-items:center;gap:8px}.data-card-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.data-card-title .cell-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.data-card-metric{min-width:0}.data-card-metric .m-label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.data-card-metric .m-value{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}@media (max-width: 479px){.data-card-metrics{grid-template-columns:repeat(2,1fr)}}
