/* APIAgg macOS-inspired surfaces; shared layout and business semantics preserved. */
.wrap-anywhere{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.channel-test-meta{overflow-wrap:anywhere}
.impact-list{margin-bottom:17px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:var(--subtle)}
.impact-list>div{display:grid;gap:3px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.impact-list small{color:var(--secondary);font-size:10px}
.impact-list code{font-size:11px}
.model-query-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:12px;align-items:end}
.model-query-row>.btn{min-height:39px}
.timeline{margin:0 0 20px;padding-left:22px}
.timeline li{padding:0 0 20px 8px;color:var(--secondary);font-size:12px}
.timeline li::marker{color:var(--accent)}
.timeline strong{display:block;color:var(--ink);margin:5px 0}
.timeline p{overflow-wrap:anywhere}
.timeline li:last-child{padding-bottom:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}
.panel-header{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.panel-header p{margin-top:5px;font-size:12px;color:var(--secondary)}
.panel-body{padding:0 23px 22px}
.panel-body.padded{padding-top:22px}
.panel-footer{padding:13px 23px;border-top:1px solid var(--line);font-size:11px;color:var(--secondary);background:var(--subtle)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat-card{padding:19px 21px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--secondary);font-size:12px}
.stat-label>.icon{width:29px;height:29px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--subtle);color:var(--accent)}
.stat-icon{color:var(--muted)}
.stat-number{font:600 32px/1.3 var(--display);letter-spacing:-.85px;margin:12px 0 7px;display:flex;align-items:baseline;gap:5px}
.stat-number small{font:12px var(--font);letter-spacing:0;color:var(--secondary)}
.stat-meta{font-size:11px;color:var(--muted)}
.stat-meta .up{color:var(--green);margin-right:5px}
.equal-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.chart{width:100%;height:auto;overflow:visible}
.chart-grid{stroke:var(--line);stroke-dasharray:3 5;stroke-width:1}
.chart-axis{fill:var(--muted);font:10px var(--font)}
.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.chart-area{fill:url(#chart-fill)}
.chart-legend{display:flex;gap:18px;font-size:10px;color:var(--secondary)}
.legend-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:5px}
.chart-summary{display:flex;gap:27px;align-items:baseline;margin-bottom:12px}
.chart-summary strong{font:600 23px var(--display);letter-spacing:-.55px}
.chart-summary span{font-size:11px;color:var(--secondary)}
.provider-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;flex-shrink:0;font:550 13px var(--display);background:var(--subtle);box-shadow:inset 0 1px 0 var(--glass-highlight)}
.provider-icon.openai{color:var(--green);background:var(--green-soft)}
.provider-icon.anthropic{color:var(--amber);background:var(--amber-soft)}
.provider-icon.google{color:var(--accent);background:var(--accent-soft)}
.provider-icon.backup{color:var(--purple);background:var(--purple-soft)}
.mapping-dialog-toolbar{padding:16px 20px;border-bottom:1px solid var(--line);background:var(--subtle)}
.mapping-detail .mapping-list{min-width:0}
.mapping-head{padding:18px 22px;border-bottom:1px solid var(--line);background:var(--subtle)}
.mapping-list{padding:0 22px}
.mapping-row{display:flex;align-items:center;gap:15px;padding:17px 0}
.mapping-row+.mapping-row{border-top:1px solid var(--line)}
.priority{font:11px var(--mono);color:var(--accent);padding:5px 8px;border:1px solid var(--accent-border);border-radius:6px;background:var(--accent-soft)}
.mapping-row.disabled{opacity:.55}
.mapping-row .name{font-size:12px;font-weight:600}
.mapping-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.mapping-note{font-size:11px;color:var(--secondary);padding:12px 22px;background:var(--subtle);border-top:1px solid var(--line)}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:19px}
.toolbar .row{gap:8px}
.table-wrap{width:100%;overflow:auto}
.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}
.data-table th{padding:12px 18px;background:var(--subtle);font-weight:550;font-size:10px;color:var(--secondary);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.data-table td{padding:15px 18px;border-bottom:1px solid var(--line-soft)}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:var(--row-hover)}
.data-table .num{text-align:right;font-family:var(--mono)}
.data-table .main-cell{font-weight:600;color:var(--ink)}
.data-table .sub-cell{color:var(--muted);font-size:10px;margin-top:3px}
.sort-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:6px}
.disclosure{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.disclosure summary{cursor:pointer;list-style:none;padding:14px 17px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:10px}
.disclosure summary::-webkit-details-marker{display:none}
.disclosure summary::after{content:"+";color:var(--muted);font-size:17px;font-weight:400}
.disclosure[open] summary::after{content:"−"}
.disclosure[open] summary{border-bottom:1px solid var(--line);background:var(--subtle)}
.disclosure-body{padding:18px}
.alert{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:13px 15px;display:flex;align-items:flex-start;gap:10px;font-size:12px}
.alert .icon{margin-top:1px;width:16px;height:16px}
.alert small{display:block;font-size:11px;opacity:1;margin-top:3px}
.alert.green{background:var(--green-soft);border-color:var(--green-border);color:var(--green)}
.alert.amber{background:var(--amber-soft);border-color:var(--amber-border);color:var(--amber)}
.alert.red{background:var(--red-soft);border-color:var(--red-border);color:var(--red)}
.alert .close-alert{margin-left:auto;border:0;background:none;color:inherit;padding:0}
.terminal{background:var(--terminal-bg);color:var(--terminal-ink);border:1px solid var(--terminal-border);border-radius:12px;overflow:hidden}
.terminal-head{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--terminal-head);padding:12px 17px;color:var(--terminal-muted);font-size:11px}
.terminal-body{padding:15px 19px;font:11px/2.3 var(--mono);overflow:auto}
.log-line{display:flex;gap:16px;white-space:nowrap}
.log-time{color:var(--terminal-muted)}
.log-level{color:var(--terminal-green);min-width:40px}
.log-level.warn{color:var(--terminal-amber)}
.log-level.error{color:var(--terminal-red)}
.log-event{color:var(--terminal-ink)}
.log-meta{color:var(--terminal-muted)}
.terminal .text-link{color:var(--terminal-accent)}
.code-block{margin:0;padding:20px;background:var(--terminal-bg);color:var(--terminal-ink);font-size:11px;line-height:1.9;overflow:auto;tab-size:2}
.code-key{color:var(--terminal-accent)}
.code-string{color:var(--terminal-green)}
.code-number{color:var(--terminal-amber)}
.empty-state{display:grid;justify-items:center;text-align:center;padding:54px 25px;gap:11px}
.empty-art{width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--accent-border);border-radius:20px;background:var(--accent-soft);color:var(--accent);margin-bottom:5px}
.empty-art .icon{width:28px;height:28px;stroke-width:1.4}
.empty-state p{font-size:12px;color:var(--secondary);max-width:290px}
.empty-state .btn{margin-top:9px}
.spinner{width:14px;height:14px;border:2px solid var(--accent-border);border-right-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}
.skeleton{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--sunken),var(--subtle),var(--sunken));background-size:220% 100%;animation:shimmer 1.8s ease-in-out infinite}
.skeleton.big{height:34px;width:45%;margin:18px 0}
.skeleton-row{display:flex;gap:15px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}
.skeleton-circle{width:33px;height:33px;border-radius:9px;flex-shrink:0}
.toast-region{position:fixed;right:25px;bottom:25px;z-index:150;display:grid;gap:10px;max-width:min(420px,calc(100vw - 32px))}
.toast{background:var(--sidebar-material);border:1px solid var(--glass-border);box-shadow:0 12px 36px #382f2324,0 0 0 1px #382f230a;border-radius:14px;padding:15px 17px;display:flex;align-items:flex-start;gap:11px;animation:toast-in .2s ease;backdrop-filter:var(--material-filter);-webkit-backdrop-filter:var(--material-filter)}
.toast .icon{color:var(--green)}
.toast strong{font-size:12px}
.toast p{font-size:11px;color:var(--secondary);margin-top:3px}
.toast-close{background:none;border:0;margin-left:10px;color:var(--muted)}
.palette{display:flex;gap:5px}
.palette i{width:19px;height:19px;border-radius:50%;border:1px solid #0000000b}
.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.section-title small{color:var(--muted);font:11px var(--mono)}
.token-line{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:var(--secondary);padding:16px 0}
.token-line code{color:var(--ink);margin-left:5px}
.static-dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:680px;width:100%;box-shadow:0 16px 44px #3534330d;overflow:hidden}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{to{background-position:-220% 0}}
@keyframes toast-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){
.content{padding-top:38px}
.stat-card{padding:23px}
.panel-header{padding-top:23px;padding-bottom:23px}
}
@media(max-width:1200px){
.content{padding:26px 24px}
.stat-card{padding:17px}
.stat-number{font-size:28px}
}
@media(max-width:960px){
.page-heading{align-items:flex-start}
.stat-grid{gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}
.stat-card{padding:16px}
.stat-number{font-size:26px}
}
@media(max-width:760px){
.mapping-dialog-toolbar{padding:13px 16px}
.model-query-row{grid-template-columns:1fr}
.model-query-row>.btn{justify-self:start}
.mapping-head{align-items:flex-start;flex-wrap:wrap}
.detail-grid>div{min-width:0}
h1{font-size:23px}
.breadcrumb{gap:8px}
.breadcrumb .crumb-root,.top-actions .status-label{display:none}
.top-actions{gap:10px}
.content{padding:24px 18px}
.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:23px}
.page-heading p{font-size:12px;line-height:1.8}
.stat-grid{grid-template-columns:1fr 1fr;gap:12px}
.stat-card{padding:17px}
.stat-number{font-size:29px}
.equal-col{grid-template-columns:1fr}
.panel-header{padding:17px}
.panel-body{padding:0 17px 17px}
.panel-footer{padding-inline:17px}
.panel .chart-axis{font-size:19px}
.mapping-head{padding:17px}
.mapping-list{padding-inline:17px}
.mapping-row{gap:10px;flex-wrap:wrap}
.mapping-row .grow{min-width:160px}
.mapping-row .row{margin-left:auto}
.panel-header .segmented button{padding:5px 7px}
.data-table td,.data-table th{padding-inline:14px}
.form-grid{grid-template-columns:1fr}
.page-footer{flex-wrap:wrap}
.dialog-head{padding:20px}
.dialog-body{padding:20px}
.dialog-footer{padding:15px 20px}
.detail-grid{grid-template-columns:1fr 1fr}
.toast-region{bottom:16px;right:16px}
.token-line{gap:10px 20px}
}
@media(max-width:390px){
.top-actions .badge{display:none}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
