:root {
  --bg: #050807;
  --surface: #08100d;
  --surface-2: #0b1511;
  --surface-3: #0f1b15;
  --line: rgba(155, 255, 207, .22);
  --line-strong: rgba(155, 255, 207, .55);
  --text: #eaf8ef;
  --muted: #789486;
  --muted-2: #4e6b5b;
  --acid: #9bffcf;
  --acid-dim: #65bc91;
  --amber: #ffc83d;
  --amber-dim: #a9781f;
  --red: #ff7784;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 320px; color: var(--text); background: var(--bg); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; letter-spacing: 0; }
button, input, textarea, select { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }

.topbar { position: sticky; top: 0; z-index: 20; height: 62px; padding: 0 18px; border-bottom: 1px solid var(--line); background: rgba(5, 8, 7, .97); display: grid; grid-template-columns: 208px minmax(240px, 520px) 1fr; align-items: center; gap: 18px; }
.brand { width: 164px; height: 42px; padding: 5px 8px; border: 0; color: var(--text); background: transparent; display: flex; align-items: center; }
.brand-logo { display: block; width: 148px; height: auto; max-height: 30px; object-fit: contain; object-position: center; }
.search-box { height: 34px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); display: flex; align-items: center; gap: 9px; padding: 0 10px; }
.search-box span { color: var(--acid); font: 14px Consolas, monospace; }
.search-box input { min-width: 0; width: 100%; height: 30px; border: 0; outline: 0; background: transparent; color: var(--text); font: 11px Consolas, monospace; }
.search-box input::placeholder { color: var(--muted-2); }
.topbar nav { height: 100%; display: flex; align-items: center; gap: 16px; }
.nav-button { height: 100%; position: relative; padding: 0 2px; border: 0; color: var(--muted); background: transparent; font: 10px Consolas, monospace; letter-spacing: .08em; }
.nav-button.active { color: var(--acid); }
.nav-button.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--amber); }
.nav-button span { min-width: 16px; height: 15px; margin-left: 4px; padding: 0 4px; display: inline-grid; place-items: center; color: var(--bg); background: var(--amber); font: 9px Consolas, monospace; }
.top-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; }
.auth-button.authenticated { border-color: var(--amber-dim); color: var(--amber); }
.runtime { display: flex; align-items: center; gap: 7px; color: var(--muted); font: 9px Consolas, monospace; white-space: nowrap; }
.runtime i { width: 6px; height: 6px; border-radius: 50%; background: var(--amber-dim); }
.runtime i.online { background: var(--acid); box-shadow: 0 0 8px rgba(155, 255, 207, .7); }
.ghost-button, .primary-button, .secondary-button, .icon-button, .rail-button { border-radius: 0; }
.ghost-button { height: 32px; padding: 0 10px; border: 1px solid var(--line); color: var(--acid); background: transparent; font: 10px Consolas, monospace; }
.primary-button { height: 32px; padding: 0 12px; border: 1px solid var(--amber); color: var(--bg); background: var(--amber); font: 700 10px Consolas, monospace; }
.secondary-button { height: 32px; padding: 0 12px; border: 1px solid var(--line-strong); color: var(--acid); background: transparent; font: 10px Consolas, monospace; }
.icon-button { width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); color: var(--acid); background: transparent; display: grid; place-items: center; }

.app-shell { min-height: calc(100vh - 62px - 64px); display: grid; grid-template-columns: 240px minmax(0, 1fr) 340px; }
.category-sidebar { position: sticky; top: 62px; height: calc(100vh - 62px); margin-bottom: -64px; padding: 18px 13px 82px; border-right: 1px solid var(--line); background: var(--surface); overflow-y: auto; display: flex; flex-direction: column; z-index: 1; }
.avatar-face, .mini-badge span, .tool-portrait span { display: block; width: 100%; height: 100%; }
.catalog-head p, .section-title p, .dialog-head p, .records-head p, .inspector-head p, .inspector-block p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.category-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 9px; color: var(--acid-dim); font: 12px Consolas, monospace; letter-spacing: .04em; }
.category-head button { width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 0; color: var(--acid); background: transparent; font: 16px Consolas, monospace; }
.category-list { display: grid; gap: 3px; }
.category-button { min-height: 40px; padding: 0 9px; border: 0; border-left: 2px solid transparent; border-radius: 0; color: var(--acid-dim); background: transparent; display: flex; align-items: center; justify-content: space-between; text-align: left; font: 13px Consolas, monospace; line-height: 1.25; }
.category-button:hover { color: var(--acid); background: rgba(155, 255, 207, .04); }
.category-button b { color: var(--amber); font: 12px Consolas, monospace; }
.category-button.active { border-left-color: var(--amber); color: var(--acid); background: rgba(155, 255, 207, .07); }
.sidebar-dashboard { margin-top: auto; padding: 13px 9px 0; border-top: 1px solid rgba(155, 255, 207, .14); color: var(--acid-dim); font: 10px Consolas, monospace; letter-spacing: .08em; }
.dashboard-kicker { margin: 0 0 9px; color: var(--acid); font: 700 10px Consolas, monospace; }
.dashboard-stat { display: flex; justify-content: space-between; gap: 8px; line-height: 1.7; letter-spacing: 0; }
.dashboard-stat strong { color: var(--acid); font-weight: 500; text-align: right; }
.dashboard-action { width: 100%; margin-top: 8px; padding: 0; border: 0; color: var(--acid-dim); background: transparent; text-align: left; font: 10px Consolas, monospace; letter-spacing: .04em; }
.dashboard-action span { display: inline-block; width: 18px; color: var(--acid); font-size: 14px; text-align: center; }
.dashboard-action:hover { color: var(--acid); }
.dashboard-message { min-height: 14px; margin: 7px 0 0; color: var(--muted-2); font-size: 8px; letter-spacing: 0; }
.dashboard-message.success { color: var(--acid); }
.dashboard-message.error { color: var(--red); }
.dashboard-footer { margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(155, 255, 207, .12); display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; }
.dashboard-theme { color: var(--acid-dim); }
.dashboard-theme span { color: var(--acid); }
.dashboard-meta { margin-top: 14px; padding-top: 10px; border-top: 1px solid rgba(155, 255, 207, .12); display: flex; justify-content: space-between; color: var(--muted-2); font-size: 8px; }
.site-icp-footer { min-height: 82px; padding: 14px 20px 15px; border-top: 1px solid var(--line-strong); background: var(--surface); display: flex; align-items: center; justify-content: center; }
.record-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 18px; }
.mps-record { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 14px; border: 1px solid rgba(155, 255, 207, .3); color: var(--acid); background: rgba(155, 255, 207, .05); font: 700 13px "Microsoft YaHei", sans-serif; letter-spacing: .03em; text-align: center; text-decoration: none; }
.mps-record img { width: 22px; height: 22px; margin-right: 7px; object-fit: contain; }
.mps-record:hover { border-color: var(--acid); color: var(--amber); background: rgba(155, 255, 207, .07); }
.icp-record { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 24px; border: 1px solid rgba(155, 255, 207, .3); color: var(--acid); background: rgba(155, 255, 207, .05); font: 700 15px "Microsoft YaHei", sans-serif; letter-spacing: .06em; text-align: center; text-decoration: none; }
.icp-record:hover { border-color: var(--acid); color: var(--amber); background: rgba(155, 255, 207, .07); }

.workspace { min-width: 0; padding: 18px 18px 18px; background: var(--bg); }
.view { display: none; }
.view.active { display: block; }
.catalog-head { min-height: 56px; display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 12px; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.catalog-head h2, .records-head h1 { margin: 0; color: var(--text); font: 700 21px Consolas, monospace; letter-spacing: .04em; }
.catalog-head span { color: var(--muted); font: 10px Consolas, monospace; }
.tool-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px 8px; align-items: start; }
.badge-card { position: relative; height: 380px; color: var(--text); background: url("/static/assets/work-badge.gif?v=2") center / auto 100% no-repeat; text-align: left; overflow: visible; filter: none; isolation: isolate; }
.badge-card::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid transparent; pointer-events: none; }
.badge-card:hover { transform: translateY(-4px); transition: transform .16s ease; filter: drop-shadow(0 0 8px rgba(155, 255, 207, .16)); }
.card-open { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: center; display: block; overflow: visible; }
.card-open::before { content: none; }
.card-open::after { content: none; }
.badge-tag { position: absolute; z-index: 3; left: 27%; top: 33.6%; color: var(--acid); font: 8px Consolas, monospace; font-weight: 700; letter-spacing: .05em; }
.card-actions { position: absolute; z-index: 4; top: 28.5%; right: 22.8%; display: flex; gap: 4px; }
.small-icon { width: 23px; height: 23px; border: 1px solid rgba(155, 255, 207, .38); border-radius: 0; color: var(--acid); background: rgba(5, 8, 7, .78); display: grid; place-items: center; font: 11px Consolas, monospace; }
.small-icon:hover { border-color: var(--amber); color: var(--amber); }
.small-icon.danger { color: var(--red); }
.tool-portrait { display: none; }
.tool-portrait::after { content: none; }
.tool-portrait .avatar-face { background: #aeb6a7; }
.badge-card h3 { position: absolute; z-index: 2; left: 18%; top: 70.8%; width: 64%; min-height: 0; margin: 0; color: var(--text); display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: center; font-size: 14px; line-height: 1.12; font-weight: 750; letter-spacing: 0; text-shadow: 0 1px 2px rgba(0, 0, 0, .85); }
.badge-card p { position: absolute; z-index: 2; left: 28%; top: 76.4%; width: 44%; margin: 0; color: var(--amber); text-align: center; font: 9px Consolas, monospace; line-height: 1.4; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.badge-meta { position: absolute; z-index: 2; left: 12%; top: 81.8%; width: 76%; margin: 0; padding: 0; display: block; color: var(--muted); text-align: center; font: 7px Consolas, monospace; }
.badge-meta b { display: none; }
.badge-meta i { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; font-weight: 500; }

.inspector-rail { position: sticky; top: 62px; height: calc(100vh - 62px - 64px); min-width: 0; padding: 18px 14px; border-left: 1px solid var(--line); background: var(--surface); overflow: hidden; display: flex; flex-direction: column; }
.inspector-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.inspector-head h2 { margin: 0; color: var(--acid); font: 700 15px "Microsoft YaHei", sans-serif; letter-spacing: .04em; }
.rail-button { width: 24px; height: 24px; padding: 0; border: 1px solid var(--line); color: var(--acid); background: transparent; font: 13px Consolas, monospace; }
.inspector-status { display: grid; grid-template-columns: 7px auto 1fr; align-items: center; gap: 7px; padding: 13px 0; border-bottom: 1px solid rgba(155, 255, 207, .12); }
.inspector-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 8px rgba(155, 255, 207, .7); }
.inspector-status i.working { background: var(--amber); box-shadow: 0 0 8px rgba(255, 200, 61, .7); }
.inspector-status span { color: var(--acid); font: 10px Consolas, monospace; letter-spacing: .08em; }
.inspector-status small { color: var(--muted-2); font: 8px Consolas, monospace; text-align: right; }
.inspector-worker { display: grid; grid-template-columns: 84px 1fr; gap: 10px; align-items: center; padding: 17px 0; border-bottom: 1px solid rgba(155, 255, 207, .12); }
.inspector-badge { width: 76px; height: 92px; border: 0; background: #050807 url("/static/assets/work-badge.gif?v=2") center / 200% auto no-repeat; overflow: hidden; }
.inspector-badge span { display: none; }
.inspector-worker-copy p { margin: 0 0 5px; color: var(--acid-dim); font: 8px Consolas, monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inspector-worker-copy h3 { margin: 0 0 6px; color: var(--text); font-size: 14px; line-height: 1.3; }
.inspector-worker-copy span { color: var(--amber); font: 9px Consolas, monospace; }
.inspector-facts { margin: 0; padding: 13px 0; border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; gap: 9px; }
.inspector-facts div { display: flex; justify-content: space-between; gap: 12px; }
.inspector-facts dt { color: var(--muted-2); font: 8px Consolas, monospace; }
.inspector-facts dd { margin: 0; color: var(--acid); font: 9px Consolas, monospace; text-align: right; }
.inspector-block { padding: 16px 0; border-bottom: 1px solid rgba(155, 255, 207, .12); }
.queue-line { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font: 9px Consolas, monospace; line-height: 1.5; }
.queue-line i { width: 6px; height: 6px; flex: 0 0 auto; margin-top: 3px; border-radius: 50%; background: var(--amber); }
.latest-block strong { display: block; margin-bottom: 7px; color: var(--text); font: 10px Consolas, monospace; line-height: 1.5; }
.latest-block > span { color: var(--muted-2); font: 8px Consolas, monospace; }
.attendance-block { min-height: 0; flex: 1; padding: 16px 0 13px; border-bottom: 1px solid rgba(155, 255, 207, .12); display: flex; flex-direction: column; }
.attendance-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.attendance-head p { margin: 0; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.attendance-head > span { color: var(--muted-2); font: 9px Consolas, monospace; }
.attendance-calendar { min-height: 0; flex: 1; margin-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 11px 8px; }
.attendance-month-card { min-width: 0; padding: 7px 6px 8px; border: 1px solid rgba(155, 255, 207, .12); background: rgba(155, 255, 207, .018); display: grid; grid-template-rows: auto auto 1fr; gap: 6px; }
.attendance-month-head { display: flex; align-items: baseline; justify-content: space-between; gap: 4px; }
.attendance-month-head strong { color: var(--acid); font: 10px Consolas, monospace; }
.attendance-month-head span { color: var(--muted-2); font: 7px Consolas, monospace; }
.attendance-month-weekdays, .attendance-month-grid { min-width: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.attendance-month-weekdays span { color: var(--muted-2); font: 7px Consolas, monospace; text-align: center; }
.attendance-month-grid { grid-template-rows: repeat(6, minmax(0, 1fr)); align-content: stretch; }
.attendance-cell { min-width: 0; min-height: 0; border: 1px solid rgba(155, 255, 207, .04); background: rgba(155, 255, 207, .035); }
.attendance-cell.blank { visibility: hidden; }
.attendance-cell.level-1 { border-color: rgba(155, 255, 207, .14); background: rgba(155, 255, 207, .22); }
.attendance-cell.level-2 { border-color: rgba(155, 255, 207, .3); background: rgba(155, 255, 207, .5); }
.attendance-cell.level-3 { border-color: var(--acid); background: var(--acid); box-shadow: 0 0 5px rgba(155, 255, 207, .35); }
.attendance-legend { margin-top: 10px; display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: var(--muted-2); font: 7px Consolas, monospace; }
.attendance-legend i { width: 7px; height: 7px; border: 1px solid rgba(155, 255, 207, .04); background: rgba(155, 255, 207, .035); }
.attendance-legend i.level-1 { background: rgba(155, 255, 207, .22); }
.attendance-legend i.level-2 { background: rgba(155, 255, 207, .5); }
.attendance-legend i.level-3 { border-color: var(--acid); background: var(--acid); }
.attendance-summary { margin-top: 9px; display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font: 8px Consolas, monospace; }
.rail-footer { position: absolute; right: 14px; bottom: 14px; left: 14px; display: flex; justify-content: space-between; gap: 8px; color: var(--muted-2); font: 8px Consolas, monospace; }

.back-button { margin: 0 0 18px; padding: 0; border: 0; color: var(--muted); background: transparent; font: 10px Consolas, monospace; }
.agent-header { min-height: 116px; padding: 0 0 25px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 17px; }
.mini-badge { width: 76px; height: 92px; padding: 0; border: 0; border-radius: 0; background: #050807 url("/static/assets/work-badge.gif?v=2") center / 200% auto no-repeat; display: grid; place-items: center; overflow: hidden; }
.mini-badge > span { display: none; }
.agent-header p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; }
.agent-header h1 { margin: 0 0 7px; color: var(--acid); font-size: 27px; font-weight: 780; }
.agent-header > div:nth-child(2) > span { color: var(--acid-dim); font-size: 12px; line-height: 1.6; }
.idle-state { padding: 7px 9px; border: 1px solid var(--line); border-radius: 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font: 9px Consolas, monospace; }
.idle-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); }
.idle-state.working i { background: var(--amber); animation: pulse 1s infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.agent-layout { display: grid; grid-template-columns: minmax(360px, 1.05fr) minmax(320px, .95fr); border-bottom: 1px solid var(--line); }
.rules-section, .delivery-section { padding: 26px 26px 30px 0; }
.delivery-section { padding-left: 26px; padding-right: 0; border-left: 1px solid var(--line); }
.section-title { display: flex; align-items: center; gap: 10px; }
.section-title > span { color: var(--amber); font: 10px Consolas, monospace; }
.section-title h2, .dialog-head h2 { margin: 0; color: var(--acid); font-size: 16px; font-weight: 720; }
#profileForm, #settingsForm, #toolForm { margin-top: 20px; }
.field-label, #profileForm label > span, #settingsForm label span, #toolForm label span { display: block; margin-bottom: 8px; color: var(--muted); font: 9px Consolas, monospace; }
textarea, input, select { width: 100%; border: 1px solid var(--line); border-radius: 0; outline: none; color: var(--text); background: var(--surface); }
textarea { min-height: 184px; padding: 13px; resize: vertical; font-size: 12px; line-height: 1.7; }
input, select { height: 38px; padding: 0 10px; font-size: 12px; }
textarea:focus, input:focus, select:focus { border-color: var(--amber); box-shadow: 0 0 0 1px rgba(255, 200, 61, .18); }
.field-grid { margin-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.segmented { height: 38px; border: 1px solid var(--line); border-radius: 0; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.mode { border: 0; color: var(--muted); background: var(--surface); font: 10px Consolas, monospace; }
.mode + .mode { border-left: 1px solid var(--line); }
.mode.active { color: var(--bg); background: var(--amber); }
.save-row { margin-top: 17px; display: flex; align-items: center; gap: 12px; }
.message { min-height: 18px; color: var(--muted); font: 10px Consolas, monospace; }
.message.success { color: var(--acid); }
.message.error { color: var(--red); }
.delivery-note { margin: 20px 0 15px; color: var(--acid-dim); font-size: 11px; line-height: 1.6; }
.material-dropzone { min-height: 218px; border: 1px dashed var(--line-strong); border-radius: 0; background: var(--surface); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 7px; transition: .16s ease; }
.material-dropzone:hover, .material-dropzone.dragging { border-color: var(--amber); background: rgba(255, 200, 61, .05); }
.material-dropzone input { display: none; }
.drop-icon { width: 34px; height: 34px; border: 1px solid var(--amber-dim); border-radius: 0; display: grid; place-items: center; color: var(--amber); font: 16px Consolas, monospace; }
.material-dropzone strong { margin-top: 4px; color: var(--text); font: 700 13px Consolas, monospace; }
.material-dropzone small { color: var(--muted-2); font: 9px Consolas, monospace; }
.job-progress { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); }
.job-progress div { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--muted-2); font: 9px Consolas, monospace; }
.job-progress div::before { content: ""; position: absolute; top: 3px; left: 0; right: 50%; height: 1px; background: var(--line); }
.job-progress div::after { content: ""; position: absolute; top: 3px; left: 50%; right: 0; height: 1px; background: var(--line); }
.job-progress div:first-child::before, .job-progress div:last-child::after { display: none; }
.job-progress i { position: relative; z-index: 1; width: 7px; height: 7px; border: 1px solid var(--muted-2); border-radius: 50%; background: var(--bg); }
.job-progress div.active { color: var(--text); }
.job-progress div.active i, .job-progress div.done i { border-color: var(--amber); background: var(--amber); box-shadow: 0 0 7px rgba(255, 200, 61, .45); }

.title-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.title-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.title-engine-status { display: flex; align-items: center; gap: 12px; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.title-status-chip { padding: 4px 7px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.title-generator-layout { display: grid; grid-template-columns: minmax(360px, .86fr) minmax(440px, 1.14fr); }
.title-input-panel { min-width: 0; padding: 22px 26px 0 0; border-right: 1px solid var(--line); display: grid; gap: 14px; align-content: start; }
.title-panel-heading { padding-bottom: 4px; }
.title-panel-heading p, .title-results-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.title-panel-heading h3, .title-results-head h3 { margin: 0 0 5px; color: var(--acid); font-size: 18px; font-weight: 720; }
.title-panel-heading > span { color: var(--acid-dim); font-size: 11px; line-height: 1.5; }
.title-field { min-width: 0; display: grid; gap: 7px; }
.title-field > span, .title-field-group-head > span { color: var(--muted); font: 9px Consolas, monospace; letter-spacing: .05em; }
.title-field > span small, .title-field-group-head > span small { margin-left: 5px; color: var(--muted-2); font-size: 8px; }
.title-field input, .title-field textarea { width: 100%; }
.title-field textarea { min-height: 0; padding: 10px; font: 11px Consolas, monospace; line-height: 1.55; resize: vertical; }
.title-field input { height: 36px; font-size: 11px; }
.title-field-group { padding: 13px; border: 1px solid rgba(155, 255, 207, .18); background: rgba(155, 255, 207, .025); display: grid; gap: 10px; }
.title-field-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.title-field-group-head em { color: var(--acid-dim); font: 9px Consolas, monospace; font-style: normal; }
.compact-field { grid-template-columns: 66px 1fr; align-items: center; gap: 10px; }
.compact-field > span { margin: 0; color: var(--muted-2); font-size: 8px; }
.compact-field input { height: 32px; }
.title-context-field { padding-top: 2px; }
.title-input-footer { min-height: 32px; padding-top: 3px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.title-input-footer > span { color: var(--muted-2); font: 9px Consolas, monospace; }
.title-input-footer > span.ready { color: var(--acid); }
.title-input-footer > span.warning { color: var(--amber); }
.title-input-footer .secondary-button { height: 30px; padding: 0 9px; font-size: 9px; }
.title-results-panel { min-width: 0; padding: 22px 0 0 26px; display: flex; flex-direction: column; }
.title-results-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.title-results-head > span { color: var(--acid); font: 9px Consolas, monospace; white-space: nowrap; }
.title-results-container { min-height: 260px; max-height: 760px; padding: 15px 4px 0 0; display: grid; align-content: start; gap: 10px; overflow-y: auto; scrollbar-color: rgba(155, 255, 207, .42) var(--surface-2); scrollbar-width: thin; }
.title-results-container::-webkit-scrollbar { width: 9px; }
.title-results-container::-webkit-scrollbar-track { background: var(--surface-2); border-left: 1px solid rgba(155, 255, 207, .08); }
.title-results-container::-webkit-scrollbar-thumb { border: 2px solid var(--surface-2); border-radius: 0; background: rgba(155, 255, 207, .42); }
.title-results-container::-webkit-scrollbar-thumb:hover { background: var(--amber); }
.title-empty-state { min-height: 235px; padding: 24px; border: 1px dashed var(--line-strong); color: var(--muted-2); display: grid; place-items: center; text-align: center; font: 10px Consolas, monospace; line-height: 1.7; }
.title-result-row { padding: 13px 14px 11px; border: 1px solid rgba(155, 255, 207, .16); background: var(--surface); display: grid; gap: 10px; transition: border-color .16s ease, background .16s ease; }
.title-result-row:hover { border-color: var(--line-strong); background: var(--surface-2); }
.title-result-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted-2); font: 9px Consolas, monospace; }
.title-result-meta > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.title-result-index { color: var(--muted-2); }
.title-result-mode { padding: 3px 5px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .04); white-space: nowrap; }
.title-result-mode.two-stage { border-color: var(--amber-dim); color: var(--amber); background: rgba(255, 200, 61, .04); }
.title-result-length { white-space: nowrap; }
.title-result-length.over-limit { color: var(--red); }
.title-result-text { color: var(--acid); font-size: 12px; font-weight: 650; line-height: 1.55; overflow-wrap: anywhere; }
.title-result-footer { padding-top: 8px; border-top: 1px solid rgba(155, 255, 207, .1); display: flex; justify-content: flex-end; }
.title-copy-button { min-width: 74px; height: 27px; padding: 0 8px; border: 1px solid var(--line); color: var(--acid); background: transparent; font: 9px Consolas, monospace; }
.title-copy-button:hover { border-color: var(--amber); color: var(--amber); }
.title-copy-button.copied { border-color: var(--acid); color: var(--bg); background: var(--acid); }

/* TD optimizer: a compact audit surface that follows the dashboard's two-column rhythm. */
.td-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.td-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.td-engine-status { display: flex; align-items: center; gap: 13px; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.td-engine-status > span { padding: 4px 7px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.td-engine-status > strong { display: flex; align-items: baseline; gap: 2px; color: var(--acid); font: 700 25px Consolas, monospace; }
.td-engine-status > strong small { color: var(--muted-2); font: 9px Consolas, monospace; }
.td-layout { display: grid; grid-template-columns: minmax(330px, .78fr) minmax(430px, 1.22fr); gap: 26px; }
.td-input-panel { min-width: 0; padding: 22px 26px 0 0; border-right: 1px solid var(--line); display: grid; gap: 13px; align-content: start; }
.td-panel-heading { display: grid; gap: 5px; padding-bottom: 3px; }
.td-panel-heading p, .td-results-head p, .td-suggestion-head p, .td-guidance-head p { margin: 0 0 2px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.td-panel-heading h3, .td-results-head h3 { margin: 0; color: var(--acid); font-size: 18px; font-weight: 720; }
.td-panel-heading > span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.td-field-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.td-field { min-width: 0; display: grid; gap: 6px; }
.td-field > span { min-width: 0; color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; }
.td-field > span small { float: right; color: var(--muted-2); font: 9px Consolas, monospace; }
.td-field input, .td-field select { width: 100%; height: 36px; padding: 0 10px; color: var(--text); background: var(--surface); font: 11px Consolas, "Microsoft YaHei", sans-serif; }
.td-field textarea { min-height: 82px; padding: 10px; resize: vertical; color: var(--text); background: var(--surface); font: 11px "Microsoft YaHei", sans-serif; line-height: 1.55; }
.td-input-footer { min-height: 32px; padding-top: 2px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.td-input-footer > span { color: var(--muted-2); font: 9px Consolas, monospace; }
.td-input-footer .secondary-button { height: 30px; padding: 0 10px; font-size: 9px; }
.td-results-panel { min-width: 0; padding: 22px 0 0; }
.td-results-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.td-results-head > span { color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.td-check-list { margin: 16px 0 0; padding: 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; }
.td-check { min-width: 0; min-height: 54px; padding: 9px 10px 9px 0; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 7px; align-items: start; border-bottom: 1px solid rgba(155, 255, 207, .1); }
.td-check:nth-child(even) { padding-left: 10px; border-left: 1px solid rgba(155, 255, 207, .1); }
.td-check-mark { width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid var(--muted-2); color: var(--muted); font: 10px Consolas, monospace; }
.td-check.good .td-check-mark { border-color: var(--acid-dim); color: var(--acid); }
.td-check.warn .td-check-mark { border-color: var(--amber-dim); color: var(--amber); }
.td-check.bad .td-check-mark { border-color: var(--red); color: var(--red); }
.td-check div { min-width: 0; display: grid; gap: 3px; }
.td-check strong { overflow: hidden; color: var(--text); font: 600 10px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.td-check div span { overflow: hidden; color: var(--muted); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.td-suggestions { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line-strong); display: grid; gap: 8px; }
.td-suggestion-head { min-width: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.td-suggestion-head h4, .td-guidance-head h4 { margin: 0; color: var(--acid); font: 700 15px "Microsoft YaHei", sans-serif; }
.td-copy-button { flex: 0 0 auto; height: 26px; padding: 0 9px; border: 1px solid var(--line); color: var(--acid); background: transparent; font: 9px "Microsoft YaHei", sans-serif; }
.td-copy-button:hover, .td-copy-button.copied { border-color: var(--amber); color: var(--amber); }
.td-suggestion-text { min-width: 0; min-height: 43px; padding: 10px; border: 1px solid rgba(155, 255, 207, .16); color: var(--acid); background: var(--surface); font: 600 12px "Microsoft YaHei", sans-serif; line-height: 1.55; overflow-wrap: anywhere; }
.td-description-text { color: var(--text); font-weight: 400; }
.td-suggestions .td-suggestion-head:nth-of-type(3) { margin-top: 9px; }
.td-guidance { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line-strong); }
.td-guidance ol { margin: 11px 0 0; padding: 0; display: grid; gap: 7px; list-style: none; }
.td-guidance li { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; align-items: start; color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; line-height: 1.5; }
.td-guidance li b { color: var(--amber); font: 9px Consolas, monospace; }

.image-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.image-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.image-engine-note { color: var(--muted-2); font: 9px Consolas, monospace; letter-spacing: .08em; }
.image-generator-layout { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(450px, 1.28fr); gap: 26px; }
.image-config-panel { min-width: 0; padding: 22px 26px 0 0; border-right: 1px solid var(--line); display: grid; gap: 16px; align-content: start; }
.image-panel-heading { display: grid; gap: 6px; }
.image-panel-heading p, .image-results-head p { margin: 0 0 2px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.image-panel-heading h3, .image-results-head h3 { margin: 0; color: var(--acid); font: 700 18px "Microsoft YaHei", sans-serif; }
.image-panel-heading span { color: var(--muted); font: 11px "Microsoft YaHei", sans-serif; line-height: 1.55; }
.image-mode-switch { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.image-mode { height: 36px; border: 0; color: var(--muted); background: transparent; font: 11px "Microsoft YaHei", sans-serif; }
.image-mode + .image-mode { border-left: 1px solid var(--line); }
.image-mode.active { color: var(--bg); background: var(--acid); font-weight: 700; }
.image-field { min-width: 0; display: grid; gap: 7px; }
.image-field > span, .image-field-head > span { color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; }
.image-field textarea { min-height: 125px; padding: 11px; resize: vertical; color: var(--text); background: var(--surface); font: 11px "Microsoft YaHei", sans-serif; line-height: 1.6; }
.image-field select { width: 100%; height: 36px; padding: 0 10px; color: var(--text); background: var(--surface); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.image-price-field output { width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--line); color: var(--amber); background: rgba(255, 200, 61, .05); display: flex; align-items: center; font: 11px Consolas, "Microsoft YaHei", sans-serif; }
.image-reference-field { display: grid; gap: 9px; }
.image-field-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.image-field-head small { color: var(--muted-2); font: 9px Consolas, monospace; }
.image-dropzone { min-height: 90px; padding: 17px; border: 1px dashed var(--line-strong); background: rgba(155, 255, 207, .025); display: grid; place-items: center; gap: 6px; text-align: center; cursor: pointer; }
.image-dropzone input { display: none; }
.image-dropzone strong { color: var(--acid); font: 600 11px "Microsoft YaHei", sans-serif; }
.image-dropzone small { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.image-dropzone.dragging { border-color: var(--amber); background: rgba(255, 200, 61, .06); }
.image-reference-preview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.image-reference-preview figure { position: relative; aspect-ratio: 1; margin: 0; border: 1px solid var(--line); overflow: hidden; background: var(--surface); }
.image-reference-preview img { width: 100%; height: 100%; object-fit: cover; }
.image-reference-preview button { position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; border: 0; color: var(--red); background: rgba(5, 8, 7, .82); font: 12px Consolas, monospace; }
.image-option-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.image-config-footer { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.image-action-buttons { display: flex; align-items: center; gap: 8px; }
.image-results-panel { min-width: 0; padding: 22px 0 0; }
.image-results-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.image-results-head > span { color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.image-results-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: start; }
.image-result-card { min-width: 0; border: 1px solid rgba(155, 255, 207, .16); background: var(--surface); }
.image-result-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #020403; }
.image-result-footer { padding: 9px 10px; display: flex; align-items: center; justify-content: flex-end; border-top: 1px solid rgba(155, 255, 207, .1); }
.image-result-footer a { color: var(--acid); font: 10px Consolas, "Microsoft YaHei", sans-serif; text-decoration: none; }
.image-result-footer a:hover { color: var(--amber); }
.image-empty { min-height: 260px; padding: 24px; border: 1px dashed var(--line); color: var(--muted-2); display: grid; place-items: center; text-align: center; font: 10px "Microsoft YaHei", sans-serif; line-height: 1.7; }
.video-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.video-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.video-engine-note { color: var(--muted-2); font: 9px Consolas, monospace; letter-spacing: .08em; }
.video-generator-layout { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(450px, 1.28fr); gap: 26px; }
.video-config-panel { min-width: 0; padding: 22px 26px 0 0; border-right: 1px solid var(--line); display: grid; gap: 16px; align-content: start; }
.video-panel-heading { display: grid; gap: 6px; }
.video-panel-heading p, .video-results-head p { margin: 0 0 2px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.video-panel-heading h3, .video-results-head h3 { margin: 0; color: var(--acid); font: 700 18px "Microsoft YaHei", sans-serif; }
.video-panel-heading span { color: var(--muted); font: 11px "Microsoft YaHei", sans-serif; line-height: 1.55; }
.video-gateway-settings { border: 1px solid var(--line); background: rgba(155, 255, 207, .025); }
.video-gateway-settings summary { padding: 10px 12px; color: var(--acid); cursor: pointer; font: 600 10px "Microsoft YaHei", sans-serif; list-style-position: inside; }
.video-gateway-settings summary small { margin-left: 7px; color: var(--muted-2); font: 9px Consolas, monospace; }
.video-gateway-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 12px 12px; }
.video-gateway-grid > .video-field:first-child { grid-column: 1 / -1; }
.video-gateway-grid input { width: 100%; height: 34px; padding: 0 9px; border: 1px solid var(--line); color: var(--text); background: var(--surface); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.video-gateway-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--line); }
.video-gateway-footer > small { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.45; }
.video-gateway-footer > div { display: flex; align-items: center; gap: 9px; }
.video-gateway-footer .message { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-gateway-footer .secondary-button { min-width: 112px; flex: 0 0 auto; white-space: nowrap; }
.video-mode-switch { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.video-mode { height: 36px; border: 0; color: var(--muted); background: transparent; font: 11px "Microsoft YaHei", sans-serif; }
.video-mode + .video-mode { border-left: 1px solid var(--line); }
.video-mode.active { color: var(--bg); background: var(--acid); font-weight: 700; }
.video-field { min-width: 0; display: grid; gap: 7px; }
.video-field > span, .video-field-head > span { color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; }
.video-field textarea { min-height: 125px; padding: 11px; resize: vertical; color: var(--text); background: var(--surface); font: 11px "Microsoft YaHei", sans-serif; line-height: 1.6; }
.video-field select { width: 100%; height: 36px; padding: 0 10px; color: var(--text); background: var(--surface); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.video-field input[type="range"] { width: 100%; accent-color: var(--acid); }
.video-field output { margin-left: 6px; color: var(--acid); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.video-reference-field { display: grid; gap: 9px; }
.video-field-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.video-field-head small { color: var(--muted-2); font: 9px Consolas, monospace; }
.video-dropzone { min-height: 90px; padding: 17px; border: 1px dashed var(--line-strong); background: rgba(155, 255, 207, .025); display: grid; place-items: center; gap: 6px; text-align: center; cursor: pointer; }
.video-dropzone input { display: none; }
.video-dropzone strong { color: var(--acid); font: 600 11px "Microsoft YaHei", sans-serif; }
.video-dropzone small { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.video-dropzone.dragging { border-color: var(--amber); background: rgba(255, 200, 61, .06); }
.video-reference-preview { display: grid; grid-template-columns: 90px; gap: 7px; }
.video-reference-preview figure { position: relative; aspect-ratio: 1; margin: 0; border: 1px solid var(--line); overflow: hidden; background: var(--surface); }
.video-reference-preview img { width: 100%; height: 100%; object-fit: cover; }
.video-reference-preview button { position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; border: 0; color: var(--red); background: rgba(5, 8, 7, .82); font: 12px Consolas, monospace; }
.video-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.video-duration-field > span { display: flex; justify-content: space-between; }
.video-price-field output { width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--line); color: var(--amber); background: rgba(255, 200, 61, .05); display: flex; align-items: center; font: 11px Consolas, "Microsoft YaHei", sans-serif; }
.video-config-footer { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.video-action-buttons { display: flex; align-items: center; gap: 8px; }
.video-results-panel { min-width: 0; padding: 22px 0 0; }
.video-results-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.video-results-head > span { color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.video-results { margin-top: 18px; min-height: 300px; display: grid; align-content: start; }
.video-result-card { min-width: 0; border: 1px solid rgba(155, 255, 207, .16); background: var(--surface); }
.video-result-card video { display: block; width: 100%; max-height: 560px; background: #020403; }
.video-result-footer { padding: 10px; display: flex; align-items: center; justify-content: flex-end; border-top: 1px solid rgba(155, 255, 207, .1); }
.video-result-footer a { color: var(--acid); font: 10px Consolas, "Microsoft YaHei", sans-serif; text-decoration: none; }
.video-result-footer a:hover { color: var(--amber); }
.video-empty { min-height: 260px; padding: 24px; border: 1px dashed var(--line); color: var(--muted-2); display: grid; place-items: center; text-align: center; font: 10px "Microsoft YaHei", sans-serif; line-height: 1.7; }
.intel-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.intel-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.intel-engine-status { display: flex; align-items: center; gap: 12px; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.intel-engine-status > span:first-child { padding: 4px 7px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.intel-layout { display: block; }
.intel-config-panel { min-width: 0; padding: 22px 0 0; border-right: 0; display: grid; gap: 15px; align-content: start; }
.intel-report-panel { display: none !important; }
.intel-field { min-width: 0; display: grid; gap: 7px; }
.intel-field > span, .intel-switch-field > span { color: var(--muted); font: 9px Consolas, monospace; letter-spacing: .05em; }
.intel-field > span small { margin-left: 5px; color: var(--muted-2); font-size: 8px; }
.intel-field textarea { min-height: 0; padding: 11px; resize: vertical; font: 11px Consolas, monospace; line-height: 1.55; }
.intel-targets-field { display: grid; gap: 9px; }
.intel-targets-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font: 9px Consolas, monospace; letter-spacing: .05em; }
.intel-targets-heading small { margin-left: 5px; color: var(--muted-2); font-size: 8px; }
.intel-targets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: min(620px, calc(100vh - 370px)); overflow-y: auto; padding-right: 5px; align-content: start; }
.intel-target-row { padding: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.015); display: grid; gap: 8px; }
.intel-target-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--acid-dim); font: 9px Consolas, monospace; }
.intel-target-head button:disabled { opacity: .35; cursor: default; text-decoration: none; }
.intel-target-source { min-width: 0; height: 34px; padding: 0 10px; font: 11px Consolas, monospace; }
.intel-target-keywords { min-height: 48px; padding: 9px 10px; resize: vertical; font: 10px Consolas, monospace; line-height: 1.45; }
.intel-target-session { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; }
.intel-target-session input { grid-column: 1 / -1; min-width: 0; height: 34px; padding: 0 10px; font: 11px Consolas, "Microsoft YaHei", sans-serif; }
.intel-target-session span { min-width: 0; overflow: hidden; color: var(--muted-2); font: 10px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.intel-target-session .text-button { color: var(--acid-dim); font: 10px "Microsoft YaHei", sans-serif; text-decoration: none; }
.intel-target-session .text-button:disabled { opacity: .38; cursor: default; }
.intel-session-field input { min-width: 0; height: 34px; padding: 0 11px; font: 11px Consolas, monospace; }
.intel-session-note { color: var(--muted-2); font-size: 9px; line-height: 1.45; }
.intel-session-actions { min-height: 22px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted-2); font: 9px Consolas, monospace; }
.text-button { padding: 0; border: 0; background: transparent; color: var(--muted); font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.text-button:hover { color: var(--acid); }
.intel-option-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; }
.intel-number { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.intel-number b { color: var(--acid-dim); font: 11px Consolas, monospace; }
.intel-switch-field { min-height: 38px; display: grid; grid-template-columns: 1fr 40px; align-items: center; gap: 10px; }
.intel-switch-field input { position: absolute; opacity: 0; pointer-events: none; }
.intel-switch-field i { position: relative; width: 38px; height: 20px; border: 1px solid var(--line-strong); background: var(--surface); cursor: pointer; }
.intel-switch-field i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; background: var(--muted-2); transition: transform .16s ease, background .16s ease; }
.intel-switch-field input:checked + i::after { transform: translateX(18px); background: var(--acid); }
.intel-config-footer { min-height: 32px; padding-top: 4px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.intel-config-footer > div { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.intel-report-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.intel-report-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.intel-report-head h3 { margin: 0; color: var(--acid); font-size: 18px; font-weight: 720; }
.intel-report-head > span { color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.intel-kpi-grid { margin-top: 17px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.intel-kpi-grid > div { padding: 12px 14px 12px 0; display: grid; gap: 6px; }
.intel-kpi-grid > div + div { padding-left: 14px; border-left: 1px solid var(--line); }
.intel-kpi-grid span { color: var(--muted-2); font: 8px Consolas, monospace; }
.intel-kpi-grid strong { color: var(--acid); font: 700 24px Consolas, monospace; }
.intel-report-block { margin-top: 19px; }
.intel-report-block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.intel-report-block-head h4 { margin: 0; color: var(--acid-dim); font: 10px Consolas, monospace; letter-spacing: .08em; }
.intel-report-block-head span { color: var(--muted-2); font: 8px Consolas, monospace; }
.intel-report-list { display: grid; gap: 7px; }
.intel-report-row { min-width: 0; padding: 11px 12px; border: 1px solid rgba(155, 255, 207, .14); background: var(--surface); display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; }
.intel-report-row strong { min-width: 0; overflow: hidden; color: var(--text); font-size: 11px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.intel-report-row span, .intel-report-row em { color: var(--muted); font: 9px Consolas, monospace; font-style: normal; white-space: nowrap; }
.intel-empty { padding: 22px 12px; border: 1px dashed var(--line); color: var(--muted-2); text-align: center; font: 9px Consolas, monospace; line-height: 1.6; }
.daily-intel-summary { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.daily-intel-summary > div { padding: 16px 18px 16px 0; display: grid; gap: 7px; }
.daily-intel-summary > div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.daily-intel-summary span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.daily-intel-summary strong { color: var(--acid); font: 700 30px Consolas, monospace; }
.daily-intel-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.daily-intel-block { min-width: 0; padding-top: 16px; border-top: 1px solid var(--line-strong); }
.daily-intel-block-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.daily-intel-block-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.daily-intel-block-head h3 { margin: 0; color: var(--acid); font: 700 18px "Microsoft YaHei", sans-serif; }
.daily-intel-block-head > span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.daily-intel-list { display: grid; gap: 8px; }
.daily-intel-item { min-width: 0; padding: 14px; border: 1px solid rgba(155, 255, 207, .14); background: var(--surface); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.daily-intel-item > div { min-width: 0; display: grid; gap: 6px; }
.daily-intel-item-copy { min-width: 0; display: grid; gap: 6px; }
.daily-intel-title { min-width: 0; overflow: hidden; color: var(--text); font: 600 12px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; }
.daily-intel-title:hover { color: var(--acid); }
.daily-intel-item span, .daily-intel-item time { color: var(--muted); font: 10px Consolas, "Microsoft YaHei", sans-serif; font-style: normal; }
.daily-intel-item-side { flex: 0 0 auto; min-width: 130px; display: grid; justify-items: end; gap: 6px; }
.daily-intel-item-side em { color: var(--acid-dim); font: 10px Consolas, "Microsoft YaHei", sans-serif; font-style: normal; white-space: nowrap; }
.daily-intel-item time { color: var(--acid-dim); white-space: nowrap; }
.daily-intel-price { display: flex; align-items: center; gap: 7px; color: var(--muted); font: 10px Consolas, monospace; white-space: nowrap; }
.daily-intel-price b { color: var(--muted-2); font-weight: 400; }
.daily-intel-price strong { color: var(--amber); font: 600 12px Consolas, monospace; }
#dailyIntelMessage { min-height: 18px; margin-top: 14px; }

.rfq-workbench { padding: 25px 0 34px; border-bottom: 1px solid var(--line); }
.rfq-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.rfq-engine-status { display: flex; align-items: center; gap: 12px; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.rfq-engine-status > span { padding: 4px 7px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.rfq-month-bar { min-width: 0; margin-top: 19px; padding: 14px 0; border-top: 1px solid rgba(155, 255, 207, .12); border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.rfq-month-bar p, .rfq-panel-head p, .rfq-records-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.rfq-month-bar h3, .rfq-panel-head h3, .rfq-records-head h3 { margin: 0; color: var(--acid); font-size: 15px; font-weight: 720; }
.rfq-month-tabs { min-width: 0; display: flex; align-items: center; gap: 7px; overflow-x: auto; padding-bottom: 2px; }
.rfq-month-tab { flex: 0 0 auto; min-width: 84px; height: 34px; padding: 0 12px; border: 1px solid var(--line); color: var(--muted); background: var(--surface); font: 10px Consolas, monospace; cursor: pointer; }
.rfq-month-tab:hover { color: var(--acid); border-color: var(--line-strong); }
.rfq-month-tab.active { border-color: var(--amber); color: var(--bg); background: var(--amber); }
.rfq-month-add { display: grid; grid-template-columns: auto 130px auto; align-items: center; gap: 8px; color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.rfq-month-add input { width: 130px; height: 32px; font: 10px Consolas, monospace; }
.rfq-month-add button { height: 32px; padding: 0 10px; font-size: 9px; }
.rfq-dashboard-grid { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); gap: 24px; }
.rfq-metrics-panel, .rfq-capture-panel, .rfq-records-panel { min-width: 0; padding-top: 15px; border-top: 1px solid var(--line-strong); }
.rfq-panel-head, .rfq-records-head { min-width: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.rfq-panel-head > div, .rfq-records-head > div { min-width: 0; }
.rfq-panel-head span, .rfq-records-head span { display: block; margin-top: 5px; color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; line-height: 1.45; }
.rfq-panel-head > span, .rfq-capture-mark { flex: 0 0 auto; margin: 0; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.rfq-metric-table { margin-top: 17px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rfq-metric-row { min-width: 0; display: grid; grid-template-columns: minmax(170px, 1.3fr) repeat(3, minmax(100px, 1fr)); align-items: center; gap: 12px; padding: 13px 0; }
.rfq-metric-row + .rfq-metric-row { border-top: 1px solid rgba(155, 255, 207, .1); }
.rfq-metric-row.header { padding: 10px 0; color: var(--muted-2); font: 9px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-metric-row.header span:not(:first-child) { text-align: right; }
.rfq-metric-label { min-width: 0; display: grid; gap: 4px; }
.rfq-metric-label strong { overflow: hidden; color: var(--text); font: 600 11px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.rfq-metric-label small { color: var(--muted-2); font: 9px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-metric-row input { min-width: 0; width: 100%; height: 36px; padding: 0 9px; text-align: right; color: var(--text); background: rgba(155, 255, 207, .025); font: 11px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-metric-row input:focus { border-color: var(--acid); box-shadow: 0 0 0 2px rgba(155, 255, 207, .08); }
.rfq-metrics-footer { min-height: 34px; margin-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rfq-metrics-footer button { height: 34px; padding: 0 15px; }
.rfq-capture-panel { padding-left: 21px; border-left: 1px solid var(--line); border-top: 1px solid var(--line-strong); }
.rfq-screenshot-dropzone { min-height: 190px; margin-top: 18px; padding: 20px; border: 1px dashed var(--line-strong); background: rgba(155, 255, 207, .025); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; text-align: center; cursor: pointer; }
.rfq-screenshot-dropzone input { display: none; }
.rfq-screenshot-dropzone:hover, .rfq-screenshot-dropzone.dragging { border-color: var(--amber); background: rgba(255, 200, 61, .04); }
.rfq-upload-icon { color: var(--amber); font: 24px Consolas, monospace; line-height: 1; }
.rfq-screenshot-dropzone strong { color: var(--acid); font: 600 12px "Microsoft YaHei", sans-serif; }
.rfq-screenshot-dropzone small { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.rfq-capture-footer { min-width: 0; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rfq-capture-footer > span { min-width: 0; overflow: hidden; color: var(--muted); font: 9px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.rfq-capture-footer button { flex: 0 0 auto; height: 32px; padding: 0 10px; font-size: 9px; }
.rfq-capture-note { margin: 13px 0 0; color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.6; }
.rfq-records-panel { margin-top: 26px; padding-top: 16px; }
.rfq-records-head > strong { flex: 0 0 auto; color: var(--acid); font: 700 28px Consolas, monospace; }
.rfq-record-form { margin-top: 17px; padding: 15px; border: 1px solid rgba(155, 255, 207, .14); background: rgba(155, 255, 207, .025); display: grid; grid-template-columns: minmax(130px, 1.1fr) minmax(100px, .7fr) minmax(130px, .9fr) minmax(160px, 1.4fr); gap: 12px; }
.rfq-record-form label { min-width: 0; display: grid; gap: 6px; }
.rfq-record-form label > span { color: var(--muted); font: 9px "Microsoft YaHei", sans-serif; }
.rfq-record-form input { min-width: 0; height: 34px; padding: 0 9px; font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-record-form textarea { min-width: 0; padding: 9px; resize: vertical; font: 10px Consolas, "Microsoft YaHei", sans-serif; line-height: 1.5; }
.rfq-record-wide { grid-column: 1 / -1; }
.rfq-record-actions { grid-column: 1 / -1; min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rfq-record-actions button { height: 34px; padding: 0 15px; }
.rfq-record-list { margin-top: 13px; display: grid; gap: 7px; }
.rfq-record-item { min-width: 0; padding: 13px 14px; border: 1px solid rgba(155, 255, 207, .13); background: var(--surface); display: grid; grid-template-columns: minmax(145px, 1.05fr) minmax(95px, .55fr) minmax(115px, .7fr) minmax(165px, 1.2fr) auto; align-items: start; gap: 14px; }
.rfq-record-item > div { min-width: 0; display: grid; gap: 5px; }
.rfq-record-item small { color: var(--muted-2); font: 8px Consolas, "Microsoft YaHei", sans-serif; letter-spacing: .04em; }
.rfq-record-item strong, .rfq-record-item span { overflow: hidden; color: var(--text); font: 10px "Microsoft YaHei", sans-serif; line-height: 1.45; text-overflow: ellipsis; }
.rfq-record-item strong { font-size: 11px; }
.rfq-record-item .rfq-record-requirements { white-space: normal; }
.rfq-record-delete { padding: 0; border: 0; color: var(--muted-2); background: transparent; font: 16px Consolas, monospace; cursor: pointer; }
.rfq-record-delete:hover { color: var(--red); }
#rfqGlobalMessage { min-height: 18px; margin-top: 14px; }

/* Compact RFQ dashboard cards: the values stay scannable without a long table. */
.rfq-workbench { padding-top: 20px; }
.rfq-dashboard-grid { grid-template-columns: minmax(0, 1fr) 255px; gap: 18px; }
.rfq-metrics-panel { padding-top: 12px; }
.rfq-panel-head > div { min-width: 0; }
.rfq-panel-head > div > span { margin-top: 0; }
.rfq-panel-actions { display: flex; align-items: center; gap: 12px; }
.rfq-panel-actions > span { margin: 0; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.rfq-panel-actions .text-button { color: var(--acid-dim); font: 10px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.rfq-metric-table { margin-top: 14px; border: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rfq-metric-row { display: block; padding: 0; border: 0; }
.rfq-metric-row.header { display: none; }
.rfq-kpi-card { min-width: 0; min-height: 174px; padding: 14px 13px 12px; border: 1px solid rgba(155, 255, 207, .16); background: linear-gradient(145deg, rgba(155, 255, 207, .065), rgba(8, 16, 13, .78)); display: grid; align-content: start; gap: 10px; }
.rfq-kpi-card:hover { border-color: var(--line-strong); box-shadow: 0 10px 24px rgba(0, 0, 0, .18); }
.rfq-kpi-card-head { min-width: 0; display: grid; gap: 4px; }
.rfq-kpi-card-head strong { overflow: hidden; color: var(--text); font: 600 11px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.rfq-kpi-card-head small { color: var(--muted-2); font: 8px Consolas, monospace; letter-spacing: .04em; }
.rfq-kpi-main { display: grid; justify-items: center; gap: 3px; }
.rfq-kpi-main > span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.rfq-kpi-main input { width: 100%; height: 40px; padding: 0 4px; border: 0; outline: none; color: var(--acid); background: transparent; text-align: center; font: 700 28px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-kpi-main input:focus { box-shadow: inset 0 -2px 0 var(--amber); }
.rfq-kpi-benchmarks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.rfq-kpi-benchmarks label { min-width: 0; display: grid; gap: 4px; }
.rfq-kpi-benchmarks label > span { overflow: hidden; color: var(--muted-2); font: 8px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.rfq-kpi-benchmarks input { min-width: 0; width: 100%; height: 25px; padding: 0 5px; border: 1px solid rgba(155, 255, 207, .18); color: var(--text); background: rgba(155, 255, 207, .035); text-align: center; font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.rfq-kpi-benchmarks input:focus { border-color: var(--amber); outline: none; }
.rfq-inline-message { min-height: 16px; display: block; margin-top: 9px; }
.rfq-capture-panel { padding: 12px 0 0 16px; }
.rfq-capture-panel .rfq-panel-head { align-items: center; }
.rfq-screenshot-dropzone { min-height: 108px; margin-top: 14px; padding: 13px; gap: 6px; }
.rfq-upload-icon { font-size: 20px; }
.rfq-screenshot-dropzone strong { font-size: 11px; }
.rfq-capture-footer { margin-top: 8px; }
.rfq-capture-footer button { color: var(--acid-dim); background: transparent; }
.rfq-capture-footer button:disabled { opacity: .4; }
.rfq-metrics-footer, .rfq-capture-note { display: none; }
.rfq-workbench-head { align-items: center; }
.rfq-calendar-control { position: relative; display: flex; align-items: center; gap: 9px; }
.rfq-calendar-control > span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.rfq-calendar-picker { position: relative; }
.rfq-calendar-toggle { min-width: 126px; height: 34px; padding: 0 10px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .045); display: flex; align-items: center; justify-content: space-between; gap: 12px; font: 10px Consolas, "Microsoft YaHei", sans-serif; cursor: pointer; }
.rfq-calendar-toggle:hover, .rfq-calendar-toggle[aria-expanded="true"] { border-color: var(--amber); color: var(--amber); }
.rfq-calendar-toggle b { color: var(--muted-2); font: 14px Consolas, monospace; line-height: 1; }
.rfq-calendar-popover { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: 238px; padding: 13px; border: 1px solid var(--line-strong); background: #0b1511; box-shadow: 0 16px 42px rgba(0, 0, 0, .48); }
.rfq-calendar-head { display: grid; grid-template-columns: 28px 1fr 28px; align-items: center; gap: 6px; margin-bottom: 10px; }
.rfq-calendar-head strong { color: var(--acid); text-align: center; font: 600 11px Consolas, monospace; }
.rfq-calendar-head button { width: 28px; height: 26px; padding: 0; border: 1px solid var(--line); color: var(--muted); background: transparent; font: 18px Consolas, monospace; line-height: 1; cursor: pointer; }
.rfq-calendar-head button:hover { border-color: var(--amber); color: var(--amber); }
.rfq-calendar-months { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.rfq-calendar-month { height: 30px; padding: 0; border: 1px solid transparent; color: var(--muted); background: transparent; font: 10px "Microsoft YaHei", sans-serif; cursor: pointer; }
.rfq-calendar-month:hover { border-color: var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.rfq-calendar-month.has-data { color: var(--acid-dim); }
.rfq-calendar-month.active { border-color: var(--amber); color: var(--bg); background: var(--amber); }

.visitor-workbench { padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.visitor-workbench-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.visitor-engine-status { display: flex; align-items: center; gap: 12px; color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.visitor-engine-status > span:first-child { padding: 4px 7px; border: 1px solid var(--line-strong); color: var(--acid); background: rgba(155, 255, 207, .06); }
.visitor-shop-bar { min-width: 0; margin-top: 19px; padding: 13px 0; border-top: 1px solid rgba(155, 255, 207, .12); border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; grid-template-columns: 150px minmax(0, 1fr) 230px; align-items: center; gap: 15px; }
.visitor-shop-bar p, .visitor-period-row p, .visitor-block-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.visitor-shop-bar h3, .visitor-period-row h3 { margin: 0; color: var(--acid); font-size: 15px; font-weight: 720; }
.visitor-shop-tabs { min-width: 0; display: flex; gap: 7px; overflow-x: auto; }
.visitor-shop-tab { min-width: 100px; height: 34px; padding: 0 11px; border: 1px solid var(--line); color: var(--muted); background: var(--surface); font: 10px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.visitor-shop-tab:hover { color: var(--acid); border-color: var(--line-strong); }
.visitor-shop-tab.active { border-color: var(--amber); color: var(--bg); background: var(--amber); }
.visitor-shop-edit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.visitor-shop-edit input { height: 32px; font-size: 11px; }
.visitor-shop-edit .text-button { color: var(--acid-dim); font: 10px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.visitor-layout { display: grid; grid-template-columns: minmax(270px, .68fr) minmax(0, 1.32fr); gap: 25px; }
.visitor-config-panel { min-width: 0; padding: 22px 25px 0 0; border-right: 1px solid var(--line); display: grid; gap: 15px; align-content: start; }
.visitor-import-form { display: grid; gap: 13px; }
.visitor-field { min-width: 0; display: grid; gap: 7px; }
.visitor-field > span { color: var(--muted); font: 9px Consolas, monospace; letter-spacing: .05em; }
.visitor-import-dropzone { min-height: 150px; padding: 17px; border: 1px dashed var(--line-strong); background: var(--surface); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; text-align: center; cursor: pointer; }
.visitor-import-dropzone input { display: none; }
.visitor-import-dropzone strong { color: var(--acid); font: 600 12px "Microsoft YaHei", sans-serif; }
.visitor-import-dropzone small { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.5; }
.visitor-import-dropzone:hover { border-color: var(--amber); background: rgba(255, 200, 61, .04); }
.visitor-import-actions { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.visitor-field-guide { padding: 12px 0; border-top: 1px solid rgba(155, 255, 207, .12); border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; gap: 6px; }
.visitor-field-guide p { margin: 0; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.visitor-field-guide span { color: var(--muted); font-size: 10px; line-height: 1.6; }
.visitor-import-history { min-width: 0; display: grid; gap: 10px; }
.visitor-subhead { display: flex; align-items: center; justify-content: space-between; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .08em; }
.visitor-subhead .text-button { color: var(--muted); font: 9px "Microsoft YaHei", sans-serif; letter-spacing: 0; }
.visitor-history-list { display: grid; gap: 6px; }
.visitor-history-row { min-width: 0; padding: 8px 9px; border-left: 2px solid var(--line); background: rgba(155, 255, 207, .025); display: grid; gap: 4px; }
.visitor-history-row span { overflow: hidden; color: var(--text); font: 10px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-history-row em { color: var(--muted-2); font: 9px Consolas, "Microsoft YaHei", sans-serif; font-style: normal; }
.visitor-dashboard-panel { min-width: 0; padding-top: 22px; }
.visitor-period-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.visitor-period-row select { width: 130px; height: 32px; font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.visitor-kpi-grid { margin-top: 17px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.visitor-kpi-grid > div { min-width: 0; padding: 12px 12px 12px 0; display: grid; gap: 6px; }
.visitor-kpi-grid > div + div { padding-left: 12px; border-left: 1px solid var(--line); }
.visitor-kpi-grid span { color: var(--muted-2); font: 8px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.visitor-kpi-grid strong { color: var(--acid); font: 700 23px Consolas, monospace; }
.visitor-signal-grid, .visitor-lower-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.visitor-signal-block, .visitor-category-block, .visitor-recommendation-block { min-width: 0; padding-top: 14px; border-top: 1px solid var(--line-strong); }
.visitor-block-head { min-width: 0; margin-bottom: 11px; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.visitor-block-head h4 { margin: 0; color: var(--acid); font: 700 15px "Microsoft YaHei", sans-serif; }
.visitor-block-head > span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.visitor-term-list, .visitor-category-list, .visitor-recommendation-list { min-width: 0; display: grid; gap: 6px; }
.visitor-term-row { min-width: 0; padding: 9px 10px; border: 1px solid rgba(155, 255, 207, .13); background: var(--surface); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.visitor-term-copy { min-width: 0; display: grid; grid-template-columns: 21px minmax(0, 1fr); align-items: center; gap: 6px; }
.visitor-term-copy b { color: var(--amber); font: 9px Consolas, monospace; }
.visitor-term-copy strong { min-width: 0; overflow: hidden; color: var(--text); font: 600 11px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-term-copy span { grid-column: 2; min-width: 0; overflow: hidden; color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-term-row em { color: var(--acid-dim); font: 9px Consolas, "Microsoft YaHei", sans-serif; font-style: normal; white-space: nowrap; }
.visitor-category-row { padding: 10px; border: 1px solid rgba(155, 255, 207, .13); background: var(--surface); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.visitor-category-row strong { color: var(--text); font: 600 11px "Microsoft YaHei", sans-serif; }
.visitor-category-row span { color: var(--muted); font: 9px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; }
.visitor-recommendation-row { padding: 9px 10px; border-left: 2px solid var(--amber); background: rgba(255, 200, 61, .04); display: grid; gap: 4px; }
.visitor-recommendation-row b { color: var(--amber); font: 9px Consolas, "Microsoft YaHei", sans-serif; }
.visitor-recommendation-row strong { overflow: hidden; color: var(--text); font: 600 11px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-recommendation-row span { color: var(--muted); font: 9px "Microsoft YaHei", sans-serif; }
.visitor-empty, .visitor-empty-state { padding: 17px 10px; border: 1px dashed var(--line); color: var(--muted-2); text-align: center; font: 9px "Microsoft YaHei", sans-serif; line-height: 1.6; }
.visitor-empty-state { margin-top: 22px; }
.visitor-import-strip { margin-top: 18px; padding: 13px 0; border-top: 1px solid rgba(155, 255, 207, .12); border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; grid-template-columns: minmax(210px, .8fr) minmax(0, 1.55fr) auto; align-items: center; gap: 16px; }
.visitor-import-copy { min-width: 0; display: grid; gap: 4px; }
.visitor-import-copy p, .visitor-panel-head p, .visitor-organize-head p, .visitor-bucket-head p, .visitor-pending-head p { margin: 0; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.visitor-import-copy strong { color: var(--acid); font: 600 13px "Microsoft YaHei", sans-serif; }
.visitor-import-copy span { color: var(--muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.visitor-import-inline { min-width: 0; display: grid; grid-template-columns: minmax(150px, 1fr) 130px minmax(150px, 1fr) auto; align-items: center; gap: 8px; }
.visitor-import-inline select, .visitor-import-inline input { height: 32px; font-size: 10px; }
.visitor-import-file { min-width: 0; height: 32px; padding: 0 10px; border: 1px dashed var(--line-strong); color: var(--acid-dim); background: var(--surface); display: flex; align-items: center; cursor: pointer; font: 10px "Microsoft YaHei", sans-serif; }
.visitor-import-file input { display: none; }
.visitor-import-file span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.visitor-import-file:hover { border-color: var(--amber); color: var(--amber); }
.visitor-import-strip > .message { min-width: 100px; text-align: right; }
.visitor-manual-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 25px; }
.visitor-product-panel { min-width: 0; padding: 22px 20px 0 0; border-right: 1px solid var(--line); }
.visitor-panel-head, .visitor-organize-head, .visitor-bucket-head, .visitor-pending-head { min-width: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.visitor-panel-head h3, .visitor-organize-head h3 { margin: 0; color: var(--acid); font: 700 17px "Microsoft YaHei", sans-serif; }
.visitor-panel-head > span, .visitor-bucket-head > span { color: var(--amber); font: 11px Consolas, monospace; }
.visitor-product-form { margin-top: 15px; display: grid; gap: 8px; }
.visitor-product-form input { height: 34px; font-size: 11px; }
.visitor-product-form button { width: 100%; }
.visitor-product-list { margin-top: 14px; display: grid; gap: 5px; }
.visitor-product-item { min-width: 0; padding: 10px; border-left: 2px solid transparent; background: rgba(155, 255, 207, .025); display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; }
.visitor-product-item:hover { background: rgba(155, 255, 207, .06); }
.visitor-product-item.active { border-left-color: var(--amber); background: rgba(255, 200, 61, .07); }
.visitor-product-item strong { min-width: 0; overflow: hidden; color: var(--text); font: 600 11px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-product-item span { color: var(--muted-2); font: 9px Consolas, monospace; white-space: nowrap; }
.visitor-product-rename-input { min-width: 0; width: 100%; height: 32px; padding: 0 9px; border: 1px solid var(--amber); border-left: 2px solid var(--amber); outline: none; color: var(--text); background: rgba(255, 200, 61, .07); font: 600 11px "Microsoft YaHei", sans-serif; }
.visitor-product-rename-input:focus { box-shadow: 0 0 0 2px rgba(255, 200, 61, .12); }
.visitor-product-note { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(155, 255, 207, .12); color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.6; }
.visitor-organize-panel { min-width: 0; padding-top: 22px; }
.visitor-organize-head { align-items: flex-end; }
.visitor-organize-head > div { min-width: 0; display: grid; gap: 4px; }
.visitor-organize-head h3 { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.visitor-organize-head span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.visitor-organize-head select { width: 130px; height: 32px; font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.visitor-bucket-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.visitor-bucket { min-width: 0; padding-top: 13px; border-top: 1px solid var(--line-strong); }
.visitor-output-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.visitor-output-block { min-width: 0; padding-top: 13px; border-top: 1px solid var(--line-strong); }
.visitor-output-block textarea { min-height: 118px; margin-top: 10px; color: var(--text); background: var(--surface); font: 11px Consolas, "Microsoft YaHei", sans-serif; line-height: 1.7; resize: vertical; }
.visitor-output-block textarea::placeholder { color: var(--muted-2); }
.visitor-copy-button { display: block; margin-top: 7px; color: var(--acid-dim); font: 10px "Microsoft YaHei", sans-serif; text-decoration: none; }
.visitor-copy-button:hover { color: var(--amber); }
.visitor-bucket-head { margin-bottom: 10px; }
.visitor-bucket-head h4, .visitor-pending-head h4 { margin: 0; color: var(--acid); font: 700 15px "Microsoft YaHei", sans-serif; }
.visitor-assigned-list { min-height: 64px; display: grid; gap: 5px; }
.visitor-assigned-row { min-width: 0; padding: 8px 9px; border: 1px solid rgba(155, 255, 207, .13); background: var(--surface); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.visitor-assigned-row strong { min-width: 0; overflow: hidden; color: var(--text); font: 600 10px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-assigned-row span { color: var(--muted); font: 9px Consolas, monospace; white-space: nowrap; }
.visitor-pending-panel { margin-top: 24px; padding-top: 15px; border-top: 1px solid var(--line-strong); }
.visitor-pending-head { align-items: flex-end; }
.visitor-pending-head > div:first-child { min-width: 0; display: grid; gap: 4px; }
.visitor-pending-head h4 { color: var(--text); }
.visitor-pending-head span { color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; }
.visitor-pending-actions { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.visitor-pending-actions select { width: 120px; height: 32px; font-size: 10px; }
.visitor-pending-actions button { height: 32px; padding: 0 9px; font-size: 9px; }
.visitor-pending-terms { margin-top: 12px; min-height: 110px; max-height: 440px; overflow-y: auto; display: grid; gap: 5px; }
.visitor-pending-row { min-width: 0; padding: 9px 10px; border: 1px solid rgba(155, 255, 207, .12); background: var(--surface); display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.visitor-pending-row input { width: 14px; height: 14px; accent-color: var(--amber); }
.visitor-pending-copy { min-width: 0; display: grid; gap: 4px; }
.visitor-pending-copy strong { overflow: hidden; color: var(--text); font: 600 11px Consolas, "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.visitor-pending-copy span { color: var(--muted-2); font: 9px "Microsoft YaHei", sans-serif; }
.visitor-pending-stats { color: var(--acid-dim); font: 9px Consolas, "Microsoft YaHei", sans-serif; text-align: right; white-space: nowrap; }
.visitor-excluded-panel { margin-top: 18px; padding-top: 13px; border-top: 1px solid rgba(155, 255, 207, .12); }
.visitor-excluded-terms { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 5px; }
.visitor-excluded-row { padding: 6px 8px; border: 1px solid rgba(255, 119, 132, .22); color: var(--muted); background: rgba(255, 119, 132, .035); display: inline-flex; align-items: center; gap: 6px; font: 9px Consolas, "Microsoft YaHei", sans-serif; }
.visitor-excluded-row input { width: 12px; height: 12px; accent-color: var(--red); }
.visitor-organize-footer { min-height: 28px; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.output-section { padding: 28px 0 0; }
.output-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.output-head > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; color: var(--muted-2); font: 9px Consolas, monospace; }
.output-section > h3 { max-width: 880px; margin: 24px 0 22px; color: var(--acid); font-size: 22px; line-height: 1.4; font-weight: 650; }
.output-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--line); }
.output-grid > div { padding: 18px 22px 0 0; }
.output-grid > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.output-grid h4 { margin: 0 0 13px; color: var(--acid-dim); font: 9px Consolas, monospace; }
.output-grid ul, .output-grid ol { margin: 0; padding-left: 17px; }
.output-grid li { margin-bottom: 9px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.records-head { padding: 0 0 20px; border-bottom: 1px solid var(--line); }
.records-head > span { color: var(--muted); font-size: 11px; }
.records-list { display: grid; }
.task-panel { margin: 22px 0 0; padding: 18px 0 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.task-panel-head { display: flex; align-items: flex-end; gap: 14px; }
.task-panel-head > div { margin-right: auto; }
.task-panel-head p { margin: 0 0 5px; color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.task-panel-head h2 { margin: 0; color: var(--acid); font-size: 17px; font-weight: 720; }
.task-panel-head .message { flex: 1; min-width: 100px; color: var(--muted); font-size: 9px; }
.scheduled-tasks-list { margin-top: 14px; display: grid; gap: 8px; }
.empty-tasks { padding: 25px 12px; border: 1px dashed var(--line); color: var(--muted-2); text-align: center; font: 10px Consolas, monospace; }
.task-card { min-width: 0; padding: 13px 0; display: grid; grid-template-columns: minmax(190px, 1.6fr) minmax(130px, 1fr) minmax(130px, 1fr) auto; align-items: center; gap: 16px; }
.task-card + .task-card { border-top: 1px solid rgba(155, 255, 207, .1); }
.task-card-main { min-width: 0; }
.task-card-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.task-card-title h3 { min-width: 0; margin: 0; overflow: hidden; color: var(--text); font-size: 12px; font-weight: 620; white-space: nowrap; text-overflow: ellipsis; }
.task-card-main p { margin: 7px 0 0; color: var(--muted); font: 9px Consolas, monospace; }
.task-card-main p.task-card-report { max-width: 540px; overflow: hidden; color: var(--acid-dim); text-overflow: ellipsis; white-space: nowrap; }
.task-state { flex: 0 0 auto; padding: 3px 5px; border: 1px solid var(--line); color: var(--muted); font: 8px Consolas, monospace; }
.task-state.enabled { border-color: var(--line-strong); color: var(--acid); }
.task-state.paused { border-color: var(--amber-dim); color: var(--amber); }
.task-card-fact { min-width: 0; display: grid; gap: 5px; }
.task-card-fact span { color: var(--muted-2); font: 8px Consolas, monospace; }
.task-card-fact strong { overflow: hidden; color: var(--muted); font: 9px Consolas, monospace; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.task-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.task-card-actions button { padding: 0; border: 0; color: var(--acid-dim); background: transparent; font: 9px Consolas, monospace; white-space: nowrap; }
.task-card-actions button:hover { color: var(--acid); }
.task-card-actions button.danger { color: var(--red); }
.record-row { padding: 18px 4px; border-bottom: 1px solid rgba(155, 255, 207, .12); display: grid; grid-template-columns: 150px 1fr 130px auto; align-items: center; gap: 18px; }
.record-row time, .record-row span { color: var(--muted); font: 10px Consolas, monospace; }
.record-row strong { font-size: 12px; font-weight: 560; }
.record-row button { border: 0; color: var(--amber); background: transparent; font: 10px Consolas, monospace; }
.empty-records { padding: 58px 0; color: var(--muted); text-align: center; font: 11px Consolas, monospace; }
.hidden { display: none !important; }

.auth-locked { overflow: hidden; }
.auth-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(3, 8, 6, .68); backdrop-filter: blur(7px) saturate(.72); }
.auth-card { width: min(430px, 100%); border: 1px solid var(--line-strong); color: var(--text); background: rgba(8, 16, 13, .96); box-shadow: 0 28px 90px rgba(0, 0, 0, .72), 0 0 0 1px rgba(155, 255, 207, .05); }
.auth-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 20px 14px; border-bottom: 1px solid var(--line); }
.auth-brand-row > div { display: flex; align-items: center; gap: 10px; }
.auth-close { width: 26px; height: 26px; }
.auth-brand-row img { width: 146px; height: 28px; object-fit: contain; object-position: left center; }
.auth-brand-row span, .auth-heading p, .auth-footer { color: var(--acid-dim); font: 9px Consolas, monospace; letter-spacing: .1em; }
.auth-heading { padding: 26px 28px 8px; }
.auth-heading p { margin: 0 0 10px; }
.auth-heading h1 { margin: 0 0 8px; color: var(--acid); font: 700 23px Consolas, "Microsoft YaHei", sans-serif; letter-spacing: .02em; }
.auth-heading > span { color: var(--muted); font-size: 11px; }
.auth-form { padding: 16px 28px 25px; display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 7px; }
.auth-form label > span { color: var(--muted); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.auth-form input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--text); background: rgba(5, 8, 7, .82); font: 12px Consolas, "Microsoft YaHei", sans-serif; }
.auth-form input:focus { border-color: var(--acid); box-shadow: 0 0 0 2px rgba(155, 255, 207, .1); }
.auth-message { min-height: 16px; margin: -2px 0 0; color: var(--red); font: 10px Consolas, "Microsoft YaHei", sans-serif; }
.auth-submit { width: 100%; height: 42px; display: flex; align-items: center; justify-content: center; gap: 9px; }
.auth-submit span { font-size: 15px; line-height: 1; }
.auth-footer { display: flex; justify-content: space-between; padding: 12px 28px; border-top: 1px solid rgba(155, 255, 207, .12); color: var(--muted-2); letter-spacing: .08em; }
.auth-icp-record { color: var(--acid); font: 11px "Microsoft YaHei", sans-serif; letter-spacing: .03em; text-decoration: none; }
.auth-icp-record:hover { color: var(--amber); text-decoration: underline; }

dialog { width: min(500px, calc(100% - 32px)); padding: 0; border: 1px solid var(--line-strong); border-radius: 0; color: var(--text); background: var(--surface-2); box-shadow: 0 28px 80px rgba(0, 0, 0, .75); }
dialog.wide-dialog { width: min(960px, calc(100% - 32px)); }
dialog::backdrop { background: rgba(0, 0, 0, .78); backdrop-filter: blur(3px); }
.dialog-head { padding: 22px 24px 16px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: flex-start; }
.dialog-head h2 { letter-spacing: .02em; }
#settingsForm { padding: 0 20px 20px; display: grid; gap: 15px; }
#toolForm { padding: 0 24px 22px; display: grid; gap: 0; }
.dialog-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.employee-template-block { padding: 18px 0 20px; border-bottom: 1px solid var(--line); }
.employee-template-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; color: var(--acid-dim); font: 10px Consolas, monospace; }
.template-note { color: var(--muted); font: 10px "Microsoft YaHei", sans-serif; }
.employee-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
.avatar-choice { min-width: 0; min-height: 76px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 10px; color: var(--muted); text-align: left; }
.avatar-choice:hover { border-color: var(--line-strong); background: var(--surface-2); }
.avatar-choice .role-avatar { width: 44px; height: 54px; border: 1px solid rgba(155, 255, 207, .22); background: #050807 url("/static/assets/work-badge.gif?v=2") center / 200% auto no-repeat; overflow: hidden; }
.avatar-choice .role-copy { min-width: 0; display: grid; gap: 5px; }
.avatar-choice .role-copy strong { color: var(--text); font: 600 12px "Microsoft YaHei", sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avatar-choice .role-copy small { min-width: 0; color: var(--muted); font: 9px "Microsoft YaHei", sans-serif; line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avatar-choice .role-detail { color: var(--acid-dim); font: 9px Consolas, monospace; white-space: nowrap; }
.avatar-choice.active { border-color: var(--acid); background: rgba(155, 255, 207, .07); box-shadow: inset 2px 0 0 var(--acid); }
.avatar-choice.active .role-copy strong, .avatar-choice.active .role-detail { color: var(--acid); }
.employee-details { padding: 19px 0 21px; display: grid; gap: 15px; }
.employee-field-row { display: grid; grid-template-columns: 1.2fr .8fr .9fr; gap: 13px; }
.employee-details label { min-width: 0; }
.employee-details label > span { color: var(--muted); }
.employee-details label > span em { color: var(--acid); font-style: normal; }
.employee-details textarea { min-height: 0; padding: 11px; resize: vertical; font-size: 11px; line-height: 1.6; }
#toolSummary { min-height: 76px; }
#toolInstructions { min-height: 132px; }
.employee-dialog-actions { padding-top: 16px; border-top: 1px solid var(--line); }
.employee-dialog-actions > div { display: flex; align-items: center; gap: 9px; }

@media (max-width: 1540px) {
  .app-shell { grid-template-columns: 240px minmax(0, 1fr); }
  .inspector-rail { display: none; }
}

@media (max-width: 1060px) {
  .topbar { grid-template-columns: 1fr auto; height: auto; min-height: 62px; padding: 10px 14px; }
  .search-box { grid-column: 1 / -1; order: 3; }
  .top-actions { justify-content: flex-end; }
  .app-shell { grid-template-columns: 1fr; }
  .category-sidebar { position: static; height: auto; margin-bottom: 0; padding: 15px 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  .category-list { grid-auto-flow: column; grid-auto-columns: minmax(130px, 1fr); overflow-x: auto; padding-bottom: 4px; }
  .workspace { padding: 22px 16px 58px; }
  .agent-layout { grid-template-columns: 1fr; }
  .rules-section, .delivery-section { padding: 24px 0; }
  .delivery-section { border-left: 0; border-top: 1px solid var(--line); }
  .title-generator-layout { grid-template-columns: 1fr; }
  .title-input-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .title-results-panel { padding: 24px 0 0; }
  .td-layout { grid-template-columns: 1fr; gap: 0; }
  .td-input-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .td-results-panel { padding: 24px 0 0; }
  .image-generator-layout { grid-template-columns: 1fr; gap: 0; }
  .image-config-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .image-results-panel { padding: 24px 0 0; }
  .video-generator-layout { grid-template-columns: 1fr; gap: 0; }
  .video-config-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .video-results-panel { padding: 24px 0 0; }
  .intel-layout { grid-template-columns: 1fr; }
  .intel-config-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .intel-report-panel { padding: 24px 0 0; }
  .rfq-month-bar { grid-template-columns: 1fr; align-items: stretch; gap: 12px; }
  .rfq-month-add { grid-template-columns: auto minmax(120px, 1fr) auto; }
  .rfq-dashboard-grid { grid-template-columns: 1fr; gap: 0; }
  .rfq-metrics-panel { padding: 24px 0; border-bottom: 1px solid var(--line); }
  .rfq-capture-panel { padding: 24px 0 0; border-left: 0; }
  .rfq-metric-table { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rfq-record-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rfq-record-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rfq-record-delete { grid-column: 2; justify-self: end; }
  .visitor-layout { grid-template-columns: 1fr; gap: 0; }
  .visitor-config-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .visitor-import-strip { grid-template-columns: 1fr; align-items: stretch; }
  .visitor-import-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visitor-import-strip > .message { text-align: left; }
  .visitor-manual-layout { grid-template-columns: 1fr; gap: 0; }
  .visitor-product-panel { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .visitor-product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visitor-organize-panel { padding: 24px 0 0; }
}

@media (max-width: 660px) {
  .runtime { display: none; }
  .top-actions { grid-column: 1 / -1; justify-content: stretch; }
  .top-actions .ghost-button, .top-actions .primary-button { flex: 1; }
  .tool-grid { grid-template-columns: 1fr; }
  .badge-card { height: 414px; }
  .agent-header { grid-template-columns: 76px 1fr; }
  .idle-state { grid-column: 1 / -1; width: max-content; }
  .agent-header h1 { font-size: 23px; }
  .title-workbench-head { align-items: flex-start; flex-direction: column; }
  .title-engine-status { width: 100%; justify-content: space-between; }
  .td-workbench-head { align-items: flex-start; flex-direction: column; }
  .td-engine-status { width: 100%; justify-content: space-between; }
  .td-check-list { grid-template-columns: 1fr; }
  .td-check:nth-child(even) { padding-left: 0; border-left: 0; }
  .td-field-grid { grid-template-columns: 1fr; }
  .image-workbench-head { align-items: flex-start; flex-direction: column; }
  .image-engine-note { width: 100%; }
  .image-option-grid, .image-results-grid { grid-template-columns: 1fr; }
  .video-workbench-head { align-items: flex-start; flex-direction: column; }
  .video-engine-note { width: 100%; }
  .video-option-grid { grid-template-columns: 1fr; }
  .video-gateway-grid { grid-template-columns: 1fr; }
  .video-gateway-footer { align-items: flex-start; flex-direction: column; }
  .video-gateway-footer > div { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .intel-workbench-head { align-items: flex-start; flex-direction: column; }
  .intel-engine-status { width: 100%; justify-content: space-between; }
  .intel-targets { grid-template-columns: 1fr; max-height: none; }
  .intel-option-grid { grid-template-columns: 1fr; }
  .intel-report-row { grid-template-columns: 1fr auto; }
  .intel-report-row em { grid-column: 1 / -1; }
  .daily-intel-summary, .daily-intel-grid { grid-template-columns: 1fr; }
  .daily-intel-summary > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .daily-intel-block-head { align-items: flex-start; flex-direction: column; }
  .rfq-workbench-head { align-items: flex-start; flex-direction: column; }
  .rfq-engine-status { width: 100%; justify-content: space-between; }
  .rfq-calendar-control { width: 100%; justify-content: space-between; }
  .rfq-calendar-picker, .rfq-calendar-toggle { width: 100%; }
  .rfq-calendar-popover { left: 0; right: auto; width: min(238px, calc(100vw - 32px)); }
  .rfq-metric-row { grid-template-columns: minmax(122px, 1.1fr) repeat(3, minmax(70px, 1fr)); gap: 6px; }
  .rfq-metric-row input { padding: 0 5px; font-size: 10px; }
  .rfq-metric-table { grid-template-columns: 1fr; gap: 8px; }
  .rfq-kpi-card { min-height: 150px; }
  .rfq-panel-head { align-items: flex-start; }
  .rfq-panel-actions { align-items: flex-end; flex-direction: column; gap: 5px; }
  .rfq-record-form { grid-template-columns: 1fr; }
  .rfq-record-wide, .rfq-record-actions { grid-column: 1; }
  .rfq-record-item { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rfq-record-delete { grid-column: 2; }
  .visitor-workbench-head { align-items: flex-start; flex-direction: column; }
  .visitor-engine-status { width: 100%; justify-content: space-between; }
  .visitor-shop-bar { grid-template-columns: 1fr; align-items: stretch; }
  .visitor-shop-tabs { order: 2; }
  .visitor-shop-edit { order: 3; }
  .visitor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visitor-kpi-grid > div:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .visitor-kpi-grid > div:nth-child(4) { border-top: 1px solid var(--line); }
  .visitor-signal-grid, .visitor-lower-grid, .visitor-output-grid { grid-template-columns: 1fr; }
  .visitor-period-row { align-items: flex-start; flex-direction: column; }
  .visitor-period-row select { width: 100%; }
  .visitor-import-inline { grid-template-columns: 1fr; }
  .visitor-product-list { grid-template-columns: 1fr; }
  .visitor-organize-head, .visitor-pending-head { align-items: flex-start; flex-direction: column; }
  .visitor-organize-head select { width: 100%; }
  .visitor-pending-actions { width: 100%; justify-content: flex-start; }
  .visitor-pending-actions select { width: 100%; }
  .field-grid, .tool-form-grid, .employee-field-row { grid-template-columns: 1fr; }
  .employee-role-grid { grid-template-columns: 1fr; }
  .output-head { align-items: flex-start; flex-direction: column; }
  .output-head > div:last-child { align-items: flex-start; }
  .output-grid { grid-template-columns: 1fr; }
  .output-grid > div, .output-grid > div + div { padding: 18px 0; border-left: 0; border-top: 1px solid var(--line); }
  .record-row { grid-template-columns: 1fr auto; }
  .record-row time, .record-row > span { display: none; }
  .task-card { grid-template-columns: 1fr 1fr; gap: 11px; }
  .task-card-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Mobile catalog hierarchy: keep navigation visible without letting system metadata
   push the employee cards below the fold. */
@media (max-width: 660px) {
  body { background: var(--bg); }
  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand actions" "search search";
    min-height: 0;
    padding: 11px 14px 10px;
    gap: 10px;
    background: rgba(5, 8, 7, .985);
  }
  .brand { grid-area: brand; width: 148px; height: 34px; padding: 0; }
  .brand-logo { width: 142px; max-height: 29px; }
  .top-actions { grid-area: actions; grid-column: auto; gap: 6px; }
  .top-actions .ghost-button { flex: 0 0 auto; height: 31px; padding: 0 9px; font-size: 9px; }
  .search-box { grid-area: search; order: initial; height: 35px; }

  .app-shell { min-height: 0; display: block; }
  .category-sidebar {
    position: static;
    height: auto;
    margin: 0;
    padding: 10px 14px 9px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    background: var(--surface-2);
    overflow: hidden;
  }
  .category-head { margin: 0 0 8px; color: var(--acid); font-size: 10px; }
  .category-head button { width: 24px; height: 24px; font-size: 14px; }
  .category-list {
    display: flex;
    gap: 7px;
    margin: 0 -14px;
    padding: 0 14px 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .category-list::-webkit-scrollbar { display: none; }
  .category-button {
    min-width: max-content;
    min-height: 32px;
    flex: 0 0 auto;
    padding: 0 10px;
    border: 1px solid var(--line);
    color: var(--muted);
    background: rgba(155, 255, 207, .025);
    font-size: 10px;
  }
  .category-button:hover { background: rgba(155, 255, 207, .06); }
  .category-button.active { border-color: var(--amber); color: var(--acid); background: rgba(255, 200, 61, .08); box-shadow: inset 0 -2px 0 var(--amber); }
  .category-button b { margin-left: 7px; font-size: 10px; }
  .sidebar-dashboard {
    margin: 9px 0 0;
    padding: 8px 0 0;
    border-top: 1px solid rgba(155, 255, 207, .1);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px 10px;
  }
  .dashboard-kicker { margin: 0; font-size: 9px; }
  .dashboard-stat { min-width: 0; font-size: 8px; line-height: 1.35; }
  .dashboard-stat span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dashboard-stat:first-of-type { grid-column: 2; }
  .dashboard-stat:nth-of-type(2) { grid-column: 3; }
  .dashboard-action, .dashboard-message, .dashboard-footer, .dashboard-meta { display: none; }

  .workspace { padding: 17px 14px 44px; }
  .catalog-head { min-height: 48px; margin-bottom: 10px; padding-bottom: 9px; }
  .catalog-head h2 { font-size: 19px; }
  .catalog-head span { font-size: 9px; }
  .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 8px; }
  .badge-card {
    width: 100%;
    height: auto;
    aspect-ratio: 372 / 450;
    background-size: 100% 100%;
    overflow: hidden;
  }
  .badge-card:hover { transform: translateY(-2px); }
  .card-open { overflow: hidden; }
  .badge-tag { left: 27%; top: 33.6%; max-width: 47%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 7px; }
  .card-actions { top: 28.5%; right: 22.8%; }
  .small-icon { width: 18px; height: 18px; font-size: 9px; }
  .badge-card h3 { left: 13%; top: 70.8%; width: 74%; font-size: 10px; line-height: 1.12; }
  .badge-card p { left: 20%; top: 76.4%; width: 60%; font-size: 7px; }
  .badge-meta { left: 8%; top: 81.8%; width: 84%; font-size: 6px; }
}
