/* 云才识 · Quiet Workspace
   Local SVG assets, system typography, no external fonts or network dependencies. */
:root {
  color-scheme: light;
  --bg-base: #f5f5f7;
  --bg-deep: #ffffff;
  --bg-panel: #f8f9fb;
  --bg-elevated: #edf0f5;
  --bg-hover: #e9edf3;
  --border: #e2e7ef;
  --container-border: #cfd8e5;
  --group-border: #dce3ee;
  --border-strong: #d7dbe2;
  --text-1: #22252c;
  --text-2: #626976;
  --text-3: #737b88;
  --brand: #2267d9;
  --brand-strong: #1558c7;
  --brand-soft: #eaf1fd;
  --brand-glow: rgba(34,103,217,.14);
  --ok: #21805d;
  --warn: #a96a0b;
  --err: #c34042;
  --radius: 18px;
  --radius-sm: 9px;
  --shadow: 0 8px 32px rgba(32,42,64,.07);
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "SFMono-Regular", Consolas, monospace;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; overflow: hidden; }
body { font: 14px/1.5 var(--font); color: var(--text-1); background: var(--bg-base); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button, select { cursor: pointer; }
button { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: not-allowed; }
button, [role=button], label, .eyebrow { user-select: none; }
button:focus-visible, [role=button]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(34,103,217,.34); outline-offset: 3px;
}
input, textarea { user-select: text; }
::selection { background: #dce8fc; color: #15386d; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border-radius: 8px; background: #c9cdd5; border: 2px solid var(--bg-base); }
.hidden { display: none !important; }
.icon { width: 20px; height: 20px; display: inline-block; flex: 0 0 auto; vertical-align: middle; overflow: visible; }
.app { display: grid; height: 100vh; grid-template-columns: 224px minmax(0,1fr); grid-template-rows: 76px minmax(0,1fr); grid-template-areas: "sidebar topbar" "sidebar content"; }

/* The translucent sidebar is the stable visual anchor of all four views. */
.sidebar { grid-area: sidebar; min-height: 0; display: flex; flex-direction: column; padding: 30px 17px 23px; border-right: 1px solid #e0e3e9; background: linear-gradient(155deg,rgba(246,248,252,.94),rgba(234,237,244,.88)); backdrop-filter: blur(24px); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px; margin-bottom: 49px; }
.brand-mark { width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(145deg,#4b8aee,#2260c8); color: #fff; display: grid; place-items: center; box-shadow: 0 4px 10px rgba(35,98,198,.17),inset 0 1px 0 rgba(255,255,255,.3); }
.brand-mark .icon { width: 27px; height: 27px; }
.brand-text h1 { font-size: 20px; line-height: 1.4; font-weight: 650; letter-spacing: 1px; }
.brand-text p { color: var(--text-2); font-size: 10px; letter-spacing: .1px; margin-top: 3px; white-space: nowrap; }
.nav-label { color: #7d8593; font-size: 10px; font-weight: 600; letter-spacing: 1.6px; padding: 0 14px; margin-bottom: 12px; }
.sidebar nav { display: flex; flex-direction: column; gap: 8px; }
.nav-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 46px; padding: 11px 15px; border-radius: 10px; border: 1px solid transparent; background: transparent; text-align: left; color: #606978; font-size: 13px; transition: background .18s,color .18s,box-shadow .18s; }
.nav-item .nav-icon { display: flex; color: #798393; }
.nav-item:hover { background: rgba(255,255,255,.6); color: var(--text-1); }
.nav-item.active { color: #225eb6; font-weight: 600; background: rgba(255,255,255,.94); border-color: rgba(255,255,255,.7); box-shadow: 0 2px 7px rgba(36,47,69,.055),0 0 1px rgba(36,47,69,.09); }
.nav-item.active .nav-icon { color: var(--brand); }
.nav-item:last-child { margin-top: 22px; }
.sidebar-foot { margin-top: auto; padding: 25px 12px 0; }
.workspace-badge { display: flex; align-items: center; gap: 8px; color: #626f83; font-size: 11px; }
.workspace-badge .icon { width: 16px; height: 16px; color: #8392a9; }
.version-sub { font-size: 10px; color: #7b8493; margin-top: 10px; display: flex; justify-content: space-between; }
.topbar { grid-area: topbar; display: flex; align-items: center; justify-content: space-between; padding: 0 38px; gap: 20px; background: rgba(251,251,253,.8); backdrop-filter: blur(20px); border-bottom: 1px solid #e8e9ee; }
.workspace-crumb { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #7a8290; white-space: nowrap; }
.workspace-crumb .icon { width: 11px; height: 11px; color: #a6adba; }
.workspace-crumb strong { color: #48505f; font-weight: 500; }
.topbar-right { display: flex; align-items: center; gap: 24px; }
.stat-chip { display: flex; align-items: baseline; gap: 5px; font-variant-numeric: tabular-nums; }
.stat-chip span { font-size: 15px; color: #535b68; font-weight: 600; }
.stat-chip label { font-size: 10px; color: #7a8391; }
.engine-chip { display: flex; align-items: center; gap: 7px; border: 1px solid #e2e6ed; padding: 6px 11px; border-radius: 7px; background: #fff; color: #646e7d; font-size: 10px; max-width: 240px; }
.engine-chip span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dot { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: #9ba4b4; display: inline-block; }
.engine-chip.online .dot { background: #54a388; }
.content { grid-area: content; min-width: 0; overflow: auto; padding: 36px 38px 32px; scroll-behavior: smooth; }
.view { display: none; max-width: 1380px; margin: 0 auto; animation: appear .22s ease; }
.view.active { display: block; }
@keyframes appear { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.view-head { margin-bottom: 27px; }
.eyebrow { color: #7d8798; font-size: 9px; font-weight: 600; letter-spacing: 2.1px; margin-bottom: 7px; }
.view-head h2 { font-size: 29px; font-weight: 650; line-height: 1.4; letter-spacing: -.7px; }
.view-head p { color: var(--text-2); font-size: 12px; margin-top: 8px; line-height: 1.8; }
.panel { background: var(--bg-deep); border: 1px solid var(--container-border); border-radius: var(--radius); margin-bottom: 22px; overflow: hidden; box-shadow: 0 3px 10px rgba(30,40,60,.015); }
.panel-head { min-height: 68px; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--border); background: #fafbfd; }
.panel-head h3 { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; min-width: 0; }
.panel-head h3 .icon { width: 17px; height: 17px; color: #8490a4; }
.panel-body { padding: 22px 24px; }
.target-job { display: flex; align-items: center; gap: 12px; }
.target-job label { font-size: 11px; color: var(--text-2); white-space: nowrap; }
.target-job .select { width: 232px; font-size: 12px; height: 34px; }
.head-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.head-tools > .select { width: 210px; }
.two-col { display: grid; grid-template-columns: minmax(225px,.38fr) minmax(0,1fr); gap: 22px; align-items: start; }
.two-col > .panel:first-child { position: sticky; top: 0; }
.two-col .panel-head { padding: 16px 20px; }
.two-col .panel-body { padding: 20px; }

/* Familiar macOS-like controls. */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 8px 14px; font-size: 12px; line-height: 1.4; font-weight: 500; white-space: nowrap; border: 1px solid #dce0e7; border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(30,40,60,.025); transition: background .16s,border-color .16s,box-shadow .16s; }
.btn .icon { width: 15px; height: 15px; }
.btn:hover { background: #f5f7fa; border-color: #bfc8d5; }
.btn:active { transform: translateY(1px); }
.btn.primary { background: linear-gradient(#347be8,#2468d6); border-color: #2363cb; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 2px 4px rgba(36,104,214,.13); }
.btn.primary:hover { background: linear-gradient(#2c72df,#1e5fc6); }
.btn.ghost { color: #616b7b; }
.btn.danger { color: #bd4146; background: #fff7f7; border-color: #ecd8da; }
.btn.danger:hover { background: #fff0f0; border-color: #d8acb0; }
.btn.sm { min-height: 30px; padding: 5px 10px; font-size: 11px; }
.btn:disabled { opacity: .48; box-shadow: none; transform: none; }
.input,.select,.textarea { width: 100%; min-width: 0; padding: 9px 12px; background: #fbfcfe; border: 1px solid #dfe3ea; border-radius: 8px; color: var(--text-1); font-size: 12px; transition: border-color .16s,box-shadow .16s; }
.input,.select { min-height: 38px; }
.input:hover,.select:hover,.textarea:hover { border-color: #c4ccda; }
.input:focus,.select:focus,.textarea:focus { outline: none; border-color: #7fa7e8; background: #fff; box-shadow: 0 0 0 3px rgba(34,103,217,.1); }
.select { appearance: none; padding-right: 32px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23798291' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E"); background-position: right 12px center; background-repeat: no-repeat; }
.select.sm { width: auto; min-width: 140px; min-height: 32px; padding: 5px 30px 5px 10px; font-size: 11px; }
.textarea { min-height: 128px; resize: vertical; line-height: 1.8; }
.input::placeholder,.textarea::placeholder { color: #8a93a2; }
.field { min-width: 0; margin-bottom: 20px; }
.field label { display: block; color: #535d6c; font-size: 11px; font-weight: 500; margin-bottom: 8px; }
.field label i { color: var(--err); font-style: normal; }
.field-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 16px; }
.hint { font-size: 11px; color: var(--text-2); line-height: 1.9; margin-top: 15px; overflow-wrap: anywhere; }
.empty { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; padding: 29px 18px 34px; text-align: center; color: #788394; }
.empty > .icon { width: 29px; height: 29px; color: #a4afc0; margin-bottom: 3px; }
.empty strong { font-size: 12px; font-weight: 500; color: #687284; }
.empty > span { font-size: 11px; line-height: 1.8; }

/* Import canvas: the illustration is built entirely from scalable vector shapes. */
.dropzone { position: relative; border: 1px dashed #bacce6; border-radius: 13px; padding: 24px 20px 22px; background: radial-gradient(ellipse at 50% 10%,#f0f5fe 0, #f8faff 44%,#fbfcff 100%); text-align: center; cursor: pointer; transition: border-color .18s,background .18s,box-shadow .18s; }
.dropzone:hover,.dropzone.dragover { border-color: #5989d5; background: #f0f5ff; box-shadow: inset 0 0 0 1px rgba(34,103,217,.12); }
.drop-art { height: 76px; width: 100px; margin: 0 auto 12px; position: relative; pointer-events: none; }
.paper-back { position: absolute; width: 44px; height: 57px; background: #e4ecfb; border: 1px solid #cddcf5; border-radius: 8px; left: 18px; top: 9px; transform: rotate(-13deg); }
.paper-front { display: grid; place-items: center; position: absolute; width: 46px; height: 59px; background: #fff; border: 1px solid #d3e0f5; border-radius: 8px; left: 35px; top: 3px; transform: rotate(8deg); box-shadow: 0 4px 8px rgba(60,100,170,.05); }
.paper-front > .icon { width: 32px; height: 32px; color: #799bd5; }
.upload-orb { display: grid; place-items: center; position: absolute; right: 7px; bottom: 4px; width: 28px; height: 28px; border-radius: 50%; background: #3378de; color: white; box-shadow: 0 3px 7px #c2d4f3; }
.upload-orb .icon { width: 16px; height: 16px; }
.drop-title { font-size: 17px; font-weight: 600; letter-spacing: .2px; }
.drop-choice { color: #7a8596; font-size: 11px; margin-top: 5px; }
.drop-choice span { color: #326ac4; }
.drop-sub { color: #7a8494; font-size: 10px; margin-top: 13px; }
.format-list { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 12px; }
.format-list span { font: 8px/1.5 var(--font); letter-spacing: .4px; border: 1px solid #e0e6f0; border-radius: 4px; padding: 2px 6px; color: #8994a6; background: #fff; }
.file-list { display: flex; flex-direction: column; gap: 7px; }
.file-list:not(:empty) { margin-top: 16px; max-height: 208px; overflow: auto; }
.file-item { display: flex; align-items: center; gap: 9px; border: 1px solid var(--group-border); border-radius: 8px; padding: 8px 11px; font-size: 11px; color: #5c6676; }
.file-item > .icon { width: 17px; height: 17px; color: #7c97be; }
.fname { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fremove { display: grid; place-items: center; padding: 5px; border: 0; border-radius: 5px; background: transparent; color: #8b95a5; }
.fremove .icon { width: 13px; height: 13px; pointer-events: none; }
.fremove:hover { color: var(--err); background: #fff1f1; }
.progress-wrap { margin-top: 17px; }
.progress-bar { height: 5px; overflow: hidden; border-radius: 4px; background: #edf1f7; }
.progress-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: #4d87e3; transition: width .25s; }
.progress-text { color: #737f91; font-size: 11px; margin-top: 7px; overflow-wrap: anywhere; }
.parse-report { border: 1px solid #e2e8ec; background: #fafcfc; border-radius: 9px; margin-top: 15px; padding: 11px 13px; font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; }
.parse-report .ok { color: var(--ok); }
.parse-report .bad { color: var(--err); }
.parse-report .icon { width: 14px; height: 14px; margin-right: 6px; }

/* Data remains the visual priority; subdued labels, readable rows. */
.table-wrap { overflow-x: auto; border: 1px solid var(--group-border); border-radius: 9px; }
.table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 12px; text-align: left; }
#result-table { min-width: 900px; }
.table th { padding: 11px 12px; font-size: 10px; font-weight: 500; color: #727d8e; white-space: nowrap; background: #f7f8fa; border-bottom: 1px solid var(--group-border); }
.table th:first-child { border-radius: 6px 0 0 0; }
.table th:last-child { border-radius: 0 6px 0 0; }
.table td { padding: 15px 12px; border-bottom: 1px solid #e6ebf2; vertical-align: middle; color: #556173; line-height: 1.7; overflow-wrap: anywhere; }
.table td:first-child { color: #313b4c; font-weight: 500; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: #fafbfe; }
.table td.num,.num { font-variant-numeric: tabular-nums; }
.table td:nth-child(3) { max-width: 210px; }
#resume-table td:nth-child(5) { max-width: 180px; }
.link { display: inline-flex; align-items: center; justify-content: center; gap: 4px; font-size: 11px; padding: 4px 3px; border: none; border-radius: 4px; background: transparent; color: var(--brand); white-space: nowrap; }
.link .icon { width: 13px; height: 13px; }
.link:hover { color: #17498f; background: var(--brand-soft); }
.delete-link { color: #8c94a2; }
.delete-link:hover { color: var(--err); background: #fff0f0; }
.score-cell { display: flex; align-items: center; gap: 7px; }
.score-bar { width: 38px; height: 4px; background: #edf1f6; border-radius: 4px; overflow: hidden; }
.score-bar i { display: block; height: 100%; border-radius: 4px; background: #8daee4; }
.total-badge { display: inline-block; min-width: 48px; padding: 4px 9px; background: #edf4ff; color: #2a64b9; border-radius: 7px; font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
.rank-1,.rank-2,.rank-3 { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 6px; font-weight: 600; }
.rank-1 { color: #9b7627; background: #faf3df; }
.rank-2 { color: #6c7e98; background: #edf0f6; }
.rank-3 { color: #a37e67; background: #f6efea; }
.reason-cell { max-width: 285px; min-width: 150px; color: #727d8d !important; font-size: 10px; line-height: 1.8; }
.filter-row { display: flex; align-items: center; gap: 11px; color: #727e90; font-size: 11px; }
#view-result .panel-head { flex-wrap: wrap; }
#view-result .head-tools { margin-left: auto; }

.job-list { display: flex; flex-direction: column; gap: 9px; }
.job-card { border: 1px solid var(--group-border); border-radius: 10px; padding: 16px 14px; cursor: pointer; background: #fbfcfe; transition: border-color .16s,background .16s; }
.job-card:hover { border-color: #b3c8ea; background: #f6f9ff; }
.job-card.active { border-color: #a8c2ec; background: #f0f5fe; box-shadow: inset 3px 0 0 #5e8fdc; }
.job-card h4 { font-size: 12px; font-weight: 600; color: #46556f; }
.job-card p { font-size: 10px; color: #788496; margin-top: 8px; line-height: 1.8; overflow-wrap: anywhere; }
.weights { border: 1px solid var(--group-border); background: #fbfcfe; padding: 17px 15px; border-radius: 10px; display: flex; flex-direction: column; gap: 18px; }
.weight-row { display: grid; grid-template-columns: 66px minmax(40px,1fr) 38px; align-items: center; gap: 12px; }
.weight-row span { font-size: 11px; color: #697589; }
.weight-row b { font-size: 11px; font-weight: 500; text-align: right; color: #4978bd; font-variant-numeric: tabular-nums; }
input[type=range] { appearance: none; width: 100%; height: 4px; border-radius: 4px; background: #dce4f1; cursor: pointer; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 16px; height: 16px; border-radius: 50%; border: 1px solid #7d8796; background: #929baa; box-shadow: 0 1px 4px rgba(32,58,98,.16); }
input[type=range]::-moz-range-thumb { width: 15px; height: 15px; border-radius: 50%; border: 1px solid #7d8796; background: #929baa; }

/* Model channels are selectable cards; each uses its own original SVG. */
.engine-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.engine-card { position: relative; padding: 20px 17px 18px; border: 1px solid var(--group-border); border-radius: 12px; background: #fbfcfe; cursor: pointer; transition: border-color .18s,background .18s,box-shadow .18s; }
.engine-card:hover { border-color: #a8bfdf; background: #f6f9ff; }
.engine-card.active { border-color: #87aee8; background: #f3f7ff; box-shadow: 0 0 0 2px rgba(70,120,200,.045); }
.channel-icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: #eff2f7; border-radius: 9px; color: #7989a4; margin-bottom: 16px; }
.engine-card.active .channel-icon { background: #e5efff; color: #3774cf; }
.channel-icon .icon { width: 21px; height: 21px; }
.engine-card h4 { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; font-weight: 600; line-height: 1.7; }
.engine-card .tag { font-size: 8px; font-weight: 400; padding: 1px 5px; border-radius: 4px; border: 1px solid #e0e5ed; background: #fff; color: #7d889a; }
.engine-card .tag.default { color: #3774b8; border-color: #d0e2f8; background: #edf5ff; }
.engine-card p { color: #748195; font-size: 10px; line-height: 1.9; margin-top: 9px; }
.tick { position: absolute; top: 20px; right: 17px; display: grid; place-items: center; height: 16px; width: 16px; border-radius: 50%; border: 1px solid #d3dce9; background: #fff; }
.tick .icon { width: 11px; height: 11px; opacity: 0; }
.engine-card.active .tick { color: #fff; border-color: #3d7add; background: #3d7add; }
.engine-card.active .tick .icon { opacity: 1; }
.engine-config { border: 1px solid var(--group-border); border-radius: 12px; padding: 22px 20px; margin-bottom: 20px; background: #fafbfd; }
.engine-config .field:last-of-type { margin-bottom: 0; }
.local-status { border: 1px solid var(--group-border); border-radius: 9px; padding: 14px 16px; background: #fff; margin-bottom: 14px; }
.status-head { display: flex; align-items: center; gap: 9px; color: #4e617e; font-size: 12px; }
.status-head .dot.ok { background: var(--ok); }
.status-head .dot.err { background: var(--err); }
.status-head .dot.loading { background: var(--warn); animation: pulse 1s infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.status-meta { color: #7a879b; font-size: 10px; line-height: 1.9; margin-top: 8px; overflow-wrap: anywhere; }
.check-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.check-item { display: flex; align-items: flex-start; gap: 9px; padding: 10px 12px; border-radius: 7px; background: #f1f4f8; box-shadow: inset 0 0 0 1px var(--group-border); font-size: 11px; color: #5b6c85; }
.check-item .mark .icon { width: 14px; height: 14px; margin-top: 2px; }
.check-item.pass .mark { color: var(--ok); }
.check-item.fail { background: #fff0f1; }
.check-item.fail .mark { color: var(--err); }
.check-item.warn { background: #fff8e9; }
.check-item.warn .mark { color: var(--warn); }
.check-item .detail { font-size: 10px; color: #7f8c9f; margin-top: 3px; overflow-wrap: anywhere; }
.result-box { display: flex; align-items: flex-start; gap: 8px; border: 1px solid #dfe5ee; background: #f7f9fc; border-radius: 9px; padding: 12px 14px; font-size: 11px; line-height: 1.8; margin-top: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }
.result-box > .icon { width: 16px; height: 16px; margin-top: 2px; }
.result-box.ok { color: #2d7b5e; border-color: #cfe4d9; background: #f2f9f5; }
.result-box.err { color: #b1454e; border-color: #edd1d5; background: #fff5f5; }

/* Candidate detail slides in as a native-feeling inspector. */
.drawer-mask { position: fixed; inset: 0; z-index: 40; background: rgba(37,46,63,.2); backdrop-filter: blur(3px); }
.drawer { position: fixed; top: 12px; right: 12px; bottom: 12px; z-index: 50; width: min(500px,calc(100vw - 24px)); display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; box-shadow: 0 15px 70px rgba(30,45,70,.18); transform: translateX(calc(100% + 24px)); transition: transform .24s ease; }
.drawer.open { transform: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 23px 24px; border-bottom: 1px solid var(--border); }
.drawer-head h3 { font-size: 14px; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.drawer-body { padding: 26px; overflow: auto; line-height: 1.9; }
.detail-block { margin-bottom: 18px; padding: 16px; border: 1px solid var(--group-border); border-radius: 11px; }
.detail-block h5 { color: #72809a; font-size: 10px; font-weight: 500; letter-spacing: .6px; margin-bottom: 10px; }
.detail-block p,.detail-block li { font-size: 12px; color: #56647b; overflow-wrap: anywhere; }
.detail-block:first-child { background: #f5f8fd; border-radius: 12px; padding: 18px; }
.detail-block:first-child p:first-of-type { font-size: 38px !important; letter-spacing: -1.5px; }
.detail-block ul { padding-left: 17px; }
.detail-block li + li { margin-top: 9px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chip { display: inline-block; border: 1px solid #e0e8f3; border-radius: 5px; padding: 2px 7px; margin: 2px 0; background: #f2f6fc; color: #6a83a8; font-size: 9px; font-weight: 400; white-space: nowrap; }
.toast-wrap { position: fixed; z-index: 100; top: 91px; right: 30px; display: flex; flex-direction: column; gap: 9px; pointer-events: none; }
.toast { display: flex; align-items: flex-start; gap: 9px; padding: 13px 17px; border-radius: 11px; border: 1px solid #e2e7ef; background: rgba(255,255,255,.97); backdrop-filter: blur(16px); box-shadow: 0 6px 25px rgba(33,46,72,.1); max-width: min(400px,calc(100vw - 40px)); color: #5b697f; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; animation: toastIn .2s ease; }
.toast .icon { width: 17px; height: 17px; margin-top: 2px; color: var(--brand); }
.toast.ok .icon { color: var(--ok); }
.toast.err .icon { color: var(--err); }
@keyframes toastIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Keep working text comfortable to read on typical Windows laptop screens. */
.nav-item { font-size: 14px; }
.view-head p { font-size: 13px; }
.panel-head h3 { font-size: 14px; }
.btn { font-size: 13px; }
.btn.sm,.field label,.weight-row span,.weight-row b { font-size: 12px; }
.input,.select,.textarea { font-size: 13px; }
.table th,.reason-cell,.engine-card p,.hint,.drop-sub { font-size: 11px; }
.engine-card h4 { font-size: 13px; }
.chip { font-size: 10px; }
.empty strong { font-size: 13px; }
.empty > span { font-size: 12px; }
@media (min-width: 1600px) { .content { padding: 44px 54px; } .topbar { padding: 0 54px; } .dropzone { padding-top: 35px; padding-bottom: 31px; } }
@media (max-width: 1200px) {
  .app { grid-template-columns: 200px minmax(0,1fr); }
  .sidebar { padding-left: 12px; padding-right: 12px; }
  .brand { gap: 9px; padding: 0 6px; }
  .brand-text p { font-size: 9px; }
  .brand-mark { width: 36px; height: 36px; }
  .topbar { padding: 0 26px; }
  .topbar-right { gap: 17px; }
  .content { padding: 30px 26px; }
  .panel-head { padding: 15px 20px; }
  .panel-body { padding: 20px; }
  .two-col { grid-template-columns: 225px minmax(0,1fr); gap: 18px; }
  .two-col .panel-head,.two-col .panel-body { padding: 17px; }
  .engine-cards { gap: 10px; }
  .engine-card { padding: 17px 13px; }
  .engine-card h4 { font-size: 11px; }
}
@media (max-width: 980px) {
  .app { grid-template-columns: 176px minmax(0,1fr); grid-template-rows: 68px minmax(0,1fr); }
  .brand { gap: 8px; padding: 0 3px; }
  .brand-text h1 { font-size: 18px; }
  .brand-text p { font-size: 8px; }
  .brand-mark { width: 31px; height: 33px; border-radius: 9px; }
  .topbar-right { gap: 12px; }
  .stat-chip { gap: 3px; }
  .workspace-crumb { gap: 7px; }
  .engine-chip { max-width: 160px; }
  .content { padding: 27px 22px; }
  .two-col { grid-template-columns: 1fr; }
  .two-col > .panel:first-child { position: static; }
  .engine-cards { grid-template-columns: 1fr; }
  .engine-card { padding-left: 64px; min-height: 105px; }
  .channel-icon { position: absolute; left: 16px; top: 18px; }
  .engine-card h4 { padding-right: 22px; }
  .engine-card p { margin-right: 20px; }
}
@media (max-width: 720px) {
  .app { grid-template-columns: 72px minmax(0,1fr); grid-template-rows: 62px minmax(0,1fr); }
  .sidebar { padding: 20px 9px; }
  .brand { padding: 0; justify-content: center; margin-bottom: 35px; }
  .brand-text,.nav-label,.nav-item > span:last-child,.sidebar-foot { display: none; }
  .nav-item { justify-content: center; padding: 12px; }
  .topbar { padding: 0 16px; }
  .topbar-right { gap: 9px; }
  .stat-chip { display: none; }
  .engine-chip { max-width: 145px; }
  .content { padding: 25px 16px; }
  .view-head h2 { font-size: 25px; }
  .panel-head { padding: 14px 16px; flex-wrap: wrap; }
  .panel-body { padding: 16px; }
  .target-job { width: 100%; }
  .target-job .select { width: auto; flex: 1; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .head-tools { width: 100%; }
  .head-tools > .select { width: 100%; }
  .filter-row { flex-wrap: wrap; }
  .toast-wrap { right: 18px; top: 76px; }
  .empty { padding-left: 0; padding-right: 0; }
  .drop-title { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* Cloud-only additions. Shared components inherit the original Quiet Workspace stylesheet. */
[hidden]{display:none!important}
.cloud-message{max-width:1380px;margin:0 auto 22px;padding:11px 15px;border:1px solid #174b9b;border-radius:9px;background:#1e5bb8;color:#fff;font-size:13px;font-weight:600;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.cloud-message.error{background:#c62828;border-color:#b71c1c;color:#fff}
.cloud-drop{display:block}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cloud-drop:focus-within{outline:3px solid var(--brand-glow);outline-offset:3px}
.resume-list{max-height:340px;overflow:auto}.resume-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.resume-item:last-child{border-bottom:0}.resume-item small{display:block;margin-top:5px;color:var(--text-3);font-size:11px}.resume-item>span{min-width:0;overflow-wrap:anywhere}
.cache-badge{font-size:10px;white-space:nowrap;color:#5d779f;background:var(--brand-soft);padding:5px 8px;border-radius:5px}
.connection-row{display:flex;gap:10px;align-items:center}.connection-row .input{flex:1}
.cloud-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cloud-service{padding:20px 16px;border:1px solid var(--group-border);border-radius:12px;background:var(--bg-panel)}.cloud-service>.icon{color:var(--brand);margin-bottom:14px}.cloud-service h4{font-size:12px;font-weight:600}.cloud-service p{font-size:11px;color:var(--text-2);margin-top:7px}
.health-details{margin-top:20px}summary{cursor:pointer;font-size:12px;color:var(--text-2);padding:8px 0}pre{background:var(--bg-panel);border:1px solid var(--border);border-radius:9px;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 var(--mono);margin:12px 0}
dialog{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:1px solid var(--border);border-radius:18px;box-shadow:0 15px 70px rgba(30,45,70,.18);color:var(--text-1);background:var(--bg-deep)}dialog::backdrop{background:rgba(37,46,63,.25);backdrop-filter:blur(3px)}.cloud-detail-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:#fafbfd}.cloud-detail-head h3{font-size:14px;font-weight:600}.cloud-detail-body{padding:24px;overflow-wrap:anywhere}.cloud-detail-body p{font-size:12px;color:var(--text-2);line-height:1.9;margin-bottom:12px}.cloud-detail-body p:first-child b{font-size:30px;color:var(--brand)}.bars{display:grid;gap:14px;margin:22px 0;font-size:12px;color:var(--text-2)}.bar{height:7px;background:var(--bg-elevated);border-radius:6px;margin-top:7px}.bar i{height:100%;display:block;background:#4d83d8;border-radius:6px}
.table td strong{color:var(--brand);font-size:18px}.job-card{width:100%;text-align:left;font:inherit}.job-card h4{font-weight:600}.job-card p{white-space:normal}.head-tools{justify-content:flex-end}.head-tools>.select{width:auto;max-width:230px}
@media(max-width:1100px){.cloud-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.connection-row{flex-wrap:wrap}.connection-row .input{flex-basis:100%}.head-tools>.select{max-width:none;flex:1}.cloud-services{grid-template-columns:1fr}.cloud-detail-body{padding:18px}}

.blind-toggle{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--text-2);white-space:nowrap}.lab-weights{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.lab-weights label{font-size:12px;color:var(--text-2)}.lab-weights input{margin-top:8px}.evidence-summary{display:flex;gap:14px;flex-wrap:wrap;padding:16px;background:var(--brand-soft);border-radius:10px;font-size:12px}.evidence-summary b{color:var(--brand)}.evidence-card{padding:18px;border:1px solid var(--group-border);border-radius:12px;margin:16px 0}.evidence-card>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.evidence-status{padding:3px 8px;border-radius:5px;font-size:10px;background:#fff4e3;color:#99671a}.evidence-status.supported{background:#e8f5ed;color:#24734d}blockquote{padding:12px 15px;border-left:3px solid #80a3de;background:var(--bg-panel);margin:13px 0;font-size:12px;white-space:pre-wrap}.evidence-card small{font-size:10px;color:var(--text-3)}.question{margin-top:14px!important}.review-entry{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:12px}.review-entry small{font-size:10px;color:var(--text-3)}#review-note{margin-top:12px}#evidence-dialog{width:min(820px,calc(100vw - 32px))}#view-lab .hint{margin-bottom:14px}@media(max-width:720px){.lab-weights{grid-template-columns:1fr 1fr}}

#model-chat { width: min(760px, calc(100vw - 24px)); }
.chat-log { display: grid; gap: 10px; max-height: min(40vh, 360px); overflow-y: auto; margin-bottom: 14px; }
.chat-log:empty { display: none; }
.chat-turn { padding: 10px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-panel); font-size: 13px; }
.chat-turn.user { background: var(--brand-soft); }
.chat-turn strong { color: var(--text-1); }
.chat-turn p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-actions { flex-wrap: wrap; }

#model-chat-question { min-height: 72px; }

/* High-contrast feedback across workspace and dialogs. */
.hint, .cloud-detail-body .hint, .cloud-detail-body .question {
  padding: 10px 13px;
  border: 1px solid #e2ad49;
  border-left: 4px solid #a95a00;
  border-radius: 7px;
  background: #fff3d6;
  color: #733b00;
  font-size: 12px;
  font-weight: 500;
}
.hint:empty { display: none; }
.empty {
  border: 1px solid #85b0ed;
  border-radius: 10px;
  background: #eaf2ff;
  color: #174b87;
}
.empty > .icon, .empty strong { color: #174b87; }
.empty strong { font-weight: 600; }
.cache-badge {
  background: #1e5bb8;
  color: #fff;
  font-weight: 600;
}
.evidence-status {
  background: #995000;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}
.evidence-status.supported { background: #237044; color: #fff; }
#model-chat-status {
  padding: 8px 12px;
  border: 1px solid #174b9b;
  border-radius: 7px;
  background: #1e5bb8;
  color: #fff;
  font-weight: 600;
}
#model-chat-status.error {
  background: #c62828;
  border-color: #b71c1c;
  color: #fff;
}
