:root {
  --bg: #f3f1ec;
  --surface: #ffffff;
  --surface-soft: #f8f7f3;
  --ink: #19231f;
  --muted: #68736e;
  --line: #dedfd9;
  --green: #185f4b;
  --green-2: #237a62;
  --green-pale: #e7f1ed;
  --amber: #b77122;
  --amber-pale: #f8eedf;
  --red: #a3483d;
  --shadow: 0 16px 42px rgba(31, 46, 40, 0.08);
  --radius: 18px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 85% -5%, rgba(197, 219, 209, .55), transparent 27rem),
    var(--bg);
  color: var(--ink);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(35, 122, 98, .25);
  outline-offset: 2px;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 74px;
  padding: 12px clamp(18px, 4vw, 54px);
  background: rgba(243, 241, 236, .9);
  border-bottom: 1px solid rgba(210, 211, 204, .75);
  backdrop-filter: blur(14px);
}

.brand-lockup, .header-actions, .toolbar-controls, .candidate-identity, .candidate-meta,
.comparison-strip, .comparison-strip > div, .modal-header, .modal-actions, .weight-total,
.score-header, .detail-name, .compare-card-header, .summary-card-top { display: flex; align-items: center; }

.brand-lockup { gap: 11px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--ink);
  color: white;
  font-weight: 800;
  letter-spacing: -.04em;
}
.brand-name { font-weight: 760; letter-spacing: -.02em; }
.brand-subtitle { margin-top: 2px; color: var(--muted); font-size: 12px; }
.header-actions { gap: 12px; flex-wrap: wrap; }
.privacy-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255,255,255,.55);
  font-size: 12px;
  font-weight: 650;
}
.privacy-dot { width: 7px; height: 7px; border-radius: 50%; background: #3d8a6d; box-shadow: 0 0 0 3px #dcece5; }

.button {
  border: 0;
  border-radius: 11px;
  padding: 11px 16px;
  font-weight: 700;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--green); color: #fff; box-shadow: 0 7px 18px rgba(24,95,75,.18); }
.button.primary:hover { background: #104d3d; }
.button.dark { background: var(--ink); color: #fff; }
.button.ghost { background: #edf0ed; color: var(--ink); }
.button.compact { padding: 8px 12px; font-size: 13px; }
.text-button { padding: 4px; border: 0; background: transparent; color: var(--green); font-size: 13px; font-weight: 700; }
.icon-button { border: 0; background: transparent; color: var(--muted); }

.app-shell { width: min(1480px, 100%); margin: 0 auto; padding: 44px clamp(18px, 4vw, 54px) 70px; }
.overview-section { margin-bottom: 24px; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 26px; }
.eyebrow { margin: 0 0 7px; color: var(--green-2); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; max-width: 820px; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
h2 { margin-bottom: 0; font-size: 20px; letter-spacing: -.025em; }
h3 { margin-bottom: 4px; }
.section-copy { margin: 0; max-width: 680px; color: var(--muted); line-height: 1.7; font-size: 14px; }
.formula-badge { flex: 0 0 auto; padding: 13px 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.6); }
.formula-badge span { display: block; margin-bottom: 3px; color: var(--muted); font-size: 11px; }
.formula-badge strong { font-size: 14px; }

.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.summary-card { padding: 18px 20px; border: 1px solid rgba(217, 218, 212, .9); border-radius: 15px; background: rgba(255,255,255,.78); }
.summary-card-top { justify-content: space-between; margin-bottom: 12px; color: var(--muted); font-size: 12px; }
.summary-icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: var(--green-pale); color: var(--green); font-weight: 850; }
.summary-value { margin-bottom: 3px; font-size: 26px; font-weight: 800; letter-spacing: -.035em; }
.summary-note { color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.view-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; padding:6px; background:rgba(255,255,255,.74); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
.view-tab { border:0; background:transparent; color:var(--muted); padding:10px 15px; border-radius:10px; font:inherit; font-weight:700; cursor:pointer; }
.view-tab:hover { color:var(--ink); background:#f2eee8; }
.view-tab.active { background:var(--ink); color:#fff; box-shadow:0 4px 12px rgba(25,35,30,.14); }
.workspace-section { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 18px; }
.weights-card, .candidates-card { border: 1px solid rgba(214,215,208,.95); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.weights-card { position: sticky; top: 91px; padding: 20px; }
.card-heading, .candidate-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.muted { color: var(--muted); }
.small { font-size: 12px; line-height: 1.55; }
.weight-controls { margin-top: 22px; }
.weight-control { padding: 0 0 16px; margin-bottom: 15px; border-bottom: 1px solid #eff0ec; }
.weight-control:last-child { border-bottom: 0; margin-bottom: 4px; }
.weight-label { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 8px; font-size: 12px; font-weight: 720; }
.weight-label span:last-child { color: var(--green); font-variant-numeric: tabular-nums; }
input[type="range"] { width: 100%; height: 4px; border-radius: 99px; accent-color: var(--green); }
.weight-bar { height: 3px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: #eceeea; }
.weight-bar span { display: block; height: 100%; background: var(--green-2); transition: width .2s ease; }
.weight-total { justify-content: space-between; padding: 11px 12px; border-radius: 10px; background: var(--green-pale); color: var(--green); font-size: 12px; }
.rule-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.rule-note p { margin: 0; }
.rule-icon { flex: 0 0 auto; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #eef0ec; color: var(--ink); font-size: 10px; font-weight: 800; }
.quality-rubric { margin-top: 14px; padding: 14px; border: 1px solid #dfe6e1; border-radius: 12px; background: #f8faf8; }
.quality-rubric-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; font-size: 12px; }
.quality-rubric-head span { color: var(--green); font-weight: 800; }
.quality-rubric ul { display: grid; gap: 6px; padding: 0; margin: 0 0 10px; list-style: none; }
.quality-rubric li { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }
.quality-rubric li b { color: var(--ink); }
.quality-rubric small { display: block; color: var(--muted); font-size: 10px; line-height: 1.55; }

.candidates-card { min-width: 0; overflow: hidden; }
.candidate-toolbar { padding: 21px 22px 17px; }
.toolbar-controls { gap: 9px; }
.search-field, .select-field { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.search-field:focus-within, .select-field:focus-within { border-color: #82aa9c; background: #fff; }
.search-field input, .select-field select { width: 190px; padding: 7px 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.select-field select { width: 154px; }
.toolbar-controls { flex-wrap: wrap; justify-content: flex-end; }
.comparison-strip { justify-content: space-between; gap: 12px; padding: 11px 22px; background: var(--green-pale); color: var(--green); font-size: 12px; }
.comparison-strip > div { gap: 12px; }
.table-scroll { overflow-x: auto; }
table { width: 100%; min-width: 1030px; border-collapse: collapse; }
th { padding: 11px 10px; border-top: 1px solid #eceeea; border-bottom: 1px solid #e5e7e2; background: #f8f8f5; color: #718079; font-size: 10px; font-weight: 750; text-align: left; white-space: nowrap; }
td { padding: 14px 10px; border-bottom: 1px solid #eef0ec; font-size: 12px; vertical-align: middle; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: #fbfbf8; }
tbody tr.selected { background: #f1f7f4; }
.compare-column { width: 42px; text-align: center; }
.compare-check { width: 16px; height: 16px; accent-color: var(--green); }
.rank-number { width: 24px; color: #87928d; font-weight: 800; font-size: 11px; text-align: center; }
.rank-number.top { display: grid; place-items: center; height: 24px; border-radius: 7px; background: var(--ink); color: #fff; }
.candidate-identity { gap: 10px; min-width: 185px; }
.avatar { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #fff; font-size: 12px; font-weight: 800; }
.candidate-name { display: block; margin-bottom: 4px; max-width: 150px; color: inherit; font-weight: 750; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.candidate-name:hover { color: var(--green); text-decoration: underline; text-underline-offset: 2px; }
.candidate-meta { gap: 5px; color: var(--muted); font-size: 10px; }
.tag { padding: 2px 5px; border-radius: 5px; background: #eff1ed; }
.handle { color: var(--green); }
.tier-badge, .status-badge { padding: 2px 5px; border-radius: 5px; font-size: 9px; font-weight: 750; }
.tier-badge.paid { background: var(--amber-pale); color: #875116; }
.tier-badge.gifted { background: var(--green-pale); color: var(--green); }
.status-badge { background: #eef0ec; color: var(--muted); }
.metric-primary { color: var(--ink); font-weight: 720; font-variant-numeric: tabular-nums; white-space: nowrap; }
.metric-score { margin-top: 3px; color: #8a9490; font-size: 9px; white-space: nowrap; }
.metric-basis { margin-top: 4px; max-width: 160px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.quote-reminder { margin: 7px 0 0; max-width: 235px; color: #875116; font-size: 14px; line-height: 1.5; }
.paid-checklist, .evidence-panel { margin: 20px 24px; padding: 16px; border-radius: 12px; font-size: 14px; line-height: 1.7; }
.paid-checklist { background: var(--amber-pale); color: #71491d; }
.paid-checklist p, .evidence-panel p { margin: 8px 0; }
.evidence-panel { background: var(--surface-soft); border: 1px solid var(--line); }
.evidence-panel h3 { font-size: 16px; }
.evidence-panel a { color: var(--green); overflow-wrap: anywhere; }
.score-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 50px; padding: 7px 8px; border-radius: 9px; background: var(--green-pale); color: var(--green); font-size: 14px; font-weight: 850; font-variant-numeric: tabular-nums; }
.score-pill.mid { background: var(--amber-pale); color: var(--amber); }
.score-pill.low { background: #f5e8e6; color: var(--red); }
.row-actions { display: flex; gap: 2px; }
.row-menu { padding: 6px 7px; border: 0; border-radius: 7px; background: transparent; color: var(--green); font-size: 11px; font-weight: 720; white-space: nowrap; }
.row-menu:hover { background: var(--green-pale); }
.row-menu.delete { color: var(--red); }
.table-footer { display: flex; justify-content: space-between; gap: 18px; padding: 13px 22px; color: var(--muted); font-size: 10px; }
.empty-state { padding: 60px 20px; text-align: center; }
.empty-state p { margin: 0; color: var(--muted); font-size: 13px; }
.empty-icon { margin: 0 auto 14px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: #eef0ec; color: var(--muted); }

.modal-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 22px; background: rgba(20, 28, 25, .48); backdrop-filter: blur(5px); }
.modal-backdrop[hidden] { display: none; }
.modal { width: min(680px, 100%); max-height: min(850px, 92vh); overflow-y: auto; border-radius: 20px; background: white; box-shadow: 0 28px 80px rgba(15,30,24,.28); }
.form-modal { width: min(720px, 100%); }
.import-modal { width: min(900px, 100%); }
.backup-modal { width: min(760px, 100%); }
.backup-notice { display:grid; gap:5px; margin-bottom:18px; padding:14px 16px; border:1px solid #d4e6dc; border-radius:12px; background:#f1f8f4; color:var(--green); font-size:13px; }
.backup-notice span { color:var(--muted); line-height:1.6; }
.backup-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; border-top:1px solid var(--line); }
.backup-actions h3 { margin:0 0 5px; font-size:14px; }
.backup-actions p { margin:0; max-width:440px; line-height:1.55; }
.backup-file-button { display:inline-flex; align-items:center; flex:0 0 auto; }
.backup-preview { margin-top:8px; padding:14px 16px; border:1px solid #cbded5; border-radius:12px; background:#f6faf7; color:var(--ink); font-size:13px; line-height:1.7; white-space:pre-line; }
.backup-preview.error { border-color:#e6c1bb; background:#fff6f4; color:#8c372e; }
.backup-migration-note { margin:16px 0 0; padding:12px 14px; border-radius:10px; background:#f7f5ef; color:var(--muted); font-size:12px; line-height:1.65; }
.backup-modal .modal-actions { flex-wrap:wrap; }
.compare-modal { width: min(1030px, 100%); }
.modal-header { position: sticky; top: 0; z-index: 2; justify-content: space-between; padding: 22px 24px 17px; border-bottom: 1px solid #eaebe7; background: rgba(255,255,255,.95); backdrop-filter: blur(10px); }
.modal-header .icon-button { width: 34px; height: 34px; border-radius: 10px; background: #f0f1ee; font-size: 23px; line-height: 1; }
form { padding: 22px 24px 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { position: relative; display: grid; gap: 7px; color: var(--ink); font-size: 12px; font-weight: 700; }
.field.full { grid-column: 1 / -1; }
.field-hint { position: absolute; top: 1px; right: 0; color: var(--muted); font-size: 10px; font-weight: 500; }
.field input, .field textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #fbfbf9; color: var(--ink); font-weight: 500; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: #6e9c8c; background: #fff; }
.input-suffix, .input-prefix { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fbfbf9; }
.input-suffix input, .input-prefix input { border: 0; background: transparent; }
.input-suffix span { padding-right: 12px; color: var(--muted); }
.input-prefix span { padding-left: 12px; color: var(--muted); }
.modal-actions { justify-content: flex-end; gap: 9px; padding-top: 24px; }
.import-body { padding: 22px 24px 26px; }
.import-actions { display: flex; align-items: center; gap: 12px; margin: 16px 0 10px; }
.field-hint-static { color: var(--muted); font-size: 10px; line-height: 1.5; }
.form-section { border-top:1px solid var(--line); padding-top:18px; margin-top:8px; }
.form-section-title { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:12px; color:var(--ink); }
.form-section-title span { font-size:12px; color:var(--muted); font-weight:500; }
.nested-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.checkbox-field { display:flex; align-items:center; gap:8px; padding-top:25px; }
.checkbox-field input { width:18px; height:18px; accent-color:var(--accent); }
.workflow-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:3px 8px; background:#f1eee8; color:var(--muted); font-size:11px; font-weight:700; }
.workflow-badge.selected { background:#e1f0e9; color:#1d6651; }
.priority-badge { font-size:11px; font-weight:800; color:#9b6333; }
.batch-textarea { width: 100%; min-height: 250px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: #fbfbf9; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; line-height: 1.55; resize: vertical; }
.batch-textarea:focus { border-color: #6e9c8c; background: #fff; }

.detail-modal { width: min(790px, 100%); }
#detailContent { padding: 22px 24px 26px; }
.score-header { justify-content: space-between; gap: 18px; padding: 18px; border-radius: 15px; background: var(--surface-soft); }
.quality-detail { margin-top: 18px; padding: 17px; border: 1px solid #dfe6e1; border-radius: 14px; background: #f8faf8; }
.quality-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.quality-detail-heading h3 { margin: 0; font-size: 15px; }
.quality-detail-heading span { color: var(--green); font-weight: 850; }
.quality-detail-row { display: grid; grid-template-columns: 120px 56px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid #e5eae6; font-size: 11px; line-height: 1.55; }
.quality-detail-row span { color: var(--green); font-weight: 800; }
.quality-detail-row p { margin: 0; color: var(--muted); }
.quality-detail > small { display: block; margin-top: 9px; color: var(--muted); line-height: 1.55; }
.detail-name { gap: 11px; }
.detail-name h3 { margin: 0 0 4px; }
.detail-name p { margin: 0; color: var(--muted); font-size: 11px; }
.big-score { text-align: right; }
.big-score strong { display: block; color: var(--green); font-size: 32px; letter-spacing: -.04em; }
.big-score span { color: var(--muted); font-size: 10px; }
.breakdown-list { margin-top: 18px; border: 1px solid #e5e7e2; border-radius: 14px; overflow: hidden; }
.breakdown-row { display: grid; grid-template-columns: 1.25fr 1fr .7fr .7fr .8fr; align-items: center; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #eceeea; font-size: 11px; }
.breakdown-row:last-child { border-bottom: 0; }
.breakdown-row.header { background: #f7f8f5; color: var(--muted); font-size: 9px; font-weight: 750; }
.breakdown-row strong { font-size: 12px; }
.contribution { color: var(--green); font-weight: 800; }
.detail-note { margin-top: 16px; padding: 13px 14px; border-radius: 12px; background: var(--green-pale); color: #385d50; font-size: 11px; line-height: 1.6; }
.detail-note strong { color: var(--green); }

.compare-content { display: grid; gap: 12px; padding: 20px 24px 26px; }
.compare-grid { display: grid; grid-template-columns: repeat(var(--compare-count), minmax(0, 1fr)); gap: 12px; }
.compare-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.compare-card.winner { border-color: #8bb4a5; box-shadow: inset 0 0 0 1px #8bb4a5; }
.compare-card-header { justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.compare-card-name { min-width: 0; }
.compare-card-name strong { display: block; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.compare-card-name span { color: var(--muted); font-size: 10px; }
.compare-score { color: var(--green); font-size: 24px; font-weight: 850; letter-spacing: -.04em; }
.winner-label { display: inline-flex; margin-bottom: 12px; padding: 4px 7px; border-radius: 6px; background: var(--green-pale); color: var(--green); font-size: 9px; font-weight: 800; }
.compare-metric { margin-bottom: 13px; }
.compare-metric:last-child { margin-bottom: 0; }
.compare-metric-label { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; font-size: 10px; }
.compare-metric-label span { color: var(--muted); }
.compare-metric-label strong { font-variant-numeric: tabular-nums; }
.mini-bar { height: 5px; overflow: hidden; border-radius: 99px; background: #edf0ec; }
.mini-bar span { display: block; height: 100%; border-radius: inherit; background: var(--green-2); }
.compare-insight { padding: 14px 16px; border-radius: 13px; background: var(--surface-soft); color: var(--muted); font-size: 11px; line-height: 1.65; }
.compare-insight strong { color: var(--ink); }

.toast { position: fixed; right: 22px; bottom: 22px; z-index: 90; max-width: min(360px, calc(100vw - 44px)); padding: 11px 14px; border-radius: 10px; background: var(--ink); color: #fff; box-shadow: var(--shadow); font-size: 12px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: .22s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.workflow-action { color: var(--green); border-color: #b9d5ca; }
.workflow-action.primary-action { background: var(--green-pale); font-weight: 800; }
.workflow-action.danger { color: #a24e45; border-color: #e4bcb7; }
.workflow-reminder { margin-top: 4px; color: #9b6333; font-size: 10px; font-weight: 750; }
.workflow-reminder.overdue { color: #b2463e; }
.delivery-task-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 12px; font-weight: 800; }
.delivery-task { margin: 8px 0; padding: 12px; border: 1px solid #e2e7e1; border-radius: 12px; background: #fbfcfa; }
.delivery-task-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: var(--green); font-size: 11px; }
.calendar-view { padding: 22px; }
.cooperation-board { display:block; padding:18px 22px 22px; background:#f7f8f5; }
.board-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.board-toolbar strong { display:inline-block; margin-right:8px; font-size:16px; }
.board-toolbar-count { color:var(--muted); font-size:11px; }
.board-toolbar-controls { display:flex; align-items:flex-end; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.board-toolbar-controls label { display:grid; gap:4px; color:var(--muted); font-size:10px; font-weight:750; }
.board-toolbar-controls input,.board-toolbar-controls select { min-height:34px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:11px; }
.board-search input { min-width:190px; }
.board-view-toggle { min-height:34px; padding:7px 10px; border:1px solid #b9d5ca; border-radius:8px; background:var(--green-pale); color:var(--green); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.board-view-toggle.active { background:var(--green); color:#fff; }
.board-columns { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:12px; }
.board-columns.compact { grid-template-columns:repeat(5,minmax(190px,1fr)); gap:9px; }
.board-column { min-width:0; border:1px solid var(--line); border-radius:14px; background:#fff; }
.board-column-head { padding:13px 14px; border-bottom:1px solid #eceeea; background:#fbfcfa; }
.board-column-head div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.board-column-head h3 { margin:0; font-size:14px; }
.board-column-head span { color:var(--green); font-size:12px; font-weight:800; }
.board-column-open { padding:4px 7px; border:1px solid #b9d5ca; border-radius:7px; background:var(--green-pale); color:var(--green); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.board-column-open:hover { background:var(--green); color:#fff; }
.board-column-head small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.board-column-body { display:grid; align-content:start; gap:10px; padding:10px; min-height:110px; max-height:min(62vh,620px); overflow-y:auto; }
.board-columns.compact .board-column-body { gap:7px; padding:7px; max-height:min(68vh,700px); }
.board-columns.compact .creator-card { padding:9px; }
.board-columns.compact .creator-card-meta { margin-top:6px; }
.board-columns.compact .creator-card-actions { margin-top:8px; gap:4px; }
.board-columns.compact .board-action { padding:5px 6px; font-size:10px; }
.board-columns.panel-mode { grid-template-columns:minmax(0,1fr); }
.board-columns.panel-mode .board-column-body { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); max-height:calc(100vh - 360px); }
.board-back-button { display:block; margin-bottom:5px; padding:0; border:0; background:transparent; color:var(--green); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.creator-card { padding:13px; border:1px solid #e5e8e3; border-radius:12px; background:#fff; box-shadow:0 4px 12px rgba(25,35,30,.05); }
.creator-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.creator-card-top strong, .creator-card-top span { display:block; }
.creator-card-top strong { color:var(--ink); font-size:13px; }
.creator-card-top > div > span { margin-top:3px; color:var(--muted); font-size:11px; }
.creator-card-meta, .creator-card-next, .creator-card-date { margin:9px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.creator-card-next strong { display:block; margin-bottom:2px; color:var(--green); font-size:10px; }
.creator-card-date { color:#8b633b; }
.creator-card-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.board-action { padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--green); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.board-action:hover { background:var(--green-pale); }
.board-action.primary { border-color:#b9d5ca; background:var(--green-pale); }
.board-action.danger { border-color:#e4bcb7; color:#a24e45; }
.board-action.ghost { color:var(--muted); }
.board-empty { padding:22px 10px; color:var(--muted); font-size:11px; text-align:center; }
.daily-todo-section { margin:0 0 22px; padding:22px; border:2px solid #b9d5ca; border-radius:var(--radius); background:linear-gradient(135deg,#f5fbf7,#fff); box-shadow:0 8px 24px rgba(25,35,30,.08); }
.daily-todo-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.daily-todo-heading h2 { margin:4px 0 0; font-size:21px; }
.todo-count { padding:7px 10px; border-radius:999px; background:var(--green-pale); color:var(--green); font-size:12px; font-weight:800; }
.daily-todo-list { display:grid; gap:8px; margin-top:15px; }
.daily-todo-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:12px 14px; border:1px solid #e5e8e3; border-radius:11px; background:#fbfcfa; }
.daily-todo-item.is-today { border-color:#e39a55; background:#fff1df; box-shadow:inset 4px 0 0 #d87925; }
.daily-todo-item.is-overdue { border-color:#d96b74; background:#fff0f1; box-shadow:inset 4px 0 0 #c84d5b; }
.daily-todo-item.is-tomorrow { border-color:#e3c06a; background:#fff9e8; box-shadow:inset 4px 0 0 #d7a83b; }
.daily-todo-item.is-upcoming { border-color:#cfe0d7; background:#f3faf6; }
.daily-todo-item strong, .daily-todo-item span { display:block; }
.daily-todo-item strong { font-size:13px; }
.daily-todo-item span { margin-top:3px; color:var(--muted); font-size:11px; }
.daily-todo-deadline { color:#8b633b; font-size:11px; font-weight:750; white-space:nowrap; }
.daily-todo-item.is-today .daily-todo-deadline, .daily-todo-item.is-overdue .daily-todo-deadline { color:#a23e2e; }
.daily-todo-item.is-tomorrow .daily-todo-deadline { color:#8b6a1b; }
.daily-todo-empty { padding:20px; border:1px dashed #cfd8d1; border-radius:11px; color:var(--muted); text-align:center; }
.calendar-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }
.calendar-heading h3 { margin: 2px 0 5px; font-size: 20px; }
.calendar-workload-summary { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; color:var(--muted); font-size:11px; }
.calendar-workload-summary strong { color:var(--ink); }
.calendar-workload-summary span { padding:4px 7px; border-radius:999px; background:var(--green-pale); color:var(--green); font-weight:750; }
.calendar-summary-link { padding:4px 7px; border:0; border-radius:999px; background:var(--green-pale); color:var(--green); font:inherit; font-weight:750; cursor:pointer; }
.calendar-summary-link:hover { filter:brightness(.96); transform:translateY(-1px); }
.calendar-list { display: grid; gap: 10px; }
.calendar-day { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.calendar-date { color: var(--green); font-weight: 800; font-variant-numeric: tabular-nums; }
.calendar-events { display: grid; gap: 7px; }
.calendar-event { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 11px; }
.calendar-event-label { min-width: 72px; color: var(--muted); }
.calendar-event small { color: #9b6333; font-weight: 700; }
.empty-calendar { padding: 36px 20px; border: 1px dashed #cfd8d1; border-radius: 14px; color: var(--muted); text-align: center; }
.platform-count { color: var(--green); font-weight: 750; }
.platform-icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin-right:5px; border-radius:7px; color:#fff; font-size:10px; font-weight:900; letter-spacing:-.03em; vertical-align:middle; }
.platform-icon svg { width:16px; height:16px; display:block; }
.platform-instagram { background:linear-gradient(135deg,#f58529 0%,#dd2a7b 52%,#8134af 100%); }
.platform-tiktok { background:#111827; box-shadow:2px 2px 0 #25f4ee, -1px -1px 0 #fe2c55; }
.platform-youtube { background:#e62117; }
.platform-facebook { background:#1877f2; font-family:Arial,sans-serif; font-size:15px; }
.platform-other { background:#68756f; }
.candidate-socials { flex-wrap:wrap; gap:5px; }
.social-account { display:inline-flex; align-items:center; gap:2px; color:var(--muted); font-size:10px; text-decoration:none; }
.social-account:hover { color:var(--green); }
.social-account-missing { cursor:help; opacity:.78; }
.social-account-missing small { color:var(--muted); font-size:9px; margin-left:2px; }
.social-account .platform-icon { width:18px; height:18px; margin-right:1px; border-radius:6px; font-size:9px; }
.social-account .platform-icon svg { width:13px; height:13px; }
.social-primary,.social-check-status { display:inline-flex; align-items:center; gap:3px; font-size:10px; }
.social-primary { color:var(--ink); font-weight:700; }
.social-primary .platform-icon { width:18px; height:18px; margin-right:0; }
.social-primary .platform-icon svg { width:13px; height:13px; }
.social-check-status { padding:2px 5px; border-radius:999px; background:#f1f4f1; color:var(--muted); }
.social-check-status.verified { background:#e4f3ed; color:var(--green); }
.social-check-status.pending { background:#f5f0e8; color:#8a6a39; }
.creator-card-person { display:flex; align-items:flex-start; gap:7px; min-width:0; }
.creator-card-person > div { min-width:0; }
.termination-reason, .contact-summary { display:grid; gap:3px; margin-top:10px; padding:9px 10px; border-radius:9px; font-size:11px; line-height:1.45; }
.termination-reason { border:1px solid #efc9c3; background:#fff5f3; color:#81453e; }
.termination-reason strong, .contact-summary strong { font-size:10px; letter-spacing:.02em; }
.termination-reason span, .contact-summary span { overflow-wrap:anywhere; }
.termination-reason strong { color:#a24e45; }
.contact-summary { border:1px solid #cfe0d7; background:#f2faf6; color:#385d50; }
.contact-summary-button { width:100%; text-align:left; font:inherit; cursor:pointer; }
.contact-summary-button:hover { border-color:var(--green); box-shadow:0 0 0 2px rgba(27,104,82,.08); }
.contact-summary strong { color:var(--green); }
.contact-summary small { color:var(--muted); }
.contact-edit-hint { color:var(--muted) !important; font-size:10px; font-weight:600; opacity:.78; }
.workflow-mode { grid-template-columns:1fr; }
.workflow-mode .candidates-card { min-width:0; }
.content-library-heading { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; }
.content-library-heading h3 { margin:2px 0 5px; font-size:22px; }
.content-library-stats { display:flex; flex-wrap:wrap; gap:8px; }
.content-library-stats span { padding:9px 11px; border-radius:10px; background:var(--green-pale); color:var(--green); font-size:11px; }
.content-library-stats strong { font-size:16px; margin-right:3px; }
.review-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.review-overview > div { padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:#fbfcfa; }
.review-overview span { display:block; color:var(--muted); font-size:11px; }
.review-overview strong { display:block; margin-top:4px; color:var(--ink); font-size:19px; }
.review-demo-banner { display:flex; align-items:center; gap:10px; margin-bottom:10px; padding:10px 12px; border:1px dashed #c9b47a; border-radius:10px; background:#fffaf0; color:#80652c; font-size:11px; }
.review-demo-banner strong { color:#684f1d; }
.review-demo-card { border-color:#d8c58f; background:#fffdf7; }
.content-library-empty { display:flex; flex-direction:column; gap:6px; padding:28px 18px; border:1px dashed var(--line); border-radius:12px; background:#fbfcfa; color:var(--muted); font-size:12px; line-height:1.6; }
.content-library-empty strong { color:var(--ink); font-size:15px; }
.review-demo-card .platform-icon { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:8px; background:#111; color:#fff; font-size:10px; font-weight:800; }
.review-demo-modal { max-width: 760px; }
.review-demo-note, .review-form-guide, .demo-detail-banner { display:flex; gap:10px; align-items:flex-start; padding:11px 13px; border-radius:10px; font-size:12px; line-height:1.55; }
.review-demo-note { margin-bottom:16px; border:1px dashed #c9b47a; background:#fffaf0; color:#80652c; }
.review-demo-note strong, .review-form-guide strong, .demo-detail-banner strong { color:#684f1d; white-space:nowrap; }
.review-form-guide { margin-top:14px; border:1px solid #cfe0d7; background:var(--green-pale); color:#385d50; }
.review-form-guide strong { color:var(--green); }
.demo-detail-banner { margin-bottom:14px; border:1px dashed #c9b47a; background:#fffaf0; color:#80652c; }
.content-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.content-library-card { padding:15px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.content-library-card-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.content-library-card .status-badge.review-done { background:#e4f3ed; color:var(--green); }
.content-library-card .status-badge.review-pending { background:#fff4e7; color:#8b5b2b; }
.content-library-card .review-link { border:0; cursor:pointer; font:inherit; }
.content-library-card .review-link:hover, .content-library-card .review-check-action:hover { filter:brightness(.96); transform:translateY(-1px); }
.content-library-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; margin-top:14px; color:var(--muted); font-size:11px; }
.review-checklist { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.review-checklist span { padding:5px 7px; border-radius:999px; background:#f3f5f2; color:var(--muted); font-size:10px; }
.review-checklist span.is-done { background:#e8f4ee; color:var(--green); }
.review-check-action { padding:5px 7px; border:0; border-radius:999px; background:#f3f5f2; color:var(--muted); cursor:pointer; font:inherit; font-size:10px; }
.review-check-action.is-done { background:#e8f4ee; color:var(--green); }
.content-library-note { min-height:34px; margin:13px 0 0; color:#385d50; font-size:11px; line-height:1.5; }
.content-library-advice { margin:6px 0 0; color:#173f34; font-size:12px; line-height:1.6; }
.content-library-advice strong { color:#0d6b50; }
.insights-inline { margin:8px 0 0; padding:8px 10px; border-left:3px solid #b26aa7; border-radius:7px; background:#fff7fd; color:#5e4660; font-size:11px; line-height:1.55; }
.insights-attachment { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; padding:10px; border:1px solid #e2d8e8; border-radius:10px; background:#fcf9fd; color:#684f6c; font-size:11px; }
.insights-attachment strong { color:#69436f; }
.insights-attachment a { color:#0d6b50; font-weight:700; }
.insights-attachment img { display:block; width:100%; max-width:220px; max-height:260px; object-fit:cover; object-position:top; border-radius:8px; border:1px solid #ded4e3; }
.upload-row { display:flex; gap:8px; align-items:center; width:100%; }
.upload-row input[type="text"] { flex:1; min-width:0; }
.upload-button { cursor:pointer; white-space:nowrap; }
.insights-review-fields { padding:12px; border:1px solid #dfe9e2; border-radius:10px; background:#f8fbf8; }
.insights-review-fields .form-section-title { margin-bottom:10px; }
.insights-detail { margin:12px 0; padding:12px; border:1px solid #dfd6e6; border-radius:10px; background:#fcf9fd; color:#5e4660; }
.insights-detail h4 { margin:0 0 7px; color:#69436f; }
.insights-detail p { margin:5px 0; }
.insights-detail-image { display:block; width:min(100%, 280px); max-height:360px; object-fit:cover; object-position:top; margin-top:10px; border-radius:8px; border:1px solid #ded4e3; }
.review-aggregate { margin:0 0 14px; padding:13px 15px; border:1px solid #cfe7dc; border-radius:12px; background:linear-gradient(135deg,#f2fbf7,#fff); }
.review-aggregate strong { display:block; color:var(--green); font-size:13px; margin-bottom:4px; }
.review-aggregate span { color:#385d50; font-size:12px; line-height:1.6; }
.calendar-nav { display:flex; align-items:center; gap:8px; color:var(--green); }
.calendar-nav strong { min-width:100px; text-align:center; font-size:14px; }
.calendar-weekdays, .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { margin-bottom:6px; color:var(--muted); font-size:11px; font-weight:800; text-align:center; }
.calendar-cell { min-height:112px; padding:8px; border:1px solid #e5e8e3; background:#fff; }
.calendar-cell:nth-child(7n+1) { border-top-left-radius:10px; border-bottom-left-radius:10px; }
.calendar-cell:nth-child(7n) { border-top-right-radius:10px; border-bottom-right-radius:10px; }
.calendar-cell.is-outside { background:#f7f8f5; }
.calendar-cell.is-today { box-shadow:inset 0 0 0 2px #9ccbb9; }
.calendar-cell-date { display:flex; align-items:center; justify-content:flex-end; min-height:18px; color:var(--muted); font-size:11px; font-weight:800; }
.calendar-cell-date > span { margin-right:auto; }
.calendar-workload { padding:3px 5px; border-radius:999px; background:#edf5f0; color:var(--green); font-size:9px; font-weight:800; white-space:nowrap; }
.calendar-cell.is-today .calendar-cell-date { color:var(--green); }
.calendar-task { display:block; width:100%; margin-top:6px; padding:5px 6px; border:0; border-left:3px solid #9ccbb9; border-radius:5px; background:#f0f8f4; color:#385d50; text-align:left; font:inherit; cursor:pointer; }
.calendar-task:hover { background:#e2f1ea; }
.calendar-task.is-todo { border-left-color:#d8954f; background:#fff4e7; color:#8b5b2b; }
.calendar-task.is-contact { border-left-color:#7d75c8; background:#f1efff; color:#514a91; }
.calendar-task.is-termination { border-left-color:#c85d67; background:#fff0f1; color:#94434d; }
.calendar-task.is-confirmed { border-left-color:#2f8f83; background:#e9f7f3; color:#23665d; }
.calendar-task.is-shipping { border-left-color:#4c8fc5; background:#edf6ff; color:#2e638e; }
.calendar-task.is-delivery { border-left-color:#c58b43; background:#fff6e8; color:#8b5b2b; }
.calendar-task.is-feedback { border-left-color:#b26aa7; background:#fff0fb; color:#7f4776; }
.calendar-task.is-review { border-left-color:#6c72b8; background:#eef0ff; color:#4d538f; }
.calendar-task-summary { font-weight:750; }
.calendar-task span, .calendar-task strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-task span { font-size:9px; }
.calendar-task strong { margin-top:2px; font-size:10px; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:12px; color:var(--muted); font-size:11px; }
.review-assistant-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.review-assistant-row small { flex:1 1 260px; }
.review-suggestion-box { display:flex; flex-direction:column; gap:4px; width:100%; padding:10px 12px; border:1px solid #c9d7f0; border-radius:10px; background:#f3f6ff; color:#39466f; font-size:12px; line-height:1.5; }
.review-suggestion-box strong { color:#303d78; }
.review-suggestion-box small { color:#66708d; }
.legend-dot { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:#9ccbb9; }
.legend-dot.todo { background:#d8954f; }
.legend-dot.contact { background:#7d75c8; }
.legend-dot.termination { background:#c85d67; }
.legend-dot.confirmed { background:#2f8f83; }
.legend-dot.shipping { background:#4c8fc5; }
.legend-dot.delivery { background:#c58b43; }
.legend-dot.feedback { background:#b26aa7; }
@media (max-width: 800px) { .content-library-grid { grid-template-columns:1fr; } .content-library-heading { flex-direction:column; } .review-overview { grid-template-columns:1fr 1fr; } }
@media (max-width: 700px) { .calendar-cell { min-height:92px; padding:5px; } .calendar-task { padding:4px; } .calendar-task span { display:none; } .calendar-task strong { font-size:9px; } .calendar-nav strong { min-width:80px; } }
.requirements-preview { margin-top: 12px; padding: 13px 14px; border: 1px solid #cfe0d7; border-radius: 12px; background: var(--green-pale); color: #385d50; font-size: 11px; line-height: 1.6; }
.requirements-preview strong { color: var(--green); }
.todo-context-banner { display:flex; flex-direction:column; gap:4px; margin:0 0 14px; padding:12px 14px; border:1px solid #cfe0d7; border-radius:12px; background:#eef8f3; color:#315f50; font-size:12px; line-height:1.55; }
.todo-context-banner strong { color:var(--green); }
.task-modal { max-width: 760px; }
.task-modal-creator { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #dce6df; border-radius: 12px; background: #f7faf7; color: var(--muted); font-size: 12px; }
.task-modal-creator strong { color: var(--ink); font-size: 14px; margin-right: 8px; }
.task-modal-body { display: grid; gap: 14px; }
.task-modal-note { padding: 11px 13px; border-radius: 10px; background: var(--green-pale); color: #315f50; font-size: 12px; line-height: 1.55; }
.task-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.task-modal-grid .full { grid-column: 1 / -1; }
@media (max-width: 680px) { .task-modal-grid { grid-template-columns: 1fr; } .task-modal-grid .full { grid-column: auto; } }
.task-summary { padding: 8px 12px; border-radius: 10px; background: #f7f8f5; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1100px) {
  .workspace-section { grid-template-columns: 1fr; }
  .weights-card { position: static; }
  .weight-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 18px; }
  .board-columns,.board-columns.compact { grid-template-columns:repeat(2,minmax(220px,1fr)); }
  .board-toolbar { align-items:stretch; flex-direction:column; }
  .board-toolbar-controls { justify-content:flex-start; }
}
[hidden] { display: none !important; }
@media (max-width: 800px) {
  .app-header { padding-inline: 16px; }
  .privacy-chip { display: none; }
  .app-shell { padding: 30px 16px 50px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .candidate-toolbar { align-items: stretch; flex-direction: column; }
  .toolbar-controls { width: 100%; }
  .search-field { flex: 1; }
  .search-field input { width: 100%; }
  .weight-controls { grid-template-columns: 1fr 1fr; }
  .board-columns,.board-columns.compact { grid-template-columns:1fr; }
  .board-toolbar-controls { align-items:stretch; flex-direction:column; }
  .board-search input { min-width:0; }
  .compare-grid { grid-template-columns: 1fr; }
  .compare-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .compare-card-header, .winner-label { grid-column: 1 / -1; }
  .breakdown-row { grid-template-columns: 1.4fr .9fr .65fr .75fr; }
  .breakdown-row > :nth-child(2) { display: none; }
}
@media (max-width: 560px) {
  .brand-subtitle { display: none; }
  .header-actions .button { padding: 10px 12px; font-size: 12px; }
  h1 { font-size: 32px; }
  .formula-badge { display: none; }
  .summary-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .summary-card { padding: 14px; }
  .summary-value { font-size: 21px; }
  .weight-controls { grid-template-columns: 1fr; }
  .toolbar-controls { align-items: stretch; flex-direction: column; }
  .select-field select { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .nested-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .modal-backdrop { padding: 10px; }
  .modal-header, form, #detailContent, .compare-content { padding-left: 17px; padding-right: 17px; }
  .compare-card { grid-template-columns: 1fr; }
  .compare-card-header, .winner-label { grid-column: auto; }
  .breakdown-row { grid-template-columns: 1.2fr .65fr .75fr; gap: 7px; }
  .quality-detail-row { grid-template-columns: 1fr auto; }
  .quality-detail-row p { grid-column: 1 / -1; }
  .breakdown-row > :nth-child(2), .breakdown-row > :nth-child(4) { display: none; }
  .table-footer { align-items: flex-start; flex-direction: column; }
  .daily-todo-item { grid-template-columns:1fr; gap:8px; }
  .daily-todo-deadline { white-space:normal; }
}
