/* OZMA PERFORMANCE — фирменный стиль. Paper/near-black/red, editorial serif + system sans. */

:root {
  --admin-paper: #F6F2EC;
  --admin-surface: #FFFFFF;
  --admin-ink: #171310;
  --admin-muted: #756D64;
  --admin-line: #DDD4C8;
  --font-ui: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ozma-red: #C8102E;
  --ozma-black: #111;
  --ozma-paper: #faf7f2;
  --ozma-line: #e5e0d8;
  --ozma-muted: #767068;
  --ozma-added: #3f6b4c;
  --ozma-removed: #b23a2e;
  --ozma-changed: #8a7250;
  --serif: "Didot", "Bodoni 72", "Playfair Display", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius-s: 2px;
  --radius-m: 4px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--ozma-paper);
  color: var(--ozma-black);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }

/* ---------- QR sheet topbar ---------- */
.topbar {
  display: flex; gap: 1rem; align-items: baseline; justify-content: space-between;
  padding: .8rem 1.2rem; background: var(--ozma-black); color: #fff;
}
.topbar .logo { font-family: var(--serif); letter-spacing: .35em; font-size: 1.1rem; }
.topbar a { color: rgba(255,255,255,.82); text-decoration: none; }
.topbar a:hover { color: #fff; }
.topbar nav { display: flex; gap: 1.1rem; font-size: .82rem; letter-spacing: .04em; }
.topbar nav a.active { color: #fff; border-bottom: 1px solid var(--ozma-red); padding-bottom: .15rem; }

main { padding: 1.2rem; max-width: 1200px; margin: 0 auto; }
h1, h2 { font-family: var(--serif); font-weight: 600; letter-spacing: .01em; }
small { color: var(--ozma-muted); }

/* ---------- internal admin shell ---------- */
body.admin {
  --ozma-black: var(--admin-ink);
  --ozma-paper: var(--admin-paper);
  --ozma-line: var(--admin-line);
  --ozma-muted: var(--admin-muted);
  --sans: var(--font-ui);
  --radius-m: 3px;
  background: var(--admin-paper);
  color: var(--admin-ink);
  font-family: var(--font-ui);
}
body.admin .admin-shell {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
}
body.admin .admin-sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  padding: 1.25rem .75rem;
  background: var(--admin-ink);
  color: #fff;
}
body.admin .admin-brand {
  display: block;
  min-height: 44px;
  padding: .55rem .75rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-decoration: none;
}
body.admin .admin-nav { display: grid; gap: .2rem; margin-top: 1.35rem; }
body.admin .admin-nav > a,
body.admin .admin-more summary,
body.admin .admin-more-links a {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 44px;
  padding: .55rem .75rem;
  border-radius: var(--radius-s);
  color: rgba(255, 255, 255, .72);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
}
body.admin .admin-nav svg,
body.admin .admin-bottom-nav svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  flex: 0 0 auto;
}
body.admin .admin-more summary { cursor: pointer; list-style: none; }
body.admin .admin-more summary::-webkit-details-marker { display: none; }
body.admin .admin-more summary svg circle,
body.admin .admin-bottom-nav svg circle { fill: currentColor; stroke: none; }
body.admin .admin-nav > a:hover,
body.admin .admin-more summary:hover,
body.admin .admin-more-links a:hover { color: #fff; background: rgba(255, 255, 255, .09); }
body.admin .admin-nav .active { color: #fff; background: rgba(255, 255, 255, .14); }
body.admin .admin-more-links { display: grid; gap: .1rem; margin: .15rem 0 .35rem 1.15rem; }
body.admin .admin-more-links a { min-height: 40px; padding-block: .4rem; font-size: .84rem; }
body.admin .admin-main { width: min(100%, 1200px); margin: 0 auto; padding: 1.5rem; }
body.admin h1,
body.admin h2 { font-family: var(--font-ui); font-weight: 600; letter-spacing: 0; }
body.admin .admin-bottom-nav { display: none; }
body.admin :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ozma-red) 35%, transparent);
  outline-offset: 2px;
}

@media (max-width: 700px) {
  body.admin { --admin-mobile-action-bottom: calc(4.75rem + env(safe-area-inset-bottom)); }
  body.admin .admin-shell { display: block; }
  body.admin .admin-sidebar { display: none; }
  body.admin .admin-main {
    width: auto;
    padding: 1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));
  }
  body.admin .admin-bottom-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 4.25rem;
    padding-bottom: env(safe-area-inset-bottom);
    background: var(--admin-surface);
    border-top: 1px solid var(--admin-line);
  }
  body.admin .admin-bottom-nav a {
    display: grid;
    min-height: 44px;
    place-content: center;
    gap: .15rem;
    padding: .35rem .15rem;
    color: var(--admin-muted);
    font-size: .69rem;
    font-weight: 500;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
  }
  body.admin .admin-bottom-nav a.active { color: var(--ozma-red); }
  body.admin .admin-bottom-nav svg { width: 1.15rem; height: 1.15rem; margin: 0 auto; }
  body.admin .admin-bottom-more { position: relative; min-width: 0; }
  body.admin .admin-bottom-more summary {
    display: grid;
    min-height: 44px;
    place-content: center;
    gap: .15rem;
    padding: .35rem .15rem;
    color: var(--admin-muted);
    cursor: pointer;
    font-size: .69rem;
    font-weight: 500;
    line-height: 1.1;
    list-style: none;
    text-align: center;
  }
  body.admin .admin-bottom-more summary::-webkit-details-marker { display: none; }
  body.admin .admin-bottom-more summary.active { color: var(--ozma-red); }
  body.admin .admin-bottom-more summary svg { width: 1.15rem; height: 1.15rem; margin: 0 auto; }
  body.admin .admin-bottom-more-links {
    position: absolute;
    right: .5rem;
    bottom: calc(100% + .5rem);
    z-index: 31;
    display: grid;
    min-width: 12rem;
    padding: .35rem;
    background: var(--admin-surface);
    border: 1px solid var(--admin-line);
    border-radius: .5rem;
    box-shadow: 0 10px 28px rgba(23, 19, 16, .18);
  }
  body.admin .admin-bottom-more-links a {
    min-height: 44px;
    padding: .7rem .8rem;
    color: var(--admin-ink);
    font-size: .9rem;
    text-align: left;
    text-decoration: none;
  }
  body.admin .admin-bottom-more-links a.active,
  body.admin .admin-bottom-more-links a:hover { color: var(--ozma-red); }
  body.admin.admin-focus { --admin-mobile-action-bottom: env(safe-area-inset-bottom); }
  body.admin.admin-focus .admin-main { padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
  body.admin.admin-focus .admin-bottom-nav { display: none; }
}

/* ---------- buttons ---------- */
.btn {
  display: inline-block; padding: .5rem 1.05rem; background: var(--ozma-red); color: #fff;
  border: 1px solid var(--ozma-red); border-radius: var(--radius-s); cursor: pointer;
  text-decoration: none; font-family: var(--sans); font-size: .85rem; letter-spacing: .02em;
  transition: background .15s ease, color .15s ease, transform .1s ease;
}
.btn:hover { background: #a80d26; border-color: #a80d26; }
.btn:active { transform: translateY(1px); }
.btn-outline {
  background: transparent; color: var(--ozma-black); border: 1px solid var(--ozma-black);
}
.btn-outline:hover { background: var(--ozma-black); color: #fff; }
.icon-btn {
  background: transparent; border: 1px solid var(--ozma-line); color: var(--ozma-muted);
  width: 1.9rem; height: 1.9rem; border-radius: var(--radius-s); cursor: pointer; line-height: 1;
  font-size: 1rem; transition: border-color .15s ease, color .15s ease;
}
.icon-btn:hover { border-color: var(--ozma-red); color: var(--ozma-red); }

/* ---------- forms ---------- */
input, textarea {
  font-family: var(--sans); font-size: .9rem; padding: .55rem .7rem; border: 1px solid var(--ozma-line);
  border-radius: var(--radius-s); background: #fff; color: var(--ozma-black);
}
input:focus, textarea:focus {
  outline: none; border-color: var(--ozma-red); box-shadow: 0 0 0 3px rgba(200,16,46,.14);
}
input::placeholder { color: #a9a29a; }
.form-notice { max-width: 44rem; margin: .5rem 0 1rem; padding: .65rem .8rem; border: 1px solid #d88a96; border-radius: var(--radius-s); background: #fff3f4; color: #8f0b20; }
.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; }

/* ---------- pill tabs (nav / filters) ---------- */
.pill-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 1.4rem; }
.pill-tabs a {
  display: inline-flex; align-items: center; gap: .3rem; padding: .38rem .95rem;
  border: 1px solid var(--ozma-line); border-radius: 999px; text-decoration: none;
  color: var(--ozma-black); font-size: .8rem; letter-spacing: .02em; background: #fff;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.pill-tabs a:hover { border-color: var(--ozma-black); }
.pill-tabs a.active { background: var(--ozma-black); border-color: var(--ozma-black); color: #fff; }
.pill-tabs .count { color: var(--ozma-muted); font-variant-numeric: tabular-nums; }
.pill-tabs a.active .count { color: rgba(255,255,255,.65); }

/* ---------- admin grid cards ---------- */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.queue-pagination { display: flex; align-items: center; gap: .7rem; margin: .65rem 0; font-variant-numeric: tabular-nums; }
.queue-pagination a { color: var(--ozma-black); text-decoration: none; }
.queue-pagination a:hover { color: var(--ozma-red); text-decoration: underline; }
.density-toggle { display: inline-flex; gap: .2rem; margin: .2rem 0 .75rem; padding: .2rem; border: 1px solid var(--admin-line); border-radius: 999px; background: var(--admin-surface); }
.density-toggle button { min-width: 2.3rem; min-height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--admin-ink); cursor: pointer; font: inherit; }
.density-toggle button[aria-pressed="true"] { background: var(--admin-ink); color: var(--admin-surface); }
.queue-grid[data-density="s"] { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
.queue-grid[data-density="m"] { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.queue-grid[data-density="l"] { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.card {
  background: #fff; border: 1px solid var(--ozma-line); border-radius: var(--radius-m);
  overflow: hidden; transition: transform .15s ease, box-shadow .15s ease;
}
.card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(17,17,17,.08); }
.card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; background: #f1ede6; }
.card-thumb-empty { width: 100%; aspect-ratio: 3/4; background: #f1ede6; }
.card-body { padding: .6rem .8rem; display: grid; gap: .15rem; }
.card-body b, .card-body .truncate {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block;
}

section.card { padding: 0 0 1rem; }

.asset-card { position: relative; }
.asset-check {
  position: absolute; top: .5rem; left: .5rem; width: 1.35rem; height: 1.35rem; z-index: 1;
  accent-color: var(--ozma-red); cursor: pointer;
}

/* ---------- section headings (admin) ---------- */
.section-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  margin: 2rem 0 .6rem;
}
.section-head h2 { margin: 0; font-size: 1.15rem; }

/* ---------- collection workspace ---------- */
.collection-tabs {
  display: flex; gap: .2rem; margin: .2rem 0 1.4rem; padding: 0;
  border-bottom: 1px solid var(--ozma-line); overflow-x: auto;
  -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.collection-tabs a {
  flex: 0 0 auto; padding: .55rem .75rem .48rem; border-bottom: 2px solid transparent;
  color: var(--ozma-muted); font-size: .82rem; letter-spacing: .02em; text-decoration: none;
  white-space: nowrap; transition: color .15s ease, border-color .15s ease;
}
.collection-tabs a:hover { color: var(--ozma-black); }
.collection-tabs a.active { color: var(--ozma-black); border-bottom-color: var(--ozma-red); font-weight: 600; }
.collection-tabs a span { margin-left: .2rem; color: var(--ozma-muted); font-variant-numeric: tabular-nums; }
.collection-tabs a.active span { color: var(--ozma-red); }

.collection-look-row {
  display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: .8rem; align-items: center;
  min-height: 88px; margin: .5rem 0; padding: .45rem; background: #fff;
  border: 1px solid var(--ozma-line); border-radius: var(--radius-m);
  color: var(--ozma-black); text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.collection-look-row:hover { border-color: var(--ozma-black); box-shadow: 0 3px 12px rgba(17,17,17,.06); }
.collection-look-row img,
.collection-look-row .card-thumb-empty {
  width: 72px; height: 72px; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-s);
}
.collection-look-row > span { min-width: 0; }
.collection-look-row b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collection-look-row small { display: block; margin-top: .18rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collection-primary-action { flex: 0 0 auto; white-space: nowrap; }

@media (max-width: 700px) {
  .queue-grid[data-density="s"] { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); }
  .queue-grid[data-density="m"] { grid-template-columns: repeat(auto-fill, minmax(125px, 1fr)); }
  .queue-grid[data-density="l"] { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .collection-tabs { margin-right: -.2rem; }
  .collection-tabs a { padding-inline: .65rem; }
  .collection-look-row { grid-template-columns: 60px minmax(0, 1fr); min-height: 76px; gap: .65rem; }
  .collection-look-row img,
  .collection-look-row .card-thumb-empty { width: 60px; height: 60px; }
  .collection-primary-action { padding-inline: .75rem; }
}

/* ---------- order: positions as rows ---------- */
.rows { display: grid; gap: .5rem; margin: .6rem 0 1.2rem; }
.row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .6rem .9rem; background: #fff; border: 1px solid var(--ozma-line); border-radius: var(--radius-m);
}
.row-main { display: flex; align-items: baseline; gap: .6rem; min-width: 0; }
.row-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-comment { color: var(--ozma-muted); font-size: .85rem; font-style: italic; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-actions { display: flex; align-items: center; gap: .8rem; flex-shrink: 0; }
.link-action { color: var(--ozma-black); font-size: .82rem; text-decoration: underline; text-decoration-color: var(--ozma-line); }
.link-action:hover { text-decoration-color: var(--ozma-red); }
.inline-form { display: inline; }

.kp-link { font-size: .88rem; color: var(--ozma-muted); }
.kp-link a { color: var(--ozma-black); word-break: break-all; }

.order-form { padding: 1.1rem; max-width: 480px; display: grid; gap: .6rem; }
a.row-name { text-decoration: none; color: inherit; }
.freeze-form { margin: .6rem 0 2rem; display: flex; gap: .6rem; flex-wrap: wrap; }

/* =========================================================
   Public КП — витрина
   ========================================================= */
body.kp-body { background: #fff; }

.kp-hero { text-align: center; padding: 2.75rem 1rem 1.75rem; }
.kp-mark-oz { display: block; font-family: var(--serif); font-size: 1.5rem; letter-spacing: .5em; text-indent: .5em; }
.kp-mark-sub { display: block; margin-top: .4rem; font-size: .64rem; letter-spacing: .42em; text-indent: .42em; color: var(--ozma-muted); }
.kp-rule { border: 0; border-top: 1px solid var(--ozma-black); opacity: .15; width: 56px; margin: 1.4rem auto; }
.kp-title { font-family: var(--serif); font-weight: 600; font-size: clamp(1.5rem, 4.5vw, 2.4rem); margin: .3rem 0 .8rem; }
.kp-versions { font-size: .78rem; color: var(--ozma-muted); letter-spacing: .01em; }
.kp-versions a { color: var(--ozma-muted); text-decoration: underline; text-decoration-color: var(--ozma-line); }
.kp-versions a:hover { color: var(--ozma-black); text-decoration-color: var(--ozma-red); }
.kp-versions b { color: var(--ozma-black); }

.kp-main { max-width: 1040px; margin: 0 auto; padding: 0 1rem 3rem; }

.position { margin: 0 0 2.75rem; }
.position:last-child { margin-bottom: 1.5rem; }
.position-name { font-family: var(--serif); font-weight: 600; font-size: 1.3rem; margin: 0 0 .3rem; }
.position-comment { color: var(--ozma-muted); font-size: .92rem; font-style: italic; margin: 0 0 1rem; }

.photo-grid { column-count: 2; column-gap: 1rem; }
@media (min-width: 720px) { .photo-grid { column-count: 3; } }
@media (min-width: 1100px) { .photo-grid { column-count: 4; } }

.photo-card {
  position: relative; display: block; break-inside: avoid; margin: 0 0 1rem;
  border-radius: var(--radius-m); overflow: hidden; background: #fff;
  box-shadow: 0 1px 3px rgba(17,17,17,.08), 0 6px 16px rgba(17,17,17,.05);
}
.photo-card img { width: 100%; display: block; }
a.photo-card { text-decoration: none; }

.play-badge {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 2.6rem; height: 2.6rem; border-radius: 50%; background: rgba(17,17,17,.72); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
.video-card.no-poster { aspect-ratio: 3/4; display: flex; align-items: center; justify-content: center; background: #f1ede6; }
.video-pill {
  display: inline-flex; align-items: center; gap: .35rem; padding: .5rem 1.05rem;
  background: var(--ozma-black); color: #fff; border-radius: 999px; font-size: .78rem; letter-spacing: .05em;
}

.kp-video-list { display: flex; flex-direction: column; margin-top: .5rem; border-top: 1px solid var(--ozma-line); }
.kp-video-link {
  padding: .45rem .2rem; border-bottom: 1px solid var(--ozma-line); color: var(--ozma-black);
  text-decoration: none; font-size: .95rem;
}
.kp-video-link:hover { color: var(--ozma-red); }
summary.kp-video-link { cursor: pointer; display: block; list-style: none; }
summary.kp-video-link::-webkit-details-marker { display: none; }
.kp-video[open] > summary.kp-video-link { color: var(--ozma-red); border-bottom: none; }
.kp-video-box { padding: 0 .2rem .6rem; border-bottom: 1px solid var(--ozma-line); }
.kp-video-frame {
  width: 100%; max-width: 720px; aspect-ratio: 16/9; border: 0; display: block;
  border-radius: var(--radius-m); background: #111;
}
.kp-video-ext {
  display: inline-block; margin-top: .35rem; font-size: .78rem; letter-spacing: .04em;
  color: var(--ozma-muted); text-decoration: none;
}
.kp-video-ext:hover { color: var(--ozma-red); }

.kp-footer { text-align: center; padding: 2.25rem 1rem 3rem; }
.kp-contact { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ozma-muted); }

/* ---------- версии/дифф ---------- */
.diff-card {
  background: #fff; border: 1px solid var(--ozma-line); border-radius: var(--radius-m);
  padding: 1.1rem 1.3rem; margin: 0 0 1.5rem;
}
.diff-card h3 { margin: 0 0 .7rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ozma-muted); font-family: var(--sans); font-weight: 600; }
.diff-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.diff-row { font-size: .92rem; }
.diff-mark { display: inline-block; width: 1.1rem; font-weight: 700; }
.mark-add { color: var(--ozma-added); }
.mark-remove { color: var(--ozma-removed); }
.mark-change { color: var(--ozma-changed); }

.plain-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.plain-list li { font-size: .95rem; }
.plain-list i { color: var(--ozma-muted); font-style: italic; margin-left: .3rem; }

.nav-cta { border: 1px solid var(--ozma-red); padding: .2rem .7rem; border-radius: 999px; margin-left: .4rem; }
.nav-cta:hover { background: var(--ozma-red); }
.hint { background: #fff; border: 1px solid #e5e0d8; border-left: 3px solid var(--ozma-red);
        padding: .7rem 1rem; font-size: .9rem; color: #3d3a35; line-height: 1.55; }

.status-bar { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin:.4rem 0 1rem; }
.badge { display:inline-block; padding:.15rem .55rem; background:var(--ozma-black); color:#fff; font-size:.8rem; border-radius:2px; }

.conflict-block { border:1px solid var(--ozma-red); background:#fdecec; padding:.7rem 1rem; margin:0 0 1rem; }
.conflict-block ul { margin:.4rem 0 0; padding-left:1.2rem; }
.conflict-flag { color:var(--ozma-red); font-weight:600; margin-right:.5rem; }

.kp-approve-btn { display:inline-block; margin-top:.8rem; padding:.6rem 1.4rem; background:var(--ozma-red); color:#fff; border:0; font-family:var(--serif); letter-spacing:.05em; cursor:pointer; }
.kp-approved { margin-top:.8rem; color:var(--ozma-red); font-family:var(--serif); letter-spacing:.05em; }

.search-form { display:flex; gap:.5rem; margin:.6rem 0 1rem; align-items:center; flex-wrap:wrap; }
.search-input { flex:1; max-width:360px; padding:.4rem .6rem; border:1px solid #ccc; }
.check-inline { display:inline-flex; align-items:center; gap:.35rem; font-size:.85rem; color:var(--ozma-muted); }

/* Ф5: снятое с проката — приглушено и помечено, но видно (мягкое удаление) */
.status-form { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:.4rem 0 1.2rem; }
.status-form .status-note { flex:1; min-width:220px; max-width:420px; padding:.4rem .6rem; border:1px solid #ccc; }
.status-form small { color:var(--ozma-muted); }
.status-badge { display:inline-block; padding:.05rem .45rem; border:1px solid var(--ozma-line);
                border-radius:2px; font-size:.72rem; letter-spacing:.06em; color:var(--ozma-muted);
                text-transform:uppercase; vertical-align:middle; }
.is-hidden { opacity:.45; }
.is-hidden:hover { opacity:.75; }

.tags-block { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; margin:.4rem 0 1rem; }
.tag-chip { display:inline-flex; align-items:center; gap:.2rem; padding:.1rem .5rem; background:#eee; border-radius:2px; font-size:.85rem; }
.tag-x { border:0; background:none; cursor:pointer; font-size:1rem; line-height:1; }
.pill-tags { margin-top:.4rem; }
.pill-clear { color:var(--ozma-red); }

.conflict-row { border-left:3px solid var(--ozma-red); }

.brief-body { max-width:900px; margin:0 auto; padding:1.5rem; font-family:var(--sans); }
.brief-body section { border-top:2px solid var(--ozma-black); margin-top:1.5rem; padding-top:.5rem; page-break-inside:avoid; }
.brief-item { margin:.6rem 0; }
.brief-thumbs img { height:90px; margin:.2rem; object-fit:cover; }
.brief-rider { white-space:pre-wrap; background:#faf7f2; padding:.8rem; margin-top:.6rem; font-size:.9rem; }
.brief-toolbar { display:flex; gap:.6rem; margin-bottom:1rem; }
@media print { .no-print { display:none !important; } .brief-body { max-width:none; } a { text-decoration:none; color:inherit; } }

/* ---------- links: превью разбираемого контента ---------- */
.link-thumbs { display:flex; gap:.25rem; }
.link-thumbs img { width:52px; height:66px; object-fit:cover; border:1px solid #e5e0d8; }

/* ---------- calendar: предполагаемые vs подтверждённые заказы ---------- */
.cal-nav { display:flex; gap:.6rem; align-items:center; }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; background:var(--ozma-line); border:1px solid var(--ozma-line); }
.cal-head { background:var(--ozma-black); color:#fff; padding:.3rem .5rem; font-size:.75rem; text-align:center; letter-spacing:.05em; }
.cal-day { background:#fff; min-height:92px; padding:.3rem .4rem; }
.cal-day.cal-out { background:#f4f0ea; }
.cal-num { font-size:.75rem; color:var(--ozma-muted); }
.cal-chip { display:block; margin-top:.25rem; padding:.2rem .45rem; font-size:.72rem; border:1px solid var(--ozma-red); color:var(--ozma-red); border-radius:2px; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cal-chip.confirmed { background:var(--ozma-red); color:#fff; }
.cal-chip.clash { border-color: var(--ozma-red); box-shadow: inset 0 0 0 1px var(--ozma-red); }
.cal-chip.warn { border-color: var(--ozma-changed); color: var(--ozma-changed); }
.cal-chip.warn.confirmed { color:#fff; background: var(--ozma-changed); }
.cal-count { float:right; font-size:.68rem; color:var(--ozma-red); font-weight:600; }
.pot-conflict-block { border:1px dashed var(--ozma-changed); background:#f8f3ea; padding:.7rem 1rem; margin:0 0 1rem; }
.pot-conflict-block ul { margin:.4rem 0 0; padding-left:1.2rem; }
