.okk-reviews-page { display: grid; gap: 18px; color: var(--ink); }
.okk-reviews-page .page-head { margin-bottom: 0; }
.okk-weekly-tabs button { padding:8px 14px; border:0; border-radius:6px; color:var(--muted); background:transparent; font:inherit; font-size:12px; font-weight:650; cursor:pointer; min-height:0; }
.okk-weekly-tabs button[aria-current="page"] { color:var(--ink); background:var(--card); }
.okk-weekly-tabs button:focus-visible { outline:2px solid var(--info); outline-offset:1px; }
.okk-reviews-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 12px; }
.okk-reviews-filters{position:relative;overflow:visible;z-index:15}
.okk-period,.okk-source-picker{position:relative;display:grid;gap:4px;flex:1 1 220px;min-width:0;font-size:13px;font-weight:650}
.okk-period>button,.okk-source-picker>button{width:100%;height:38px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.okk-period-calendar,.okk-source-menu{position:absolute;top:100%;left:0;z-index:30;box-sizing:border-box;width:320px;max-width:calc(100vw - 48px);padding:12px;margin-top:6px;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 10px 30px #0004}
.okk-period-calendar.is-aligned-right,.okk-source-menu.is-aligned-right{left:auto;right:0}
.okk-period-month,.okk-period-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}
.okk-period-month select{width:auto;min-width:0;height:34px;padding:0 5px;font-size:12px}
.okk-period-month button,.okk-period-actions button{min-height:32px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}
.okk-period-calendar p{font-size:11px;color:var(--muted);font-weight:400;margin:10px 0;min-height:32px}
.okk-period-weekdays,.okk-period-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}
.okk-period-weekdays{font-size:11px;color:var(--muted);margin:6px 0}
.okk-period-days button{min-height:34px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}
.okk-period-days button.is-outside{color:var(--muted)}.okk-period-days button.is-range{background:color-mix(in srgb,var(--info) 15%,var(--card))}
.okk-period-days button.is-endpoint{background:var(--info);color:var(--card);font-weight:750}.okk-period-days button.is-today{border-color:var(--info)}
.okk-period-days button:focus-visible,.okk-source-picker button:focus-visible{outline:2px solid var(--info);outline-offset:1px}
.okk-period-actions{margin-top:10px}.okk-period-actions button{font-size:11px}
.okk-source-menu{width:350px}.okk-source-menu>input{height:34px;font-size:12px;margin-bottom:8px}
.okk-source-list{max-height:250px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.okk-reviews-filters .okk-source-list label{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:32px;margin:0;padding:7px 3px;font-size:12px;line-height:1.4;font-weight:500;cursor:pointer}
.okk-reviews-filters .okk-source-list label[hidden]{display:none}
.okk-reviews-filters .okk-source-list input[type="checkbox"]{appearance:auto;display:inline-block;box-sizing:border-box;width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;flex:0 0 16px;margin:0;padding:0;border-radius:3px;accent-color:var(--info)}
.okk-reviews-filters .okk-source-list label span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.okk-period,.okk-source-picker{flex-basis:100%}.okk-period-calendar,.okk-source-menu{width:100%}}
.okk-reviews-filters label { display: grid; gap: 4px; flex: 1 1 175px; min-width: 0; color: var(--ink); font-size: 13px; font-weight: 650; }
.okk-reviews-filters label:first-child, .okk-reviews-filters label:nth-child(3) { flex-basis: 220px; }
.okk-reviews-filters input, .okk-reviews-filters select { box-sizing: border-box; width: 100%; min-width: 0; height: 44px; border: 1px solid var(--border); border-radius: 10px; padding: 0 12px; background: var(--card); color: var(--ink); font: inherit; font-weight: 500; }
.okk-reviews-filters > label > :is(input,select) { height: 38px; }
.okk-reviews-page button { min-height: 42px; font-size: 13px; }
.okk-reviews-filters > :is(.okk-period,.okk-source-picker) > button, .okk-reviews-filter-actions > button { min-height: 38px; }
.okk-reviews-filter-actions { display: flex; gap: 8px; }
.okk-reviews-filter-actions{flex-wrap:wrap}.okk-reviews-filters>.okk-reviews-note{flex-basis:100%}
.okk-resolution-status{display:inline-block;padding:3px 8px;border:1px solid var(--border);border-radius:6px;white-space:nowrap;font-size:12px;color:var(--muted)}
.okk-resolution-status.is-resolved{color:var(--success)}.okk-resolution-status.is-unresolved{color:var(--danger)}.okk-resolution-status.is-in_progress{color:var(--warning)}
.okk-reviews-history { min-width: 0; }
.okk-reviews-table .okk-problem-button, .okk-problem-badge { box-sizing:border-box; display:block; margin-top:8px; min-height:42px; width:154px; min-width:134px; max-width:170px; padding:6px 8px; border:1px solid var(--border); border-radius:7px; background:var(--card); color:var(--muted); font:inherit; font-size:11px; line-height:1.4; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.okk-reviews-table .okk-problem-button { cursor:pointer; }
.okk-reviews-table .okk-problem-button.is-problematic, .okk-problem-badge { color:var(--warning); border-color:color-mix(in srgb,var(--warning) 55%,var(--border)); background:color-mix(in srgb,var(--warning) 9%,var(--card)); font-weight:700; }
.okk-problem-badge { box-sizing:border-box; min-height:0; }
.okk-reviews-table .okk-problem-button:disabled { opacity:.6; cursor:default; }
.okk-reviews-table .okk-problem-button:focus-visible { outline:2px solid var(--info); outline-offset:2px; }
.okk-problem-feedback { margin:0; padding:10px 14px; border:1px solid var(--border); border-radius:8px; color:var(--ink); font-size:13px; }
.okk-problem-feedback.is-error { color:var(--danger); }
.okk-reviews-history .table-scroll { max-width: 100%; overflow-x: auto; }
.okk-reviews-history .table-scroll:focus-visible { outline: 2px solid var(--info); outline-offset: -2px; }
.okk-reviews-table { width: 100%; min-width: 1350px; border-collapse: collapse; }
.okk-reviews-table th, .okk-reviews-table td { height: auto; padding: 15px 13px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.okk-reviews-table th { background: var(--surface); font-size: 12px; font-weight: 750; overflow-wrap: normal; }
.okk-reviews-table th:nth-child(2), .okk-reviews-table th:nth-child(6), .okk-reviews-table th:nth-child(8), .okk-reviews-table td:nth-child(2) strong { white-space: nowrap; }
.okk-reviews-table td[data-label="Причина отзыва"], .okk-reviews-table td[data-label="У кого была в работе"] { max-width: 250px; min-width: 150px; white-space: pre-wrap; }
.okk-reviews-table td[data-label="Источник"] { min-width: 85px; max-width: 180px; }
.okk-reviews-table td[data-label="Город заявки"] { min-width: 120px; max-width: 200px; }
.okk-reviews-table time { display: inline-block; min-width: 128px; font-variant-numeric: tabular-nums; }
.okk-review-type { display: inline-block; padding: 2px 7px; border: 1px solid var(--border); border-radius: 6px; font-size: 12px; white-space: nowrap; }
.okk-review-type.is-critical { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); background: color-mix(in srgb, var(--danger) 7%, var(--card)); font-weight: 700; }
.okk-reviews-missing, .okk-reviews-note { color: var(--muted); }
.okk-reviews-source { display: inline-block; min-width: 142px; color: var(--info); text-underline-offset: 3px; }
.okk-reviews-quality { margin-top: 8px; color: var(--warning); font-size: 12px; }
.okk-reviews-quality summary { cursor: pointer; }
.okk-reviews-quality ul { margin: 7px 0 0; padding-left: 17px; color: var(--muted); }
.okk-reviews-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 16px; font-size: 13px; color: var(--muted); }
.okk-reviews-footer nav { display: flex; gap: 10px; }
.okk-reviews-sync { padding: 16px 18px; border-left: 3px solid var(--success); }
.okk-reviews-sync.is-stale { border-left-color: var(--warning); }
.okk-reviews-sync strong { font-size: 13px; }
.okk-reviews-sync p, .okk-reviews-sync li { font-size: 12px; line-height: 1.6; color: var(--muted); }
.okk-reviews-sync p { margin: 6px 0 0; }
.okk-reviews-sync ul { margin: 8px 0 0; padding-left: 20px; }
.okk-reviews-note { margin: 0; font-size: 12px; line-height: 1.6; }
.okk-reviews-page .empty-state p { font-size: 14px; }
.okk-reviews-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.okk-critical-panel { position: relative; min-width: 0; padding: 12px; }
.okk-critical-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; cursor: pointer; list-style: none; }
.okk-critical-panel[open] > .okk-critical-head { min-height: 38px; padding-right: 254px; }
.okk-critical-head::-webkit-details-marker { display: none; }
.okk-critical-head::marker { content: ''; }
.okk-critical-head:focus-visible { outline: 2px solid var(--info); outline-offset: 5px; border-radius: 3px; }
.okk-critical-head h2 { min-width: 0; margin: 0; color: var(--ink); font-size: 16px; line-height: 1.35; }
.okk-critical-toggle { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.okk-critical-panel .okk-critical-toggle .is-open, .okk-critical-panel[open] .okk-critical-toggle .is-closed { display: none; }
.okk-critical-panel[open] .okk-critical-toggle .is-open { display: inline; }
.okk-critical-chevron { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.okk-critical-panel[open] .okk-critical-chevron { transform: rotate(45deg); }
.okk-critical-content { margin-top: 8px; }
.okk-critical-controls { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; justify-content: flex-end; }
.okk-critical-controls label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.okk-critical-controls select { box-sizing: border-box; min-height: 38px; border: 1px solid var(--border); border-radius: 8px; padding: 0 10px; background: var(--card); color: var(--ink); font: inherit; }
.okk-critical-scroll { max-height: 320px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; }
.okk-critical-scroll:focus-visible { outline: 2px solid var(--info); outline-offset: -2px; }
.okk-critical-table { width: 100%; min-width: 360px; border-collapse: collapse; }
.okk-critical-table th, .okk-critical-table td { height: auto; padding: 9px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.okk-critical-table th { position: sticky; top: 0; z-index: 1; background: var(--surface); font-size: 12px; white-space: nowrap; }
.okk-critical-table button { white-space: nowrap; }
.okk-critical-table tr:last-child td { border-bottom: 0; }
.okk-critical-table .okk-critical-count { font-variant-numeric: tabular-nums; }
.okk-critical-count strong { color: var(--danger); }
.okk-critical-count small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.okk-critical-empty { margin: 18px 0; color: var(--muted); font-size: 13px; }
@media (max-width: 1000px) {
  .okk-critical-panel[open] > .okk-critical-head { min-height: 32px; padding-right: 0; }
  .okk-critical-controls { position: static; margin-bottom: 8px; }
}
@media (max-width: 760px) {
  .okk-reviews-filters { padding: 12px; }
  .okk-reviews-filters > label > :is(input,select), body.design-vanta .okk-reviews-filters > label > :is(input,select) { min-height: 44px; height: 44px; }
  .okk-reviews-filters > :is(.okk-period,.okk-source-picker) > button, .okk-reviews-filter-actions > button { min-height: 44px; height: 44px; }
  .okk-reviews-filters label, .okk-reviews-filters label:first-child, .okk-reviews-filters label:nth-child(3) { flex-basis: 100%; }
  .okk-reviews-table { min-width: 0; }
  .okk-reviews-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .okk-reviews-table tbody { display: block; }
  .okk-reviews-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; border-bottom: 1px solid var(--border); }
  .okk-reviews-table td { width: auto; min-width: 0; border: 0; padding: 10px; }
  .okk-reviews-table td:nth-child(2) strong { white-space: normal; }
  .okk-reviews-table .okk-problem-button, .okk-problem-badge { width:100%; min-width:0; }
  .okk-reviews-table td[data-label="Причина отзыва"], .okk-reviews-table td[data-label="У кого была в работе"], .okk-reviews-table td:last-child { max-width: none; min-width: 0; grid-column: 1 / -1; }
  .okk-reviews-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 600; }
  .okk-reviews-table td[data-label="Город заявки"] { min-width: 0; max-width: none; }
  .okk-reviews-table td[data-label="Источник"] { min-width: 0; max-width: none; }
  .okk-reviews-table time { min-width: 0; }
  .okk-reviews-footer nav { width: 100%; justify-content: space-between; }
  .okk-critical-panel { padding: 12px; }
  .okk-critical-head { align-items: center; }
  .okk-critical-head h2 { min-width: 0; font-size: 15px; line-height: 1.35; }
  .okk-critical-toggle { gap: 7px; font-size: 11px; }
  .okk-critical-controls select { min-height: 42px; }
  .okk-critical-table th, .okk-critical-table td { padding: 8px 6px; font-size: 12px; }
  .okk-critical-table button { padding: 5px; font-size: 12px; }
}
