.admin-page{font-family:var(--font-ui);font-size:14px;background:var(--bg)}
.admin-shell{max-width:1600px;margin:auto;padding:0 20px 28px}
.admin-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);height:62px}
.admin-brand{font-size:21px;font-weight:700;text-decoration:none;color:var(--ink);margin-right:auto}.admin-brand span{font-size:13px;color:var(--muted);font-weight:500;margin-left:8px}
.admin-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:22px;padding-top:18px}
.admin-nav{display:flex;flex-direction:column;gap:3px;position:sticky;top:18px;align-self:start}.admin-nav a{color:var(--ink-2);text-decoration:none;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:500}.admin-nav a:hover{background:var(--surface-2)}.admin-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}
.admin-main{min-width:0}.admin-main [hidden]{display:none!important}.admin-title{display:flex;align-items:baseline;gap:12px;margin:0 0 16px;flex-wrap:wrap}.admin-title h1{font-size:24px;margin:0;letter-spacing:-.5px}.admin-title span{color:var(--muted);font-size:13px}
.admin-page .card-pad{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-1)}.admin-page h2{font-size:16px;margin:0}.admin-page h3{font-size:14px;margin:12px 0}.admin-page .section-line{margin-bottom:12px;gap:10px;flex-wrap:wrap}.admin-page .note{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0}.admin-page .btn{min-height:32px;padding:6px 10px;border-radius:7px;font-size:12px;line-height:1.4;gap:5px;white-space:nowrap}.admin-page input,.admin-page select{font-family:inherit;font-size:13px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink);padding:7px 9px;min-width:0;min-height:32px}.admin-page .field{gap:5px;margin:0}.admin-page .field>span{font-size:12px}.admin-page .field small{font-size:12px}.admin-page input[type=checkbox]{min-height:auto;accent-color:var(--accent)}
.admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.admin-columns>.card-pad{margin-bottom:0}.admin-columns{margin-bottom:16px}.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}.admin-metric{border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:var(--surface)}.admin-metric>span{display:block;font-size:12px;color:var(--muted)}.admin-metric strong{display:block;font-size:24px;font-weight:650;letter-spacing:-.5px;margin:4px 0}.admin-metric small{font-size:12px;color:var(--muted)}
.admin-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.admin-toolbar input[type=search]{width:240px;max-width:100%;flex:1 1 160px}.admin-toolbar .check{font-size:12px;white-space:nowrap;gap:6px}.admin-toolbar .field{flex:1 1 130px}.admin-toolbar .field:first-child{flex:2 1 190px}.admin-toolbar .field:has([name=amount]){flex:0 1 105px}.admin-toolbar .field:has([name=currency]){flex:0 1 76px}#expenseForm{align-items:end}
.admin-page .table-wrap{overflow:auto;max-width:100%}.admin-page table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.admin-page th{color:var(--muted);font-size:11px;font-weight:600;padding:8px 10px;background:var(--surface-2);white-space:nowrap}.admin-page td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-page tbody tr:last-child td{border-bottom:0}.admin-page td strong{font-size:13px;font-weight:600}.admin-page td small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.admin-page .row-actions{display:flex;gap:5px;flex-wrap:nowrap}.admin-page .credit-input{width:76px;padding:5px 6px;min-height:30px}.admin-page .pill{font-size:11px;padding:3px 7px;white-space:nowrap}.admin-pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:12px;color:var(--muted);margin-top:12px}.admin-pager>span{margin-right:auto}.admin-page .settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-form>.field:has(select),.settings-form>.check,.settings-form>.toggle,.settings-form>.note,.settings-form>.field:has(#msClientSecret),.settings-form>.field:has(#msRedirectUri){grid-column:1/-1}.admin-page .settings-form>.btn{justify-self:start}.admin-page .stats-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.admin-page .stat{padding:10px;border-radius:8px}.admin-page .stat strong{font-size:19px}.admin-page .stat span{font-size:12px}
.provider-row,.attention-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.provider-row:last-child{border-bottom:0}.admin-page .empty{font-size:13px;padding:14px 0;color:var(--muted)}.admin-page .audit{padding:10px 0;font-size:13px}.admin-page .audit small{overflow-wrap:anywhere}.admin-page .llm-controls{gap:8px}.admin-page .llm-output{height:calc(100vh - 310px);min-height:220px;max-height:650px;padding:10px;font-size:12px}
#adminDetail{width:min(680px,calc(100vw - 28px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:18px}#adminDetail::backdrop{background:#101e2d88}#adminDetail dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px;font-size:13px}#adminDetail dt{color:var(--muted)}#adminDetail dd{margin:0;overflow-wrap:anywhere}.chart-row{display:grid;grid-template-columns:85px 1fr 90px;gap:10px;align-items:center;margin:8px 0;font-size:12px}.chart-track{height:12px;background:var(--surface-2);border-radius:3px}.chart-bar{height:100%;background:var(--accent);border-radius:3px}.chart-row strong{text-align:right;font-size:12px}
@media(max-width:1000px){.admin-columns{grid-template-columns:1fr}.admin-layout{grid-template-columns:150px minmax(0,1fr);gap:14px}}
@media(max-width:700px){.admin-shell{padding:0 10px 20px}.admin-header{gap:7px;height:56px}.admin-header #adminLoadState{display:none}.admin-header .btn{font-size:11px;padding:5px 8px}.admin-layout{display:block;padding-top:10px}.admin-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:10px;gap:4px;margin-bottom:12px}.admin-nav a{padding:8px 10px;white-space:nowrap;flex-shrink:0}.admin-title{gap:5px;margin-bottom:12px}.admin-title span{width:100%}.admin-title h1{font-size:22px}.admin-page .card-pad{padding:12px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-metric{padding:10px}.admin-metric strong{font-size:21px}.admin-page input:not([type=checkbox]),.admin-page select{font-size:16px}.admin-page .credit-input{font-size:16px}.admin-toolbar{gap:6px}.admin-toolbar select{max-width:100%}#adminDetail dl{grid-template-columns:110px minmax(0,1fr)}.admin-page .llm-output{height:320px}}

.lab-previews { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.lab-previews img { width:90px; height:120px; object-fit:contain; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.lab-candidates { display:grid; gap:8px; margin-top:14px; }
.lab-candidates button { text-align:left; white-space:normal; }
.lab-candidates small { display:block; }
.lab-output { max-height:420px; white-space:pre-wrap; overflow-wrap:anywhere; }
#labResult { margin-top:16px; overflow-wrap:anywhere; }
#labResult article { padding:12px 0; border-bottom:1px solid var(--line); }
#labResult p { margin:5px 0; }
#labHistory td small { overflow-wrap:anywhere; }
.lab-row-selected { background:var(--surface-2); }
#labLiveMetrics .admin-metric strong { overflow-wrap:anywhere; font-size:18px; }
#labResult summary { cursor:pointer; margin:14px 0; }

.analysis-prompt-settings { grid-column:1/-1; min-width:0; display:grid; gap:14px; padding:16px; border:1px solid var(--line); border-radius:var(--r-sm); }
.analysis-prompt-settings legend { color:var(--ink); font-size:14px; font-weight:600; padding:0 6px; }
.analysis-prompt-settings textarea { min-height:110px; max-height:70vh; resize:vertical; font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow:auto; }
.analysis-prompt-settings #analysisPrompt { min-height:360px; }
.analysis-prompt-settings > .btn { justify-self:start; }
.analysis-prompt-settings small { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.analysis-prompt-settings code { color:var(--ink); font-size:12px; }
.admin-page #settingsForm > .web-settings { grid-column:1/-1; }
.admin-page #settingsForm > .btn { align-self:start; }
@media(max-width:700px){.analysis-prompt-settings textarea{font-size:16px;}}

.run-links { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.run-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; margin:16px 0; }
.run-photos img { display:block; width:100%; height:160px; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); }
.run-step { border-top:1px solid var(--line); padding:16px 0; min-width:0; }
.run-step h3 { font-size:14px; margin:0 0 6px; overflow-wrap:anywhere; }
.run-step .note, #runMeta { overflow-wrap:anywhere; }
.run-evidence { border:1px solid var(--line); border-radius:8px; margin-top:8px; overflow:hidden; }
.run-evidence summary { cursor:pointer; font-size:13px; padding:10px 12px; }
.run-evidence > a { display:inline-block; margin:8px 12px; font-size:12px; }
.run-output { white-space:pre-wrap; overflow-wrap:anywhere; max-height:440px; overflow:auto; font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; margin:0; padding:12px; background:var(--surface-2); }
.run-usage { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; color:var(--muted); }
.run-error { color:var(--accent); overflow-wrap:anywhere; }
#runViewer { margin-top:16px; min-width:0; }
@media(max-width:700px){
  #runsList table,#runsList tbody{display:block;}
  #runsList thead{display:none;}
  #runsList tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;border-top:1px solid var(--line);padding:10px 0;}
  #runsList td{padding:3px 0;border:0;min-width:0;overflow-wrap:anywhere;}
  #runsList td:first-child{grid-column:1/-1;}
  #runsList td:nth-child(2){display:none;}
  #runsList td:nth-child(3){grid-column:1;grid-row:2;}
  #runsList td:nth-child(4){grid-column:1;grid-row:3;}
  #runsList td:nth-child(5){grid-column:1;grid-row:4;}
  #runsList td:last-child:not(:first-child){grid-column:2;grid-row:2/5;align-self:center;}
}

.lab-prompt-editor { grid-column:1/-1; border:1px solid var(--line); border-radius:8px; padding:12px; min-width:0; }
.lab-prompt-editor summary { cursor:pointer; font-size:13px; font-weight:600; }
.lab-prompt-editor .field { margin:12px 0; }
.lab-prompt-editor textarea { width:100%; height:280px; resize:vertical; min-height:160px; max-height:60vh; overflow:auto; scrollbar-gutter:stable; scrollbar-width:thin; overscroll-behavior:contain; font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }
.lab-prompt-editor small { overflow-wrap:anywhere; }
@media(max-width:700px){.lab-prompt-editor textarea{font-size:16px;}}

.admin-page textarea { overflow:auto; }
.lab-prompt-editor textarea[id$="SystemPrompt"] { height:160px; min-height:120px; }
