:root{--bg:#f5f7fb;--surface:#fff;--surface-muted:#f8fafc;--text:#172033;--muted:#687386;--border:#e1e7ef;--accent:#5b4ce0;--accent-dark:#4638bd;--accent-soft:#efedff;--success:#157f56;--success-soft:#e8f7f0;--danger:#b42318;--danger-soft:#fff0ee;--warning:#9a6700;--warning-soft:#fff8df;--sidebar:#111827;--sidebar-muted:#97a3b6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#7d6eff,#4a3ac4);font-weight:800}.brand-name{font-size:1.05rem;font-weight:800}.brand-subtitle{margin-top:2px;color:var(--sidebar-muted);font-size:.76rem}.nav{display:grid;gap:7px}.nav-item{width:100%;border:0;background:transparent;color:var(--sidebar-muted);padding:12px 14px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;text-align:left}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.08)}.sidebar-footer{margin-top:auto;padding:18px 8px 2px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:flex-start;gap:10px;font-size:.78rem}.sidebar-footer div{display:grid;gap:3px}.sidebar-footer span:last-child{color:var(--sidebar-muted)}.status-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#31c48d;box-shadow:0 0 0 4px rgba(49,196,141,.13)}.main{min-width:0;padding:34px clamp(24px,4vw,56px) 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.topbar h1{margin:4px 0 0;font-size:clamp(1.65rem,3vw,2.4rem)}.eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em}.principal-chip{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.principal-chip div:last-child{display:grid;gap:1px;font-size:.78rem}.principal-chip span{color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-dark);font-weight:800}.view{display:none}.view.active{display:block}.hero-card{min-height:230px;padding:34px;border:1px solid #dcd8ff;border-radius:22px;background:radial-gradient(circle at top right,rgba(125,110,255,.16),transparent 34%),linear-gradient(145deg,#fff,#f7f6ff);display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.hero-card h2{max-width:650px;margin:18px 0 10px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}.hero-card p{max-width:700px;margin:0;color:var(--muted);line-height:1.65}.metric-grid{margin:22px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:18px}.metric-card{padding:20px;display:grid;gap:6px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:2rem}.panel{padding:24px}.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.panel-heading,.section-heading,.agent-header,.candidate-header,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h3,.section-heading h2,.agent-header h3,.candidate-header h3{margin:5px 0 0}.section-heading{margin-bottom:18px}.section-copy{max-width:720px;color:var(--muted);line-height:1.6}.badge{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#526071;font-size:.76rem;font-weight:800}.badge-accent{background:var(--accent-soft);color:var(--accent-dark)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.workflow{list-style:none;padding:6px 0 0;margin:20px 0 0;display:grid}.workflow li{position:relative;min-height:46px;padding-left:33px;color:var(--muted)}.workflow li:not(:last-child)::after{content:"";position:absolute;left:8px;top:17px;width:1px;height:30px;background:var(--border)}.workflow li span{position:absolute;left:0;top:2px;width:17px;height:17px;border:2px solid #ccd5e1;border-radius:50%;background:#fff}.workflow li.complete{color:var(--text);font-weight:700}.workflow li.complete span{border-color:var(--success);background:var(--success)}.detail-list{margin:18px 0 0}.detail-list div{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:20px}.detail-list div:last-child{border-bottom:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700;text-align:right}.primary-button,.secondary-button{border:0;border-radius:11px;padding:12px 17px;font-weight:800}.primary-button{color:#fff;background:var(--accent);box-shadow:0 9px 20px rgba(91,76,224,.18)}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{background:var(--accent-soft);color:var(--accent-dark)}.agent-card{max-width:900px}.agent-header{justify-content:flex-start}.agent-header .badge{margin-left:auto}.agent-header p{margin:5px 0 0;color:var(--muted)}.agent-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-dark);font-weight:900}.permission-grid{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.permission-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}.permission-list li{position:relative;padding-left:25px;color:var(--muted)}.permission-list li::before{position:absolute;left:0;font-weight:900}.permission-list.allowed li::before{content:"✓";color:var(--success)}.permission-list.denied li::before{content:"×";color:var(--danger)}.empty-state{padding:60px 24px;border:1px dashed #cfd7e3;border-radius:18px;background:rgba(255,255,255,.55);text-align:center}.empty-state h3{margin:14px 0 6px}.empty-state p{color:var(--muted)}.empty-icon{width:52px;height:52px;margin:0 auto;display:grid;place-items:center;border-radius:16px;background:var(--accent-soft);color:var(--accent-dark);font-weight:900}.mandate-list{display:grid;gap:15px}.mandate-row{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.mandate-row-top{display:flex;justify-content:space-between;gap:16px}.mandate-row h3{margin:0 0 7px}.mandate-row p{margin:0;color:var(--muted)}.mandate-meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.85rem}.audit-event{position:relative;min-height:80px;padding:0 0 24px 34px}.audit-event:not(:last-child)::after{content:"";position:absolute;left:7px;top:16px;width:1px;height:calc(100% - 4px);background:var(--border)}.audit-dot{position:absolute;left:0;top:3px;width:15px;height:15px;border:3px solid var(--accent-soft);border-radius:50%;background:var(--accent)}.audit-event p{margin:5px 0;color:var(--muted)}.audit-event time{color:#8a95a6;font-size:.78rem}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.side-panel{position:sticky;top:24px}label{display:block;margin-bottom:8px;color:#4d596a;font-size:.84rem;font-weight:800}textarea,input{width:100%;border:1px solid #ccd5e1;border-radius:11px;padding:12px 13px;color:var(--text);background:#fff}textarea{resize:vertical;line-height:1.55}textarea:focus,input:focus{outline:3px solid rgba(91,76,224,.12);border-color:var(--accent)}.form-grid{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-prefix{position:relative}.input-prefix span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}.input-prefix input{padding-left:29px}.form-actions{margin-top:20px}.run-status{color:var(--muted);font-size:.86rem}#shopResults{margin-top:24px;display:grid;gap:18px}.hidden{display:none!important}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.summary-item{padding:14px;border-radius:12px;background:var(--surface-muted)}.summary-item span{display:block;color:var(--muted);font-size:.76rem;margin-bottom:5px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.candidate-card{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.candidate-header{align-items:flex-start}.candidate-header p{margin:5px 0 0;color:var(--muted)}.price-grid{margin:19px 0;display:grid;grid-template-columns:1fr auto;gap:8px 15px;color:var(--muted)}.price-grid strong{color:var(--text)}.message-box{margin-top:14px;padding:12px 14px;border-radius:11px;font-size:.86rem}.message-box ul{margin:8px 0 0 18px;padding:0}.message-box.danger{color:var(--danger);background:var(--danger-soft)}.message-box.warning{color:var(--warning);background:var(--warning-soft)}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.shop-layout{grid-template-columns:1fr}.side-panel{position:static}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;width:100%;height:auto}.nav{grid-template-columns:repeat(5,max-content);overflow-x:auto}.nav-item{justify-content:center;white-space:nowrap}.sidebar-footer{display:none}.main{padding:24px 18px 50px}.topbar{align-items:flex-start}.principal-chip{display:none}.hero-card{align-items:flex-start;flex-direction:column}.permission-grid,.candidate-grid,.summary-grid{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid,.form-grid{grid-template-columns:1fr}.panel,.hero-card{padding:20px}}
.agent-field {
  margin-bottom: 24px;
}

.agent-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.agent-control-row select {
  width: 100%;
  min-width: 0;
  height: 54px;
  padding: 0 44px 0 14px;

  border: 1px solid #ccd5e1;
  border-radius: 11px;

  background: #fff;
  color: var(--text);

  font: inherit;
  font-size: 1rem;
  font-weight: 600;

  cursor: pointer;
}

.agent-control-row select:focus {
  outline: 3px solid rgba(91, 76, 224, 0.12);
  border-color: var(--accent);
}

.agent-description {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;

  border: 1px solid #dcd8ff;
  border-radius: 999px;

  background: var(--accent-soft);
  color: var(--accent-dark);

  font-size: 0.86rem;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .agent-control-row {
    grid-template-columns: 1fr;
  }

  .agent-description {
    justify-self: start;
    white-space: normal;
  }
}
.audit-trace-panel {
  padding: 0;
  overflow: hidden;
}

.audit-trace-panel .panel-heading {
  padding: 22px 22px 16px;
  border-bottom: 1px solid var(--border);
}

.audit-trace-panel .panel-heading h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.audit-heading-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef2f7;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.audit-trace-list {
  display: grid;
}

.audit-trace-row {
  position: relative;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  color: var(--text);
  text-align: left;
}

.audit-trace-row:last-child {
  border-bottom: 0;
}

.audit-trace-row:hover {
  background: var(--surface-muted);
}

.audit-trace-row.active {
  background: var(--accent-soft);
}

.audit-trace-row.active::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--accent);
}

.audit-trace-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #aab4c3;
}

.audit-trace-status-dot.complete {
  background: var(--success);
  box-shadow: 0 0 0 4px rgba(21, 127, 86, 0.1);
}

.audit-trace-status-dot.in-progress {
  background: var(--warning);
  box-shadow: 0 0 0 4px rgba(154, 103, 0, 0.1);
}

.audit-trace-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.audit-trace-main strong {
  font-size: 0.95rem;
}

.audit-trace-main span {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-trace-meta {
  display: grid;
  justify-items: end;
  gap: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .audit-trace-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .audit-trace-meta {
    grid-column: 2;
    justify-items: start;
    grid-auto-flow: column;
    justify-content: start;
    gap: 10px;
  }
}

.clarification-panel {

    margin-top:18px;

    padding:18px;

    border-radius:14px;

    background:#fff8df;

    border:1px solid #f3d97b;
}

.clarification-question{

    display:flex;

    gap:12px;

    margin-top:12px;

    align-items:flex-start;
}

.clarification-question span{

    font-weight:700;

    color:#9a6700;
}

.clarification-question p{

    margin:0;

    line-height:1.5;
}

.preferences-panel {
  max-width: 900px;
}

.preference-section {
  padding: 0 0 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.preference-section h3 {
  margin: 6px 0 6px;
}

.preference-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.preference-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
}

.preference-toggle input {
  width: auto;
}

.preference-toggle label {
  margin: 0;
}

@media(max-width:760px) {
  .preference-grid {
    grid-template-columns: 1fr;
  }
}

.audit-governance-context {
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  background: var(--surface-muted);
  display: grid;
  gap: 10px;
}

.audit-context-group {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.audit-context-label {
  color: var(--muted);
  font-size: 0.82rem;
}

.audit-context-group strong {
  text-align: right;
  font-size: 0.84rem;
}

.mandate-preferences {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  display: grid;
  gap: 8px;
}

.mandate-preference-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.mandate-preference-row span {
  flex: 0 0 220px;
}

.mandate-preference-row strong {
  flex: 1;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}

.mandate-preference-row span {
  color: var(--muted);
  font-size: 0.8rem;
}

.mandate-preference-row strong {
  text-align: right;
  font-size: 0.82rem;
}