.iyaf-workspace { padding-top: 28px; }
.iyaf-heading, .iyaf-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.iyaf-heading { margin-bottom: 22px; }
.iyaf-heading h2 { margin: 0; color: var(--blue); font-size: 34px; line-height: 1.15; letter-spacing: -.03em; }
.iyaf-heading p:last-child { margin: 9px 0 0; color: var(--muted); }
.iyaf-link-button { display: inline-flex; align-items: center; justify-content: center; padding: 9px 15px; text-decoration: none; text-align: center; }
.iyaf-guide { margin: 20px 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.iyaf-guide summary { padding: 18px 22px; color: var(--blue); font-weight: 750; cursor: pointer; }
.iyaf-guide > .iyaf-help { margin: 0 22px 22px; }
.iyaf-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 5px 28px 14px 42px; }
.iyaf-steps li { padding-left: 3px; }
.iyaf-steps li::marker { color: var(--blue); font-weight: 750; }
.iyaf-steps strong { font-size: 13px; }
.iyaf-steps p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.iyaf-setup-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px; }
.iyaf-card { min-width: 0; margin-bottom: 20px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.iyaf-card-heading { align-items: flex-start; margin-bottom: 20px; }
.iyaf-card h3, .iyaf-docs h3 { margin: 0; color: var(--ink); font-size: 18px; line-height: 1.4; }
.iyaf-card h4 { margin: 0; font-size: 16px; }
.iyaf-step { margin-right: 7px; color: var(--blue); font-size: 12px; }
.iyaf-help { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.iyaf-form { display: grid; gap: 15px; }
.iyaf-form > .iyaf-help { margin: -3px 0 0; }
.iyaf-form label:not(.iyaf-confirm) { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 750; }
.iyaf-form input:not([type="checkbox"]) { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; color: var(--ink); background: var(--pale); font: inherit; }
.iyaf-form input[type="file"] { font-size: 12px; }
.iyaf-form input::file-selector-button { padding: 7px 10px; margin-right: 10px; border: 0; border-radius: 6px; background: var(--blue-soft); color: var(--blue); cursor: pointer; }
.iyaf-form small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.iyaf-field-pair { display: grid; grid-template-columns: 1.2fr 1fr; gap: 12px; }
.iyaf-form > .text-button { justify-self: start; }
.iyaf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.iyaf-actions .primary-button, .iyaf-send-review + .primary-button { width: auto; }
.iyaf-actions .primary-button { min-height: 40px; padding: 11px 17px; }
.iyaf-workspace button:disabled { cursor: not-allowed; opacity: .48; }
.iyaf-workspace button:focus-visible, .iyaf-workspace summary:focus-visible, .iyaf-workspace select:focus-visible { outline: 3px solid rgba(80, 200, 255, .6); outline-offset: 3px; }
.iyaf-badge { display: inline-flex; flex-shrink: 0; max-width: 100%; padding: 6px 10px; border-radius: 20px; color: var(--muted); background: var(--page); font-size: 11px; font-weight: 750; }
.iyaf-badge[data-tone="success"] { color: #146346; background: #e6f4ed; }
.iyaf-badge[data-tone="error"] { color: var(--error); background: var(--error-soft); }
.iyaf-badge[data-tone="pending"] { color: #7d5617; background: #fff2d9; }
.iyaf-notice { margin: 0 0 18px; padding: 14px 17px; border: 1px solid #c7dfd4; border-radius: var(--radius-sm); color: #185c45; background: #edf8f1; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.iyaf-notice--muted { color: var(--muted); background: var(--pale); border-color: var(--line); }
.iyaf-notice.is-error { color: #8d2424; background: #fff0ef; border-color: #f1c9c9; }
.iyaf-notice.is-warning { color: #785218; background: #fff8e9; border-color: #eadbbd; }
.iyaf-upload-note { margin-top: 24px; padding: 17px; border-radius: 12px; background: var(--pale); font-size: 12px; line-height: 1.65; }
.iyaf-upload-note p { margin: 6px 0 0; color: var(--muted); }
.iyaf-stat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.iyaf-stat { padding: 15px; border: 1px solid var(--line); border-radius: 12px; }
.iyaf-stat strong { display: block; color: var(--blue); font-size: 26px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.iyaf-stat span { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; }
.iyaf-stat.is-error strong { color: var(--error); }
.iyaf-operation { margin-bottom: 18px; padding: 14px 17px; border-radius: 12px; background: var(--blue-soft); color: var(--blue); font-size: 13px; }
.iyaf-operation progress { display: block; width: 100%; height: 8px; margin-top: 10px; accent-color: var(--blue); }
.iyaf-batch-actions { margin-bottom: 20px; }
.iyaf-payload { margin: 20px 0 24px; padding: 22px; border: 1px solid #b8c9f0; border-radius: var(--radius-md); background: #f8faff; }
.iyaf-payload-facts { display: grid; grid-template-columns: auto auto 1fr; gap: 20px; margin: 0 0 14px; }
.iyaf-payload-facts dt { margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.iyaf-payload-facts dd { margin: 0; font-size: 13px; font-weight: 650; }
.iyaf-hash-field { min-width: 0; }
.iyaf-payload-rows { grid-column: 1 / -1; }
.iyaf-payload-rows dd { font-weight: 400; overflow-wrap: anywhere; }
.iyaf-hash-field code { word-break: break-all; font-size: 11px; font-weight: 400; user-select: all; }
.iyaf-payload > .iyaf-help { margin: 0 0 18px; }
.iyaf-send-review { padding: 17px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--white); }
.iyaf-send-review p { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.iyaf-confirm { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; font-size: 13px; cursor: pointer; }
.iyaf-confirm input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--blue); }
.iyaf-preview-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.iyaf-preview-heading label { color: var(--muted); font-size: 12px; }
.iyaf-preview-heading select { margin-left: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); }
.iyaf-table-wrap { max-height: 480px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
.iyaf-table-wrap:focus-visible { outline: 3px solid rgba(80, 200, 255, .5); outline-offset: 3px; }
.iyaf-table { width: 100%; border-collapse: separate; border-spacing: 0; text-align: left; font-size: 12px; }
.iyaf-table th { position: sticky; top: 0; z-index: 1; padding: 12px; color: var(--muted); background: var(--pale); font-size: 11px; font-weight: 750; white-space: nowrap; }
.iyaf-table td { padding: 12px; border-top: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.iyaf-table td:nth-child(3), .iyaf-table td:nth-child(6) { min-width: 125px; max-width: 230px; }
.iyaf-table td:nth-child(5) { min-width: 180px; max-width: 250px; }
.iyaf-table td:last-child { min-width: 200px; }
.iyaf-table small { display: block; margin-top: 4px; color: var(--muted); }
.iyaf-table ul { margin: 5px 0 0; padding-left: 15px; color: var(--error); }
.iyaf-table tr.has-errors td:first-child { box-shadow: inset 3px 0 var(--error); }
.iyaf-history-table td:first-child { min-width: 180px; }
.iyaf-history-table td:last-child { min-width: 90px; }
.iyaf-history-table tr.is-current { background: var(--blue-soft); }
.iyaf-downloads { margin-top: 18px; }
.iyaf-operation-history { margin-top: 20px; }
.iyaf-operation-history summary { padding: 12px 0; color: var(--blue); font-size: 13px; font-weight: 650; cursor: pointer; }
.iyaf-preview-heading + .iyaf-help { margin: 8px 0 12px; }
.iyaf-docs { display: grid; grid-template-columns: 1fr auto; gap: 28px; margin-top: 28px; padding: 24px; border-top: 1px solid var(--line); }
.iyaf-docs p:not(.eyebrow) { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.iyaf-doc-links { display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.iyaf-doc-links a { color: var(--blue); font-size: 13px; text-underline-offset: 3px; }
.iyaf-doc-links span, .iyaf-doc-links span a { font-size: 11px; }
@media (max-width: 1050px) {
  .iyaf-setup-grid { grid-template-columns: 1fr 1fr; }
  .iyaf-card-heading { flex-wrap: wrap; gap: 10px; }
  .iyaf-steps { grid-template-columns: 1fr 1fr; }
  .iyaf-payload-facts { grid-template-columns: 1fr 1fr; }
  .iyaf-hash-field { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .iyaf-setup-grid, .iyaf-docs { grid-template-columns: 1fr; }
  .iyaf-heading { align-items: flex-start; flex-direction: column; }
  .iyaf-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iyaf-card { padding: 18px; }
  .iyaf-payload { padding: 16px; }
  .iyaf-docs { padding: 18px 0; gap: 20px; }
}
@media (max-width: 440px) {
  .iyaf-steps { grid-template-columns: 1fr; gap: 8px; }
  .iyaf-field-pair { grid-template-columns: 1fr; }
  .iyaf-stat-grid { grid-template-columns: 1fr 1fr; }
  .iyaf-actions { align-items: stretch; flex-direction: column; }
  .iyaf-actions > * { width: 100% !important; }
  .iyaf-form input[type="file"] { padding: 8px; }
}

/* Additional entities share the existing workspace and authorization. */
.iyaf-domain-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; padding:8px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.iyaf-domain-tabs button { flex:1 1 auto; padding:13px 16px; border:0; border-radius:9px; color:var(--muted); background:transparent; font:inherit; font-weight:650; cursor:pointer; }
.iyaf-domain-tabs button.is-active { color:var(--white); background:var(--blue); }
.iyaf-shared-connection .iyaf-form { grid-template-columns:1fr 1fr; gap:16px 24px; }
.iyaf-shared-connection .iyaf-card { padding:22px 24px; }
.entity-toolbar { display:grid; grid-template-columns:2fr 1fr; gap:18px; margin:16px 0 22px; }
.entity-toolbar > div { min-width:0; }
.iyaf-form select { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:10px; color:var(--ink); background:var(--pale); font:inherit; }
.entity-input-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:20px; }
.entity-input-grid .iyaf-form { margin-top:20px; }
.entity-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.entity-fields > div { min-width:0; }
.entity-full { grid-column:1 / -1; }
.entity-period { display:grid; grid-template-columns:1.3fr .9fr 1fr auto; align-items:end; gap:8px; margin-bottom:12px; }
#entityPayments { min-width:0; padding:16px; border:1px solid var(--line); border-radius:12px; }
#entityPayments legend { padding:0 8px; font-size:13px; font-weight:650; }
.entity-queue-item { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.entity-queue-item p { flex:1 1 70%; min-width:0; overflow-wrap:anywhere; font-size:12px; line-height:1.7; }
.entity-queue { max-height:400px; overflow:auto; margin-bottom:16px; }
.entity-error { color:var(--error); }
.entity-batch-actions { margin-top:20px; }
.entity-packet .iyaf-form { margin-top:18px; }
.entity-hash { font-family:monospace; font-size:11px; overflow-wrap:anywhere; }
.entity-table td { min-width:100px; }
.entity-table td:first-child { min-width:30px; }
.entity-classifier { margin-top:26px; }
.entity-classifier summary { cursor:pointer; color:var(--blue); font-weight:650; font-size:13px; }
.entity-classifier-result { max-height:300px; overflow:auto; font-size:12px; overflow-wrap:anywhere; }
.entity-history { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.entity-history button { text-align:left; overflow-wrap:anywhere; max-width:100%; }
.entity-remote { max-height:550px; overflow:auto; margin:16px 0; }
.entity-remote-row { padding:18px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; font-size:12px; line-height:1.65; }
.entity-remote-row button { margin:6px 8px 0 0; }
@media (max-width:1000px) { .entity-input-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .iyaf-shared-connection .iyaf-form, .entity-toolbar { grid-template-columns:1fr; } .iyaf-domain-tabs button { flex:1 1 40%; font-size:12px; } }
@media (max-width:440px) { .entity-fields { grid-template-columns:1fr; } .entity-period { grid-template-columns:1fr 1fr; } }
