.notebook-workspace { display: grid; grid-template-columns: 252px minmax(0, 1fr); height: 100%; min-height: 0; background: var(--surface); border: 1px solid var(--line); overflow: hidden; border-radius: 8px; }
.notebook-workspace *, .notebook-workspace *::before, .notebook-workspace *::after { box-sizing: border-box; }
.notebook-rail { display: flex; flex-direction: column; min-height: 0; min-width: 0; background: var(--surface-subtle); border-right: 1px solid var(--line); }
.notebook-rail-head { display: flex; flex-direction: column; gap: 10px; padding: 18px 14px 14px; border-bottom: 1px solid var(--line); }
.notebook-rail-head h1 { font-size: 18px; margin: 0; }
.notebook-rail-head > span { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notebook-workspace input:not([type=checkbox]), .notebook-workspace select, .notebook-workspace textarea { width: 100%; min-width: 0; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); color: var(--text); padding: 9px 10px; font: inherit; }
.notebook-workspace input:not([type=checkbox]), .notebook-workspace select { min-height: 38px; }
.notebook-company-list { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: 8px; scrollbar-width: none; }
.notebook-company-list::-webkit-scrollbar { display: none; }
.notebook-company { display: flex; flex-direction: column; width: 100%; gap: 6px; text-align: left; border: 1px solid transparent; border-radius: 6px; padding: 12px 10px; background: transparent; color: var(--text); font: inherit; cursor: pointer; transition: background .15s, border-color .15s; }
.notebook-company:hover { background: var(--accent-soft); }
.notebook-company.selected { background: var(--accent-soft); border-color: var(--accent-border); }
.notebook-company-name { display: flex; gap: 8px; align-items: center; min-width: 0; }
.notebook-company-name strong { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.notebook-company-name .priority { flex: none; }
.notebook-company-meta { color: var(--muted); font-size: 12px; }
.notebook-main { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.notebook-head { display: flex; align-items: center; gap: 12px; padding: 18px 22px 14px; flex: none; }
.notebook-heading { flex: 1; min-width: 0; }
.notebook-heading h2 { font-size: 20px; margin: 0 0 6px; overflow-wrap: anywhere; }
.notebook-heading p { font-size: 12px; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.notebook-head-actions { display: flex; gap: 8px; flex: none; }
.notebook-head-actions .btn { min-height: 36px; padding: 6px 10px; }
.notebook-head-actions .icon-btn { width: 36px; height: 36px; padding: 7px; }
.notebook-back { display: none; }
.notebook-tabs { display: flex; align-items: center; gap: 6px; padding: 0 22px; flex: none; border-bottom: 1px solid var(--line); }
.notebook-tab { padding: 12px 14px; color: var(--muted); background: transparent; border: 0; border-bottom: 2px solid transparent; font: inherit; font-size: 13px; white-space: nowrap; cursor: pointer; transition: color .15s, background .15s; }
.notebook-tab:hover { color: var(--accent-strong); background: var(--surface-subtle); }
.notebook-tab[aria-selected=true] { color: var(--accent-strong); border-bottom-color: var(--accent); font-weight: 600; }
.notebook-resources { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 22px 4px; flex: none; }
.notebook-resources .btn { min-height: 32px; padding: 5px 9px; font-size: 12px; }
.notebook-resources select { width: auto; max-width: 220px; min-height: 32px; padding: 5px 8px; font-size: 12px; }
.notebook-body { flex: 1; min-height: 0; min-width: 0; padding: 20px 22px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
.notebook-body > .field { height: 100%; min-height: 200px; display: flex; flex-direction: column; }
.notebook-body .field { gap: 8px; font-size: 13px; }
.notebook-body textarea { resize: vertical; line-height: 1.7; font-size: 14px; }
.notebook-body textarea.notebook-notes { flex: 1; min-height: 160px; resize: none; padding: 14px; }
.notebook-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: none; padding: 10px 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.notebook-content-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; color: var(--muted); font-size: 13px; }
.notebook-content-head .btn { min-height: 36px; font-size: 13px; }
.notebook-entry { border: 1px solid var(--line); border-radius: 6px; margin-bottom: 10px; background: var(--surface); }
.notebook-entry > summary { display: flex; align-items: center; gap: 10px; padding: 14px; min-height: 50px; cursor: pointer; list-style: none; }
.notebook-entry > summary::-webkit-details-marker { display: none; }
.notebook-entry > summary::after { content: ""; width: 7px; height: 7px; flex: none; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(45deg); margin-left: auto; transition: transform .15s; }
.notebook-entry[open] > summary::after { transform: rotate(225deg); }
.notebook-entry[open] > summary { border-bottom: 1px solid var(--line); }
.notebook-entry > summary strong { font-size: 14px; overflow-wrap: anywhere; min-width: 0; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.notebook-entry-mark { flex: none; width: 24px; height: 24px; border-radius: 4px; background: var(--accent-soft); color: var(--accent-strong); text-align: center; line-height: 24px; font-size: 12px; }
.notebook-entry-date { flex: none; color: var(--muted); font-size: 12px; }
.notebook-entry-editor { padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.notebook-entry-controls { display: flex; align-items: center; justify-content: space-between; }
.notebook-entry-controls > .icon-btn { margin-left: auto; color: var(--danger); width: 34px; height: 34px; min-height: 34px; }
.notebook-check { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 13px; }
.notebook-check input { accent-color: var(--accent); width: 16px; height: 16px; }
.notebook-review-fields { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 12px; }
.notebook-empty { color: var(--muted); text-align: center; padding: 40px 12px; font-size: 14px; }
.manual-review-row .recruitment-site a { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manual-review-search-link { color: var(--accent-strong); font-size: 12px; padding: 6px 0; }
.manual-review-note { max-height: 5em; overflow-y: auto; }
@media (max-width: 1150px) and (min-width: 761px) {
  .notebook-workspace { grid-template-columns: 208px minmax(0, 1fr); }
  .notebook-head { flex-wrap: wrap; padding: 14px; }
  .notebook-tabs { padding-inline: 14px; }
  .notebook-head-actions { margin-left: auto; }
  .notebook-resources, .notebook-body { padding-inline: 14px; }
}
@media (max-width: 760px) {
  .notebook-workspace { display: flex; flex-direction: column; border: 0; border-radius: 0; }
  .notebook-rail { display: none; flex: 1; border: 0; }
  .notebook-main { flex: 1; }
  .notebook-workspace.choosing-company .notebook-rail { display: flex; }
  .notebook-workspace.choosing-company .notebook-main { display: none; }
  .notebook-back { display: inline-flex; width: 34px; height: 34px; min-height: 34px; flex: none; }
  .notebook-head { gap: 8px; padding: 12px 10px; flex-wrap: wrap; }
  .notebook-heading { flex-basis: calc(100% - 50px); }
  .notebook-heading h2 { font-size: 18px; }
  .notebook-head-actions { margin-left: auto; }
  .notebook-tabs { gap: 0; padding: 0 8px; }
  .notebook-tab { flex: 1; padding: 10px 6px; font-size: 13px; }
  .notebook-resources { padding: 8px 10px; gap: 6px; }
  .notebook-resources select { max-width: 160px; }
  .notebook-body { padding: 14px 10px; }
  .notebook-foot { padding: 8px 10px; }
  .notebook-workspace textarea, .notebook-workspace input:not([type=checkbox]), .notebook-workspace select { font-size: 16px; }
  .notebook-review-fields { grid-template-columns: minmax(0, 1fr); }
  .notebook-entry > summary { flex-wrap: wrap; padding: 12px; }
  .notebook-entry-editor { padding: 12px; }
  .notebook-entry-date { width: 100%; }
  .notebook-body > .field { min-height: 180px; }
}
@media (max-height: 540px) {
  .notebook-head { padding-block: 6px; }
  .notebook-heading p { display: none; }
  .notebook-resources { padding-block: 4px; }
  .notebook-tabs .notebook-tab { padding-block: 7px; }
  .notebook-foot { padding-block: 6px; }
}
