/* base.css split from legacy.css on 2026-07-13T14:30:34.694Z. */

:root {
      --bg: #f1f5f9;
      --panel: #ffffff;
      --text: #1e293b;
      --heading: #0f172a;
      --muted: #64748b;
      --muted-2: #94a3b8;
      --line: #e2e8f0;
      --line-soft: #f1f5f9;
      --primary: #5b5cf6;
      --primary-soft: #eef2ff;
      --success: #16a34a;
      --success-soft: #dcfce7;
      --danger: #dc2626;
      --danger-soft: #fee2e2;
      --warning: #ea580c;
      --warning-soft: #fff7ed;
      --sidebar-w: clamp(300px, 22vw, 380px);
      --sidebar-collapsed-w: 66px;
      --font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

* { box-sizing: border-box; }

html, body {
      margin: 0;
      padding: 0;
      height: 100%;
      font-family: var(--font);
      background: var(--bg);
      color: var(--text);
      overflow: hidden;
      font-size: 13px;
      font-weight: 400;
    }

button, input, textarea, select { font-family: var(--font); }

.input, .search-input, .form-input, .form-select, .form-textarea {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 10px;
      outline: none;
      font-size: 12px;
      background: #f8fafc;
      color: var(--text);
    }

.input, .search-input {
      height: 36px;
      padding: 0 11px;
    }

.form-input, .form-select {
      height: 36px;
      padding: 0 11px;
    }

.form-textarea {
      min-height: 88px;
      padding: 10px 11px;
      resize: vertical;
      line-height: 1.45;
    }

.search-input { padding-left: 32px; }

.job-card.selected {
      border-color: #a5b4fc;
      background: linear-gradient(135deg, #f7f7ff 0%, #ffffff 68%);
      box-shadow: 0 12px 26px rgb(99 102 241 / 0.11);
    }

.job-card.selected::before { background: linear-gradient(180deg, #6366f1, #3b82f6); }

.job-card.selection-mode {
      cursor: pointer;
    }

.job-card.selected-for-bulk {
      border-color: #22c55e;
      background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 72%);
    }

.job-select-wrap {
      width: 22px;
      display: none;
      align-items: flex-start;
      justify-content: center;
      padding-top: 5px;
    }

.selection-mode .job-select-wrap { display: flex; }

.job-select-checkbox {
      width: 15px;
      height: 15px;
      accent-color: var(--primary);
      cursor: pointer;
    }

.stage-filter-select {
      display: none;
      width: 100%;
      height: 34px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: #f8fafc;
      color: var(--heading);
      padding: 0 10px;
      font-weight: 600;
      outline: none;
    }

.msg-row.user .msg-body { grid-column: 1; grid-row: 1; }

.input-wrapper {
      border: 1px solid var(--line);
      border-radius: 14px;
      background: #f8fafc;
      padding: 7px 8px 7px 10px;
      display: grid;
      grid-template-columns: 1fr auto auto;
      align-items: end;
      gap: 8px;
    }

.main-textarea {
      width: 100%;
      border: none;
      background: transparent;
      resize: none;
      outline: none;
      font-size: 12px;
      color: var(--text);
      height: 32px;
      min-height: 32px;
      max-height: 94px;
      line-height: 1.45;
      padding: 7px 0 0;
      overflow-y: auto;
    }

.modal-body { padding: 18px; overflow-y: auto; line-height: 1.55; font-size: 12.5px; background: #fbfdff; }

.ai-doc-fold-body {
      overflow: hidden;
      min-height: 0;
    }

.ai-doc-issue-body {
      display: grid;
      gap: 7px;
      padding: 10px 12px;
    }

.stage-check input {
      margin-top: 2px;
    }

.log-filter-panel .form-input,
    .log-filter-panel .form-select {
      background: #f8fafc;
    }
