:root {
  --ink: #18312a;
  --ink-2: #365149;
  --green: #123b31;
  --green-2: #1f5a49;
  --accent: #e7594f;
  --accent-dark: #cc443b;
  --cream: #f7f5ef;
  --paper: #ffffff;
  --line: #e5e8e3;
  --muted: #76847f;
  --soft: #eef3ef;
  --shadow: 0 18px 45px rgba(24, 49, 42, .10);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; line-height: 1.45; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1220px, calc(100% - 48px)); margin: 0 auto; }
.topbar { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(18,59,49,.08); backdrop-filter: blur(14px); }
.topbar-inner { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--green); font-weight: 900; letter-spacing: -.04em; }
.brand-copy { display: grid; line-height: 1.12; }
.brand-copy strong { font-size: 15px; }
.brand-copy small { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; margin-top: 3px; }
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a { padding: 10px 14px; border-radius: 10px; color: var(--ink-2); font-size: 14px; font-weight: 650; }
.main-nav a:hover, .main-nav a.active { background: var(--soft); color: var(--green); }
.main-nav .manager-link { border: 1px solid var(--line); margin-left: 6px; }
.message-stack { position: fixed; z-index: 80; top: 82px; right: 16px; width: min(360px, calc(100% - 32px)); pointer-events: none; }
.message { padding: 12px 15px; border-radius: 10px; background: var(--green); color: #fff; box-shadow: var(--shadow); margin-bottom: 8px; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; pointer-events: auto; }
.message.error { background: #9d3131; }
.hero { position: relative; overflow: hidden; background: var(--green); color: #fff; }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -170px; top: -240px; border: 95px solid rgba(255,255,255,.035); }
.hero::after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; left: 45%; bottom: -220px; background: rgba(231,89,79,.14); }
.hero-grid { position: relative; z-index: 1; min-height: 425px; padding: 74px 0 64px; display: grid; grid-template-columns: 1.35fr .8fr; gap: 90px; align-items: center; }
.eyebrow { color: #b9d6cd; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow.dark { color: var(--green-2); }
.hero h1 { margin: 13px 0 20px; max-width: 720px; font-size: clamp(42px, 5vw, 66px); line-height: .98; letter-spacing: -.045em; }
.hero h1 span { color: #f1b19e; font-weight: 500; }
.hero-text { max-width: 660px; margin: 0; color: #d3e1dc; font-size: 18px; line-height: 1.55; }
.hero-actions { margin-top: 30px; display: flex; align-items: center; gap: 20px; }
.hero-note { color: #b9cbc5; font-size: 13px; }
.btn { border: 0; border-radius: 11px; padding: 12px 18px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-weight: 750; transition: .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color: #fff; box-shadow: 0 10px 22px rgba(231,89,79,.23); }
.btn-primary:hover { background: var(--accent-dark); }
.btn-light { background: #fff; color: var(--green); }
.btn-wide { width: 100%; padding: 15px 20px; font-size: 15px; }
.hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stat-card { min-height: 125px; padding: 23px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.06); display: flex; flex-direction: column; justify-content: flex-end; backdrop-filter: blur(4px); }
.stat-card:first-child { grid-column: 1 / -1; }
.stat-card.accent { background: rgba(231,89,79,.15); border-color: rgba(241,177,158,.22); }
.stat-card b { font-size: 34px; letter-spacing: -.04em; }
.stat-card span { color: #cbdad5; font-size: 13px; margin-top: 2px; }
.market-section { padding: 62px 0 82px; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.section-head.compact { margin-top: 58px; }
.section-head h2, .block-head h2 { margin: 4px 0 0; font-size: 32px; line-height: 1.1; letter-spacing: -.035em; }
.legend { font-size: 12px; color: var(--muted); display: flex; gap: 8px; align-items: center; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #aaa; }
.dot.live { background: #36a46e; box-shadow: 0 0 0 5px rgba(54,164,110,.10); }
.filters { display: grid; grid-template-columns: 1.6fr .8fr .7fr auto; gap: 10px; margin-bottom: 24px; }
.filters input, .filters select { width: 100%; height: 46px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); padding: 0 14px; outline: none; }
.filters input:focus, .filters select:focus { border-color: #93b3a8; box-shadow: 0 0 0 3px rgba(31,90,73,.08); }
.search-field { position: relative; }
.search-field span { position: absolute; left: 15px; top: 8px; font-size: 23px; color: var(--muted); }
.search-field input { padding-left: 42px; }
.filter-reset { display: grid; place-items: center; padding: 0 12px; color: var(--accent-dark); font-size: 13px; font-weight: 700; }
.lot-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lot-card { min-width: 0; overflow: hidden; border-radius: var(--radius); background: #fff; border: 1px solid rgba(18,59,49,.09); box-shadow: 0 9px 28px rgba(24,49,42,.055); transition: .22s ease; }
.lot-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.lot-image { height: 230px; position: relative; display: block; overflow: hidden; isolation: isolate; }
.lot-image::before, .detail-visual::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 25%, rgba(255,255,255,.65), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.45), transparent 48%); }
.flower-white { background: linear-gradient(135deg, #dce9df, #f4eee2 62%, #d6e5dd); }
.flower-red { background: linear-gradient(135deg, #531f25, #b44d4d 57%, #edb09d); }
.flower-pink { background: linear-gradient(135deg, #e6c5cc, #f7e9e7 60%, #d29ca8); }
.flower-yellow { background: linear-gradient(135deg, #eadb9b, #fff4c9 56%, #b8c77c); }
.flower-mix { background: linear-gradient(135deg, #b6d1c5, #eec0b8 52%, #f4dfb3); }
.flower-art { position: absolute; width: 120px; height: 150px; right: 42px; top: 42px; transform: rotate(8deg); filter: drop-shadow(0 20px 20px rgba(30,40,30,.17)); }
.flower-art i { position: absolute; width: 66px; height: 78px; border-radius: 70% 45% 70% 45%; background: rgba(255,255,255,.88); left: 30px; top: 5px; transform-origin: 35px 62px; }
.flower-art i:nth-child(2) { transform: rotate(68deg); }
.flower-art i:nth-child(3) { transform: rotate(136deg); }
.flower-art i:nth-child(4) { transform: rotate(204deg); }
.flower-art i:nth-child(5) { transform: rotate(272deg); }
.flower-red .flower-art i { background: rgba(119,26,32,.92); }
.flower-pink .flower-art i { background: rgba(244,178,192,.95); }
.flower-yellow .flower-art i { background: rgba(247,211,78,.95); }
.flower-mix .flower-art i:nth-child(odd) { background: rgba(235,127,132,.94); }
.flower-art em { position: absolute; width: 30px; height: 30px; border-radius: 50%; background: #d7b264; left: 48px; top: 43px; z-index: 3; box-shadow: 0 74px 0 -12px #4f7a56, 0 120px 0 -13px #4f7a56; }
.flower-art em::after { content: ""; position: absolute; width: 5px; height: 100px; background: #557d5a; left: 13px; top: 23px; z-index: -1; transform: rotate(-4deg); }
.lot-number { position: absolute; z-index: 4; left: 14px; top: 14px; padding: 7px 9px; border-radius: 8px; background: rgba(255,255,255,.88); color: var(--green); font-size: 11px; font-weight: 800; backdrop-filter: blur(8px); }
.sale-badge { position: absolute; z-index: 4; left: 14px; bottom: 14px; padding: 7px 10px; border-radius: 8px; font-size: 11px; font-weight: 800; }
.sale-badge.dutch { background: var(--green); color: #fff; }
.sale-badge.fixed { background: #fff; color: var(--green); }
.lot-body { padding: 20px; }
.product-kicker { color: var(--muted); text-transform: uppercase; letter-spacing: .07em; font-size: 10px; font-weight: 800; }
.lot-title { display: block; margin-top: 5px; font-size: 21px; line-height: 1.2; font-weight: 850; letter-spacing: -.025em; }
.lot-title:hover { color: var(--accent-dark); }
.lot-meta { margin-top: 14px; display: flex; gap: 7px; flex-wrap: wrap; }
.lot-meta span, .series-row span { padding: 5px 8px; border-radius: 7px; background: var(--soft); color: var(--ink-2); font-size: 11px; }
.series-row { margin-top: 7px; display: flex; gap: 6px; overflow: hidden; }
.series-row span { background: #faf4e8; color: #6c6049; white-space: nowrap; }
.price-panel { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.price-panel small, .detail-price small, .order-row small { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.price-panel strong { display: block; margin-top: 1px; font-size: 28px; letter-spacing: -.04em; line-height: 1; }
.price-panel strong em { font-size: 11px; font-style: normal; font-weight: 600; color: var(--muted); }
.drop-info { text-align: right; }
.drop-info b { display: block; color: var(--accent-dark); font-size: 14px; }
.countdown { display: inline-block; margin-top: 2px; min-width: 42px; color: var(--green-2); font-variant-numeric: tabular-nums; font-size: 11px; font-weight: 750; }
.muted-block b { color: var(--muted); font-size: 11px; }
.btn-card { width: 100%; margin-top: 16px; background: var(--green); color: #fff; }
.btn-card:hover { background: var(--green-2); }
.empty-state { grid-column: 1 / -1; min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px dashed #bbc7c2; border-radius: var(--radius); color: var(--muted); }
.empty-state b { color: var(--ink); font-size: 18px; }
.footer { border-top: 1px solid var(--line); background: #fff; }
.footer-inner { min-height: 95px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.footer-inner > div:first-child { display: grid; }
.footer-inner span { color: var(--muted); font-size: 12px; }
.muted { color: var(--muted); font-size: 12px; }
.detail-section { padding: 34px 0 80px; }
.breadcrumbs { display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.detail-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 34px; align-items: start; }
.detail-visual { min-height: 610px; position: sticky; top: 96px; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow); }
.detail-badges { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.detail-visual .sale-badge { top: 14px; bottom: auto; left: auto; right: 14px; }
.flower-large { transform: scale(2.15) rotate(8deg); right: 37%; top: 35%; }
.visual-caption { position: absolute; bottom: 20px; left: 20px; z-index: 5; color: rgba(24,49,42,.62); background: rgba(255,255,255,.58); backdrop-filter: blur(8px); padding: 8px 11px; border-radius: 8px; font-size: 11px; }
.detail-main { padding: 10px 4px; }
.detail-main h1 { margin: 8px 0 10px; font-size: clamp(38px, 4vw, 55px); line-height: 1.02; letter-spacing: -.045em; }
.product-description { margin: 0; max-width: 680px; color: var(--ink-2); font-size: 15px; }
.detail-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 24px; }
.detail-facts > div { padding: 14px 15px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.detail-facts small { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.detail-facts b { display: block; margin-top: 3px; font-size: 14px; }
.detail-price { margin-top: 16px; background: var(--green); color: #fff; border-radius: 16px; padding: 20px; display: flex; justify-content: space-between; align-items: center; }
.detail-price small { color: #b9cbc5; }
.detail-price strong { display: block; margin-top: 3px; font-size: 36px; letter-spacing: -.04em; line-height: 1; }
.detail-price strong em { font-size: 13px; font-style: normal; font-weight: 550; color: #b9cbc5; }
.next-drop { text-align: right; border-left: 1px solid rgba(255,255,255,.15); padding-left: 24px; }
.next-drop b { display: block; font-size: 17px; color: #f5b29f; }
.next-drop span { display: inline-block; font-variant-numeric: tabular-nums; color: #d1ded9; font-size: 12px; }
.purchase-box { margin-top: 16px; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.purchase-head b { display: block; font-size: 18px; }
.purchase-head span { color: var(--muted); font-size: 12px; }
.purchase-fields { margin: 16px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.purchase-fields label { display: grid; gap: 5px; font-size: 11px; font-weight: 750; color: var(--ink-2); }
.purchase-fields input { width: 100%; height: 43px; border: 1px solid var(--line); border-radius: 9px; padding: 0 11px; outline: none; }
.purchase-fields input:focus { border-color: #8daf9f; box-shadow: 0 0 0 3px rgba(31,90,73,.08); }
.purchase-note { display: block; margin-top: 9px; text-align: center; color: var(--muted); }
.field-error, .form-errors { color: #a43838; font-size: 11px; font-style: normal; }
.series-section { padding-top: 6px; }
.priority-pill { border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; background: #fff; color: var(--ink-2); font-size: 11px; }
.table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid var(--line); background: #fff; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th { padding: 12px 16px; background: #f4f6f3; color: var(--muted); text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .055em; white-space: nowrap; }
.data-table td { padding: 14px 16px; border-top: 1px solid var(--line); vertical-align: middle; }
.page-head, .manager-head { background: #e9eee9; padding: 44px 0; border-bottom: 1px solid #dce3dd; }
.page-head h1, .manager-head h1 { margin: 6px 0 4px; font-size: 42px; letter-spacing: -.04em; }
.page-head p, .manager-head p { margin: 0; color: var(--muted); }
.content-section { padding-top: 34px; padding-bottom: 80px; }
.orders-list { display: grid; gap: 10px; }
.order-row { display: grid; grid-template-columns: 70px 2fr repeat(3, .75fr) auto; gap: 18px; align-items: center; padding: 15px 18px; border: 1px solid var(--line); background: #fff; border-radius: 14px; }
.order-row b { display: block; }
.order-product { display: flex; align-items: center; gap: 12px; }
.order-product small { margin-top: 3px; text-transform: none; letter-spacing: 0; }
.order-id b { font-size: 18px; }
.mini-flower { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); }
.status-chip { display: inline-flex; align-items: center; width: fit-content; padding: 6px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.status-reserved, .status-draft { background: #fff0cd; color: #765a14; }
.status-confirmed, .status-active { background: #dff2e7; color: #256348; }
.status-cancelled, .status-closed { background: #eceeed; color: #63716c; }
.manager-head { background: var(--green); color: #fff; border: 0; }
.manager-head .eyebrow { color: #a9c9bf; }
.manager-head p { color: #bdd0ca; }
.manager-head-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.manager-section { padding-top: 28px; padding-bottom: 80px; }
.manager-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: start; }
.manager-actions details { border: 1px solid var(--line); border-radius: 14px; background: #fff; overflow: hidden; }
.manager-actions summary { list-style: none; cursor: pointer; min-height: 82px; display: flex; align-items: center; gap: 12px; padding: 14px; }
.manager-actions summary::-webkit-details-marker { display: none; }
.manager-actions summary > span:last-child { display: grid; }
.manager-actions summary small { color: var(--muted); margin-top: 2px; }
.action-icon { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 11px; display: grid; place-items: center; background: var(--soft); color: var(--green); font-size: 19px; font-weight: 800; }
.django-form { padding: 0 14px 16px; border-top: 1px solid var(--line); }
.django-form > div { display: grid; gap: 5px; margin-top: 11px; }
.django-form label { color: var(--ink-2); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.django-form input, .django-form select, .django-form textarea { width: 100%; min-height: 40px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; background: #fff; outline: none; }
.django-form textarea { resize: vertical; }
.django-form .helptext { color: var(--muted); font-size: 10px; }
.django-form ul.errorlist { margin: 0; padding: 0; list-style: none; color: #a43838; font-size: 10px; }
.django-form .btn { margin-top: 13px; width: 100%; }
.form-hint { padding: 10px; background: #f5f7f4; border-radius: 8px; color: var(--muted); font-size: 11px; }
.manager-block { margin-top: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; overflow: hidden; }
.block-head { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; }
.block-head h2 { font-size: 25px; }
.block-head > span { color: var(--muted); font-size: 11px; }
.manager-block .table-wrap { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.manager-table td:first-child b { display: block; }
.manager-table td:first-child small { display: block; color: var(--muted); margin-top: 2px; }
.table-series { display: flex; gap: 4px; flex-wrap: wrap; }
.table-series span { padding: 4px 6px; background: #f5f2e9; border-radius: 6px; font-size: 10px; }
.table-action { border: 1px solid var(--line); background: #fff; color: var(--ink-2); border-radius: 8px; padding: 7px 9px; cursor: pointer; font-size: 11px; font-weight: 700; }
.table-action:hover { border-color: #aebdb7; }
.manager-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.compact-list { border-top: 1px solid var(--line); }
.compact-list > div { min-height: 66px; padding: 11px 16px; display: flex; align-items: center; gap: 11px; border-top: 1px solid #f0f1ef; }
.compact-list > div:first-child { border-top: 0; }
.compact-list > div > div { flex: 1; display: grid; }
.compact-list small { display: block; color: var(--muted); font-size: 10px; font-weight: 500; }
.compact-list strong { font-size: 12px; text-align: right; }
.orders-mini strong small { margin-top: 2px; }
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 35px; padding: 58px 0; }
  .hero-stats { grid-template-columns: repeat(3, 1fr); }
  .stat-card:first-child { grid-column: auto; }
  .lot-grid { grid-template-columns: repeat(2, 1fr); }
  .filters { grid-template-columns: 1fr 1fr; }
  .search-field { grid-column: 1 / -1; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-visual { position: relative; top: auto; min-height: 460px; }
  .order-row { grid-template-columns: 65px 1.8fr 1fr 1fr; }
  .order-row > div:nth-child(5), .order-row > .status-chip { display: none; }
  .manager-actions { grid-template-columns: 1fr; }
  .manager-columns { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .shell { width: min(100% - 28px, 1220px); }
  .topbar-inner { min-height: 64px; }
  .brand-copy small { display: none; }
  .main-nav a { padding: 9px 8px; font-size: 12px; }
  .main-nav .manager-link { display: none; }
  .hero-grid { min-height: 0; padding: 44px 0; }
  .hero h1 { font-size: 42px; }
  .hero-text { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .stat-card:first-child { grid-column: 1 / -1; }
  .market-section { padding: 42px 0 60px; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .filters { grid-template-columns: 1fr; }
  .search-field { grid-column: auto; }
  .lot-grid { grid-template-columns: 1fr; }
  .lot-image { height: 245px; }
  .detail-section { padding-top: 20px; }
  .detail-visual { min-height: 390px; }
  .detail-main h1 { font-size: 38px; }
  .detail-facts { grid-template-columns: 1fr 1fr; }
  .detail-price { align-items: flex-start; gap: 12px; }
  .detail-price strong { font-size: 31px; }
  .purchase-fields { grid-template-columns: 1fr; }
  .footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
  .page-head h1, .manager-head h1 { font-size: 34px; }
  .order-row { grid-template-columns: 52px 1fr; }
  .order-row > div:nth-child(n+3), .order-row > .status-chip { display: none; }
  .manager-head-inner { align-items: flex-start; flex-direction: column; }
  .manager-table { min-width: 900px; }
}
.sale-badge.ascending { background: var(--accent); color: #fff; }
.bid-history { margin-top: 16px; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.bid-row { display: grid; grid-template-columns: 70px 120px 1fr; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.bid-row:first-of-type { margin-top: 12px; }
.bid-row span { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.bid-row b { color: var(--accent-dark); }
.bid-row em { font-style: normal; color: var(--ink-2); font-size: 12px; }
.bid-empty { margin-top: 12px; padding: 12px; border-radius: 10px; background: var(--soft); color: var(--muted); font-size: 12px; }


/* === Buyer catalogue v2: visual reference / Gorkunov branding === */
:root {
  --brand-blue: #123f78;
  --brand-red: #e31d3b;
  --brand-green: #2f8a24;
  --trade-bg: #f5f7fa;
  --trade-line: #dfe4ea;
  --trade-text: #172033;
  --trade-muted: #68758a;
}
body { background: var(--trade-bg); color: var(--trade-text); }
.topbar { background: #fff; border-bottom: 1px solid #e7ebef; box-shadow: 0 1px 8px rgba(18,63,120,.05); }
.topbar-inner { min-height: 72px; }
.brand-mark { background: transparent; color: var(--brand-red); width: auto; height: auto; border-radius: 0; font-size: 27px; letter-spacing: -.08em; }
.brand-mark::after { content: 'ГОРКУНОВ'; font-size: 22px; letter-spacing: -.03em; color: var(--brand-blue); margin-left: 7px; }
.brand-copy strong { color: var(--trade-text); }
.brand-copy small { color: #7a8495; }
.main-nav a { color: #34425a; }
.main-nav a:hover, .main-nav a.active { background: #eef3f8; color: var(--brand-blue); }
.main-nav .manager-link { border-color: #d9e0e8; }

.lots-page { padding: 32px 0 74px; min-height: calc(100vh - 170px); }
.lots-title-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.lots-title-row h1 { margin: 4px 0 0; font-size: 42px; line-height: 1; letter-spacing: -.04em; color: #151d2d; }
.lots-title-row .eyebrow { color: var(--brand-blue); }
.page-meta { color: #738095; font-size: 12px; }
.page-meta b { color: var(--brand-blue); }

.trade-toolbar { display: grid; grid-template-columns: minmax(230px, 1.5fr) repeat(5, minmax(120px, .62fr)) auto; gap: 9px; align-items: center; padding: 16px; background: #fff; border: 1px solid #e3e7ec; border-radius: 13px; box-shadow: 0 7px 22px rgba(25,42,70,.06); margin-bottom: 20px; }
.trade-toolbar input, .trade-toolbar select { height: 43px; width: 100%; border: 1px solid #d9e0e7; border-radius: 8px; background: #fff; color: #243147; padding: 0 11px; outline: none; font-size: 12px; }
.trade-toolbar input:focus, .trade-toolbar select:focus { border-color: #92a9c4; box-shadow: 0 0 0 3px rgba(18,63,120,.07); }
.toolbar-search { position: relative; display: flex; align-items: center; min-width: 0; }
.toolbar-search .toolbar-search-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #7a8798; font-size: 21px; z-index: 1; pointer-events: none; }
.toolbar-search input { width: 100%; padding-left: 39px; }
.toolbar-search input::-webkit-search-cancel-button { display: none; }
.view-switch { display: flex; grid-column: span 2; height: 43px; min-width: 160px; border: 1px solid #d9e0e7; border-radius: 8px; overflow: hidden; white-space: nowrap; }
.view-switch button { flex: 1 1 0; min-width: 78px; border: 0; background: #fff; color: #58667a; padding: 0 10px; font-size: 11px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.view-switch button + button { border-left: 1px solid #d9e0e7; }
.view-switch button.active { background: #172337; color: #fff; }
.view-switch button:disabled { opacity: .55; }
.toolbar-reset { grid-column: 1 / -1; justify-self: end; color: var(--brand-red); font-size: 11px; font-weight: 700; margin-top: -2px; }

.trade-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.trade-card { overflow: hidden; border: 1px solid #e0e5eb; border-radius: 13px; background: #fff; box-shadow: 0 7px 22px rgba(22,37,61,.055); transition: box-shadow .2s ease, border-color .2s ease; }
.trade-card:hover { border-color: #d4dce5; box-shadow: 0 11px 27px rgba(22,37,61,.085); }
.trade-photo { position: relative; display: block; height: 230px; overflow: hidden; background: #edf0f2; }
.trade-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.lot-id { position: absolute; top: 11px; left: 11px; padding: 5px 8px; border-radius: 6px; background: rgba(255,255,255,.9); color: #344257; font-size: 10px; font-weight: 800; backdrop-filter: blur(5px); }
.trade-card-body { padding: 15px 16px 16px; }
.trade-name { display: block; color: #121b2b; font-size: 20px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; }
.trade-name:hover { color: var(--brand-blue); }
.trade-subline { display: flex; gap: 6px; margin-top: 4px; color: #536176; font-size: 12px; }
.cut-line { color: #647287; font-size: 12px; margin-top: 3px; }
.trade-qty { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; margin-top: 10px; border-top: 1px solid #e6e9ed; border-bottom: 1px solid #e6e9ed; color: #344156; font-size: 12px; }
.trade-qty b { color: #172033; }
.trade-price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 0 11px; }
.trade-price strong { color: #111a29; font-size: 22px; letter-spacing: -.025em; }
.trade-price strong small { color: #5e6b7d; font-size: 11px; font-weight: 600; margin-left: 2px; }
.trade-price > b { font-size: 15px; color: #1c2738; }
.trade-status { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 7px; padding: 8px 10px; font-size: 11px; font-weight: 800; }
.trade-status b { font-size: 11px; }
.status-leading { background: #eaf8ed; border: 1px solid #c9eacc; color: #17822c; }
.status-dutch { background: #edf5ff; border: 1px solid #ccdff7; color: #1761b6; }
.status-fixed { background: #f3edff; border: 1px solid #ded2f4; color: #6e42b5; }
.watch-link { display: block; padding: 10px 2px 9px; color: #67758a; font-size: 12px; }
.watch-link:hover { color: #24334a; }
.trade-action { min-height: 45px; display: grid; place-items: center; border-radius: 7px; color: #fff; font-size: 13px; font-weight: 850; letter-spacing: .01em; }
.action-ascending { background: #11862f; }
.action-ascending:hover { background: #0d7629; }
.action-dutch { background: #1765bb; }
.action-dutch:hover { background: #1259a8; }
.action-fixed { background: #202a38; }
.action-fixed:hover { background: #151d28; }

.footer { background: #fff; }
@media (max-width: 1180px) {
  .trade-toolbar { grid-template-columns: 1.4fr repeat(3, .75fr); }
  .view-switch { grid-column: span 1; }
  .trade-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .lots-page { padding-top: 22px; }
  .lots-title-row { align-items: start; flex-direction: column; gap: 7px; }
  .lots-title-row h1 { font-size: 34px; }
  .trade-toolbar { grid-template-columns: 1fr 1fr; padding: 12px; }
  .toolbar-search { grid-column: 1 / -1; }
  .view-switch { grid-column: 1 / -1; }
  .view-switch button { flex: 1; }
  .trade-grid { grid-template-columns: 1fr; }
  .trade-photo { height: 250px; }
}


/* === Lot page v2 === */
.lot-page-v2 { padding: 26px 0 58px; background: var(--trade-bg); min-height: calc(100vh - 72px); }
.lot-page-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lot-page-v2 .breadcrumbs { margin: 0; color: #728097; }
.back-lots { height: 36px; display: inline-flex; align-items: center; padding: 0 13px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; color: #3c4a60; font-size: 11px; font-weight: 700; }
.lot-heading-line { display: flex; align-items: center; gap: 12px; margin: 15px 0 15px; }
.lot-heading-line h1 { margin: 0; color: #152034; font-size: 30px; letter-spacing: -.03em; }
.lot-type-pill, .observe-pill { display: inline-flex; align-items: center; min-height: 30px; border-radius: 999px; padding: 0 10px; font-size: 10px; font-weight: 800; }
.pill-ascending { background: #eee9ff; color: #6944c2; }
.pill-dutch { background: #e9f3ff; color: #1763b9; }
.pill-fixed { background: #eef0f3; color: #384457; }
.observe-pill { border: 1px solid #d9e0e7; background: #fff; color: #47566b; }

.lot-workspace { display: grid; grid-template-columns: minmax(290px, .8fr) minmax(400px, 1.18fr) minmax(300px, .82fr); gap: 16px; align-items: start; }
.lot-photo-panel, .lot-info-panel, .lot-trade-panel { border: 1px solid #e0e5eb; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px rgba(20,39,67,.045); }
.lot-photo-panel { padding: 5px; }
.main-lot-photo { position: relative; aspect-ratio: .91; overflow: hidden; border-radius: 9px; background: #edf0f2; }
.main-lot-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center center; }
.photo-zoom { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.92); color: #526177; font-size: 18px; }
.photo-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 8px; }
.photo-thumbs button { aspect-ratio: 1.15; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 7px; background: #eef1f3; }
.photo-thumbs button.active { border-color: #24943b; }
.photo-thumbs img { width: 100%; height: 100%; object-fit: cover; }

.lot-info-panel { padding: 20px; }
.lot-info-panel h2 { margin: 0 0 16px; font-size: 21px; color: #142033; letter-spacing: -.02em; }
.lot-info-panel h3 { margin: 20px 0 10px; font-size: 15px; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 24px; }
.spec-grid > div { display: grid; grid-template-columns: 86px 1fr; align-items: baseline; gap: 8px; }
.spec-grid small { color: #748197; font-size: 10px; }
.spec-grid b { color: #26344a; font-size: 11px; }
.lot-series-table { border: 1px solid #e4e8ed; border-radius: 7px; overflow: hidden; }
.series-head, .series-line, .series-total { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; align-items: center; min-height: 35px; padding: 0 9px; }
.series-head { background: #f6f8fa; color: #68768b; font-size: 9px; font-weight: 750; }
.series-line { border-top: 1px solid #edf0f3; color: #344258; font-size: 10px; }
.series-total { border-top: 1px solid #d9eadc; background: #eff8f0; color: #19822c; font-size: 10px; font-weight: 800; }
.lot-note-strip { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 9px; padding: 8px 10px; border-radius: 6px; background: #f3f5f8; color: #617087; font-size: 9px; }
.compact-bids { margin-top: 15px; border-top: 1px solid #e8ebef; padding-top: 13px; }
.compact-bids-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; font-size: 10px; }
.compact-bids-title span { color: #778499; }
.compact-bid-row { display: grid; grid-template-columns: 65px 1fr 70px 65px; gap: 8px; align-items: center; min-height: 28px; border-top: 1px solid #eef1f4; font-size: 9px; }
.compact-bid-row b { text-align: right; }
.compact-bid-row em { justify-self: end; padding: 3px 6px; border-radius: 999px; background: #f0f2f4; color: #7a8697; font-style: normal; }
.compact-bid-row:first-of-type em { background: #eaf8ed; color: #19822c; }

.lot-trade-panel { position: sticky; top: 88px; padding: 21px 20px; }
.trade-label { color: #6b7890; font-size: 10px; font-weight: 750; }
.trade-big-price { display: flex; align-items: baseline; gap: 4px; margin-top: 3px; color: #132034; }
.trade-big-price span { font-size: 41px; line-height: 1; font-weight: 850; letter-spacing: -.045em; }
.trade-big-price b { font-size: 17px; }
.trade-total { margin-top: 7px; color: #24334a; font-size: 15px; font-weight: 750; }
.trade-total span { color: #6e7b8e; font-size: 10px; font-weight: 500; }
.trade-rule-list { margin-top: 17px; padding: 14px 0; border-top: 1px solid #e4e8ed; border-bottom: 1px solid #e4e8ed; display: grid; gap: 9px; }
.trade-rule-list > div { display: flex; justify-content: space-between; gap: 12px; color: #66748a; font-size: 10px; }
.trade-rule-list b { color: #26344a; }
.trade-clock { position: relative; padding: 15px 0 7px; text-align: center; }
.trade-clock > span { color: #6e7c91; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.trade-clock > b { display: block; margin-top: 5px; color: #17832e; font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: .07em; }
.trade-clock > em { position: absolute; right: 0; top: 15px; color: #19832d; font-size: 9px; font-style: normal; font-weight: 800; }
.trade-form-v2 { display: grid; gap: 8px; margin-top: 10px; }
.trade-form-v2 label { display: grid; gap: 3px; color: #617087; font-size: 9px; font-weight: 750; }
.trade-form-v2 input { height: 36px; border: 1px solid #dce2e8; border-radius: 7px; padding: 0 9px; outline: none; background: #fff; color: #223047; font-size: 11px; }
.trade-form-v2 input:focus { border-color: #9bb0c7; box-shadow: 0 0 0 3px rgba(18,63,120,.06); }
.trade-submit { min-height: 44px; width: 100%; padding: 0 14px; border: 0; border-radius: 7px; background: #16852f; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1.25; font-weight: 850; font-size: 12px; cursor: pointer; }
.trade-submit:hover { background: #117526; }
.question-btn { width: 100%; min-height: 39px; margin-top: 8px; border: 1px solid #b8c1cd; border-radius: 7px; background: #fff; color: #28364b; font-size: 11px; font-weight: 750; }
.trade-help { margin: 10px 0 0; text-align: center; color: #8a95a5; font-size: 9px; }
.deal-conditions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 16px; border: 1px solid #e0e5eb; border-radius: 10px; background: #fff; overflow: hidden; }
.deal-conditions > div { min-width: 0; min-height: 82px; display: grid; align-content: center; gap: 6px; padding: 14px 16px; border-left: 1px solid #e9edf1; }
.deal-conditions > div:first-child { border-left: 0; }
.deal-conditions b { color: #26344a; font-size: 10px; line-height: 1.3; }
.deal-conditions > div > span { display: block; width: auto; height: auto; color: #6e7b8e; background: none; border-radius: 0; font-size: 10px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.deal-conditions small { color: #7a8798; font-size: 9px; }

@media (max-width: 1100px) {
  .lot-workspace { grid-template-columns: minmax(280px,.8fr) minmax(390px,1.2fr); }
  .lot-trade-panel { position: relative; top: auto; grid-column: 1 / -1; }
  .trade-form-v2 { grid-template-columns: 1fr 1fr; }
  .trade-submit, .question-btn, .trade-help { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .lot-page-top { align-items: flex-start; flex-direction: column; }
  .lot-heading-line { flex-wrap: wrap; }
  .lot-heading-line h1 { width: 100%; font-size: 25px; }
  .lot-workspace { grid-template-columns: 1fr; }
  .lot-trade-panel { grid-column: auto; }
  .main-lot-photo { aspect-ratio: 1.05; }
  .deal-conditions { grid-template-columns: 1fr 1fr; }
  .deal-conditions > div:nth-child(3) { border-left: 0; border-top: 1px solid #e9edf1; }
  .deal-conditions > div:nth-child(4) { border-top: 1px solid #e9edf1; }
}

/* === Compliance / UI pass v3 === */
.brand-gorkunov { gap: 16px; }
.brand-symbol { display: flex; align-items: center; gap: 7px; color: var(--brand-blue); font-weight: 900; letter-spacing: -.04em; }
.brand-symbol i { width: 34px; height: 34px; display: inline-block; position: relative; border-radius: 50% 50% 42% 42%; background: linear-gradient(180deg,#e31d3b 0 44%,#2f8a24 45% 100%); clip-path: polygon(50% 0,62% 33%,100% 22%,71% 51%,100% 76%,61% 67%,50% 100%,39% 67%,0 76%,29% 51%,0 22%,38% 33%); }
.brand-symbol b { font-size: 18px; }
.access-box { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.access-box > span { display: grid; text-align: right; line-height: 1.1; }
.access-box small { margin-top: 3px; color: #7b8797; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.demo-login { display: flex; align-items: center; gap: 7px; }
.demo-login input { width: 145px; height: 34px; border: 1px solid #dce2e9; border-radius: 7px; padding: 0 9px; font-size: 11px; }
.demo-login .btn { min-height: 34px; padding: 0 12px; font-size: 10px; }
.link-button { border: 0; background: transparent; color: var(--brand-blue); padding: 4px; cursor: pointer; font-size: 10px; font-weight: 700; }

.public-notice { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid #dbe5ef; border-radius: 11px; background: #eef5fb; }
.public-notice > div { display: grid; gap: 3px; max-width: 740px; }
.public-notice b { color: var(--brand-blue); font-size: 12px; }
.public-notice span { color: #5c6b7e; font-size: 11px; line-height: 1.4; }
.inline-access { display: flex; gap: 7px; flex-shrink: 0; }
.inline-access input { height: 36px; width: 150px; border: 1px solid #d2dce6; border-radius: 7px; padding: 0 9px; font-size: 11px; }
.inline-access .btn { min-height: 36px; font-size: 10px; padding: 0 12px; }
.cut-date-filter { min-width: 125px; }
.vat-line { margin: -5px 0 9px; color: #7a8697; font-size: 9px; }
.status-ascending { background: #f2edff; border: 1px solid #ded3f7; color: #6e43bd; }
.status-outbid { background: #fff1ef; border: 1px solid #ffd4cc; color: #b44738; }
.watch-form { margin: 0; }
.watch-form .watch-link { width: 100%; text-align: left; border: 0; background: transparent; cursor: pointer; }
.action-login { width: 100%; border: 0; background: #1f2b3d; cursor: pointer; }
.trade-grid.list-view { grid-template-columns: 1fr; }
.trade-grid.list-view .trade-card { display: grid; grid-template-columns: 230px 1fr; }
.trade-grid.list-view .trade-photo { height: 100%; min-height: 230px; }
.trade-grid.list-view .trade-card-body { display: grid; grid-template-columns: minmax(220px,1.1fr) minmax(160px,.7fr) minmax(180px,.8fr); column-gap: 22px; align-items: center; }
.trade-grid.list-view .trade-name, .trade-grid.list-view .trade-subline, .trade-grid.list-view .cut-line { grid-column: 1; }
.trade-grid.list-view .trade-qty, .trade-grid.list-view .trade-price, .trade-grid.list-view .vat-line { grid-column: 2; }
.trade-grid.list-view .trade-status, .trade-grid.list-view .watch-form, .trade-grid.list-view .trade-action, .trade-grid.list-view form:last-child { grid-column: 3; }

.detail-page { padding: 25px 0 60px; min-height: calc(100vh - 72px); background: var(--trade-bg); }
.detail-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.detail-topline .breadcrumbs { margin: 0; }
.back-link { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; color: #37465d; font-size: 10px; font-weight: 700; }
.detail-title-row { display: flex; align-items: center; gap: 10px; margin: 15px 0 16px; }
.detail-title-row h1 { margin: 0; font-size: 30px; letter-spacing: -.03em; color: #142033; }
.detail-title-row form { margin: 0; }
.mode-pill, .watch-pill { min-height: 30px; display: inline-flex; align-items: center; border-radius: 999px; padding: 0 10px; border: 0; font-size: 10px; font-weight: 800; }
.mode-ascending { background: #eee9ff; color: #6843c0; }
.mode-dutch { background: #eaf3ff; color: #1761b6; }
.mode-fixed { background: #eceff3; color: #3d4859; }
.watch-pill { border: 1px solid #d9e0e7; background: #fff; color: #435168; cursor: pointer; }

.lot-trade-layout { display: grid; grid-template-columns: minmax(285px,.78fr) minmax(430px,1.16fr) minmax(310px,.82fr); gap: 16px; align-items: start; }
.lot-gallery, .lot-info-card, .trade-panel { border: 1px solid #e0e5eb; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px rgba(20,39,67,.045); }
.lot-gallery { padding: 5px; }
.gallery-main { position: relative; aspect-ratio: .93; overflow: hidden; border-radius: 9px; background: #edf0f2; }
.gallery-main img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: center center; }
.zoom-badge { position: absolute; right: 10px; top: 10px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.92); color: #5a687b; font-size: 18px; }
.gallery-thumbs { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 8px; }
.gallery-thumbs img { width: 100%; aspect-ratio: 1.22; object-fit: cover; border: 2px solid transparent; border-radius: 7px; }
.gallery-thumbs img.active { border-color: #23943a; }
.lot-info-card { padding: 20px; }
.lot-info-card h2 { margin: 0 0 16px; color: #132033; font-size: 21px; }
.lot-info-card h3 { margin: 20px 0 10px; color: #243147; font-size: 15px; }
.series-table { border: 1px solid #e3e8ee; border-radius: 8px; overflow: hidden; }
.series-head, .series-line { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; min-height: 35px; align-items: center; padding: 0 9px; }
.series-head { background: #f5f7f9; color: #6d7a8e; font-size: 9px; font-weight: 750; }
.series-line { border-top: 1px solid #ebeff3; color: #344156; font-size: 10px; }
.series-line.total { background: #eff8f0; color: #19832d; font-weight: 800; }
.lot-meta-strip { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 9px; padding: 8px 10px; border-radius: 7px; background: #f3f5f8; color: #627087; font-size: 9px; }
.locked-detail { margin-top: 20px; padding: 18px; border: 1px dashed #bdc8d5; border-radius: 9px; background: #f8fafc; display: grid; gap: 5px; }
.locked-detail b { color: #243147; font-size: 12px; }
.locked-detail span { color: #6f7d91; font-size: 10px; line-height: 1.5; }
.compact-history { margin-top: 14px; padding: 0; border: 0; border-top: 1px solid #e6eaf0; border-radius: 0; }
.history-head { display: flex; justify-content: space-between; padding: 12px 0 5px; font-size: 10px; }
.history-head span { color: #778499; }

.trade-panel { position: sticky; top: 88px; padding: 20px; }
.trade-panel > small { color: #6c7990; font-size: 9px; font-weight: 750; }
.big-price { margin-top: 3px; color: #132034; font-size: 38px; line-height: 1; font-weight: 850; letter-spacing: -.045em; }
.big-price em { color: #59687d; font-size: 12px; font-style: normal; font-weight: 600; letter-spacing: 0; }
.lot-total { margin-top: 8px; display: flex; gap: 5px; align-items: baseline; }
.lot-total b { font-size: 15px; color: #243147; }
.lot-total span { color: #718095; font-size: 9px; }
.trade-divider { height: 1px; background: #e5e9ee; margin: 16px 0; }
.price-rules { display: grid; gap: 9px; }
.price-rules span { display: flex; justify-content: space-between; gap: 12px; color: #6d7b90; font-size: 9px; }
.price-rules b { color: #26344a; }
.vat-note { margin-top: 13px; padding: 8px 9px; border-radius: 7px; background: #f3f5f8; color: #627087; font-size: 9px; }
.trade-form { display: grid; gap: 8px; margin-top: 15px; }
.trade-form label { display: grid; gap: 3px; color: #617087; font-size: 9px; font-weight: 750; }
.trade-form input { height: 36px; border: 1px solid #dce2e8; border-radius: 7px; padding: 0 9px; outline: none; background: #fff; color: #223047; font-size: 11px; }
.question-button { min-height: 38px; margin-top: 8px; display: grid; place-items: center; border: 1px solid #bbc5d0; border-radius: 7px; color: #2e3d52; font-size: 10px; font-weight: 750; }
.public-login-panel { margin-top: 14px; }
.closed-banner { margin-top: 14px; padding: 12px; border-radius: 7px; background: #eef0f3; color: #5f6b7c; text-align: center; font-weight: 750; font-size: 11px; }

.cabinet-sections { display: grid; gap: 30px; }
.cabinet-block .section-head.compact { margin: 0 0 12px; }
.cabinet-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.cabinet-card { min-height: 112px; display: grid; grid-template-columns: 110px 1fr; overflow: hidden; border: 1px solid #e0e5eb; border-radius: 11px; background: #fff; }
.cabinet-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cabinet-card > div { display: grid; align-content: center; gap: 3px; padding: 12px; }
.cabinet-card small, .cabinet-card span { color: #718095; font-size: 9px; }
.cabinet-card b { color: #1f2d43; font-size: 12px; }
.cabinet-card a { color: var(--brand-blue); font-size: 10px; font-weight: 700; }
.cabinet-status { margin-top: 3px; color: #16842e; font-size: 10px; }
.empty-inline { padding: 20px; border: 1px dashed #c4ced8; border-radius: 9px; color: #7a8798; font-size: 11px; background: #fff; }
.mini-flower { overflow: hidden; }
.mini-flower img { width: 100%; height: 100%; object-fit: cover; }

.feedback-layout { display: grid; grid-template-columns: minmax(460px,1fr) 300px; gap: 20px; align-items: start; }
.feedback-form { display: grid; gap: 12px; padding: 20px; border: 1px solid #e0e5eb; border-radius: 12px; background: #fff; }
.feedback-note { padding: 11px; border-radius: 8px; background: #eef5fb; color: #526277; font-size: 10px; line-height: 1.45; }
.feedback-form label { display: grid; gap: 5px; color: #526176; font-size: 10px; font-weight: 750; }
.feedback-form input, .feedback-form textarea { width: 100%; border: 1px solid #dce2e8; border-radius: 7px; padding: 9px 10px; outline: none; }
.feedback-side { display: grid; gap: 8px; padding: 18px; border: 1px solid #e0e5eb; border-radius: 12px; background: #fff; }
.feedback-side b { color: #213047; }
.feedback-side span { color: #637188; font-size: 10px; }
.feedback-side small { margin-top: 8px; color: #8b95a4; font-size: 9px; line-height: 1.45; }

@media (max-width: 1220px) {
  .access-box { display: none; }
  .lot-trade-layout { grid-template-columns: minmax(280px,.75fr) minmax(410px,1.2fr); }
  .trade-panel { position: relative; top: auto; grid-column: 1 / -1; }
  .cabinet-grid { grid-template-columns: repeat(2,1fr); }
  .trade-toolbar { grid-template-columns: 1.4fr repeat(3,.75fr); }
}
@media (max-width: 760px) {
  .public-notice { align-items: stretch; flex-direction: column; }
  .inline-access { width: 100%; }
  .inline-access input { flex: 1; }
  .lot-trade-layout { grid-template-columns: 1fr; }
  .trade-panel { grid-column: auto; }
  .detail-title-row { flex-wrap: wrap; }
  .detail-title-row h1 { width: 100%; font-size: 25px; }
  .gallery-main { aspect-ratio: 1.05; }
  .deal-conditions { grid-template-columns: 1fr 1fr; }
  .cabinet-grid { grid-template-columns: 1fr; }
  .feedback-layout { grid-template-columns: 1fr; }
  .trade-grid.list-view .trade-card { grid-template-columns: 1fr; }
  .trade-grid.list-view .trade-card-body { display: block; }
}
.official-tkn-logo { display:block; width:178px; height:auto; }
.brand-gorkunov { gap:10px; }
.platform-label { padding-left:10px; border-left:1px solid #d9e0e7; color:#748196; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
@media(max-width:900px){.official-tkn-logo{width:145px}.platform-label{display:none}}

/* === Manager lot preview / manual allocation === */
.lot-preview-card { margin-top: 18px; overflow: hidden; border: 1px solid #cfd9e3; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(20,39,67,.07); }
.lot-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 20px; background: #f8fafc; border-bottom: 1px solid #e3e8ee; }
.lot-preview-head h2 { margin: 4px 0 3px; font-size: 24px; letter-spacing: -.025em; color: #162238; }
.lot-preview-head p { margin: 0; color: #6d7a8e; font-size: 11px; }
.preview-badge { padding: 7px 10px; border-radius: 999px; background: #fff2cf; color: #795d13; font-size: 10px; font-weight: 800; white-space: nowrap; }
.preview-error { margin: 14px 18px 0; padding: 11px 13px; border: 1px solid #efc2c2; border-radius: 8px; background: #fff1f1; color: #9c2f2f; font-size: 11px; font-weight: 650; }
.preview-table td small { display: block; margin-top: 2px; color: #8290a3; font-size: 9px; }
.allocation-input { width: 100px; height: 34px; border: 1px solid #cfd7e0; border-radius: 7px; padding: 0 9px; background: #fff; color: #17243a; font-weight: 750; }
.allocation-input:focus { outline: none; border-color: #8da8c1; box-shadow: 0 0 0 3px rgba(18,63,120,.06); }
.lot-preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; border-top: 1px solid #e5e9ee; background: #fbfcfd; }
.lot-preview-footer span { color: #66758a; font-size: 10px; }
@media(max-width:760px){.lot-preview-head,.lot-preview-footer{align-items:flex-start;flex-direction:column}.preview-table{min-width:720px}}

/* === Manager UX / cancellation + audit === */
.manager-actions details[open] { grid-column: 1 / -1; }
.manager-actions details[open] > summary { border-bottom: 1px solid var(--line); }
.manager-actions details[open] .form-wide { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px 12px; padding: 16px; }
.manager-actions details[open] .form-wide > div { margin: 0; }
.manager-actions details[open] .form-wide .form-hint { grid-column: 1 / -2; margin: 0; align-self: end; }
.manager-actions details[open] .form-wide .btn { grid-column: -2 / -1; align-self: end; margin: 0; min-height: 42px; }
.manager-row-actions { min-width: 160px; }
.manager-row-actions > form { display: inline-block; vertical-align: top; }
.danger-details { margin-top: 6px; position: relative; }
.danger-details > summary { cursor: pointer; list-style: none; color: #a43c3c; font-size: 10px; font-weight: 750; }
.danger-details > summary::-webkit-details-marker { display: none; }
.danger-details > form { display: grid; gap: 6px; min-width: 210px; margin-top: 6px; padding: 8px; border: 1px solid #efc9c9; border-radius: 8px; background: #fff7f7; }
.danger-details input { width: 100%; min-height: 32px; border: 1px solid #e5bcbc; border-radius: 6px; padding: 0 8px; font-size: 10px; }
.danger-details button { min-height: 31px; border: 0; border-radius: 6px; background: #b43c3c; color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.compact-danger { flex: 0 0 130px; margin: 0; }
.purchase-admin-row { align-items: center !important; }
.purchase-admin-row > strong .status-chip { margin-top: 4px; }
.danger-text { color: #a43c3c !important; }
.status-cancelled { background: #fde8e8; color: #9a3232; }
@media(max-width:1050px){.manager-actions details[open] .form-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-actions details[open] .form-wide .form-hint,.manager-actions details[open] .form-wide .btn{grid-column:1/-1}}
@media(max-width:680px){.manager-actions details[open] .form-wide{grid-template-columns:1fr}}

/* === Buyer access + feedback management === */
.buyer-search { display: flex; gap: 7px; align-items: center; }
.buyer-search input { width: 220px; height: 34px; border: 1px solid #d6dde6; border-radius: 7px; padding: 0 9px; font-size: 10px; }
.buyer-search button { height: 34px; border: 1px solid #c9d3de; border-radius: 7px; background: #fff; color: #2d3b50; padding: 0 12px; font-size: 10px; font-weight: 750; cursor: pointer; }
.buyer-status-details > summary { cursor: pointer; color: var(--brand-blue); font-size: 10px; font-weight: 750; list-style: none; }
.buyer-status-details > summary::-webkit-details-marker { display: none; }
.buyer-status-details > form { margin-top: 6px; display: grid; gap: 6px; min-width: 220px; padding: 8px; border: 1px solid #d8e0e9; border-radius: 8px; background: #f8fafc; }
.buyer-status-details input { height: 32px; border: 1px solid #d4dce5; border-radius: 6px; padding: 0 8px; font-size: 10px; }
.buyer-status-details button { height: 31px; border: 0; border-radius: 6px; background: #1f4c83; color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.status-form select { height: 32px; border: 1px solid #d5dde6; border-radius: 7px; background: #fff; padding: 0 8px; color: #344258; font-size: 10px; }
.copy-action { margin-right: 5px; color: #164f87; }
@media(max-width:720px){.buyer-search{width:100%}.buyer-search input{flex:1}.buyer-admin-block .block-head{align-items:flex-start;flex-direction:column}}

.spam-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.demo-login input[type="email"] { min-width: 190px; }

/* === Branded error pages === */
.error-page { min-height: calc(100vh - 160px); display: grid; align-items: center; padding: 54px 0 78px; background: linear-gradient(180deg, #f3f6f8 0%, #eef2f5 100%); }
.error-shell { display: grid; place-items: center; }
.error-card { position: relative; width: min(620px, 100%); overflow: hidden; padding: 52px 48px 42px; border: 1px solid #dde4ea; border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(21, 42, 70, .08); text-align: center; }
.error-card::before { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; right: -105px; top: -120px; background: rgba(25, 145, 58, .08); }
.error-code { color: var(--brand-blue); font-size: clamp(74px, 12vw, 112px); line-height: .9; font-weight: 900; letter-spacing: -.07em; opacity: .12; }
.error-card .eyebrow { margin-top: -8px; }
.error-card h1 { margin: 10px 0 10px; color: #172337; font-size: clamp(30px, 5vw, 42px); line-height: 1.05; letter-spacing: -.035em; }
.error-card > p { width: min(460px, 100%); margin: 0 auto; color: #68768a; font-size: 15px; line-height: 1.55; }
.error-actions { display: flex; justify-content: center; gap: 10px; margin-top: 26px; }
.error-back { border: 1px solid #d8e0e7; background: #fff; color: #344257; }
.error-back:hover { background: #f4f6f8; }
.error-help { margin-top: 24px; padding-top: 18px; border-top: 1px solid #e8ecef; color: #8a96a6; font-size: 11px; }
@media (max-width: 600px) {
  .error-page { padding: 28px 0 50px; }
  .error-card { padding: 38px 22px 30px; }
  .error-actions { flex-direction: column; }
  .error-actions .btn { width: 100%; }
}

.batch-photo-upload { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px; border-top: 1px solid #e5e9ee; background: #fff; }
.batch-photo-upload label { display: grid; gap: 3px; color: #26354a; font-size: 11px; }
.batch-photo-upload label span { color: #78869a; font-size: 10px; font-weight: 500; }
.batch-photo-upload input[type="file"] { max-width: 340px; color: #59687d; font-size: 10px; }
@media (max-width: 760px) { .batch-photo-upload { align-items: flex-start; flex-direction: column; } .batch-photo-upload input[type="file"] { max-width: 100%; } }

.manager-pager { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 11px 14px; border-top: 1px solid #e5e9ee; background: #fbfcfd; color: #718095; font-size: 10px; }
.manager-pager a { padding: 6px 9px; border: 1px solid #d7dfe7; border-radius: 7px; background: #fff; color: #234d7d; font-weight: 750; }
.manager-pager a:hover { border-color: #9fb0c2; }

/* === Account login === */
.account-login-link { min-height: 38px; padding: 0 18px; }
.login-page { min-height: calc(100vh - 160px); display: grid; align-items: center; padding: 52px 0 72px; background: #f2f5f7; }
.login-shell { display: grid; place-items: center; }
.login-card { width: min(440px, 100%); padding: 34px; border: 1px solid #dce3ea; border-radius: 16px; background: #fff; box-shadow: 0 16px 44px rgba(21,42,70,.08); }
.login-card h1 { margin: 7px 0 8px; color: #172337; font-size: 36px; letter-spacing: -.035em; }
.login-card > p { margin: 0; color: #6c798c; font-size: 13px; line-height: 1.5; }
.account-login-form { display: grid; gap: 13px; margin-top: 24px; }
.account-login-form label { display: grid; gap: 6px; color: #344257; font-size: 11px; font-weight: 750; }
.account-login-form input { width: 100%; height: 44px; border: 1px solid #d5dde6; border-radius: 8px; padding: 0 12px; background: #fff; color: #172337; font-size: 14px; outline: none; }
.account-login-form input:focus { border-color: #8da8c1; box-shadow: 0 0 0 3px rgba(18,63,120,.07); }
.login-note { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e7ebef; color: #8390a2; font-size: 10px; line-height: 1.5; }

/* === Trade panel live state === */
.trade-live-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.trade-live-meta > span { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid #e2e7ec; border-radius: 8px; background: #fafbfd; color: #768397; font-size: 9px; }
.trade-live-meta b { color: #243147; font-size: 11px; font-variant-numeric: tabular-nums; }
@media(max-width:420px){.trade-live-meta{grid-template-columns:1fr}}

/* Keep authentication reachable on tablets and phones. */
@media (max-width: 1220px) {
  .access-box { display: flex; }
  .access-box > span { display: none; }
  .account-login-link { min-height: 34px; padding: 0 11px; font-size: 11px; }
}
@media (max-width: 680px) {
  .topbar-inner { flex-wrap: wrap; padding: 7px 0; gap: 6px 10px; }
  .brand { flex: 1 1 auto; }
  .access-box { margin-left: 0; }
  .main-nav { order: 3; width: 100%; justify-content: space-between; border-top: 1px solid #eef1f4; padding-top: 5px; }
  .main-nav a { flex: 1 1 auto; text-align: center; }
}

.public-trade-note { padding: 10px 11px; border: 1px dashed #c9d3dd; border-radius: 8px; background: #f8fafc; color: #6c798c; font-size: 10px; line-height: 1.45; }

/* === Staff preview mode === */
.staff-view-notice { background: #f3f7fb; border-color: #d8e3ee; }
.staff-manager-button { background: #fff; color: #17345d; border: 1px solid #cad7e4; }
.action-staff { background: #eaf0f6; color: #18365e; border: 1px solid #d3dee9; }
.action-staff:hover { background: #e2eaf2; }
.staff-trade-panel { display: grid; gap: 8px; padding: 12px; border: 1px solid #d8e3ee; border-radius: 10px; background: #f5f8fb; color: #4d5c70; font-size: 10px; line-height: 1.45; }
.staff-trade-panel b { color: #21344d; font-size: 12px; }
.staff-trade-panel .trade-submit { margin-top: 2px; text-align: center; }

/* === Buyer card polish + legal === */
.trade-status + .trade-action { margin-top: 9px; }
.public-login-panel { margin-top: 14px; display: grid; gap: 8px; }
.public-login-panel .trade-submit { text-decoration: none; }
.legal-consent { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 8px !important; margin-top: 4px; color: #5f6f84 !important; font-size: 9px !important; font-weight: 600 !important; line-height: 1.45; text-transform: none !important; letter-spacing: 0 !important; }
.legal-consent input[type="checkbox"] { width: 16px !important; height: 16px !important; min-width: 16px; margin: 1px 0 0; padding: 0; accent-color: #16852f; box-shadow: none !important; }
.legal-consent a { color: #173f78; text-decoration: underline; text-underline-offset: 2px; }
.legal-page { padding: 28px 0 64px; background: var(--trade-bg); min-height: calc(100vh - 72px); }
.legal-card { max-width: 920px; margin: 0 auto; padding: 28px 32px; border: 1px solid #e0e5eb; border-radius: 14px; background: #fff; box-shadow: 0 7px 24px rgba(20,39,67,.05); }
.legal-card h1 { margin: 0 0 8px; color: #142033; font-size: 30px; letter-spacing: -.03em; }
.legal-card h2 { margin: 26px 0 8px; color: #1b2c44; font-size: 17px; }
.legal-card p, .legal-card li { color: #59687c; font-size: 12px; line-height: 1.65; }
.legal-card ul { margin: 8px 0 0; padding-left: 20px; }
.legal-note { margin: 0 0 18px; padding: 11px 13px; border: 1px solid #dce5ee; border-radius: 9px; background: #f5f8fb; color: #647286; font-size: 10px; line-height: 1.5; }
.legal-updated { color: #8792a2; font-size: 10px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: flex-end; }
.footer-links a { color: #526177; font-size: 10px; }
.cookie-banner { position: fixed; left: 50%; bottom: 18px; z-index: 1000; width: min(720px, calc(100% - 28px)); transform: translateX(-50%); display: none; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid #d9e1e9; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 18px 50px rgba(15,31,55,.18); backdrop-filter: blur(10px); }
.cookie-banner.show { display: flex; }
.cookie-banner p { flex: 1; margin: 0; color: #536176; font-size: 10px; line-height: 1.5; }
.cookie-banner a { color: #173f78; text-decoration: underline; }
.cookie-banner button { flex: 0 0 auto; min-height: 38px; padding: 0 17px; border: 0; border-radius: 8px; background: #173f78; color: #fff; font-weight: 800; cursor: pointer; }
@media (max-width: 760px) {
  .deal-conditions { grid-template-columns: 1fr; }
  .deal-conditions > div { border-left: 0; border-top: 1px solid #e9edf1; }
  .deal-conditions > div:first-child { border-top: 0; }
  .legal-card { padding: 22px 18px; border-radius: 11px; }
  .cookie-banner { align-items: stretch; flex-direction: column; }
  .cookie-banner button { width: 100%; }
  .footer-links { justify-content: flex-start; }
}

/* === Email registration === */
.registration-card { width: min(500px, 100%); }
.auth-switch { margin-top: 14px; text-align: center; color: #65748a; font-size: 11px; line-height: 1.45; }
.auth-switch a { color: #173f78; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.registration-form .legal-consent { margin-top: 2px; }

/* Interactive lot gallery */
.zoom-badge { border: 0; padding: 0; cursor: zoom-in; }
.gallery-thumbs button { padding: 0; border: 2px solid transparent; border-radius: 7px; background: #edf0f2; overflow: hidden; cursor: pointer; }
.gallery-thumbs button.active { border-color: #23943a; }
.gallery-thumbs button img { width: 100%; aspect-ratio: 1.22; object-fit: cover; display: block; border: 0; border-radius: 5px; }
.gallery-thumbs button:focus-visible, .zoom-badge:focus-visible { outline: 3px solid rgba(23,63,120,.22); outline-offset: 2px; }
.gallery-lightbox { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(10,18,30,.86); }
.gallery-lightbox.open { display: flex; }
.gallery-lightbox img { max-width: min(94vw, 1400px); max-height: 90vh; object-fit: contain; border-radius: 10px; box-shadow: 0 22px 70px rgba(0,0,0,.45); }
.gallery-lightbox-close { position: fixed; right: 24px; top: 20px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #1f2c40; font-size: 26px; line-height: 1; cursor: pointer; }

/* === Authentication / registration UX v2 === */
.auth-page { padding: 42px 0 64px; }
.auth-page-top { align-items: start; }
.auth-card { width: min(620px, 100%); padding: 30px; }
.auth-card-compact { width: min(480px, 100%); }
.registration-card { width: min(760px, 100%); }
.auth-heading h1 { margin: 7px 0 8px; color: #172337; font-size: 36px; letter-spacing: -.035em; }
.auth-heading p { margin: 0; max-width: 620px; color: #68768a; font-size: 12px; line-height: 1.6; }
.auth-form { gap: 16px; margin-top: 22px; }
.auth-form-section { display: grid; gap: 12px; padding: 16px; border: 1px solid #e1e7ed; border-radius: 12px; background: #fbfcfd; }
.auth-section-title { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding-bottom: 8px; border-bottom: 1px solid #e9edf1; }
.auth-section-title b { color: #203047; font-size: 12px; }
.auth-section-title span { color: #8793a3; font-size: 9px; }
.auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.auth-grid-company { grid-template-columns: 1.5fr .8fr; }
.auth-field { display: grid !important; align-content: start; gap: 5px !important; min-width: 0; }
.auth-field-wide { grid-column: auto; }
.auth-grid:not(.auth-grid-company) .auth-field-wide { grid-column: 1 / -1; }
.auth-field > span { color: #344257; font-size: 10px; font-weight: 800; }
.auth-field > small { color: #8490a1; font-size: 9px; line-height: 1.45; font-weight: 500; }
.auth-field > small b { color: #59687d; font-weight: 700; }
.auth-form input:not([type="checkbox"]) { width: 100%; height: 44px; border: 1px solid #d3dce6; border-radius: 8px; padding: 0 12px; background: #fff; color: #172337; font-size: 13px; outline: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.auth-form input:not([type="checkbox"])::placeholder { color: #a2adba; }
.auth-form input:not([type="checkbox"]):focus { border-color: #86a1bc; box-shadow: 0 0 0 3px rgba(24,72,124,.08); }
.auth-form input.input-error { border-color: #d56b6b; background: #fffafa; box-shadow: 0 0 0 3px rgba(181,60,60,.06); }
.field-error, .client-field-error { display: block; margin: 0; color: #b23d3d; font-size: 9px; line-height: 1.4; font-style: normal; font-weight: 650; }
.auth-form-errors { padding: 10px 12px; border: 1px solid #efc8c8; border-radius: 8px; background: #fff5f5; color: #9e3535; font-size: 10px; }
.auth-inline-note { padding: 9px 11px; border-radius: 8px; background: #f1f5f8; color: #6f7d90; font-size: 9px; line-height: 1.5; }
.auth-submit { min-height: 44px; margin-top: 1px; font-size: 12px; }
.auth-links-row { display: flex; justify-content: space-between; gap: 16px; margin-top: 15px; color: #6f7d90; font-size: 10px; }
.auth-links-row a { color: #173f78; font-weight: 800; text-decoration: none; }
.auth-links-row a:hover { text-decoration: underline; text-underline-offset: 2px; }
.auth-links-center { justify-content: center; }
.auth-note { margin-top: 16px; }
.auth-security-note { display: grid; gap: 4px; margin-top: 17px; padding: 11px 12px; border: 1px solid #dbe5ed; border-radius: 9px; background: #f5f8fb; }
.auth-security-note b { color: #27415f; font-size: 10px; }
.auth-security-note span { color: #748297; font-size: 9px; line-height: 1.5; }
.auth-steps { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 20px; border: 1px solid #e1e7ed; border-radius: 10px; overflow: hidden; background: #f7f9fb; }
.auth-steps span { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border-left: 1px solid #e1e7ed; color: #7b889a; font-size: 9px; font-weight: 700; }
.auth-steps span:first-child { border-left: 0; }
.auth-steps span b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #e7ecf2; color: #68778b; font-size: 9px; }
.auth-steps span.active { background: #eef7f0; color: #257138; }
.auth-steps span.active b { background: #2a8c42; color: #fff; }
.auth-consent { margin-top: 0 !important; padding: 11px 12px; border: 1px solid #e1e7ed; border-radius: 9px; background: #fff; }
.consent-error { margin-top: -10px; }
@media (max-width: 760px) {
  .auth-page { padding: 24px 0 44px; }
  .auth-card, .registration-card { padding: 20px 16px; border-radius: 12px; }
  .auth-heading h1 { font-size: 30px; }
  .auth-grid, .auth-grid-company { grid-template-columns: 1fr; }
  .auth-grid .auth-field-wide { grid-column: auto; }
  .auth-section-title { align-items: flex-start; flex-direction: column; gap: 2px; }
  .auth-links-row { align-items: center; flex-direction: column; gap: 9px; }
  .auth-steps span { font-size: 8px; }
}

.auth-transport-warning { display: grid; gap: 3px; margin-top: 16px; padding: 10px 12px; border: 1px solid #ead7ad; border-radius: 9px; background: #fff9e8; }
.auth-transport-warning b { color: #7a5a12; font-size: 10px; }
.auth-transport-warning span { color: #846f43; font-size: 9px; line-height: 1.45; }

.auth-screen .cookie-banner { position: static; left: auto; bottom: auto; width: min(760px, calc(100% - 28px)); transform: none; margin: 0 auto 18px; box-shadow: 0 8px 26px rgba(15,31,55,.09); }

.auth-state-card { text-align: left; }
.auth-state-card > h1 { margin: 8px 0; color: #172337; font-size: 32px; letter-spacing: -.03em; }
.auth-state-card > p { margin: 0; color: #68768a; font-size: 12px; line-height: 1.6; }
.auth-state-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 16px; border-radius: 50%; background: #edf3fb; color: #174273; font-size: 20px; font-weight: 900; }
.auth-state-icon.auth-state-ok { background: #e9f6ec; color: #23823a; }
.auth-state-icon.auth-state-error { background: #fdeeee; color: #b14343; }

body.gallery-open { overflow: hidden; }

/* === Manager queues: buyers + feedback === */
.manager-queue-link { display: inline-flex !important; align-items: center; gap: 6px; }
.nav-queue-badge { min-width: 18px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; background: #e4f2e8; color: #23753a; font-size: 9px; font-weight: 900; line-height: 1; }
.nav-queue-badge-alert { background: #ffebe7; color: #bb4238; }
.main-nav a.active .nav-queue-badge { background: #fff; box-shadow: inset 0 0 0 1px rgba(31,67,112,.12); }

.manager-queue-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 20px 0 2px; }
.manager-queue-card { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label count" "meta count"; gap: 3px 18px; align-items: center; min-height: 86px; padding: 16px 18px; border: 1px solid #dbe3e9; border-radius: 13px; background: #fff; box-shadow: 0 7px 22px rgba(20,39,67,.045); transition: border-color .15s ease, box-shadow .15s ease; }
.manager-queue-card:hover { border-color: #b9c8d4; box-shadow: 0 10px 30px rgba(20,39,67,.075); }
.manager-queue-card span { grid-area: label; display: grid; gap: 2px; }
.manager-queue-card small { color: #8290a2; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.manager-queue-card span b { color: #1d2e46; font-size: 16px; }
.manager-queue-card strong { grid-area: count; min-width: 46px; height: 46px; display: grid; place-items: center; padding: 0 9px; border-radius: 12px; background: #edf5ef; color: #27733a; font-size: 20px; }
.manager-queue-card strong.queue-badge-alert { background: #fff0ec; color: #c2473d; }
.manager-queue-card em { grid-area: meta; color: #778599; font-size: 10px; font-style: normal; }

.manager-subhead { padding: 30px 0; }
.manager-subhead h1 { font-size: 36px; }
.manager-queue-page { padding-top: 18px; }
.queue-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.queue-tabs a { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #dce4ea; border-radius: 10px; background: #fff; color: #536176; font-size: 10px; font-weight: 750; }
.queue-tabs a:hover { border-color: #b8c6d2; }
.queue-tabs a.active { border-color: #a9bccc; background: #f2f7fb; color: #193b68; box-shadow: inset 0 0 0 1px rgba(25,59,104,.04); }
.queue-tabs a b { min-width: 26px; height: 26px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: #edf1f5; color: #34485f; font-size: 11px; }
.queue-tabs a.active b { background: #dfeaf4; color: #173f78; }
.queue-tabs a b.queue-count-alert { background: #ffebe7; color: #b83e35; }
.queue-main-block { margin-top: 14px; }
.queue-search { flex-wrap: wrap; justify-content: flex-end; }
.queue-search input { width: 280px; }
.queue-search a { color: #65758a; font-size: 9px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.queue-row-attention { background: #fffdf6; }
.queue-row-attention:hover { background: #fffaf0; }
.queue-empty { padding: 34px !important; text-align: center; color: #8290a2 !important; }
.approve-details > summary { color: #167834 !important; }
.new-label { display: inline-block !important; width: max-content; margin-top: 5px !important; padding: 2px 6px; border-radius: 999px; background: #ffebe7; color: #ad3e36 !important; font-size: 8px !important; font-weight: 850; }
.feedback-message-cell { min-width: 280px; max-width: 480px; }
.feedback-message-cell details { margin-top: 4px; }
.feedback-message-cell summary { color: #6a788b; font-size: 9px; line-height: 1.45; cursor: pointer; list-style: none; }
.feedback-message-cell summary::-webkit-details-marker { display: none; }
.feedback-message-cell details[open] summary { color: #28496f; font-weight: 700; }
.feedback-message-cell details p { margin: 8px 0 0; padding: 9px 10px; border: 1px solid #e1e7ed; border-radius: 8px; background: #f8fafc; color: #44536a; font-size: 10px; line-height: 1.55; }
.feedback-status-form select { min-width: 96px; }

@media (max-width: 980px) {
  .manager-queue-strip { grid-template-columns: 1fr; }
  .queue-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .queue-tabs a:last-child { grid-column: span 2; }
}
@media (max-width: 680px) {
  .queue-tabs { grid-template-columns: 1fr; }
  .queue-tabs a:last-child { grid-column: auto; }
  .queue-search { width: 100%; justify-content: stretch; }
  .queue-search input { width: auto; flex: 1 1 180px; }
  .manager-subhead h1 { font-size: 30px; }
}

/* === Manager workflow pass: deals, lot search, temporary auto-approval === */
.manager-queue-strip-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.block-head-actions { display: flex; align-items: center; gap: 10px; }
.manager-important-block { border-color: #cbd9e4; box-shadow: 0 8px 28px rgba(20,39,67,.055); }
.manager-lot-search input { width: 210px; }
.manager-lot-search a { color: #66758a; font-size: 9px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.manager-recent-deals a b, .deals-table a b { color: #173f78; }
.queue-tabs-deals { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
.deals-table { min-width: 1180px; }
.deal-lot-link { display: grid; gap: 3px; min-width: 190px; }
.deal-actions { min-width: 150px; display: grid; gap: 6px; align-content: start; }
.deal-actions > form { margin: 0; }
.deal-actions .table-action { width: max-content; }
.manager-mode-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding: 11px 13px; border: 1px solid #d9e5db; border-radius: 10px; background: #f3faf4; color: #496451; font-size: 10px; line-height: 1.45; }
.manager-mode-banner b { flex: 0 0 auto; color: #23713a; font-size: 10px; }
.manager-series-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.manager-series-list > div { min-width: 0; }
.auth-captcha-section { background: #fbfcfd; }
.auth-captcha-field { max-width: 330px; }
.auth-captcha-field input, .feedback-captcha input { max-width: 170px; font-variant-numeric: tabular-nums; }
.feedback-captcha { padding: 11px 12px !important; border: 1px dashed #cad6e1; border-radius: 9px; background: #f8fbfd; }
.feedback-captcha small { display: block; margin-top: 4px; color: #7c8998; font-size: 9px; line-height: 1.4; }

@media (max-width: 1100px) {
  .manager-queue-strip-three { grid-template-columns: 1fr; }
  .manager-series-list { grid-template-columns: 1fr; }
  .block-head-actions { align-items: flex-end; flex-direction: column; }
}

.main-nav .manager-queue-link { margin-left: 0; }

/* === Manager UX + search reset + feedback ticket === */
.main-nav { min-width: 0; flex-wrap: nowrap; }
.main-nav a { white-space: nowrap; }
.access-box { flex: 0 0 auto; }
.access-box > span { min-width: 0; }
.access-box > span b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.topbar-inner { gap: 18px; }

.toolbar-search input { padding-right: 38px; }
.toolbar-search .search-clear { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); z-index: 2; }
.search-field-wrap { position: relative; display: inline-flex; min-width: 0; }
.buyer-search .search-field-wrap { width: 280px; }
.manager-lot-search .search-field-wrap { width: 220px; }
.buyer-search .search-field-wrap input { width: 100%; padding-right: 31px; }
.search-clear { width: 25px; height: 25px; display: inline-grid; place-items: center; border: 0 !important; border-radius: 50% !important; padding: 0 !important; background: transparent !important; color: #7b8796 !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1 !important; cursor: pointer; }
.search-field-wrap .search-clear { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); }
.search-clear:hover { background: #edf1f5 !important; color: #233a59 !important; }

.data-table td small { display: block; margin-top: 4px; color: #748197; font-size: 9px; line-height: 1.35; }
.data-table td { overflow-wrap: anywhere; }
.buyer-admin-block .data-table { min-width: 1080px; }
.feedback-table { min-width: 980px; }
.manager-mode-banner { display: grid; grid-template-columns: max-content minmax(0,1fr); align-items: start; column-gap: 12px; }
.manager-mode-banner b, .manager-mode-banner span { display: block; }

.feedback-ticket-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .72fr); gap: 16px; align-items: start; }
.feedback-ticket-main, .feedback-ticket-side { display: grid; gap: 16px; min-width: 0; }
.feedback-ticket-side { position: sticky; top: 88px; }
.feedback-ticket-card, .feedback-history-card, .ticket-action-card { margin: 0; }
.ticket-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; margin: 0; border-top: 1px solid #e4e9ee; border-bottom: 1px solid #e4e9ee; }
.ticket-meta-grid > div { min-width: 0; padding: 12px 14px; border-right: 1px solid #e8edf1; border-bottom: 1px solid #e8edf1; }
.ticket-meta-grid > div:nth-child(2n) { border-right: 0; }
.ticket-meta-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.ticket-meta-grid dt { margin-bottom: 4px; color: #8190a2; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ticket-meta-grid dd { margin: 0; color: #26364d; font-size: 11px; font-weight: 650; overflow-wrap: anywhere; }
.ticket-original-message { padding: 16px; }
.ticket-original-message > b { color: #182d4a; font-size: 11px; }
.ticket-original-message p { margin: 8px 0 0; padding: 13px 14px; border: 1px solid #e2e8ee; border-radius: 10px; background: #f8fafc; color: #34465e; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.ticket-action-form { display: grid; gap: 12px; padding: 14px 16px 17px; }
.ticket-action-form > label:not(.legal-consent) { display: grid; gap: 5px; }
.ticket-action-form > label > span { color: #536278; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.ticket-action-form select, .ticket-action-form textarea { width: 100%; border: 1px solid #d4dde6; border-radius: 8px; background: #fff; color: #25364e; font: inherit; font-size: 11px; padding: 9px 10px; resize: vertical; }
.ticket-action-form select { height: 38px; }
.reply-recipient { margin: 13px 16px 0; padding: 9px 10px; border-radius: 8px; background: #eef7f0; color: #476651; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
.reply-recipient-warning { background: #fff4df; color: #725b26; }
.ticket-close-check { margin: 0; }
.feedback-timeline { padding: 6px 16px 16px; }
.timeline-event { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding: 10px 0; }
.timeline-event:not(:last-child)::after { content: ''; position: absolute; left: 8px; top: 27px; bottom: -10px; width: 1px; background: #dfe6ec; }
.timeline-dot { width: 17px; height: 17px; margin-top: 2px; border: 4px solid #edf2f6; border-radius: 50%; background: #708298; z-index: 1; }
.timeline-reply .timeline-dot { background: #247a3d; border-color: #e6f2e9; }
.timeline-status .timeline-dot { background: #27598b; border-color: #e5edf6; }
.timeline-content { min-width: 0; }
.timeline-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.timeline-head b { color: #1e324e; font-size: 11px; }
.timeline-head span, .timeline-content small { color: #7c8999; font-size: 9px; }
.timeline-content p { margin: 7px 0 0; padding: 9px 10px; border-radius: 8px; background: #f6f8fa; color: #3d4e64; font-size: 10px; line-height: 1.55; overflow-wrap: anywhere; }
.ok-text { color: #23733c; font-weight: 750; }
.secondary-action { color: #5e6f84 !important; }

@media (max-width: 1080px) {
  .feedback-ticket-grid { grid-template-columns: 1fr; }
  .feedback-ticket-side { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .access-box > span b { max-width: 120px; }
}
@media (max-width: 760px) {
  .feedback-ticket-side { grid-template-columns: 1fr; }
  .ticket-meta-grid { grid-template-columns: 1fr; }
  .ticket-meta-grid > div { border-right: 0; border-bottom: 1px solid #e8edf1 !important; }
  .ticket-meta-grid > div:last-child { border-bottom: 0 !important; }
  .buyer-search .search-field-wrap, .manager-lot-search .search-field-wrap { width: 100%; flex: 1 1 180px; }
}

/* === Feedback form bounds + stable deal actions === */
.feedback-form textarea {
  resize: vertical;
  min-height: 110px;
  max-height: 320px;
  overflow: auto;
  box-sizing: border-box;
}
.deal-actions {
  min-width: 152px;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
.deal-actions > a.table-action,
.deal-actions > form,
.deal-actions > form > .table-action,
.deal-actions > details {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}
.deal-actions .table-action {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
}
.deal-actions .compact-danger {
  width: 100%;
  min-width: 0;
  margin: 0;
  flex: none;
}
.deal-actions .compact-danger > summary {
  display: block;
  width: 100%;
  white-space: nowrap;
  text-align: center;
}
.deal-actions .compact-danger > form {
  min-width: 220px;
}

/* === Manager stability + persistent feedback alarm (2026-09-05) === */
.staff-ui .shell { width: min(1480px, calc(100% - 40px)); }
.staff-ui .topbar-inner { gap: 12px; }
.staff-ui .main-nav { gap: 5px; flex: 1 1 auto; justify-content: center; }
.staff-ui .main-nav a { padding: 9px 11px; font-size: 12px; }
.staff-ui .main-nav .manager-link { margin-left: 0; }
.staff-ui .platform-label { white-space: nowrap; }
.staff-ui .access-box { max-width: 220px; }
.staff-ui .access-box > span b { max-width: 150px; }

.staff-feedback-alarm { position: sticky; top: 74px; z-index: 46; border-bottom: 1px solid #f2c8c2; background: #fff1ee; box-shadow: 0 7px 22px rgba(121,41,33,.08); }
.staff-feedback-alarm.overdue { background: #ffe8e4; border-color: #e99c92; }
.staff-feedback-alarm-inner { min-height: 54px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding-top: 8px; padding-bottom: 8px; }
.staff-alarm-dot { width: 11px; height: 11px; border-radius: 50%; background: #e64e43; box-shadow: 0 0 0 6px rgba(230,78,67,.12); }
.staff-feedback-alarm.overdue .staff-alarm-dot { animation: manager-alarm-pulse 1.3s infinite ease-in-out; }
.staff-feedback-alarm-inner > div { min-width: 0; display: grid; gap: 1px; }
.staff-feedback-alarm-inner b { color: #8b2f28; font-size: 12px; }
.staff-feedback-alarm-inner small { color: #8a5a55; font-size: 10px; line-height: 1.35; }
.staff-feedback-alarm-inner a { padding: 8px 12px; border-radius: 8px; background: #c43e35; color: #fff; font-size: 10px; font-weight: 850; white-space: nowrap; }
@keyframes manager-alarm-pulse { 0%,100% { transform: scale(1); box-shadow: 0 0 0 6px rgba(230,78,67,.12); } 50% { transform: scale(1.12); box-shadow: 0 0 0 10px rgba(230,78,67,.04); } }
@media (prefers-reduced-motion: reduce) { .staff-feedback-alarm.overdue .staff-alarm-dot { animation: none; } }

.manager-queue-card-alert { border-color: #efb2aa; background: #fff8f6; box-shadow: 0 8px 28px rgba(180,61,50,.09); }
.manager-queue-card-alert:hover { border-color: #df8177; }
.manager-queue-card-alert span b { color: #a53c34; }
.manager-queue-card-alert em { color: #a8665f; font-weight: 700; }

.manager-section { width: min(1480px, calc(100% - 40px)); }
.manager-lots-block .table-wrap { overflow-x: auto; }
.manager-table { min-width: 1240px; table-layout: fixed; }
.manager-table th:nth-child(1), .manager-table td:nth-child(1) { width: 23%; }
.manager-table th:nth-child(2), .manager-table td:nth-child(2) { width: 13%; }
.manager-table th:nth-child(3), .manager-table td:nth-child(3) { width: 13%; }
.manager-table th:nth-child(4), .manager-table td:nth-child(4) { width: 9%; }
.manager-table th:nth-child(5), .manager-table td:nth-child(5) { width: 10%; }
.manager-table th:nth-child(6), .manager-table td:nth-child(6) { width: 11%; }
.manager-table th:nth-child(7), .manager-table td:nth-child(7) { width: 9%; }
.manager-table th:nth-child(8), .manager-table td:nth-child(8) { width: 12%; }
.manager-table td { vertical-align: top; overflow-wrap: normal; word-break: normal; }
.manager-row-actions { display: grid; gap: 6px; min-width: 112px; align-content: start; }
.manager-row-actions > form { margin: 0; }
.manager-row-actions .table-action { width: 100%; text-align: center; white-space: nowrap; }
.manager-row-actions .danger-details { width: 100%; }

.deals-table { min-width: 1360px; table-layout: fixed; }
.deals-table th:nth-child(1), .deals-table td:nth-child(1) { width: 8%; }
.deals-table th:nth-child(2), .deals-table td:nth-child(2) { width: 17%; }
.deals-table th:nth-child(3), .deals-table td:nth-child(3) { width: 18%; }
.deals-table th:nth-child(4), .deals-table td:nth-child(4) { width: 13%; }
.deals-table th:nth-child(5), .deals-table td:nth-child(5) { width: 9%; }
.deals-table th:nth-child(6), .deals-table td:nth-child(6) { width: 9%; }
.deals-table th:nth-child(7), .deals-table td:nth-child(7) { width: 9%; }
.deals-table th:nth-child(8), .deals-table td:nth-child(8) { width: 8%; }
.deals-table th:nth-child(9), .deals-table td:nth-child(9) { width: 9%; }
.deals-table td { vertical-align: top; overflow-wrap: normal; word-break: normal; }
.deal-lot-link { min-width: 0; }
.deal-actions { min-width: 0; width: 100%; }

.buyer-admin-block .data-table { min-width: 1180px; table-layout: fixed; }
.buyer-admin-block .data-table td { vertical-align: top; overflow-wrap: normal; word-break: normal; }
.feedback-table { min-width: 1120px; table-layout: fixed; }
.feedback-table th:nth-child(1), .feedback-table td:nth-child(1) { width: 12%; }
.feedback-table th:nth-child(2), .feedback-table td:nth-child(2) { width: 18%; }
.feedback-table th:nth-child(3), .feedback-table td:nth-child(3) { width: 7%; }
.feedback-table th:nth-child(4), .feedback-table td:nth-child(4) { width: 28%; }
.feedback-table th:nth-child(5), .feedback-table td:nth-child(5) { width: 16%; }
.feedback-table th:nth-child(6), .feedback-table td:nth-child(6) { width: 8%; }
.feedback-table th:nth-child(7), .feedback-table td:nth-child(7) { width: 11%; }
.feedback-table td { vertical-align: top; overflow-wrap: anywhere; }
.feedback-row-actions { min-width: 130px; }
.feedback-take-action { border-color: #e7a39b !important; background: #fff2ef !important; color: #a53d34 !important; font-weight: 850 !important; }

.toolbar-search .search-clear { right: 8px; top: 50%; }
.search-field-wrap .search-clear { right: 7px; }
.search-clear { z-index: 4; }

@media (max-width: 1050px) {
  .staff-ui .shell, .manager-section { width: min(1480px, calc(100% - 24px)); }
  .staff-ui .topbar-inner { flex-wrap: wrap; padding: 8px 0; }
  .staff-ui .main-nav { order: 3; width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 2px; }
  .staff-feedback-alarm { top: 110px; }
  .staff-feedback-alarm-inner { grid-template-columns: auto minmax(0,1fr); }
  .staff-feedback-alarm-inner a { grid-column: 2; width: max-content; }
}
@media (max-width: 680px) {
  .staff-feedback-alarm { position: static; }
  .staff-feedback-alarm-inner { grid-template-columns: auto minmax(0,1fr); }
  .staff-feedback-alarm-inner a { grid-column: 1 / -1; width: 100%; text-align: center; }
}

.manager-action-lock { margin: 14px 0 12px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #e8aca4; border-radius: 12px; background: #fff3f0; }
.manager-action-lock > div { min-width: 0; display: grid; gap: 3px; }
.manager-action-lock b { color: #97352d; font-size: 12px; }
.manager-action-lock span { color: #8b605a; font-size: 10px; line-height: 1.45; }
.manager-action-lock a { flex: 0 0 auto; padding: 9px 12px; border-radius: 8px; background: #bd4036; color: #fff; font-size: 10px; font-weight: 850; white-space: nowrap; }
.manager-actions-blocked { opacity: .48; filter: grayscale(.15); pointer-events: none; user-select: none; }
@media (max-width: 760px) { .manager-action-lock { align-items: stretch; flex-direction: column; } .manager-action-lock a { text-align: center; } }

.overdue-label { background: #ffdcd6 !important; color: #9e3029 !important; box-shadow: inset 0 0 0 1px #f1b0a7; }

/* Keep table cells as table cells; stack action controls inside them. */
.manager-row-actions { display: table-cell; vertical-align: top; min-width: 120px; }
.manager-row-actions > * { display: block; width: 100%; margin: 0 0 6px; }
.manager-row-actions > *:last-child { margin-bottom: 0; }
.deal-actions-cell { vertical-align: top !important; }
.deal-actions { display: grid; gap: 6px; width: 100%; min-width: 0; align-content: start; }

.manager-lot-scope { display: flex; gap: 6px; margin-top: 8px; }
.manager-lot-scope a { padding: 5px 8px; border: 1px solid #dce4ea; border-radius: 7px; color: #65758a; background: #fff; font-size: 9px; font-weight: 750; }
.manager-lot-scope a.active { border-color: #b3c6d7; background: #edf4fa; color: #173f78; }
.manager-secondary-section { margin-top: 12px; border: 1px solid #dde4e9; border-radius: 12px; background: #fff; overflow: hidden; }
.manager-secondary-section > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 15px; list-style: none; cursor: pointer; }
.manager-secondary-section > summary::-webkit-details-marker { display: none; }
.manager-secondary-section > summary::after { content: '⌄'; color: #788799; font-size: 17px; transition: transform .16s ease; }
.manager-secondary-section[open] > summary::after { transform: rotate(180deg); }
.manager-secondary-section > summary > span { flex: 1; display: grid; gap: 1px; min-width: 0; }
.manager-secondary-section > summary small { color: #728196; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.manager-secondary-section > summary b { color: #22354f; font-size: 12px; }
.manager-secondary-section > summary em { color: #748397; font-size: 9px; font-style: normal; white-space: nowrap; }
.manager-secondary-section > .manager-block { margin: 0; border: 0; border-top: 1px solid #e4e9ed; border-radius: 0; box-shadow: none; }


/* ========================================================================== 
   Calm Corporate UI v1 — 2026-09-05
   Design direction: quiet B2B interface, navy primary, coral only for trade/
   danger actions, green only for successful states.
   ========================================================================== */
:root {
  --ink: #16263d;
  --ink-2: #43546a;
  --green: #173f78;
  --green-2: #315f96;
  --accent: #e65a50;
  --accent-dark: #c94940;
  --cream: #f5f7f9;
  --paper: #ffffff;
  --line: #dde3e9;
  --muted: #69788c;
  --soft: #eef3f8;
  --shadow: 0 10px 30px rgba(22, 38, 61, .07);
  --radius: 12px;
  --brand-blue: #173f78;
  --brand-red: #e65a50;
  --brand-green: #2f7a4b;
  --trade-bg: #f5f7f9;
  --trade-line: #dde3e9;
  --trade-text: #16263d;
  --trade-muted: #69788c;
  --surface-soft: #f8fafb;
  --surface-blue: #eef3f8;
  --success: #2f7a4b;
  --success-bg: #eaf5ed;
  --danger: #b93e35;
  --danger-bg: #fff0ed;
  --warning: #8a6518;
  --warning-bg: #fff7df;
}

html { color-scheme: light; }
body {
  color: var(--ink);
  background: var(--trade-bg);
  font-family: Inter, "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-weight: 400; }
button, input, select, textarea { color: var(--ink); }
a { transition: color .15s ease, background-color .15s ease, border-color .15s ease, opacity .15s ease; }
.shell { width: min(1240px, calc(100% - 48px)); }
.staff-ui .shell, .manager-section { width: min(1420px, calc(100% - 48px)); }

/* Typography */
.eyebrow, .product-kicker {
  color: var(--brand-blue) !important;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: none;
}
h1, h2, h3, .trade-name, .lot-title, .auth-heading h1, .login-card h1, .error-card h1 {
  color: var(--ink);
  font-weight: 700;
  letter-spacing: -.025em;
}
.lots-title-row h1 { font-size: 38px; font-weight: 700; letter-spacing: -.03em; }
.page-head h1, .manager-head h1 { font-size: 34px; font-weight: 700; letter-spacing: -.025em; }
.block-head h2 { font-size: 23px; font-weight: 700; letter-spacing: -.02em; }
.section-head h2 { font-size: 28px; font-weight: 700; }

/* Header */
.topbar {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid #e6ebef;
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.topbar-inner { min-height: 68px; gap: 20px; }
.brand-gorkunov { gap: 12px; }
.brand-symbol b { color: var(--brand-blue); font-size: 17px; font-weight: 750; }
.platform-label { color: #8390a0 !important; font-size: 9px !important; font-weight: 600 !important; letter-spacing: .04em !important; }
.main-nav { gap: 3px; }
.main-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border-radius: 8px;
  color: #42526a;
  font-size: 12px;
  font-weight: 600;
}
.main-nav a:hover { background: #f2f5f8; color: var(--brand-blue); }
.main-nav a.active { background: var(--surface-blue); color: var(--brand-blue); }
.main-nav .manager-link { border: 1px solid transparent; margin-left: 1px; }
.nav-queue-badge { min-width: 19px; height: 19px; padding: 0 5px; font-size: 9px; font-weight: 700; }
.access-box > span b { color: var(--ink); font-size: 12px; font-weight: 650; }
.access-box small { color: #8a96a5; font-size: 8px; font-weight: 550; }
.link-button { color: var(--brand-blue); font-weight: 600; }

/* Generic buttons */
.btn {
  border-radius: 8px;
  font-weight: 650;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.btn:hover { transform: none; }
.btn-primary { background: var(--brand-blue); color: #fff; box-shadow: none; }
.btn-primary:hover { background: #123665; }
.btn-light { border: 1px solid var(--line); background: #fff; color: var(--brand-blue); }
.btn-light:hover { background: #f7f9fb; border-color: #cbd5de; }
.trade-submit, .trade-action, .btn-card {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 700;
  box-shadow: none;
}
.trade-submit:hover, .trade-action:hover, .btn-card:hover { background: var(--accent-dark) !important; }
.action-ascending, .action-dutch, .action-fixed { background: var(--accent) !important; }
.action-login { background: var(--brand-blue) !important; }
.action-login:hover { background: #123665 !important; }
.question-btn, .question-button, .table-action {
  border-color: #d5dde5;
  background: #fff;
  color: #34465d;
  border-radius: 7px;
  font-weight: 600;
}
.question-btn:hover, .question-button:hover, .table-action:hover { background: #f7f9fb; border-color: #bcc9d4; }
.danger-details > summary, .danger-text { color: var(--danger) !important; }
.danger-details button { background: var(--danger); }

/* Page surfaces */
.lots-page, .detail-page, .lot-page-v2, .legal-page, .auth-page, .login-page, .error-page { background: var(--trade-bg); }
.page-head, .manager-head {
  padding: 28px 0 24px;
  background: transparent;
  color: var(--ink);
  border-bottom: 1px solid #e4e9ed;
}
.manager-head .eyebrow { color: var(--brand-blue) !important; }
.page-head p, .manager-head p { color: var(--muted); font-size: 13px; }
.manager-subhead { padding: 25px 0 22px; }
.manager-head .btn-light { box-shadow: none; }

/* Catalogue */
.lots-page { padding-top: 28px; }
.lots-title-row { margin-bottom: 16px; }
.page-meta { color: #8491a1; font-size: 11px; }
.page-meta b { color: var(--brand-blue); font-weight: 650; }
.public-notice {
  padding: 11px 14px;
  border: 1px solid #e0e6eb;
  border-radius: 9px;
  background: #f8fafc;
  box-shadow: none;
}
.public-notice b { color: #33475f; font-size: 11px; font-weight: 650; }
.public-notice span { color: #738195; font-size: 10px; }
.public-notice .btn-primary { background: var(--accent); }
.public-notice .btn-primary:hover { background: var(--accent-dark); }
.trade-toolbar {
  padding: 13px;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
.trade-toolbar input, .trade-toolbar select {
  height: 42px;
  border-color: #d8e0e7;
  border-radius: 7px;
  color: #2f4056;
  font-size: 12px;
}
.trade-toolbar input:focus, .trade-toolbar select:focus {
  border-color: #8ea7c0;
  box-shadow: 0 0 0 3px rgba(23,63,120,.07);
}
.view-switch { height: 42px; border-radius: 7px; border-color: #d8e0e7; }
.view-switch button { color: #5d6c80; font-weight: 600; }
.view-switch button.active { background: var(--brand-blue); color: #fff; }
.toolbar-reset { color: #7b8796; font-size: 10px; font-weight: 600; }
.toolbar-reset:hover { color: var(--danger); }
.search-clear { color: #8793a2 !important; }
.search-clear:hover { color: var(--brand-blue) !important; background: #eef3f8 !important; }

.trade-grid { gap: 16px; }
.trade-card {
  border-color: #e0e5ea;
  border-radius: 11px;
  box-shadow: 0 4px 16px rgba(22,38,61,.045);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.trade-card:hover { border-color: #cfd8e1; box-shadow: 0 8px 22px rgba(22,38,61,.07); }
.trade-photo { height: 225px; }
.lot-id { border-radius: 6px; color: #425168; font-weight: 700; }
.trade-card-body { padding: 15px 16px 16px; }
.trade-name { color: var(--ink); font-size: 19px; font-weight: 700; }
.trade-subline, .cut-line { color: #66758a; font-size: 11px; }
.trade-qty { margin-top: 9px; padding: 9px 0; color: #5d6b7e; font-size: 11px; }
.trade-qty b { color: #314258; font-weight: 650; }
.trade-price { padding: 9px 0 10px; }
.trade-price strong { color: var(--ink); font-size: 22px; font-weight: 700; }
.trade-price > b { color: #35465b; font-size: 14px; font-weight: 650; }
.vat-line { color: #8a96a5; }
.trade-status {
  min-height: 36px;
  border: 1px solid #e0e6eb !important;
  background: #f7f9fb !important;
  color: #56667a !important;
  font-size: 10px;
  font-weight: 650;
}
.status-leading { background: var(--success-bg) !important; border-color: #d5eadb !important; color: var(--success) !important; }
.status-dutch { background: #eef4fa !important; border-color: #d9e4ef !important; color: #315f96 !important; }
.status-fixed { background: #f4f5f7 !important; border-color: #e1e4e8 !important; color: #556274 !important; }
.status-ascending { background: #eef4fa !important; border-color: #d9e4ef !important; color: #315f96 !important; }
.status-outbid { background: var(--danger-bg) !important; border-color: #f1d2cd !important; color: var(--danger) !important; }
.watch-link { color: #778598; font-size: 11px; }
.watch-link:hover { color: var(--brand-blue); }

/* Lot page */
.lot-page-v2, .detail-page { padding-top: 22px; }
.lot-heading-line h1, .detail-title-row h1 { color: var(--ink); font-size: 28px; font-weight: 700; }
.back-lots, .back-link { border-color: var(--line); color: #516176; background: #fff; font-weight: 600; }
.pill-ascending, .pill-dutch, .mode-ascending, .mode-dutch { background: #eef4fa; color: #315f96; }
.pill-fixed, .mode-fixed { background: #f2f4f6; color: #556274; }
.lot-gallery, .lot-info-card, .trade-panel, .lot-photo-panel, .lot-info-panel, .lot-trade-panel {
  border-color: var(--line);
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(22,38,61,.04);
}
.gallery-thumbs img.active, .photo-thumbs button.active { border-color: var(--brand-blue); }
.lot-info-card, .lot-info-panel { padding: 20px; }
.lot-info-card h2, .lot-info-panel h2 { color: var(--ink); font-weight: 700; }
.spec-grid b { color: #33465d; font-weight: 600; }
.series-head { background: #f7f9fb; }
.series-line.total, .series-total { background: var(--success-bg); color: var(--success); }
.lot-meta-strip, .lot-note-strip, .vat-note { background: #f6f8fa; color: #68778a; }
.trade-panel, .lot-trade-panel { padding: 20px; }
.big-price, .trade-big-price { color: var(--ink); font-weight: 700; }
.big-price, .trade-big-price span { font-size: 36px; }
.trade-total b, .lot-total b { color: #324359; font-weight: 650; }
.trade-rule-list b, .price-rules b { color: #35465b; font-weight: 600; }
.trade-clock > b { color: var(--brand-blue); font-weight: 700; }
.trade-clock > em { color: var(--success); }
.trade-form input, .trade-form-v2 input { height: 40px; border-radius: 7px; border-color: #d7dfe7; }
.trade-form input:focus, .trade-form-v2 input:focus { border-color: #8fa7bf; box-shadow: 0 0 0 3px rgba(23,63,120,.07); }
.deal-conditions { border-color: var(--line); border-radius: 9px; }
.deal-conditions > div { min-height: 72px; padding: 12px 14px; }
.deal-conditions b { color: #405168; font-weight: 650; }

/* Status semantics */
.status-chip {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 650;
}
.status-confirmed, .status-active { background: var(--success-bg); color: var(--success); }
.status-reserved, .status-draft { background: var(--warning-bg); color: var(--warning); }
.status-cancelled, .status-closed { background: #eef1f3; color: #667382; }

/* Forms, auth, registration */
.login-page, .auth-page { padding-top: 40px; }
.login-card, .auth-card, .legal-card {
  border: 1px solid #e0e5ea;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(22,38,61,.055);
}
.login-card { padding: 31px; }
.login-card h1, .auth-heading h1 { font-size: 32px; font-weight: 700; }
.login-card > p, .auth-heading p { color: #6b798c; font-size: 13px; }
.account-login-form label, .auth-field > span {
  color: #425269;
  font-size: 11px;
  font-weight: 600;
}
.account-login-form input, .auth-form input:not([type="checkbox"]) {
  height: 44px;
  border-color: #d7dfe7;
  border-radius: 7px;
  color: var(--ink);
  font-size: 13px;
}
.account-login-form input:focus, .auth-form input:not([type="checkbox"]):focus {
  border-color: #8fa7bf;
  box-shadow: 0 0 0 3px rgba(23,63,120,.07);
}
.auth-form { gap: 0; }
.auth-form-section {
  gap: 13px;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid #e5e9ed;
  border-radius: 0;
  background: transparent;
}
.auth-form-section:first-of-type { border-top: 0; padding-top: 4px; }
.auth-section-title { padding-bottom: 5px; border-bottom: 0; }
.auth-section-title b { color: #263950; font-size: 13px; font-weight: 650; }
.auth-section-title span { color: #8a96a5; font-size: 10px; }
.auth-field > small { color: #8995a4; font-size: 10px; }
.auth-inline-note, .auth-security-note, .auth-captcha-section {
  border-color: #e1e6eb;
  background: #f8fafb;
  color: #68778a;
}
.auth-steps {
  border: 0;
  border-bottom: 1px solid #e2e7eb;
  border-radius: 0;
  background: transparent;
}
.auth-steps span {
  min-height: 42px;
  border-left: 0;
  border-bottom: 2px solid transparent;
  color: #7e8b9b;
  font-size: 10px;
  font-weight: 600;
}
.auth-steps span.active { background: transparent; color: var(--brand-blue); border-bottom-color: var(--brand-blue); }
.auth-steps span b { background: #edf1f4; color: #68778a; }
.auth-steps span.active b { background: var(--brand-blue); color: #fff; }
.auth-consent { border-color: #e3e8ec; border-radius: 7px; background: #fafbfc; }
.legal-consent input[type="checkbox"] { accent-color: var(--brand-blue); }
.auth-links-row a, .auth-switch a, .legal-consent a { color: var(--brand-blue); font-weight: 650; }
.auth-submit { min-height: 44px; }

/* Feedback */
.feedback-layout { gap: 18px; grid-template-columns: minmax(520px,1fr) 280px; }
.feedback-form, .feedback-side {
  border-color: var(--line);
  border-radius: 10px;
  box-shadow: none;
}
.feedback-form { padding: 20px; gap: 13px; }
.feedback-form label { color: #425269; font-size: 11px; font-weight: 600; }
.feedback-form input, .feedback-form textarea {
  border-color: #d7dfe7;
  border-radius: 7px;
  font-size: 13px;
}
.feedback-form input:focus, .feedback-form textarea:focus { border-color: #8fa7bf; box-shadow: 0 0 0 3px rgba(23,63,120,.07); }
.feedback-note { border: 1px solid #e2e7eb; background: #f8fafb; color: #6d7b8e; }
.feedback-side { padding: 17px; }
.feedback-side b { color: #2c3d54; font-weight: 650; }
.feedback-side span { color: #66758a; font-size: 11px; }
.feedback-side small { color: #8a96a5; font-size: 10px; }
.feedback-captcha { border-color: #d6e0e8; background: #f8fafb; }

/* Manager — one product, not a separate green admin */
.manager-section { padding-top: 20px; }
.manager-queue-strip { gap: 10px; margin: 14px 0 4px; }
.manager-queue-card {
  min-height: 72px;
  padding: 13px 15px;
  border-color: #e0e5ea;
  border-radius: 10px;
  box-shadow: none;
}
.manager-queue-card:hover { border-color: #c8d3dd; box-shadow: none; }
.manager-queue-card small { color: #8793a2; font-size: 9px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.manager-queue-card span b { color: #2a3b52; font-size: 14px; font-weight: 650; }
.manager-queue-card strong {
  min-width: 38px;
  height: 38px;
  border-radius: 9px;
  background: #eef3f8;
  color: var(--brand-blue);
  font-size: 17px;
  font-weight: 700;
}
.manager-queue-card strong.queue-badge-alert { background: var(--danger-bg); color: var(--danger); }
.manager-queue-card em { color: #8793a2; font-size: 9px; }
.manager-queue-card-alert { border-color: #edc5bf; background: #fffaf9; box-shadow: none; }
.manager-queue-card-alert:hover { border-color: #dfa59d; }

.manager-actions { gap: 9px; }
.manager-actions details { border-color: #e0e5ea; border-radius: 10px; }
.manager-actions summary { min-height: 68px; padding: 12px; gap: 10px; }
.manager-actions summary b { color: #304258; font-size: 12px; font-weight: 650; }
.manager-actions summary small { color: #8793a2; font-size: 9px; }
.action-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 8px; background: var(--surface-blue); color: var(--brand-blue); font-size: 15px; }
.django-form { border-top-color: #e6eaee; }
.django-form label { color: #526176; font-size: 10px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.django-form input, .django-form select, .django-form textarea { border-color: #d7dfe7; border-radius: 7px; font-size: 12px; }
.django-form input:focus, .django-form select:focus, .django-form textarea:focus { border-color: #8fa7bf; box-shadow: 0 0 0 3px rgba(23,63,120,.07); }
.form-hint { background: #f8fafb; }
.manager-block, .manager-secondary-section {
  border-color: #e0e5ea;
  border-radius: 10px;
  box-shadow: none;
}
.block-head { min-height: 68px; padding: 14px 16px; }
.block-head > span { color: #8995a4; }
.manager-lot-scope a { border-color: #dce3e9; background: #fff; color: #6b7889; font-weight: 600; }
.manager-lot-scope a.active { border-color: #c2d0dc; background: var(--surface-blue); color: var(--brand-blue); }
.manager-secondary-section > summary { min-height: 54px; }
.manager-secondary-section > summary b { color: #35465c; font-size: 12px; font-weight: 650; }
.manager-secondary-section > summary small { text-transform: none; letter-spacing: 0; font-weight: 600; }

/* Queue tabs become tabs, not cards */
.queue-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid #dfe5ea;
}
.queue-tabs a {
  min-height: 44px;
  padding: 0 13px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #677589;
  font-size: 11px;
  font-weight: 600;
}
.queue-tabs a:hover { border-color: transparent; color: var(--brand-blue); background: #f8fafb; }
.queue-tabs a.active { border-color: var(--brand-blue); background: transparent; color: var(--brand-blue); box-shadow: none; }
.queue-tabs a b {
  min-width: 22px;
  height: 22px;
  background: #edf1f4;
  color: #627186;
  font-size: 10px;
  font-weight: 650;
}
.queue-tabs a.active b { background: var(--surface-blue); color: var(--brand-blue); }
.queue-tabs a b.queue-count-alert { background: var(--danger-bg); color: var(--danger); }
.manager-mode-banner { border-color: #dfe5ea; background: #f8fafb; color: #617087; }
.manager-mode-banner b { color: var(--brand-blue); font-weight: 650; }
.queue-row-attention { background: #fffaf7; }
.queue-row-attention:hover { background: #fff7f3; }

/* Tables */
.table-wrap { border-color: #e0e5ea; border-radius: 9px; box-shadow: none; }
.data-table { font-size: 12.5px; }
.data-table th {
  padding: 10px 13px;
  background: #f8fafb;
  color: #748195;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.data-table td {
  padding: 12px 13px;
  border-top-color: #e8ecef;
  color: #33455c;
  line-height: 1.4;
}
.data-table td b { color: #22344b; font-weight: 650; }
.data-table td small { color: #8793a2; font-size: 10px; }
.table-series span { background: #f5f7f9; color: #68768a; }
.buyer-search input, .buyer-search button { height: 36px; border-color: #d7dfe7; border-radius: 7px; }
.buyer-search button { color: var(--brand-blue); font-weight: 600; }
.manager-pager { background: #fafbfc; color: #7b8898; }
.manager-pager a { color: var(--brand-blue); font-weight: 600; }

/* Deals actions */
.deal-actions { gap: 5px; }
.deal-actions .table-action { width: 100%; text-align: center; white-space: nowrap; }
.deal-actions .copy-action { color: var(--brand-blue); }
.deal-lot-link b { font-weight: 650; }

/* Ticket / helpdesk */
.feedback-ticket-grid { gap: 14px; }
.feedback-ticket-card, .feedback-history-card, .ticket-action-card { border-radius: 10px; }
.feedback-ticket-side { top: 80px; }
.ticket-action-form > label > span { color: #526176; font-size: 10px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.ticket-action-form select, .ticket-action-form textarea { border-color: #d7dfe7; border-radius: 7px; font-size: 12px; }
.feedback-timeline { color: #43546a; }
.feedback-take-action { border-color: #d9e3ec !important; background: var(--surface-blue) !important; color: var(--brand-blue) !important; }

/* Manager alarm remains deliberately visible, but compact */
.staff-feedback-alarm {
  top: 68px;
  border-color: #efc9c3;
  background: #fff7f5;
  box-shadow: none;
}
.staff-feedback-alarm.overdue { background: #fff1ee; border-color: #e7aea5; }
.staff-feedback-alarm-inner { min-height: 46px; padding-top: 6px; padding-bottom: 6px; }
.staff-alarm-dot { width: 9px; height: 9px; }
.staff-feedback-alarm-inner b { color: var(--danger); font-size: 11px; font-weight: 650; }
.staff-feedback-alarm-inner small { color: #8b6b66; font-size: 9px; }
.staff-feedback-alarm-inner a { background: var(--danger); border-radius: 7px; font-size: 9px; font-weight: 650; }
.manager-action-lock { border-color: #edc5bf; background: #fff8f6; }
.manager-action-lock b { color: var(--danger); font-weight: 650; }
.manager-action-lock a { background: var(--danger); font-weight: 650; }

/* Buyer cabinet */
.cabinet-sections { gap: 24px; }
.cabinet-grid { gap: 10px; }
.cabinet-card {
  border-color: var(--line);
  border-radius: 9px;
  box-shadow: none;
}
.cabinet-card b { color: #2d3f56; font-weight: 650; }
.cabinet-status { color: var(--success); }

/* Legal / cookies */
.legal-card { padding: 28px 30px; }
.legal-card h1 { font-size: 30px; font-weight: 700; }
.legal-card h2 { color: #2b3d54; font-size: 17px; font-weight: 650; }
.legal-card p, .legal-card li { color: #5f6f83; font-size: 13px; }
.legal-note { border-color: #e1e6eb; background: #f8fafb; }
.cookie-banner {
  border-color: #dce3e9;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(22,38,61,.12);
}
.cookie-banner p { color: #637286; font-size: 10px; }
.cookie-banner button { background: var(--brand-blue); font-weight: 650; }

/* Error states: no giant decorative HTTP code */
.error-card {
  width: min(560px, 100%);
  padding: 38px 40px 34px;
  border-radius: 12px;
  border-color: #e0e5ea;
  box-shadow: 0 10px 30px rgba(22,38,61,.06);
}
.error-card::before { display: none; }
.error-code {
  opacity: 1;
  color: #9aa6b5;
  font-size: 14px;
  line-height: 1;
  font-weight: 650;
  letter-spacing: .02em;
}
.error-card .eyebrow { margin-top: 10px; }
.error-card h1 { font-size: 30px; font-weight: 700; }
.error-card > p { color: #6a788c; font-size: 13px; }
.error-help { color: #8995a4; }

/* Messages */
.message { border-radius: 8px; background: var(--brand-blue); box-shadow: 0 8px 22px rgba(22,38,61,.12); font-size: 11px; }
.message.error { background: var(--danger); }

/* Responsive */
@media (max-width: 1050px) {
  .staff-feedback-alarm { top: 108px; }
  .feedback-layout { grid-template-columns: 1fr; }
  .feedback-side { position: static; }
}
@media (max-width: 760px) {
  .shell, .staff-ui .shell, .manager-section { width: min(100% - 24px, 1420px); }
  .lots-title-row h1 { font-size: 32px; }
  .page-head h1, .manager-head h1 { font-size: 29px; }
  .auth-card, .login-card { padding: 24px; }
  .auth-form-section { padding: 15px 0; }
  .auth-grid, .auth-grid-company { grid-template-columns: 1fr; }
  .auth-grid .auth-field-wide, .auth-grid:not(.auth-grid-company) .auth-field-wide { grid-column: auto; }
  .queue-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .queue-tabs a { flex: 0 0 auto; }
  .staff-feedback-alarm { position: static; }
}


/* ======================================================================
   Calm Corporate UI v1.1 — catalogue + lot + manager polish — 2026-09-05
   ====================================================================== */

/* Global rhythm */
:root {
  --ink: #16263D;
  --ink-2: #44556B;
  --brand-blue: #173F78;
  --surface-blue: #EEF3F8;
  --cream: #F5F7F9;
  --paper: #FFFFFF;
  --line: #DDE3E9;
  --muted: #69788C;
  --accent: #E65A50;
  --accent-dark: #B93E35;
  --success: #2F7A4B;
  --success-bg: #EAF5ED;
  --danger: #B93E35;
  --danger-bg: #FFF0ED;
  --radius: 10px;
  --shadow: 0 10px 28px rgba(22,38,61,.07);
}
body { background: #F5F7F9; color: #16263D; }
.shell { width: min(1240px, calc(100% - 48px)); }

/* Header */
.topbar { background: rgba(255,255,255,.97); border-bottom: 1px solid #E4E9EE; }
.topbar-inner { min-height: 70px; }
.main-nav { gap: 4px; }
.main-nav a { padding: 9px 12px; border-radius: 8px; color: #4E5E72; font-size: 13px; font-weight: 600; }
.main-nav a.active { background: #EEF3F8; color: #173F78; }
.main-nav .manager-link { border: 0; margin-left: 0; }
.access-box .btn { min-height: 38px; padding: 9px 16px; border-radius: 8px; font-weight: 600; }

/* Catalogue */
.lots-page { padding-top: 28px; }
.lots-title-row { margin-bottom: 14px; align-items: end; }
.lots-title-row h1 { margin: 4px 0 0; font-size: 36px; line-height: 1.05; letter-spacing: -.035em; font-weight: 700; }
.lots-title-row .eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.page-meta { color: #7A8798; font-size: 11px; }
.page-meta b { font-size: 12px; }
.public-notice {
  min-height: 0;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 0;
  border-left: 3px solid #C9D7E5;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.public-notice > div { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.public-notice b { font-size: 11px; font-weight: 650; }
.public-notice span { font-size: 10.5px; color: #758397; }
.public-notice .btn { min-height: 34px; padding: 8px 12px; background: #173F78; font-size: 11px; }

.trade-toolbar {
  gap: 8px;
  padding: 12px;
  margin-bottom: 18px;
  border: 1px solid #DDE3E9;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
.trade-toolbar input, .trade-toolbar select, .toolbar-search { min-height: 42px; border-radius: 8px !important; }
.trade-toolbar input, .trade-toolbar select { border-color: #D7DFE7; color: #33455C; font-size: 11.5px; }
.view-switch { border-radius: 8px; overflow: hidden; }
.view-switch button { min-height: 40px; font-weight: 600; }
.view-switch button.active { background: #173F78; }

.lot-grid { gap: 16px; }
.lot-card { border: 1px solid #DDE3E9; border-radius: 10px; box-shadow: none; }
.lot-card:hover { transform: translateY(-2px); border-color: #C8D3DE; box-shadow: 0 8px 24px rgba(22,38,61,.08); }
.lot-image { height: 226px; }
.lot-number { padding: 6px 8px; border-radius: 6px; color: #46576C; font-size: 10px; font-weight: 650; }
.lot-body { padding: 15px 16px 16px; }
.lot-title, .trade-name { font-size: 18px; line-height: 1.22; font-weight: 700; letter-spacing: -.02em; }
.product-kicker { color: #7C899A; font-size: 9.5px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.lot-meta { margin-top: 7px; gap: 5px; }
.lot-meta span, .series-row span { padding: 0; border-radius: 0; background: transparent; color: #69788C; font-size: 10.5px; }
.lot-meta span + span::before { content: '·'; margin-right: 5px; color: #A0AAB6; }
.series-row { margin-top: 5px; }
.price-panel { margin-top: 13px; padding-top: 12px; }
.price-panel small { text-transform: none; letter-spacing: 0; }
.price-panel strong { font-size: 24px; font-weight: 700; }
.drop-info b { color: #51647A; font-size: 11.5px; font-weight: 600; }
.countdown { color: #173F78; font-weight: 650; }
.sale-badge { border-radius: 6px; font-weight: 650; }
.sale-badge.dutch, .sale-badge.fixed { background: #EEF3F8; color: #173F78; }
.btn-card { margin-top: 12px; min-height: 40px; border-radius: 8px; background: #173F78; font-weight: 600; }
.btn-card:hover { background: #123664; }
.lot-card .btn-danger, .lot-card .buy-action, .lot-card .bid-action { background: #E65A50 !important; color: #fff !important; }

/* Lot detail — visual first, trade block dominant */
.detail-section { padding-top: 24px; }
.breadcrumbs { margin-bottom: 14px; }
.detail-grid { grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: 26px; }
.detail-visual { min-height: 560px; top: 88px; border-radius: 12px; box-shadow: none; border: 1px solid #DDE3E9; }
.detail-main { padding: 4px 0; }
.detail-main h1 { margin: 6px 0 8px; font-size: clamp(34px, 3vw, 44px); font-weight: 700; }
.product-description { color: #69788C; font-size: 13px; }
.detail-facts { gap: 0; margin-top: 18px; border-top: 1px solid #E4E9EE; border-bottom: 1px solid #E4E9EE; }
.detail-facts > div { padding: 11px 14px 11px 0; border: 0; border-radius: 0; background: transparent; }
.detail-facts small { text-transform: none; letter-spacing: 0; }
.detail-facts b { font-weight: 600; }
.detail-price { margin-top: 16px; padding: 20px; border-radius: 10px; background: #fff; color: #16263D; border: 1px solid #CFD9E3; box-shadow: 0 8px 22px rgba(22,38,61,.06); }
.detail-price small { color: #69788C; text-transform: none; letter-spacing: 0; }
.detail-price strong { color: #16263D; font-size: 34px; font-weight: 700; }
.detail-price strong em { color: #69788C; }
.next-drop { border-left: 1px solid #E0E6EC; }
.next-drop b { color: #173F78; font-weight: 650; }
.next-drop span { color: #69788C; }
.purchase-box { margin-top: 10px; padding: 16px; border-radius: 10px; box-shadow: none; }
.purchase-head b { font-size: 16px; font-weight: 650; }
.purchase-fields { margin: 12px 0; gap: 8px; }
.purchase-fields label { color: #526176; font-weight: 600; }
.purchase-fields input { height: 40px; border-radius: 8px; }
.purchase-box .btn-primary, .purchase-box .buy-action, .purchase-box .bid-action { background: #E65A50 !important; color: #fff !important; box-shadow: none; }
.purchase-box .btn-primary:hover, .purchase-box .buy-action:hover, .purchase-box .bid-action:hover { background: #CF4F46 !important; }

/* Manager landing */
.manager-head { padding: 26px 0 18px; background: #F5F7F9 !important; color: #16263D !important; border-bottom: 0; }
.manager-head .eyebrow { color: #69788C !important; font-weight: 600; text-transform: none; letter-spacing: 0; }
.manager-head h1 { margin: 4px 0 3px; font-size: 32px; font-weight: 700; }
.manager-head p { color: #69788C !important; font-size: 12px; }
.manager-head-inner { align-items: end; }
.manager-head .btn-primary { background: #173F78; }
.manager-section { padding-top: 10px; }
.manager-queue-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.manager-queue-card { min-height: 62px; padding: 10px 12px; }
.manager-queue-card strong { min-width: 34px; height: 34px; font-size: 15px; }
.manager-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.manager-actions details { flex: 1 1 220px; }
.manager-actions summary { min-height: 54px; padding: 9px 11px; }
.action-icon { width: 30px; height: 30px; flex-basis: 30px; }
.manager-block { margin-top: 16px; }
.block-head { min-height: 56px; padding: 12px 14px; }
.block-head h2 { font-size: 20px; font-weight: 700; }

/* Tables/actions — one calm action surface */
.data-table th { height: 38px; }
.data-table td { padding-top: 10px; padding-bottom: 10px; }
.table-action { border-radius: 7px; font-weight: 600; }
.table-action:hover { border-color: #AFC0D0; color: #173F78; background: #F7F9FB; }
.status-chip { border-radius: 6px; font-weight: 650; }
.status-confirmed, .status-active { background: #EAF5ED; color: #2F7A4B; }
.status-cancelled, .status-closed { background: #F0F2F4; color: #657386; }

@media (max-width: 980px) {
  .detail-grid { grid-template-columns: 1fr; }
  .detail-visual { min-height: 450px; }
  .manager-queue-strip { grid-template-columns: 1fr; }
}


/* ==========================================================================
   Calm Corporate UI v1 — refinement pass 2
   Visual review in Opera, 2026-09-05
   ========================================================================== */
body {
  font-family: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

/* Public catalogue intro is an information line, not another card. */
.public-notice {
  padding: 8px 0 13px;
  border: 0;
  border-bottom: 1px solid #e1e6eb;
  border-radius: 0;
  background: transparent;
}
.public-notice .btn-primary {
  min-height: 38px;
  padding: 0 14px;
  background: var(--brand-blue);
}
.public-notice .btn-primary:hover { background: #123665; }

/* Filters: compact working toolbar. */
.trade-toolbar { padding: 11px; }
.trade-toolbar input, .trade-toolbar select, .view-switch { height: 40px; }

/* Lot cards should let the photo and price do the work. */
.trade-card { box-shadow: none; }
.trade-card:hover { box-shadow: 0 6px 18px rgba(22,38,61,.06); }
.trade-status {
  min-height: 0;
  padding: 3px 0 2px;
  border: 0 !important;
  background: transparent !important;
  justify-content: flex-start;
}
.trade-status.status-leading { color: var(--success) !important; }
.trade-status.status-outbid { color: var(--danger) !important; }
.trade-status.status-dutch, .trade-status.status-ascending { color: #315f96 !important; }
.trade-status.status-fixed { color: #556274 !important; }
.trade-card .trade-submit.action-login,
.trade-card .btn-card.action-login {
  background: var(--brand-blue) !important;
  font-weight: 650;
}

/* Getting access is a normal navigation action; real bid/buy buttons stay coral. */
.public-login-panel .trade-submit,
.staff-trade-panel .trade-submit {
  background: var(--brand-blue) !important;
  color: #fff !important;
}
.public-login-panel .trade-submit:hover,
.staff-trade-panel .trade-submit:hover { background: #123665 !important; }
.gallery-thumbs button.active,
.photo-thumbs button.active { border-color: var(--brand-blue) !important; }

/* Trade panel is the visual decision point on the lot page. */
.lot-trade-panel, .trade-panel {
  border-color: #d4dde6;
  box-shadow: 0 8px 24px rgba(22,38,61,.055);
}
.big-price, .trade-big-price, .big-price span, .trade-big-price span {
  font-size: 39px;
  line-height: 1;
}

/* Feedback: requested 720–800px work area + quiet 280px help column. */
.feedback-layout {
  grid-template-columns: minmax(0,800px) 280px;
  justify-content: start;
}
.feedback-form { padding: 18px 20px 20px; }

/* Cookie notice should not visually compete with the current task. */
.cookie-banner {
  max-width: 720px;
  padding: 10px 14px;
  gap: 12px;
}
.cookie-banner button { min-height: 36px; padding: 0 15px; }

@media (max-width: 1120px) {
  .feedback-layout { grid-template-columns: 1fr 260px; }
}
@media (max-width: 820px) {
  .feedback-layout { grid-template-columns: 1fr; }
}

/* Manager refinements from selected design. */
.manager-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.manager-head-actions .btn { min-height: 38px; padding: 0 14px; }
.manager-head-actions .btn-primary { background: var(--brand-blue); }
.manager-head-actions .btn-primary:hover { background: #123665; }
.manager-queue-strip-three { gap: 8px; }
.manager-queue-card { min-height: 62px; padding: 10px 12px; }
.manager-queue-card strong { min-width: 34px; height: 34px; font-size: 15px; }
.manager-actions summary { min-height: 54px; padding: 9px 11px; }
.action-icon { width: 32px; height: 32px; flex-basis: 32px; font-size: 13px; }

/* One quiet actions dropdown instead of a stack of buttons in working tables. */
.actions-menu { position: relative; width: fit-content; min-width: 112px; }
.actions-menu > summary {
  list-style: none;
  cursor: pointer;
  min-height: 34px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid #d5dde5;
  border-radius: 7px;
  background: #fff;
  color: #34465d;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.actions-menu > summary::-webkit-details-marker { display: none; }
.actions-menu[open] > summary { border-color: #aebdcc; background: #f8fafc; }
.actions-menu-panel {
  position: absolute;
  z-index: 30;
  right: 0;
  top: calc(100% + 5px);
  width: 210px;
  padding: 6px;
  border: 1px solid #dbe2e8;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(22,38,61,.13);
}
.actions-menu-panel > a,
.actions-menu-panel > form > .menu-action,
.actions-menu-panel > .buyer-status-details > summary,
.actions-menu-panel > .danger-details > summary {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #34465d;
  text-align: left;
  font: inherit;
  font-size: 11px;
  font-weight: 550;
  cursor: pointer;
}
.actions-menu-panel > a:hover,
.actions-menu-panel > form > .menu-action:hover,
.actions-menu-panel > .buyer-status-details > summary:hover { background: #f3f6f9; }
.actions-menu-panel > .danger-details > summary { color: var(--danger) !important; }
.actions-menu-panel .buyer-status-details,
.actions-menu-panel .danger-details { width: 100%; }
.actions-menu-panel .buyer-status-details form,
.actions-menu-panel .danger-details form {
  position: static;
  width: 100%;
  margin-top: 3px;
  padding: 8px;
  border: 1px solid #e2e7eb;
  border-radius: 7px;
  background: #fafbfc;
  box-shadow: none;
}
.actions-menu-panel .buyer-status-details input,
.actions-menu-panel .danger-details input { width: 100%; }
.deal-actions-cell, .manager-row-actions { white-space: nowrap; }

@media (max-width: 760px) {
  .manager-head-actions { width: 100%; }
  .manager-head-actions .btn { flex: 1 1 auto; }
}

/* Helpdesk queue: ticket list instead of a spreadsheet. */
.feedback-worklist {
  border-top: 1px solid #e5e9ed;
  background: #fff;
}
.feedback-workitem {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: stretch;
  border-top: 1px solid #edf0f3;
}
.feedback-workitem:first-child { border-top: 0; }
.feedback-workitem:hover { background: #fafbfd; }
.feedback-workitem-new { background: #fffdfb; }
.feedback-workitem-overdue { box-shadow: inset 3px 0 0 var(--danger); }
.feedback-workitem-main {
  min-width: 0;
  min-height: 84px;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: 110px 210px minmax(280px,1fr) auto;
  align-items: center;
  gap: 16px;
}
.feedback-workitem-main > div { min-width: 0; }
.feedback-workitem-time,
.feedback-workitem-company,
.feedback-workitem-topic { display: grid; gap: 2px; }
.feedback-workitem-time b { color: var(--brand-blue); font-size: 12px; font-weight: 700; }
.feedback-workitem-time span,
.feedback-workitem-time small,
.feedback-workitem-company span,
.feedback-workitem-topic span,
.feedback-workitem-topic small { color: #7b8898; font-size: 10px; }
.feedback-workitem-company b,
.feedback-workitem-topic b { color: #263950; font-size: 12px; font-weight: 650; }
.feedback-workitem-topic span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-workitem-actions {
  padding: 13px 14px 13px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.feedback-workitem-actions form { margin: 0; }
.feedback-worklist-empty { padding: 34px 16px; }

@media (max-width: 1100px) {
  .feedback-workitem-main { grid-template-columns: 90px 180px minmax(220px,1fr) auto; gap: 12px; }
}
@media (max-width: 820px) {
  .feedback-workitem { grid-template-columns: 1fr; }
  .feedback-workitem-main { grid-template-columns: 90px 1fr auto; }
  .feedback-workitem-topic { grid-column: 2 / -1; }
  .feedback-workitem-actions { padding: 0 12px 12px; justify-content: flex-end; }
}

/* Buyer cabinet: quiet B2B dashboard / internet-bank feel. */
.cabinet-overview {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  color: #6d7b8e;
  font-size: 12px;
}
.cabinet-overview span { display: inline-flex; align-items: baseline; gap: 6px; }
.cabinet-overview b { color: var(--ink); font-size: 14px; font-weight: 700; }
.cabinet-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #dfe5ea;
}
.cabinet-tabs a {
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  color: #68778a;
  font-size: 11px;
  font-weight: 600;
}
.cabinet-tabs a:hover { color: var(--brand-blue); background: #f8fafb; }
.cabinet-tabs a:first-child { color: var(--brand-blue); border-bottom-color: var(--brand-blue); }
.cabinet-sections .section-head.compact { margin-top: 6px; margin-bottom: 14px; }
.cabinet-sections .section-head h2 { font-size: 22px; }
.cabinet-block { scroll-margin-top: 92px; }

/* Chromium/Opera can safely let an opened row menu escape the scroll wrapper. */
.table-wrap:has(.actions-menu[open]) { overflow: visible; }

/* Compact manager creation tools: controls, not three dashboard cards. */
.manager-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 320px));
  justify-content: start;
}
.manager-actions > details[open] { grid-column: span 2; }
.actions-menu-panel .menu-note {
  display: block;
  padding: 8px 9px;
  color: #7b8898;
  font-size: 10px;
}
@media (max-width: 1050px) {
  .manager-actions { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .manager-actions > details[open] { grid-column: span 2; }
}
@media (max-width: 760px) {
  .manager-actions { grid-template-columns: 1fr; }
  .manager-actions > details[open] { grid-column: span 1; }
}

/* Queue status semantics. */
.status-new { background: var(--danger-bg); color: var(--danger); }
.status-work { background: var(--surface-blue); color: var(--brand-blue); }
.feedback-workitem .status-closed { background: #f0f2f4; color: #657386; }
.buyers-table .status-cancelled { background: var(--danger-bg); color: var(--danger); }


/* ==========================================================================
   Calm Corporate UI v1 — final working-table/helpdesk pass — 2026-09-05
   ========================================================================== */

/* Action menus: JS promotes the open panel to a viewport popover. This keeps
   menus independent from table overflow, so the last row is never clipped. */
.actions-menu-panel.actions-menu-floating {
  position: fixed;
  z-index: 1200;
  right: auto;
  width: 220px;
  max-width: calc(100vw - 20px);
  max-height: calc(100vh - 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 0 14px 34px rgba(22,38,61,.16);
}
.actions-menu[open] > summary {
  border-color: #9fb2c5;
  color: var(--brand-blue);
  background: #f7f9fb;
}
.actions-menu-panel .menu-danger { border-top: 1px solid #edf0f3; margin-top: 3px; padding-top: 3px; }

/* Buyers: one dense B2B table, no embedded-window feeling. */
.buyer-admin-block .table-wrap,
.deals-admin-block .table-wrap {
  border-radius: 0 0 10px 10px;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
.buyer-admin-block .data-table {
  min-width: 1040px;
  table-layout: fixed;
}
.buyer-admin-block .data-table th:nth-child(1) { width: 17%; }
.buyer-admin-block .data-table th:nth-child(2) { width: 14%; }
.buyer-admin-block .data-table th:nth-child(3) { width: 18%; }
.buyer-admin-block .data-table th:nth-child(4) { width: 17%; }
.buyer-admin-block .data-table th:nth-child(5) { width: 16%; }
.buyer-admin-block .data-table th:nth-child(6) { width: 118px; }
.buyer-admin-block .data-table td,
.deals-admin-block .data-table td { vertical-align: middle; }
.buyer-admin-block .data-table td > small,
.deals-admin-block .data-table td > small,
.deals-admin-block .deal-lot-link small { display: block; margin-top: 3px; }
.buyer-admin-block .manager-row-actions,
.deals-admin-block .deal-actions-cell { width: 118px; min-width: 118px; }

/* Deals: reserve sensible working widths so names do not collapse into a
   four-line column while numeric columns stay half empty. */
.deals-admin-block .deals-table {
  min-width: 1040px;
  table-layout: fixed;
}
.deals-admin-block .deals-table th:nth-child(1) { width: 23%; }
.deals-admin-block .deals-table th:nth-child(2) { width: 22%; }
.deals-admin-block .deals-table th:nth-child(3) { width: 10%; }
.deals-admin-block .deals-table th:nth-child(4) { width: 11%; }
.deals-admin-block .deals-table th:nth-child(5) { width: 11%; }
.deals-admin-block .deals-table th:nth-child(6) { width: 12%; }
.deals-admin-block .deals-table th:nth-child(7) { width: 118px; }
.deals-admin-block .deal-lot-link b { display: block; line-height: 1.3; }
.deals-admin-block .data-table td:nth-child(3),
.deals-admin-block .data-table td:nth-child(4),
.deals-admin-block .data-table td:nth-child(5) { white-space: nowrap; }

/* Manager tables get a calm hover cue instead of heavier borders/cards. */
.manager-block .data-table tbody tr { transition: background-color .12s ease; }
.manager-block .data-table tbody tr:hover { background: #fafbfd; }
.manager-block .data-table tbody tr.queue-row-attention:hover { background: #fff7f3; }

/* Helpdesk queue: visually read as tickets, not a spreadsheet. */
.feedback-worklist { border-top-color: #e2e7ec; }
.feedback-workitem { min-height: 82px; }
.feedback-workitem-main {
  grid-template-columns: 100px minmax(170px, .75fr) minmax(300px, 1.65fr) auto;
  gap: 14px;
  padding: 12px 14px;
}
.feedback-workitem-company b,
.feedback-workitem-topic b { font-size: 12.5px; }
.feedback-workitem-topic span { font-size: 10.5px; }
.feedback-workitem-actions { min-width: 190px; justify-content: flex-end; }
.feedback-workitem-actions .table-action { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; }
.feedback-workitem-overdue { background: #fffaf9; box-shadow: inset 3px 0 0 var(--danger); }

/* Ticket detail: the right side is the working rail, while history stays
   secondary below the buyer message. */
.feedback-ticket-grid { grid-template-columns: minmax(0, 1fr) 390px; align-items: start; }
.feedback-ticket-side { position: sticky; top: 126px; }
.ticket-action-card { box-shadow: none; border-color: #dde3e9; }
.feedback-history-card { box-shadow: none; border-color: #dde3e9; }
.ticket-action-form textarea { min-height: 96px; }

/* Buyer cabinet: compact bank-like top summary. */
.page-head + .cabinet-sections { padding-top: 20px; }
.cabinet-overview {
  padding-bottom: 11px;
  border-bottom: 1px solid #e0e5ea;
}
.cabinet-overview b { color: var(--brand-blue); }
.cabinet-tabs { margin-top: -7px; }

/* Consistent keyboard focus in manager tables/forms. */
.actions-menu > summary:focus-visible,
.table-action:focus-visible,
.buyer-search input:focus-visible,
.buyer-search button:focus-visible {
  outline: 3px solid rgba(23,63,120,.13);
  outline-offset: 1px;
}

@media (max-width: 1180px) {
  .feedback-ticket-grid { grid-template-columns: 1fr 340px; }
  .feedback-workitem-main { grid-template-columns: 90px minmax(150px,.7fr) minmax(230px,1.4fr) auto; }
}
@media (max-width: 900px) {
  .feedback-ticket-grid { grid-template-columns: 1fr; }
  .feedback-ticket-side { position: static; }
  .feedback-workitem { grid-template-columns: 1fr; }
  .feedback-workitem-main { grid-template-columns: 84px 1fr auto; }
  .feedback-workitem-topic { grid-column: 2 / -1; }
  .feedback-workitem-actions { min-width: 0; padding: 0 12px 12px; }
}
@media (max-width: 680px) {
  .actions-menu-panel.actions-menu-floating { width: min(280px, calc(100vw - 20px)); }
  .feedback-workitem-main { grid-template-columns: 74px 1fr; }
  .feedback-workitem-main > .status-chip { grid-column: 2; justify-self: start; }
  .feedback-workitem-topic { grid-column: 1 / -1; }
}

/* Keep table scrolling stable while the menu itself floats above it. */
.table-wrap:has(.actions-menu[open]) { overflow-x: auto; overflow-y: auto; }

/* Manager: overdue feedback pauses only new lot publication, not master-data work. */
.btn-disabled {
  border: 1px solid #d9e0e6;
  background: #eef1f4;
  color: #7b8796;
  cursor: not-allowed;
  box-shadow: none;
}
.manager-action-disabled {
  opacity: .58;
  background: #f8fafb !important;
}
.manager-action-disabled > summary {
  cursor: not-allowed !important;
  pointer-events: none;
}
.manager-action-disabled > .django-form {
  display: none;
}

/* Manager price history: compact realised-price analytics per nomenclature. */
.block-subtitle {
  margin: 3px 0 0;
  max-width: 760px;
  color: #7b8898;
  font-size: 10px;
  line-height: 1.45;
}
.price-dynamics-block { margin-top: 16px; }
.price-dynamics-table { min-width: 1180px; table-layout: fixed; }
.price-dynamics-table th:nth-child(1) { width: 19%; }
.price-dynamics-table th:nth-child(2) { width: 11%; }
.price-dynamics-table th:nth-child(3) { width: 10%; }
.price-dynamics-table th:nth-child(4) { width: 11%; }
.price-dynamics-table th:nth-child(5) { width: 9%; }
.price-dynamics-table th:nth-child(6) { width: 18%; }
.price-dynamics-table th:nth-child(7) { width: 22%; }
.price-range { color: #405168; font-weight: 600; white-space: nowrap; }
.price-level {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 8px;
  border-radius: 7px;
  background: #f2f5f8;
  color: #526176;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}
.price-level-high { background: #eef3f8; color: #173f78; }
.price-level-low { background: #f4f5f7; color: #657386; }
.price-level-mid { background: #f3f6f8; color: #44566d; }
.price-level-stable { background: #eaf5ed; color: #2f7a4b; }
.price-level-new { background: #f6f7f8; color: #8491a1; }
.price-history-strip {
  display: flex;
  gap: 5px;
  align-items: stretch;
  overflow-x: auto;
  padding-bottom: 2px;
}
.price-history-strip a {
  flex: 0 0 auto;
  min-width: 50px;
  padding: 5px 6px;
  border: 1px solid #e1e6eb;
  border-radius: 6px;
  background: #fff;
  text-align: center;
}
.price-history-strip a:hover { border-color: #bccbd9; background: #f8fafc; }
.price-history-strip b { display: block; color: #263950 !important; font-size: 10px; font-weight: 650; white-space: nowrap; }
.price-history-strip small { display: block; margin-top: 1px; color: #8a96a5 !important; font-size: 8px !important; }


/* === Manager buyer detail === */
.buyer-detail-page { padding-top: 20px; padding-bottom: 64px; }
.buyer-detail-summary { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(420px, .9fr); gap: 16px; align-items: stretch; }
.buyer-profile-card { padding: 20px; }
.buyer-profile-title { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding-bottom: 15px; border-bottom: 1px solid #e6eaf0; }
.buyer-profile-title small { color: #7a8799; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.buyer-profile-title h2 { margin: 3px 0 0; color: #17263d; font-size: 21px; }
.buyer-state-stack { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.buyer-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px 20px; margin: 17px 0 0; }
.buyer-profile-grid div { min-width: 0; }
.buyer-profile-grid dt { color: #7a8798; font-size: 9px; margin-bottom: 3px; }
.buyer-profile-grid dd { margin: 0; color: #26364d; font-size: 11px; font-weight: 650; overflow-wrap: anywhere; }
.buyer-kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.buyer-kpi-grid article { min-height: 100px; display: grid; align-content: center; gap: 4px; padding: 16px; border: 1px solid #e0e5eb; border-radius: 11px; background: #fff; box-shadow: 0 4px 15px rgba(22,38,61,.04); }
.buyer-kpi-grid small { color: #768398; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.buyer-kpi-grid strong { color: #173f78; font-size: 21px; line-height: 1.05; }
.buyer-kpi-grid span { color: #67758a; font-size: 10px; }
.buyer-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; align-items: start; margin-top: 16px; }
.buyer-detail-main, .buyer-detail-side { display: grid; gap: 16px; }
.buyer-history-block { padding: 18px; }
.buyer-history-block .block-head { margin-bottom: 12px; }
.buyer-history-block .block-head > a { color: #173f78; font-size: 10px; font-weight: 750; }
.buyer-purchases-table { min-width: 850px; }
.buyer-action-card { padding: 17px; }
.buyer-action-card .block-head { margin-bottom: 12px; }
.buyer-action-form { display: grid; gap: 9px; }
.buyer-action-form + .buyer-action-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid #eceff3; }
.buyer-action-form label { display: grid; gap: 4px; color: #68768a; font-size: 9px; font-weight: 750; }
.buyer-action-form input, .buyer-action-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; color: #24334a; padding: 9px 10px; outline: none; font-size: 11px; resize: vertical; }
.buyer-action-form input { height: 38px; }
.buyer-action-form input:focus, .buyer-action-form textarea:focus { border-color: #8ca5c3; box-shadow: 0 0 0 3px rgba(23,63,120,.06); }
.buyer-side-hint { margin: -2px 0 11px; color: #738095; font-size: 10px; line-height: 1.45; }
.buyer-feedback-list { display: grid; }
.buyer-feedback-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 9px 4px; border-top: 1px solid #edf0f3; }
.buyer-feedback-row:first-child { border-top: 0; }
.buyer-feedback-row > span:first-child { display: grid; gap: 3px; min-width: 0; }
.buyer-feedback-row b { color: #26364d; font-size: 11px; }
.buyer-feedback-row small { color: #788599; font-size: 9px; }
.buyer-action-history { display: grid; gap: 10px; }
.buyer-action-history > div { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid #edf0f3; }
.buyer-action-history > div:last-child { border-bottom: 0; padding-bottom: 0; }
.buyer-action-history b { color: #2c3b51; font-size: 10px; }
.buyer-action-history span, .buyer-action-history small { color: #778499; font-size: 9px; line-height: 1.35; }
.buyer-link-main { display: inline-grid; gap: 2px; }
.buyer-link-main b { color: #173f78; }
.buyer-mini-stats { color: #738095; font-size: 9px; line-height: 1.35; }

@media (max-width: 1120px) {
  .buyer-detail-summary { grid-template-columns: 1fr; }
  .buyer-detail-layout { grid-template-columns: 1fr; }
  .buyer-detail-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .buyer-profile-title { flex-direction: column; }
  .buyer-state-stack { justify-content: flex-start; }
  .buyer-profile-grid { grid-template-columns: 1fr 1fr; }
  .buyer-kpi-grid { grid-template-columns: 1fr 1fr; }
  .buyer-detail-side { grid-template-columns: 1fr; }
}

/* === Manager live dashboard === */
.manager-live-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 12px 0 16px; }
.manager-live-kpis > a { display: grid; gap: 4px; min-height: 88px; align-content: center; padding: 14px 15px; border: 1px solid #e0e5eb; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(22,38,61,.035); }
.manager-live-kpis small { color: #748196; font-size: 9px; text-transform: uppercase; letter-spacing: .055em; }
.manager-live-kpis strong { color: #173f78; font-size: 21px; line-height: 1.05; }
.manager-live-kpis strong.kpi-alert { color: #b93e35; }
.manager-live-kpis span { color: #68768a; font-size: 9px; }
.manager-action-warning { border-color: #efd8aa !important; background: #fff8e9 !important; }
.manager-action-warning b { color: #8b5a00 !important; }
.manager-action-warning span { color: #6f6552 !important; }
@media (max-width: 1000px) { .manager-live-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .manager-live-kpis { grid-template-columns: 1fr; } }

/* === Partial purchase selector === */
.purchase-selection-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 2px 0 4px; }
.purchase-selection-summary > span { display: grid; gap: 2px; padding: 9px 10px; border: 1px solid #dfe5eb; border-radius: 8px; background: #f7f9fb; color: #6b788c; font-size: 9px; }
.purchase-selection-summary b { color: #173f78; font-size: 12px; }

/* === Manager auction participants and winners === */
.manager-trade-result { min-width: 220px; }
.manager-trade-result > b,
.manager-trade-result > strong,
.manager-trade-result > small,
.manager-trade-result > span { display: block; margin: 2px 0; }
.manager-trade-result small { max-width: 260px; line-height: 1.35; color: #69788c; }
.manager-trade-result a { font-weight: 650; }
.trade-result-winner { display: inline-block; color: #2f7a4b; font-weight: 700; }
.trade-result-leader { display: inline-block; color: #173f78; font-weight: 700; }
.staff-auction-result { display: grid; gap: 3px; margin: 10px 0; padding: 10px 12px; border: 1px solid #d7e2ec; border-radius: 8px; background: #f7f9fb; }
.staff-auction-result small { color: #69788c; text-transform: uppercase; letter-spacing: .04em; font-size: 9px; }
.staff-auction-result strong { font-size: 13px; }
.staff-auction-result span { font-size: 10px; color: #69788c; }
.bid-row a { font-weight: 650; }

/* === Trading sessions and current purchase === */
.manager-current-session { margin: 14px 0; padding: 16px 18px; border: 1px solid #d9e2eb; border-radius: 12px; background: #fff; }
.manager-current-session-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.manager-current-session-head small { display: block; color: #69788c; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.manager-current-session-head h2 { margin: 2px 0 3px; font-size: 18px; }
.manager-current-session-head span { color: #69788c; font-size: 10px; }
.session-phase { display: inline-flex; align-items: center; padding: 4px 7px; border-radius: 999px; background: #eef3f8; color: #173f78; font-style: normal; font-size: 9px; font-weight: 700; white-space: nowrap; }
.session-phase-active { background: #eaf5ed; color: #2f7a4b; }
.session-phase-cancelled { background: #fff0ed; color: #b93e35; }
.session-kpis { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.session-kpis > span { display: grid; gap: 2px; padding: 9px 10px; border: 1px solid #e2e7ec; border-radius: 8px; background: #f8fafb; }
.session-kpis small { color: #69788c; font-size: 9px; }
.session-kpis b { color: #16263d; font-size: 12px; }
.manager-sessions-section { margin: 14px 0; }
.session-table td small { display: block; margin-top: 3px; color: #69788c; }
.current-purchase-block, .buyer-current-purchase { border-color: #cfddea; box-shadow: 0 8px 24px rgba(22,38,61,.04); }
.current-purchase-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 12px; }
.current-purchase-head h2 { margin: 2px 0; }
.current-purchase-head p { margin: 0; color: #69788c; font-size: 10px; }
.current-purchase-head > strong, .buyer-current-purchase .block-head > strong { color: #173f78; font-size: 20px; }
.current-purchase-table tfoot td { background: #eef3f8; border-top: 2px solid #d6e0e9; }
.buyer-current-purchase-mini { margin-top: 5px !important; padding-top: 5px; border-top: 1px solid #e5e9ed; color: #173f78 !important; }
@media (max-width: 1200px) { .session-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 700px) { .session-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .manager-current-session-head, .current-purchase-head { flex-direction: column; } }

/* === Trading session detail / bulk publication === */
.session-detail-kpis { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.session-detail-kpis article { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid #dce3ea; border-radius: 10px; background: #fff; }
.session-detail-kpis small { color: #69788c; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.session-detail-kpis strong { color: #16263d; font-size: 17px; }
.session-detail-kpis span { color: #69788c; font-size: 9px; }
.session-lots-block, .session-bulk-block { margin-top: 14px; }
.bulk-session-table { min-width: 1380px; }
.bulk-session-table th, .bulk-session-table td { vertical-align: middle; }
.bulk-session-table td:nth-child(2) { min-width: 210px; }
.bulk-session-table select { min-width: 125px; }
.bulk-session-table input[type="checkbox"] { width: 18px; height: 18px; }
.bulk-session-table input[type="number"], .bulk-session-table select { padding: 7px 8px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; font: inherit; color: #16263d; }
.bulk-number { width: 72px; }
.bulk-price { width: 92px; }
.bulk-session-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e4e9ee; }
.bulk-session-footer span { max-width: 760px; color: #69788c; font-size: 10px; line-height: 1.45; }
.session-lots-table td small { display: block; margin-top: 3px; color: #69788c; }
@media (max-width: 1200px) { .session-detail-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) { .session-detail-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .bulk-session-footer { align-items: stretch; flex-direction: column; } }

/* === Manager deals filters / export === */
.deal-filters-form { display: grid; grid-template-columns: minmax(260px,1.6fr) repeat(4,minmax(150px,.8fr)) auto; gap: 9px; align-items: end; margin: 10px 0 12px; padding: 12px; border: 1px solid #e0e6ec; border-radius: 10px; background: #f8fafb; }
.deal-filters-form label { display: grid; gap: 4px; }
.deal-filters-form label > span:first-child { color: #69788c; font-size: 9px; font-weight: 600; }
.deal-filters-form input, .deal-filters-form select { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; color: #16263d; font: inherit; }
.deal-filters-form .search-field-wrap { display: block; }
.deal-filters-form .search-field-wrap input { padding-right: 30px; }
.deal-filter-actions { display: flex; gap: 6px; align-items: center; }
.deal-filter-actions .btn { min-height: 36px; white-space: nowrap; }
.deal-filter-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.deal-filter-kpis > span { display: grid; gap: 2px; padding: 9px 11px; border: 1px solid #e2e7ec; border-radius: 8px; background: #fff; }
.deal-filter-kpis small { color: #69788c; font-size: 9px; }
.deal-filter-kpis b { color: #16263d; font-size: 13px; }
.deal-session-line { margin-top: 4px !important; }
@media (max-width: 1300px) { .deal-filters-form { grid-template-columns: repeat(3,minmax(0,1fr)); } .deal-filter-search { grid-column: span 2; } }
@media (max-width: 760px) { .deal-filters-form { grid-template-columns: 1fr; } .deal-filter-search { grid-column: auto; } .deal-filter-actions { flex-wrap: wrap; } .deal-filter-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* === Own price offers === */
.manager-queue-strip-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.status-offer { background: #eef3f8; color: #173f78; }
.action-offer { background: #173f78; color: #fff; }
.offer-buyer-note { margin: 8px 0; padding: 9px 10px; border: 1px solid #d8e2ec; border-radius: 8px; background: #f6f9fb; color: #56677d; font-size: 10px; line-height: 1.45; }
.buyer-last-offer { display: grid; gap: 3px; margin: 8px 0; padding: 9px 10px; border: 1px solid #dce4eb; border-radius: 8px; background: #fff; }
.buyer-last-offer b { font-size: 10px; }
.buyer-last-offer span { color: #69788c; font-size: 9px; }
.buyer-last-offer.status-accepted { border-color: #bfddc8; background: #eef8f1; }
.buyer-last-offer.status-rejected, .buyer-last-offer.status-expired { border-color: #edc7c2; background: #fff5f3; }
.price-offers-table { min-width: 1450px; }
.price-offers-table td { vertical-align: top; }
.price-offers-table td small { display: block; margin-top: 3px; color: #69788c; }
.offer-price-main { color: #173f78; font-size: 14px; }
.offer-decision-cell { min-width: 200px; }
.offer-accept-form { display: grid; gap: 6px; }
.offer-accept-form input, .offer-reject-details input { width: 100%; padding: 7px 8px; border: 1px solid #d7dee6; border-radius: 7px; }
.offer-reject-details { margin-top: 7px; }
.status-chip.status-pending { background: #fff7e6; color: #8a5b00; }
.status-chip.status-accepted { background: #eaf5ed; color: #2f7a4b; }
.status-chip.status-rejected, .status-chip.status-expired { background: #fff0ed; color: #b93e35; }
.buyer-price-offers-table td small { display: block; margin-top: 3px; color: #69788c; }
@media (max-width: 1100px) { .manager-queue-strip-four { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) { .manager-queue-strip-four { grid-template-columns: 1fr; } }

/* === My assortment / buyer demand === */
.mine-filter { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; white-space: nowrap; cursor: pointer; }
.mine-filter input { width: 15px; height: 15px; }
.mine-filter span { font-size: 9px; font-weight: 600; color: #173f78; }
.assortment-card-mark { display: inline-flex; width: fit-content; margin-top: 4px; padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #173f78; font-size: 8px; font-weight: 700; }
.assortment-save-card { margin-top: 9px; border: 1px solid #d9e2eb; border-radius: 9px; background: #f8fafb; }
.assortment-save-card > summary { padding: 9px 10px; cursor: pointer; color: #173f78; font-size: 10px; font-weight: 700; }
.assortment-save-card form { display: grid; gap: 7px; padding: 0 10px 10px; }
.assortment-save-card label { display: grid; gap: 3px; color: #69788c; font-size: 9px; }
.assortment-save-card input { width: 100%; padding: 7px 8px; border: 1px solid #d7dee6; border-radius: 7px; background: #fff; color: #16263d; }
.assortment-block { scroll-margin-top: 90px; }
.assortment-head p { max-width: 760px; margin: 4px 0 0; color: #69788c; font-size: 10px; }
.assortment-table td small { display: block; margin-top: 3px; color: #69788c; }
.assortment-target-hit td { background: #f3faf5; }
.assortment-price-hit, .success-text { color: #2f7a4b !important; }
.assortment-actions { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.link-button { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }
.assortment-criteria-add { margin-top: 12px; border-top: 1px solid #e2e7ec; padding-top: 10px; }
.assortment-criteria-add > summary { cursor: pointer; color: #173f78; font-weight: 700; font-size: 10px; }
.assortment-criteria-form { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 9px; margin-top: 10px; padding: 12px; border-radius: 9px; background: #f8fafb; }
.assortment-criteria-form label { display: grid; gap: 4px; color: #69788c; font-size: 9px; }
.assortment-criteria-form input, .assortment-criteria-form select { width: 100%; padding: 7px 8px; border: 1px solid #d7dee6; border-radius: 7px; background: #fff; color: #16263d; }
.assortment-note-field { grid-column: span 2; }
.assortment-criteria-form .btn { align-self: end; }
.assortment-demand-block { margin-top: 14px; }
.assortment-demand-table td small { display: block; margin-top: 3px; color: #69788c; }
.criteria-demand-list { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #e2e7ec; }
.criteria-demand-list > b { margin-right: 5px; font-size: 10px; }
.criteria-demand-list a { display: grid; gap: 2px; padding: 7px 9px; border: 1px solid #dce3ea; border-radius: 8px; background: #f8fafb; text-decoration: none; }
.criteria-demand-list a span { color: #173f78; font-size: 9px; font-weight: 700; }
.criteria-demand-list a small { color: #69788c; font-size: 8px; }
@media (max-width: 1000px) { .assortment-criteria-form { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) { .assortment-criteria-form { grid-template-columns: 1fr; } .assortment-note-field { grid-column: auto; } .assortment-head { align-items: flex-start; flex-direction: column; } }

/* === Fixed price -> automatic decrease === */
.status-fixed-dutch { background: #f3f5fb; color: #173f78; }
.fixed-dutch-rules { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bulk-session-common { display: grid; grid-template-columns: minmax(260px,420px) 1fr; gap: 12px; align-items: end; margin: 10px 0 12px; padding: 11px 12px; border: 1px solid #dce4eb; border-radius: 9px; background: #f8fafb; }
.bulk-session-common label { display: grid; gap: 4px; color: #69788c; font-size: 9px; }
.bulk-session-common input { padding: 8px 9px; border: 1px solid #d7dee6; border-radius: 7px; background: #fff; color: #16263d; }
.bulk-session-common small { color: #69788c; font-size: 9px; line-height: 1.45; }
@media (max-width: 760px) { .fixed-dutch-rules { grid-template-columns: 1fr; } .bulk-session-common { grid-template-columns: 1fr; } }

/* === Product analytics === */
.product-detail-title { display:flex; align-items:center; gap:14px; }
.product-detail-thumb { width:62px; height:62px; flex:0 0 62px; overflow:hidden; border:1px solid #dbe2e9; border-radius:12px; background:#fff; }
.product-detail-thumb img { width:100%; height:100%; object-fit:cover; }
.product-period-tabs { display:flex; align-items:center; gap:6px; margin:0 0 12px; }
.product-period-tabs > span { margin-right:4px; color:#69788c; font-size:9px; }
.product-period-tabs a { padding:6px 9px; border:1px solid #dce3ea; border-radius:999px; background:#fff; color:#173f78; font-size:9px; font-weight:600; text-decoration:none; }
.product-period-tabs a.active { background:#173f78; border-color:#173f78; color:#fff; }
.product-kpis { margin-bottom:14px; }
.product-price-behaviour { margin-bottom:14px; }
.price-band-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.price-band { padding:11px; border:1px solid #e0e6ec; border-radius:10px; background:#fbfcfd; }
.price-band > div:first-child { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.price-band b { font-size:10px; color:#16263d; }
.price-band strong { font-size:15px; color:#173f78; }
.price-band small { display:block; margin-top:6px; color:#69788c; font-size:9px; }
.price-band-track { height:6px; margin-top:8px; overflow:hidden; border-radius:999px; background:#e8edf2; }
.price-band-track span { display:block; height:100%; min-width:0; border-radius:inherit; background:currentColor; }
.price-band-low { color:#b26b32; }
.price-band-mid { color:#60758d; }
.price-band-high { color:#2f7a4b; }
.price-timeline-wrap { margin-top:14px; padding-top:12px; border-top:1px solid #e2e7ec; }
.price-timeline-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.price-timeline-title b { font-size:10px; }
.price-timeline-title span { color:#69788c; font-size:8px; }
.price-timeline { display:flex; align-items:stretch; gap:6px; min-height:58px; padding:8px; overflow-x:auto; border:1px solid #e1e6eb; border-radius:9px; background:#f8fafb; }
.price-timeline a { display:grid; gap:2px; min-width:76px; padding:8px 9px; border:1px solid #dce3ea; border-radius:8px; background:#fff; color:#173f78; text-decoration:none; }
.price-timeline a:hover { border-color:#bfcddd; background:#fdfefe; }
.price-timeline b { font-size:11px; }
.price-timeline small { color:#7a8898; font-size:8px; }
.price-timeline em { color:#69788c; font-size:8px; font-style:normal; }
.product-analytics-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:14px; margin-bottom:14px; }
.product-analytics-columns > .manager-block { margin:0; }
.product-demand-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.product-demand-kpis > div { padding:9px; border:1px solid #e0e6ec; border-radius:9px; background:#f8fafb; }
.product-demand-kpis small { display:block; color:#69788c; font-size:8px; }
.product-demand-kpis b { display:block; margin-top:3px; font-size:12px; color:#16263d; }
.compact-demand-list { display:grid; gap:6px; max-height:260px; overflow:auto; }
.compact-demand-list a { display:grid; grid-template-columns:1fr auto; gap:3px 8px; padding:8px 9px; border:1px solid #e0e6ec; border-radius:8px; text-decoration:none; background:#fff; }
.compact-demand-list a b { color:#173f78; font-size:9px; }
.compact-demand-list a span { color:#16263d; font-size:9px; font-weight:600; }
.compact-demand-list a small { grid-column:1 / -1; color:#69788c; font-size:8px; }
.scheduled-row td { background:#fafbfd; }
@media (max-width:1050px) { .product-analytics-columns { grid-template-columns:1fr; } .price-band-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .product-detail-title { align-items:flex-start; } .product-detail-thumb { width:50px; height:50px; flex-basis:50px; } .product-period-tabs { flex-wrap:wrap; } .product-demand-kpis { grid-template-columns:1fr; } }

/* === Buyer demand signals for manager === */
.demand-opportunity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.demand-opportunity-grid > .manager-block { margin-top:14px; }
.demand-opportunity-card { border-color:#cfe2d5; }
.demand-unserved-card { border-color:#ead9c5; }
.demand-signal-list { display:grid; gap:0; }
.demand-signal-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:9px 13px; border-top:1px solid #e6ebef; }
.demand-signal-list article:first-child { border-top:0; }
.demand-signal-list article > div:first-child { display:grid; gap:3px; min-width:0; }
.demand-signal-list article a { text-decoration:none; }
.demand-signal-list article > div:first-child > a b { color:#173f78; font-size:10px; }
.demand-signal-list article > div:first-child > span, .demand-signal-list article > div:first-child > span a { color:#526176; font-size:9px; }
.demand-signal-numbers { display:grid; gap:2px; min-width:150px; text-align:right; }
.demand-signal-numbers > b { color:#16263d; font-size:12px; }
.demand-signal-numbers small { color:#69788c; font-size:8px; }
.demand-opportunity-card .demand-signal-numbers > b { color:#2f7a4b; }
.demand-unserved-card .demand-signal-numbers > b { color:#9a6329; }
@media (max-width:1000px) { .demand-opportunity-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .demand-signal-list article { grid-template-columns:1fr; } .demand-signal-numbers { text-align:left; } }

/* === Deal fulfilment / pickup workflow === */
.pickup-quick-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0 4px; }
.pickup-quick-filters a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid #dde4ea; border-radius:9px; background:#fff; color:#526176; text-decoration:none; }
.pickup-quick-filters a small { font-size:9px; font-weight:600; }
.pickup-quick-filters a b { color:#173f78; font-size:15px; }
.pickup-quick-filters a.active { border-color:#9db5cf; background:#eef3f8; }
.pickup-quick-filters a.pickup-alert b { color:#b93e35; }
.deals-admin-block .deals-table { min-width:1220px; }
.deals-admin-block .deals-table th:nth-child(1) { width:20%; }
.deals-admin-block .deals-table th:nth-child(2) { width:18%; }
.deals-admin-block .deals-table th:nth-child(3) { width:8%; }
.deals-admin-block .deals-table th:nth-child(4) { width:9%; }
.deals-admin-block .deals-table th:nth-child(5) { width:9%; }
.deals-admin-block .deals-table th:nth-child(6) { width:9%; }
.deals-admin-block .deals-table th:nth-child(7) { width:16%; }
.deals-admin-block .deals-table th:nth-child(8) { width:118px; }
.pickup-cell { display:table-cell; }
.pickup-cell > b, .pickup-cell > span, .pickup-cell > small { display:block; margin-top:3px; }
.pickup-status { width:max-content; max-width:100%; padding:3px 7px; border-radius:999px; background:#eef1f4; color:#526176; font-size:8px; font-weight:700; }
.pickup-status-ready { background:#eaf5ed; color:#2f7a4b; }
.pickup-status-collected { background:#eef3f8; color:#173f78; }
.pickup-status-problem { background:#fff0ed; color:#b93e35; }
.pickup-overdue { background:#fff8f6 !important; }
.pickup-today { background:#fffdf4 !important; }
.pickup-problem-details { margin-top:2px; }
.pickup-problem-details summary { cursor:pointer; color:#a5534b; font-size:9px; }
.pickup-problem-details form { display:grid; gap:6px; padding:7px 0 2px; }
.pickup-problem-details input { min-width:220px; padding:7px 8px; border:1px solid #d9e0e7; border-radius:7px; }
.pickup-problem-details button { border:0; border-radius:6px; padding:7px 8px; background:#b93e35; color:#fff; cursor:pointer; }
@media (max-width:900px) { .pickup-quick-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .pickup-quick-filters { grid-template-columns:1fr; } }

.buyer-order-status { display:grid; gap:5px; justify-items:start; }
.pickup-live-kpis { margin-top:8px; }

/* === Context hints and dismissible flash messages === */
.message { display:flex; align-items:flex-start; gap:10px; transition:opacity .2s ease, transform .2s ease; }
.message > span { flex:1 1 auto; }
.message-close { flex:0 0 auto; width:24px; height:24px; margin:-4px -6px -4px 0; border:0; border-radius:6px; background:rgba(255,255,255,.14); color:#fff; font:700 17px/1 Arial,sans-serif; cursor:pointer; }
.message-close:hover { background:rgba(255,255,255,.24); }
.message-leaving { opacity:0; transform:translateY(-8px); }

.ui-help { position:relative; display:inline-grid; place-items:center; width:16px; height:16px; margin-left:3px; border:1px solid #cbd6e1; border-radius:50%; background:#fff; color:#5e7187; font-size:10px; line-height:1; font-weight:700; cursor:help; vertical-align:middle; outline:none; }
.ui-help:hover, .ui-help:focus { border-color:#9eb2c8; color:#173f78; background:#f7fafc; }
.ui-help::after { content:attr(data-help); position:absolute; z-index:120; left:50%; bottom:calc(100% + 8px); width:260px; padding:9px 10px; border:1px solid #d5dee7; border-radius:8px; background:#16263d; color:#fff; box-shadow:0 10px 24px rgba(22,38,61,.18); font-size:10px; line-height:1.45; font-weight:400; text-align:left; white-space:normal; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,4px); transition:opacity .12s ease, transform .12s ease; }
.ui-help:hover::after, .ui-help:focus::after { opacity:1; visibility:visible; transform:translate(-50%,0); }
.bulk-session-table th:nth-last-child(-n+3) .ui-help::after { left:auto; right:0; transform:translate(0,4px); }
.bulk-session-table th:nth-last-child(-n+3) .ui-help:hover::after, .bulk-session-table th:nth-last-child(-n+3) .ui-help:focus::after { transform:translate(0,0); }
.bulk-client-warning { margin:10px 0; padding:10px 12px; border:1px solid #efc3bd; border-radius:8px; background:#fff2f0; color:#9f3f35; font-size:10px; font-weight:600; }

/* === Unified manager attention queue === */
.manager-attention-center { margin-top:14px; }
.attention-list { display:grid; gap:0; }
.attention-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px 13px; border-top:1px solid #e7ebef; color:#16263d; text-decoration:none; }
.attention-row:first-child { border-top:0; }
.attention-row:hover { background:#fafbfd; }
.attention-count { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#eef3f8; color:#173f78; font-size:13px; font-weight:750; }
.attention-copy { display:grid; gap:2px; min-width:0; }
.attention-copy b { font-size:10px; }
.attention-copy small { color:#69788c; font-size:9px; line-height:1.4; }
.attention-row > strong { color:#173f78; font-size:9px; white-space:nowrap; }
.attention-warning .attention-count { background:#fff5e5; color:#9a6329; }
.attention-danger { background:#fffafa; }
.attention-danger .attention-count { background:#fff0ed; color:#b93e35; }
.attention-danger > strong { color:#b93e35; }
@media (max-width:650px) { .attention-row { grid-template-columns:36px 1fr; } .attention-row > strong { grid-column:2; } }


/* ==========================================================================
   Visual audit 2026-09-05 — cross-page layout stabilisation
   ========================================================================== */
html, body { min-height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
body > .topbar, body > .staff-feedback-alarm, body > .message-stack, body > .cookie-banner { flex: 0 0 auto; }
body > main { flex: 1 0 auto; width: 100%; }
body > .footer { flex: 0 0 auto; margin-top: auto; }

/* Dense manager tables should fit a normal Full-HD working viewport without
   forcing a permanent horizontal scrollbar. Narrow screens can still scroll. */
.price-offers-table { min-width: 1160px; table-layout: fixed; }
.price-offers-table th:nth-child(1) { width: 13%; }
.price-offers-table th:nth-child(2) { width: 19%; }
.price-offers-table th:nth-child(3) { width: 8%; }
.price-offers-table th:nth-child(4) { width: 10%; }
.price-offers-table th:nth-child(5) { width: 11%; }
.price-offers-table th:nth-child(6) { width: 11%; }
.price-offers-table th:nth-child(7) { width: 7%; }
.price-offers-table th:nth-child(8) { width: 10%; }
.price-offers-table th:nth-child(9) { width: 11%; }
.price-offers-table td { overflow-wrap: anywhere; word-break: normal; }
.offer-decision-cell { min-width: 0; }
.offer-accept-form input, .offer-reject-details input { min-width: 0; }

.bulk-session-table { min-width: 1180px; table-layout: fixed; }
.bulk-session-table th:nth-child(1) { width: 34px; }
.bulk-session-table th:nth-child(2) { width: 190px; }
.bulk-session-table th:nth-child(3) { width: 72px; }
.bulk-session-table th:nth-child(4),
.bulk-session-table th:nth-child(5) { width: 68px; }
.bulk-session-table th:nth-child(6) { width: 118px; }
.bulk-session-table th:nth-child(7),
.bulk-session-table th:nth-child(8) { width: 88px; }
.bulk-session-table th:nth-child(9),
.bulk-session-table th:nth-child(10) { width: 72px; }
.bulk-session-table th:nth-child(11) { width: 124px; }
.bulk-session-table td:nth-child(2) { min-width: 0; }
.bulk-session-table select { min-width: 0; width: 100%; }
.bulk-session-table .bulk-number,
.bulk-session-table .bulk-price { width: 100%; min-width: 0; }

/* Lot composition: keep the total quantity in one cell/line. */
.series-line.total > span:last-child { white-space: nowrap; }
.series-line.total > span:last-child b { font-weight: 700; }

/* Long names/contacts must not stretch manager pages. */
.data-table td, .data-table th { overflow-wrap: anywhere; }
.data-table a { overflow-wrap: anywhere; }
.block-head > * { min-width: 0; }

/* Empty queue pages should still read as complete pages, not a floating card
   with the footer stuck in the middle of the viewport. */
.manager-queue-page { padding-bottom: 28px; }

@media (max-width: 1280px) {
  .price-offers-table { min-width: 1080px; }
  .bulk-session-table { min-width: 1080px; }
}

@media (min-width: 1200px) {
  .price-offers-table { width: 100%; min-width: 0; }
  .price-offers-block .table-wrap { overflow-x: hidden; }
}
@media (min-width: 1200px) {
  .price-offers-table th { white-space: normal; line-height: 1.2; padding-left: 7px; padding-right: 7px; }
  .price-offers-table td { padding-left: 7px; padding-right: 7px; font-size: 11px; }
  .price-offers-table td small { font-size: 8.5px; line-height: 1.3; }
}

/* Own-price queue: seven semantic columns after visual audit. */
.price-offers-table { min-width: 0; width: 100%; table-layout: fixed; }
.price-offers-table th { white-space: normal; line-height: 1.2; padding-left: 8px; padding-right: 8px; }
.price-offers-table td { padding-left: 8px; padding-right: 8px; font-size: 11px; overflow-wrap: anywhere; }
.price-offers-table td small { font-size: 8.5px; line-height: 1.3; }
.price-offers-table th:nth-child(1) { width: 17%; }
.price-offers-table th:nth-child(2) { width: 19%; }
.price-offers-table th:nth-child(3) { width: 13%; }
.price-offers-table th:nth-child(4) { width: 18%; }
.price-offers-table th:nth-child(5) { width: 8%; }
.price-offers-table th:nth-child(6) { width: 10%; }
.price-offers-table th:nth-child(7) { width: 15%; }
.price-offers-block .table-wrap { overflow-x: visible; }
.offer-price-main { display: block; margin-top: 3px; }
@media (max-width: 1100px) {
  .price-offers-table { min-width: 1050px; }
  .price-offers-block .table-wrap { overflow-x: auto; }
}

/* Cookie notice should not cover the working table while it waits for acknowledgement. */
.cookie-banner { left: auto; right: 18px; width: min(520px, calc(100% - 28px)); transform: none; padding: 11px 12px; gap: 10px; }
.cookie-banner p { font-size: 9px; line-height: 1.4; }
.cookie-banner button { min-height: 34px; padding: 0 13px; }
@media (max-width: 640px) { .cookie-banner { right: 14px; left: 14px; width: auto; } }


/* === Buyer retention: upcoming trades + notifications === */
.upcoming-hero, .notification-hero { background: #173f78; color: #fff; }
.upcoming-hero-inner, .notification-hero-inner { min-height: 166px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 24px; padding-bottom: 24px; }
.upcoming-hero h1, .notification-hero h1 { margin: 4px 0 7px; font-size: 30px; line-height: 1.08; }
.upcoming-hero p, .notification-hero p { max-width: 720px; margin: 0; color: #dce7f4; font-size: 12px; line-height: 1.55; }
.upcoming-hero-count, .notification-hero-count { min-width: 128px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.08); text-align: center; }
.upcoming-hero-count b, .notification-hero-count b { display: block; font-size: 28px; line-height: 1; }
.upcoming-hero-count span, .notification-hero-count span { display: block; margin-top: 5px; color: #dce7f4; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.upcoming-section { padding-top: 20px; }
.upcoming-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.upcoming-card { overflow: hidden; border: 1px solid #dde3e9; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px rgba(22,38,61,.05); }
.upcoming-photo { display: block; height: 190px; background: #f4f6f7; overflow: hidden; }
.upcoming-photo img { width: 100%; height: 100%; object-fit: cover; }
.upcoming-card-body { padding: 13px 14px 14px; }
.upcoming-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #69788c; font-size: 9px; }
.upcoming-name { display: block; margin-top: 9px; color: #16263d; font-size: 15px; font-weight: 700; text-decoration: none; }
.upcoming-name:hover { color: #173f78; }
.upcoming-specs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.upcoming-specs span { padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #4d6078; font-size: 8px; }
.upcoming-session { margin-top: 9px; color: #69788c; font-size: 9px; }
.upcoming-start { margin-top: 11px; padding: 9px 10px; border-radius: 8px; background: #f6f8fa; }
.upcoming-start small, .upcoming-bottom small { display: block; color: #69788c; font-size: 8px; text-transform: uppercase; letter-spacing: .04em; }
.upcoming-start b { display: block; margin-top: 2px; color: #173f78; font-size: 12px; }
.upcoming-bottom { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 12px; }
.upcoming-bottom strong { display: block; margin-top: 2px; color: #16263d; font-size: 14px; }
.upcoming-bottom .btn { flex: 0 0 auto; }
.upcoming-empty { margin: 25px 0; padding: 50px 24px; text-align: center; }

.notifications-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(290px,.7fr); gap: 18px; align-items: start; padding-top: 20px; }
.notifications-main, .notification-settings { border: 1px solid #dde3e9; border-radius: 12px; background: #fff; }
.notifications-main { padding: 15px; }
.notifications-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 2px 2px 13px; border-bottom: 1px solid #e5eaef; }
.notifications-head h2, .notification-settings h2 { margin: 0; color: #16263d; font-size: 16px; }
.notifications-head p, .notification-settings > p { margin: 4px 0 0; color: #69788c; font-size: 9px; line-height: 1.5; }
.notification-list { display: grid; }
.notification-item { display: grid; grid-template-columns: 8px minmax(0,1fr); gap: 10px; padding: 13px 4px; border-bottom: 1px solid #edf0f3; }
.notification-item:last-child { border-bottom: 0; }
.notification-item.unread { background: #f7faff; }
.notification-dot { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #c7d0db; }
.notification-item.unread .notification-dot { background: #e65a50; box-shadow: 0 0 0 4px #fdeceb; }
.notification-meta { display: flex; justify-content: space-between; gap: 12px; color: #7b899b; font-size: 8px; }
.notification-copy > b { display: block; margin-top: 4px; color: #16263d; font-size: 11px; }
.notification-copy > p { margin: 4px 0 0; color: #58687c; font-size: 9px; line-height: 1.5; }
.notification-actions { display: flex; align-items: center; gap: 13px; margin-top: 7px; font-size: 8px; }
.notification-actions a { color: #173f78; font-weight: 700; text-decoration: none; }
.notification-actions span { color: #2f7a4b; }
.notification-settings { padding: 16px; position: sticky; top: 78px; }
.notification-settings-form { display: grid; gap: 8px; margin-top: 13px; }
.notification-settings-form > label { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; padding: 9px; border: 1px solid #e2e7ec; border-radius: 8px; cursor: pointer; }
.notification-settings-form input { margin-top: 2px; }
.notification-settings-form b { display: block; color: #26374d; font-size: 9px; }
.notification-settings-form small { display: block; margin-top: 2px; color: #758397; font-size: 8px; line-height: 1.4; }
.buyer-notification-link { position: relative; }

@media (max-width: 1050px) {
  .upcoming-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .notifications-layout { grid-template-columns: 1fr; }
  .notification-settings { position: static; }
}
@media (max-width: 680px) {
  .upcoming-hero-inner, .notification-hero-inner { min-height: auto; align-items: flex-start; flex-direction: column; padding-top: 20px; padding-bottom: 20px; }
  .upcoming-hero h1, .notification-hero h1 { font-size: 25px; }
  .upcoming-grid { grid-template-columns: 1fr; }
  .upcoming-photo { height: 220px; }
  .upcoming-bottom { align-items: stretch; flex-direction: column; }
  .upcoming-bottom .btn { width: 100%; }
  .notifications-head { align-items: flex-start; flex-direction: column; }
}


/* === Personalized buyer shelf === */
.for-you-block { margin: 14px 0 18px; padding: 14px; border: 1px solid #dce4ed; border-radius: 12px; background: #f7fafe; }
.for-you-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 11px; }
.for-you-head h2 { margin: 2px 0 2px; color: #16263d; font-size: 18px; }
.for-you-head p { margin: 0; color: #69788c; font-size: 9px; }
.for-you-head > a { color: #173f78; font-size: 9px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.for-you-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.for-you-card { display: grid; grid-template-columns: 96px minmax(0,1fr); min-height: 106px; overflow: hidden; border: 1px solid #dde4eb; border-radius: 9px; background: #fff; }
.for-you-photo { display: block; background: #eef2f4; overflow: hidden; }
.for-you-photo img { width: 100%; height: 100%; object-fit: cover; }
.for-you-card-body { min-width: 0; padding: 9px 9px 8px; display: flex; flex-direction: column; }
.for-you-reasons { display: flex; flex-wrap: wrap; gap: 3px; min-height: 17px; }
.for-you-reasons span { padding: 2px 5px; border-radius: 999px; background: #eaf5ed; color: #2f7a4b; font-size: 7px; font-weight: 700; }
.for-you-name { margin-top: 5px; color: #16263d; font-size: 10px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.for-you-line { margin-top: 3px; color: #78869a; font-size: 7.5px; }
.for-you-bottom { display: flex; align-items: end; justify-content: space-between; gap: 7px; margin-top: auto; padding-top: 6px; }
.for-you-bottom strong { color: #173f78; font-size: 12px; }
.for-you-bottom strong small { font-size: 7px; font-weight: 500; }
.for-you-bottom a { color: #173f78; font-size: 7.5px; font-weight: 700; text-decoration: none; }
@media (max-width: 1150px) { .for-you-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .for-you-head { align-items: flex-start; flex-direction: column; gap: 7px; } .for-you-grid { grid-template-columns: 1fr; } .for-you-card { grid-template-columns: 105px minmax(0,1fr); } }

.repeat-purchase-link { display: inline-flex; align-items: center; justify-content: center; margin-top: 5px; padding: 4px 7px; border: 1px solid #cad7e5; border-radius: 6px; color: #173f78; background: #fff; font-size: 8px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.repeat-purchase-link:hover { background: #eef3f8; }


/* === Quick buyer demand / "Мне нужен цветок" === */
.demand-request-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); gap: 18px; align-items: start; }
.demand-request-card, .demand-history-card { border: 1px solid #dde3e9; border-radius: 12px; background: #fff; padding: 16px; }
.demand-request-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.demand-request-form label { display: grid; gap: 5px; color: #4f6074; font-size: 8px; font-weight: 700; }
.demand-request-form .wide { grid-column: 1 / -1; }
.demand-request-form input, .demand-request-form select { width: 100%; min-height: 38px; border: 1px solid #d8e0e8; border-radius: 7px; background: #fff; padding: 0 10px; color: #16263d; font: inherit; font-size: 9px; }
.demand-request-note { padding: 9px 10px; border-radius: 7px; background: #eef3f8; color: #617187; font-size: 8px; line-height: 1.45; }
.demand-history-list { display: grid; gap: 8px; margin-top: 12px; }
.demand-history-list article { padding: 11px; border: 1px solid #e0e6ec; border-radius: 8px; background: #fbfcfd; }
.demand-history-top { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.demand-history-top b { color: #16263d; font-size: 10px; }
.demand-history-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.demand-history-meta span { padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #617187; font-size: 7px; }
.demand-history-list p { margin: 7px 0 0; color: #69788c; font-size: 8px; }
.demand-manager-answer { margin-top: 7px; padding: 7px 8px; border-radius: 6px; background: #eaf5ed; color: #315f43; font-size: 8px; }
.demand-matched-link { display: inline-block; margin-top: 7px; color: #173f78; font-size: 8px; font-weight: 700; text-decoration: none; }
.manager-demand-page { padding-top: 16px; }
.manager-demand-list { display: grid; gap: 10px; margin-top: 12px; }
.manager-demand-card { border: 1px solid #dce3ea; border-radius: 10px; background: #fff; overflow: hidden; }
.manager-demand-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; padding: 13px 14px; }
.manager-demand-summary small { color: #78869a; font-size: 7px; }
.manager-demand-summary a { color: #173f78; text-decoration: none; }
.manager-demand-summary h2 { margin: 5px 0 0; color: #16263d; font-size: 13px; }
.manager-demand-summary p { margin: 7px 0 0; color: #68788d; font-size: 8px; }
.manager-demand-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.manager-demand-tags span { padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #566a82; font-size: 7px; }
.manager-demand-numbers { display: grid; grid-template-columns: repeat(3,minmax(80px,1fr)); gap: 8px; align-self: center; }
.manager-demand-numbers span { padding: 8px; border-radius: 7px; background: #f6f8fa; }
.manager-demand-numbers small { display: block; text-transform: uppercase; }
.manager-demand-numbers b { display: block; margin-top: 2px; color: #16263d; font-size: 10px; }
.manager-demand-action { display: grid; grid-template-columns: 160px 110px minmax(220px,1fr) auto; gap: 8px; align-items: end; padding: 10px 14px; border-top: 1px solid #e8edf1; background: #f8fafb; }
.manager-demand-action label { display: grid; gap: 4px; color: #69788c; font-size: 7px; }
.manager-demand-action input, .manager-demand-action select { min-height: 34px; border: 1px solid #d5dde5; border-radius: 6px; background: #fff; padding: 0 8px; font-size: 8px; }
.manager-demand-match { padding: 7px 14px 10px; background: #f8fafb; color: #63748a; font-size: 8px; }
.manager-demand-match a { color: #173f78; font-weight: 700; text-decoration: none; }
@media (max-width: 1000px) { .demand-request-layout { grid-template-columns: 1fr; } .manager-demand-summary { grid-template-columns: 1fr; } .manager-demand-action { grid-template-columns: 1fr 1fr; } .manager-demand-comment { grid-column: 1 / -1; } }
@media (max-width: 680px) { .demand-request-form { grid-template-columns: 1fr; } .demand-request-form .wide { grid-column: auto; } .manager-demand-numbers { grid-template-columns: 1fr; } .manager-demand-action { grid-template-columns: 1fr; } .manager-demand-comment { grid-column: auto; } }

/* Buyer invitations: manager workflow and personalized registration. */
.invitation-tools-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 16px; margin-bottom: 18px; }
.invitation-create-block, .invitation-csv-block { padding: 18px; }
.invitation-form { display: grid; gap: 12px; }
.invitation-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.invitation-form-grid label { display: grid; gap: 5px; color: #56657a; font-size: 9px; font-weight: 600; }
.invitation-form-grid label:first-child { grid-column: 1 / -1; }
.invitation-form-grid input { width: 100%; min-height: 38px; border: 1px solid #d7e0e9; border-radius: 7px; padding: 0 10px; background: #fff; color: #16263d; font: inherit; }
.invitation-form-grid em { color: #b33b35; font-size: 8px; font-style: normal; }
.invitation-send-now { display: inline-flex; align-items: center; gap: 7px; color: #33465f; font-size: 9px; font-weight: 600; }
.invitation-csv-form { display: grid; gap: 12px; margin-top: 10px; }
.invitation-csv-form input[type=file] { width: 100%; padding: 10px; border: 1px dashed #bdcad8; border-radius: 8px; background: #f8fafc; }
.invitation-csv-help { display: grid; gap: 5px; margin-top: 14px; padding: 11px; border-radius: 8px; background: #f5f8fb; color: #64748a; font-size: 8.5px; line-height: 1.45; }
.invitation-csv-help code { width: fit-content; padding: 3px 6px; border-radius: 4px; background: #e8eef5; color: #173f78; }
.invitation-tabs { margin-bottom: 14px; }
.invitation-list-block { padding: 0; overflow: hidden; }
.invitation-list-block .block-head { padding: 16px 18px 12px; }
.invitation-table th:nth-child(1) { width: 24%; }
.invitation-table th:nth-child(2) { width: 14%; }
.invitation-table th:nth-child(3) { width: 14%; }
.invitation-table th:nth-child(4) { width: 13%; }
.invitation-table th:nth-child(5) { width: 17%; }
.invitation-table th:nth-child(6) { width: 18%; }
.invitation-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.invitation-actions form { margin: 0; }
.invitation-actions button, .invitation-actions a { border: 1px solid #cad6e3; border-radius: 6px; background: #fff; color: #173f78; padding: 5px 7px; font: inherit; font-size: 8px; font-weight: 700; text-decoration: none; cursor: pointer; }
.invitation-actions button:hover, .invitation-actions a:hover { background: #eef3f8; }
.auth-invitation-banner { display: grid; gap: 4px; margin: 12px 0; padding: 12px 14px; border: 1px solid #bdd7c6; border-radius: 9px; background: #edf7f0; color: #285d3d; }
.auth-invitation-banner b { font-size: 11px; }
.auth-invitation-banner span { font-size: 9px; line-height: 1.45; }
@media (max-width: 950px) { .invitation-tools-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .invitation-form-grid { grid-template-columns: 1fr; } .invitation-form-grid label:first-child { grid-column: auto; } }

/* Buyer catalog launch blockers: aligned card actions, toolbar control, hero contrast. */
.trade-grid:not(.list-view) .trade-card { display: flex; flex-direction: column; height: 100%; }
.trade-grid:not(.list-view) .trade-card-body { display: flex; flex: 1 1 auto; flex-direction: column; }
.trade-grid:not(.list-view) .trade-status { margin-top: auto; }
.mine-filter { height: 42px; min-height: 42px; padding: 0 11px; align-self: center; border-color: #d8e0e7; }
.mine-filter input { flex: 0 0 15px; width: 15px; height: 15px; margin: 0; }
.mine-filter:focus-within { border-color: #8ea7c0; box-shadow: 0 0 0 3px rgba(23,63,120,.07); }
.upcoming-hero h1, .notification-hero h1 { color: #fff; }

/* Refined «Только мой ассортимент» toggle: same visual language as view switch. */
.mine-filter { position: relative; height: 42px; min-height: 42px; padding: 0 12px; gap: 8px; border: 1px solid #d8e0e7; border-radius: 7px; background: #fff; color: #516176; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.mine-filter:hover { border-color: #bdc9d5; background: #f9fbfc; }
.mine-filter.active { border-color: #9fb3c8; background: #eef3f8; }
.mine-filter input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.mine-toggle { position: relative; flex: 0 0 28px; width: 28px; height: 16px; border-radius: 999px; background: #cbd5df; box-shadow: inset 0 0 0 1px rgba(22,38,61,.06); transition: background .15s ease; }
.mine-toggle::after { content: ''; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(22,38,61,.22); transition: transform .15s ease; }
.mine-filter input:checked + .mine-toggle { background: #173f78; }
.mine-filter input:checked + .mine-toggle::after { transform: translateX(12px); }
.mine-filter-label { color: #516176; font-size: 10px; font-weight: 650; line-height: 1; }
.mine-filter.active .mine-filter-label { color: #173f78; }
.mine-filter:focus-within { border-color: #8ea7c0; box-shadow: 0 0 0 3px rgba(23,63,120,.07); }

/* === Quick purchase list === */
.lots-title-actions { display: flex; align-items: center; gap: 12px; }
.quick-buy-entry { min-height: 36px; padding: 0 13px; border-color: #cfd8e1; color: #173f78; }
.quick-buy-page { min-height: calc(100vh - 140px); padding: 26px 0 56px; background: #f5f7f9; }
.quick-buy-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.quick-buy-head h1 { margin: 3px 0 7px; color: #16263d; font-size: 31px; }
.quick-buy-head p { max-width: 760px; margin: 0; color: #69788c; font-size: 11px; line-height: 1.5; }
.quick-buy-rule { display: flex; gap: 9px; align-items: baseline; margin-bottom: 14px; padding: 10px 12px; border: 1px solid #d7e2ec; border-radius: 8px; background: #eef3f8; color: #53667d; font-size: 9px; }
.quick-buy-rule b { color: #173f78; white-space: nowrap; }
.quick-buy-table-wrap { overflow-x: auto; border: 1px solid #dde3e9; border-radius: 11px; background: #fff; }
.quick-buy-table { width: 100%; min-width: 1120px; border-collapse: collapse; }
.quick-buy-table th { padding: 9px 10px; border-bottom: 1px solid #dfe5eb; background: #f7f9fb; color: #69788c; text-align: left; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; }
.quick-buy-table td { padding: 10px; border-top: 1px solid #edf0f3; color: #405168; font-size: 9px; vertical-align: middle; }
.quick-buy-table tbody tr:first-child td { border-top: 0; }
.quick-buy-table tbody tr.selected { background: #f5f9fd; }
.quick-buy-table td small { display: block; margin-top: 3px; color: #7a8798; }
.quick-select-col { width: 66px; text-align: center !important; }
.quick-row-check { display: inline-grid; place-items: center; cursor: pointer; }
.quick-row-check input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.quick-row-check span { width: 18px; height: 18px; border: 1px solid #bfcbd7; border-radius: 5px; background: #fff; position: relative; }
.quick-row-check input:checked + span { border-color: #173f78; background: #173f78; }
.quick-row-check input:checked + span::after { content: '✓'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 11px; font-weight: 800; }
.quick-product { display: grid; gap: 2px; color: #16263d; text-decoration: none; }
.quick-product b { font-size: 11px; }
.quick-product:hover b { color: #173f78; }
.quick-price { color: #16263d; font-size: 11px; white-space: nowrap; }
.quick-packages { width: 86px; height: 34px; border: 1px solid #d3dce5; border-radius: 6px; padding: 0 8px; color: #16263d; font-size: 10px; }
.quick-packages:focus { outline: none; border-color: #8fa7bf; box-shadow: 0 0 0 3px rgba(23,63,120,.06); }
.quick-subtotal { color: #173f78; white-space: nowrap; }
.quick-buy-bottom-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 14px; margin-top: 14px; align-items: start; }
.quick-buyer-data, .quick-buy-summary { border: 1px solid #dde3e9; border-radius: 11px; background: #fff; }
.quick-buyer-data { padding: 15px; }
.quick-buyer-data .block-head { margin-bottom: 10px; }
.quick-buyer-data h2 { margin: 2px 0 0; font-size: 17px; }
.quick-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-contact-grid label { display: grid; gap: 4px; color: #69788c; font-size: 9px; }
.quick-contact-grid input { height: 38px; border: 1px solid #d5dde5; border-radius: 7px; padding: 0 10px; color: #16263d; }
.quick-consents { display: grid; gap: 7px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #e7ebef; }
.quick-consents label { display: flex; gap: 7px; align-items: flex-start; color: #5d6d80; font-size: 9px; line-height: 1.4; }
.quick-consents input { margin-top: 1px; }
.quick-consents a { color: #173f78; }
.quick-buy-summary { position: sticky; top: 86px; display: grid; gap: 5px; padding: 16px; }
.quick-buy-summary small { color: #7a8798; font-size: 8px; text-transform: uppercase; letter-spacing: .04em; }
.quick-buy-summary strong { color: #16263d; font-size: 21px; }
.quick-buy-summary p { margin: 4px 0 8px; color: #69788c; font-size: 9px; line-height: 1.45; }
.quick-buy-summary .btn { min-height: 42px; }
.quick-buy-summary .btn:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 850px) {
  .lots-title-actions { width: 100%; justify-content: space-between; }
  .quick-buy-head { flex-direction: column; }
  .quick-buy-bottom-grid { grid-template-columns: 1fr; }
  .quick-buy-summary { position: static; }
}
@media (max-width: 620px) {
  .quick-contact-grid { grid-template-columns: 1fr; }
  .quick-buy-rule { align-items: flex-start; flex-direction: column; }
}

/* === Personal manager selections === */
.personal-offer-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: 16px; align-items: start; }
.personal-offer-create, .personal-offer-history { padding: 16px; }
.personal-offer-form { display: grid; grid-template-columns: 180px 1fr; gap: 10px 12px; }
.personal-offer-form > label { display: grid; gap: 4px; color: #69788c; font-size: 9px; }
.personal-offer-form > label.wide, .personal-pick-grid.wide, .personal-offer-submit.wide { grid-column: 1 / -1; }
.personal-offer-form input[type="text"], .personal-offer-form input:not([type]), .personal-offer-form select { min-height: 38px; border: 1px solid #d5dde5; border-radius: 7px; background: #fff; padding: 0 10px; color: #16263d; }
.personal-send-now { align-self: end; display: flex !important; grid-template-columns: 18px 1fr; gap: 7px !important; align-items: flex-start; padding: 8px 10px; border: 1px solid #e0e6eb; border-radius: 7px; background: #f8fafb; line-height: 1.35; }
.personal-send-now input { margin-top: 1px; }
.personal-pick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.personal-pick-panel { overflow: hidden; border: 1px solid #dfe5eb; border-radius: 9px; background: #fff; }
.personal-pick-head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; padding: 10px 11px; border-bottom: 1px solid #e7ebef; background: #f7f9fb; }
.personal-pick-head b { color: #26384d; font-size: 10px; }
.personal-pick-head span { color: #8190a2; font-size: 8px; }
.personal-filter-input { width: calc(100% - 18px); height: 34px; margin: 9px; border: 1px solid #d8e0e7; border-radius: 6px; padding: 0 9px; color: #16263d; font-size: 9px; }
.personal-check-list { max-height: 285px; overflow-y: auto; border-top: 1px solid #eef1f4; }
.personal-check-list > label { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; padding: 9px 10px; border-top: 1px solid #eef1f4; cursor: pointer; }
.personal-check-list > label:first-child { border-top: 0; }
.personal-check-list > label:hover { background: #f8fafc; }
.personal-check-list > label:has(input:checked) { background: #eef4fa; }
.personal-check-list input { margin-top: 2px; }
.personal-check-list span { display: grid; gap: 2px; min-width: 0; }
.personal-check-list b { overflow: hidden; color: #26384d; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.personal-check-list small { overflow: hidden; color: #7a8798; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.personal-offer-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 3px; }
.personal-offer-submit span { max-width: 620px; color: #7a8798; font-size: 8px; line-height: 1.45; }
.personal-offer-submit .btn { min-width: 170px; min-height: 40px; }
.personal-offer-list { display: grid; gap: 10px; }
.personal-offer-admin-card { padding: 12px; border: 1px solid #dde4eb; border-radius: 9px; background: #fff; }
.personal-offer-admin-card.inactive { opacity: .68; background: #f8f9fa; }
.personal-offer-admin-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.personal-offer-admin-top > div { display: grid; gap: 3px; }
.personal-offer-admin-top b { color: #16263d; font-size: 11px; }
.personal-offer-admin-top small { color: #7a8798; font-size: 8px; }
.personal-offer-admin-card p { margin: 8px 0; color: #5e6e81; font-size: 9px; line-height: 1.45; }
.personal-offer-url { display: grid; grid-template-columns: 1fr auto; gap: 6px; margin-top: 9px; }
.personal-offer-url input { min-width: 0; height: 32px; border: 1px solid #d8e0e7; border-radius: 6px; padding: 0 8px; color: #617087; background: #f8fafb; font-size: 8px; }
.personal-offer-url button, .personal-offer-actions button { min-height: 32px; border: 1px solid #cbd6e1; border-radius: 6px; background: #fff; color: #173f78; padding: 0 9px; font: inherit; font-size: 8px; font-weight: 700; cursor: pointer; }
.personal-offer-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 8px; color: #7a8798; font-size: 8px; }
.personal-offer-actions { display: flex; gap: 7px; margin-top: 9px; }
.personal-offer-actions form { margin: 0; }
.personal-offer-actions button.danger { color: #b94a43; border-color: #e7c8c4; }

.personal-offer-hero { background: #173f78; color: #fff; }
.personal-offer-hero-inner { min-height: 170px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 26px; padding-bottom: 26px; }
.personal-offer-hero h1 { margin: 4px 0 7px; color: #fff; font-size: 31px; line-height: 1.08; }
.personal-offer-hero p { max-width: 760px; margin: 0; color: #dce7f4; font-size: 11px; line-height: 1.55; }
.personal-offer-valid { min-width: 146px; padding: 14px 17px; border: 1px solid rgba(255,255,255,.22); border-radius: 11px; background: rgba(255,255,255,.08); text-align: center; }
.personal-offer-valid small, .personal-offer-valid span { display: block; color: #dce7f4; font-size: 8px; }
.personal-offer-valid b { display: block; margin: 5px 0 2px; font-size: 18px; }
.personal-offer-page { padding-top: 18px; padding-bottom: 48px; }
.personal-offer-note { display: flex; gap: 9px; align-items: baseline; margin-bottom: 14px; padding: 10px 12px; border: 1px solid #d8e4ee; border-radius: 8px; background: #eef3f8; color: #56697f; font-size: 9px; }
.personal-offer-note b { color: #173f78; white-space: nowrap; }
.personal-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.personal-offer-card { overflow: hidden; border: 1px solid #dde3e9; border-radius: 11px; background: #fff; box-shadow: 0 4px 16px rgba(22,38,61,.045); }
.personal-offer-card.unavailable { opacity: .72; }
.personal-offer-photo { position: relative; display: block; height: 205px; overflow: hidden; background: #eef1f3; }
.personal-offer-photo img { width: 100%; height: 100%; object-fit: cover; }
.personal-offer-photo > span { position: absolute; top: 10px; left: 10px; padding: 4px 7px; border-radius: 6px; background: rgba(255,255,255,.92); color: #43536a; font-size: 8px; font-weight: 700; }
.personal-offer-body { display: flex; flex-direction: column; min-height: 245px; padding: 13px 14px 14px; }
.personal-offer-mode { width: fit-content; padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #315f96; font-size: 8px; font-weight: 700; }
.personal-offer-name { margin-top: 8px; color: #16263d; font-size: 15px; font-weight: 700; text-decoration: none; }
.personal-offer-specs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.personal-offer-specs span { padding: 3px 6px; border-radius: 999px; background: #f3f5f7; color: #607086; font-size: 8px; }
.personal-offer-info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; padding: 9px 0; border-top: 1px solid #e8edf1; border-bottom: 1px solid #e8edf1; }
.personal-offer-info small, .personal-offer-bottom small { display: block; color: #8190a1; font-size: 8px; }
.personal-offer-info b { display: block; margin-top: 2px; color: #3b4c62; font-size: 9px; }
.personal-offer-bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 11px; }
.personal-offer-bottom strong { display: block; margin-top: 2px; color: #16263d; font-size: 19px; }
.personal-offer-bottom strong em { color: #69788c; font-size: 8px; font-style: normal; font-weight: 600; }
.personal-offer-bottom .btn { min-height: 36px; padding: 0 10px; font-size: 9px; }
.personal-offer-unavailable { padding: 7px 9px; border-radius: 6px; background: #f0f2f4; color: #7a8798; font-size: 8px; }
.personal-offer-footer-link { margin-top: 16px; text-align: right; }
.personal-offer-footer-link a { color: #173f78; font-size: 10px; font-weight: 700; }
@media (max-width: 1100px) { .personal-offer-layout { grid-template-columns: 1fr; } .personal-offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .personal-pick-grid, .personal-offer-grid { grid-template-columns: 1fr; } .personal-offer-form { grid-template-columns: 1fr; } .personal-offer-form > label.wide, .personal-pick-grid.wide, .personal-offer-submit.wide { grid-column: auto; } .personal-offer-submit { align-items: stretch; flex-direction: column; } .personal-offer-hero-inner { align-items: flex-start; flex-direction: column; } .personal-offer-valid { text-align: left; } }

/* === Share links / public trading-session showcase === */
.manager-share-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: -2px 0 14px; padding: 9px 11px; border: 1px solid #d9e3ec; border-radius: 8px; background: #f6f9fb; }
.manager-share-strip > div:first-child { display: grid; gap: 2px; }
.manager-share-strip b { color: #2a3d54; font-size: 9px; }
.manager-share-strip span { color: #7a8798; font-size: 8px; }
.manager-share-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.manager-share-actions button, .manager-share-actions a { min-height: 31px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbd6e1; border-radius: 6px; background: #fff; color: #173f78; padding: 0 9px; font: inherit; font-size: 8px; font-weight: 700; text-decoration: none; cursor: pointer; }
.manager-share-actions button:hover, .manager-share-actions a:hover { background: #eef3f8; }

.session-showcase-hero { background: #173f78; color: #fff; }
.session-showcase-hero-inner { min-height: 164px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 25px; padding-bottom: 25px; }
.session-showcase-hero h1 { margin: 4px 0 7px; color: #fff; font-size: 31px; line-height: 1.08; }
.session-showcase-hero p { margin: 0; color: #dce7f4; font-size: 11px; line-height: 1.5; }
.session-showcase-comment { margin-top: 6px !important; max-width: 760px; }
.session-showcase-state { min-width: 145px; padding: 14px 17px; border: 1px solid rgba(255,255,255,.22); border-radius: 11px; background: rgba(255,255,255,.08); text-align: center; }
.session-showcase-state small, .session-showcase-state span { display: block; color: #dce7f4; font-size: 8px; }
.session-showcase-state b { display: block; margin: 5px 0 2px; color: #fff; font-size: 17px; }
.session-showcase-page { padding-top: 18px; padding-bottom: 48px; }
.session-showcase-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.session-showcase-card { overflow: hidden; border: 1px solid #dde3e9; border-radius: 11px; background: #fff; box-shadow: 0 4px 16px rgba(22,38,61,.045); }
.session-showcase-card.unavailable { opacity: .74; }
.session-showcase-photo { position: relative; display: block; height: 205px; overflow: hidden; background: #eef1f3; }
.session-showcase-photo img { width: 100%; height: 100%; object-fit: cover; }
.session-showcase-photo > span { position: absolute; top: 10px; left: 10px; padding: 4px 7px; border-radius: 6px; background: rgba(255,255,255,.92); color: #43536a; font-size: 8px; font-weight: 700; }
.session-showcase-body { display: flex; flex-direction: column; min-height: 230px; padding: 13px 14px 14px; }
.session-showcase-mode { width: fit-content; padding: 3px 6px; border-radius: 999px; background: #eef3f8; color: #315f96; font-size: 8px; font-weight: 700; }
.session-showcase-name { margin-top: 8px; color: #16263d; font-size: 15px; font-weight: 700; text-decoration: none; }
.session-showcase-specs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.session-showcase-specs span { padding: 3px 6px; border-radius: 999px; background: #f3f5f7; color: #607086; font-size: 8px; }
.session-showcase-qty { display: grid; grid-template-columns: 1fr 1.3fr; gap: 8px; margin-top: 10px; padding: 9px 0; border-top: 1px solid #e8edf1; border-bottom: 1px solid #e8edf1; }
.session-showcase-qty small, .session-showcase-bottom small { display: block; color: #8190a1; font-size: 8px; }
.session-showcase-qty b { display: block; margin-top: 2px; color: #3b4c62; font-size: 9px; }
.session-showcase-bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; }
.session-showcase-bottom strong { display: block; margin-top: 2px; color: #16263d; font-size: 19px; }
.session-showcase-bottom strong em { color: #69788c; font-size: 8px; font-style: normal; font-weight: 600; }
.session-showcase-bottom .btn { min-height: 35px; padding: 0 10px; font-size: 9px; }
@media (max-width: 1050px) { .session-showcase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .manager-share-strip, .session-showcase-hero-inner { align-items: flex-start; flex-direction: column; } .manager-share-actions { flex-wrap: wrap; } .session-showcase-grid { grid-template-columns: 1fr; } .session-showcase-state { text-align: left; } }

/* Catalog filter refinement: explicit rose variety + conventional assortment checkbox. */
@media (min-width: 1181px) {
  .trade-toolbar { grid-template-columns: minmax(210px,1.35fr) repeat(6,minmax(104px,.62fr)) auto; }
}
.mine-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-height: 40px;
  padding: 0 12px;
  gap: 8px;
  border: 1px solid #d7dfe7;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  white-space: nowrap;
}
.mine-filter:hover { border-color: #b8c6d4; background: #fafbfd; }
.mine-filter.active { border-color: #9eb2c7; background: #f4f7fa; }
.mine-filter input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mine-toggle {
  position: relative;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  border: 1.5px solid #b8c4d0;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}
.mine-toggle::after { content: none; }
.mine-filter input:checked + .mine-toggle { border-color: #173f78; background: #173f78; }
.mine-filter input:checked + .mine-toggle::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  transform: none;
}
.mine-filter-label { color: #53647a; font-size: 10px; font-weight: 650; line-height: 1; }
.mine-filter.active .mine-filter-label { color: #173f78; }

/* Final buyer assortment filter control: aligned checkbox button, not a floating native checkbox. */
.trade-toolbar .mine-filter-v2 {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 168px;
  height: 40px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid #D7DFE7;
  border-radius: 8px;
  background: #FFFFFF;
  color: #516176;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
  align-self: center;
}
.trade-toolbar .mine-filter-v2:hover {
  border-color: #B8C6D4;
  background: #F8FAFC;
}
.trade-toolbar .mine-filter-v2.active {
  border-color: #9CB2C9;
  background: #EEF3F8;
  color: #173F78;
}
.trade-toolbar .mine-filter-v2 input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.trade-toolbar .mine-filter-v2 .mine-check {
  position: relative;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1.5px solid #AEBBC8;
  border-radius: 4px;
  background: #FFFFFF;
}
.trade-toolbar .mine-filter-v2 .mine-check::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  opacity: 0;
}
.trade-toolbar .mine-filter-v2 input:checked + .mine-check {
  border-color: #173F78;
  background: #173F78;
}
.trade-toolbar .mine-filter-v2 input:checked + .mine-check::after { opacity: 1; }
.trade-toolbar .mine-filter-v2 .mine-filter-label {
  display: block;
  margin: 0;
  color: inherit;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1;
}
.trade-toolbar .mine-filter-v2:focus-within {
  border-color: #8EA7C0;
  box-shadow: 0 0 0 3px rgba(23,63,120,.08);
}


/* Reliable buyer assortment filter: semantic submit button, no hidden checkbox/onchange. */
.trade-toolbar .mine-filter-v3 {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 168px;
  height: 40px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid #D7DFE7;
  border-radius: 8px;
  background: #FFFFFF;
  color: #516176;
  cursor: pointer;
  white-space: nowrap;
  font: inherit;
  line-height: 1;
  align-self: center;
}
.trade-toolbar .mine-filter-v3:hover { border-color: #B8C6D4; background: #F8FAFC; }
.trade-toolbar .mine-filter-v3:focus-visible { outline: none; border-color: #8EA7C0; box-shadow: 0 0 0 3px rgba(23,63,120,.08); }
.trade-toolbar .mine-filter-v3.active { border-color: #9CB2C9; background: #EEF3F8; color: #173F78; }
.trade-toolbar .mine-filter-v3 .mine-check {
  display: inline-grid;
  place-items: center;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1.5px solid #AEBBC8;
  border-radius: 4px;
  background: #FFFFFF;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.trade-toolbar .mine-filter-v3.active .mine-check { border-color: #173F78; background: #173F78; }
.trade-toolbar .mine-filter-v3 .mine-filter-label { margin: 0; color: inherit; font-size: 10.5px; font-weight: 650; line-height: 1; }


/* Buyer empty search: convert zero results into explicit demand instead of a dead end. */
.buyer-empty-state { text-align: center; padding: 28px 20px; }
.buyer-empty-state > span { max-width: 620px; line-height: 1.5; }
.empty-state-actions { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.empty-state-actions .btn { min-height: 38px; }

/* Stable purchase confirmation: explicit result instead of dropping buyer back into catalog. */
.purchase-confirm-page { min-height: calc(100vh - 120px); padding: 34px 0 56px; background: #F5F7F9; }
.purchase-confirm-shell { max-width: 1120px; }
.purchase-confirm-hero { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 22px; border: 1px solid #D7E5DA; border-radius: 12px; background: #fff; }
.purchase-confirm-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #EAF5ED; color: #2F7A4B; font-size: 24px; font-weight: 800; }
.purchase-confirm-hero h1 { margin: 3px 0 5px; font-size: 26px; color: #16263D; }
.purchase-confirm-hero p { margin: 0; color: #69788C; font-size: 11px; }
.purchase-confirm-total { text-align: right; }
.purchase-confirm-total small, .purchase-confirm-row small { display: block; color: #7C899A; font-size: 9px; }
.purchase-confirm-total strong { display: block; color: #173F78; font-size: 24px; }
.purchase-confirm-total span, .purchase-confirm-row span { color: #69788C; font-size: 10px; }
.purchase-confirm-list { margin-top: 14px; border: 1px solid #DDE3E9; border-radius: 11px; background: #fff; overflow: hidden; }
.purchase-confirm-row { display: grid; grid-template-columns: 48px minmax(220px,1.6fr) .7fr .7fr 1fr; gap: 14px; align-items: center; padding: 13px 15px; border-top: 1px solid #EDF0F3; }
.purchase-confirm-row:first-child { border-top: 0; }
.purchase-confirm-product b, .purchase-confirm-row > div > b { display: block; color: #24364C; font-size: 12px; }
.purchase-confirm-actions { display: flex; gap: 10px; margin-top: 16px; }
.purchase-confirm-note { margin-top: 12px; color: #69788C; font-size: 10px; }
@media (max-width: 760px) { .purchase-confirm-hero { grid-template-columns: auto 1fr; } .purchase-confirm-total { grid-column: 1 / -1; text-align: left; padding-left: 62px; } .purchase-confirm-row { grid-template-columns: 42px 1fr; } .purchase-confirm-row > div:not(.purchase-confirm-product) { grid-column: 2; } .purchase-confirm-actions { flex-direction: column; } }


/* Quality claim is anchored to a concrete purchase, not a generic support form. */
.quality-claim-link { color: #9B3C36; font-size: 10px; font-weight: 650; }
.quality-claim-link:hover { color: #7E2D29; }
.quality-claim-context { display: flex; flex-direction: column; gap: 3px; padding: 11px 12px; border: 1px solid #E6D7D5; border-radius: 8px; background: #FFF8F7; color: #405168; }
.quality-claim-context b { color: #8B3A35; }
.quality-claim-context span { font-size: 10px; color: #69788C; }


/* Known buyer contact stays compact; fields open only when the buyer wants to override the snapshot. */
.trade-contact-card, .quick-contact-details { border: 1px solid #DDE3E9; border-radius: 8px; background: #F8FAFC; }
.trade-contact-card > summary, .quick-contact-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; cursor: pointer; list-style: none; }
.trade-contact-card > summary::-webkit-details-marker, .quick-contact-details > summary::-webkit-details-marker { display: none; }
.trade-contact-card summary span, .quick-contact-details summary span { min-width: 0; }
.trade-contact-card summary small, .quick-contact-details summary small { display: block; color: #7C899A; font-size: 8.5px; }
.trade-contact-card summary b, .quick-contact-details summary b { display: block; overflow: hidden; color: #33455C; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.trade-contact-card summary em, .quick-contact-details summary em { color: #173F78; font-size: 9px; font-style: normal; font-weight: 650; white-space: nowrap; }
.trade-contact-fields, .quick-contact-details .quick-contact-grid { padding: 0 12px 12px; }
.trade-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
@media (max-width: 680px) { .trade-contact-fields { grid-template-columns: 1fr; } }


/* One-time legal acceptance replaces three repeated checkboxes on every trade. */
.one-time-trade-consents, .one-time-consents { padding: 10px 11px; border: 1px solid #D7E2EC; border-radius: 8px; background: #F6F9FC; }
.one-time-trade-consents > small, .one-time-consents > small { display: block; margin-bottom: 7px; color: #69788C; font-size: 8.5px; line-height: 1.45; }
.one-time-trade-consents .legal-consent { margin-top: 5px; }


/* Buyer trade controls: large quantity stepper, explicit full-stock value and fast auction override. */
.package-count-field > small { display: block; margin-top: 5px; color: #7C899A; font-size: 9px; }
.package-stepper { display: grid; grid-template-columns: 42px minmax(64px, 1fr) 42px; height: 42px; border: 1px solid #D5DEE7; border-radius: 8px; background: #fff; overflow: hidden; }
.package-stepper button { border: 0; background: #F5F8FB; color: #173F78; font-size: 22px; font-weight: 600; cursor: pointer; }
.package-stepper button:hover { background: #EAF0F6; }
.package-stepper button:active { background: #DDE8F2; }
.package-stepper input[type="number"] { width: 100%; height: 40px !important; min-height: 40px !important; padding: 0 7px !important; border: 0 !important; border-right: 1px solid #E1E7ED !important; border-left: 1px solid #E1E7ED !important; border-radius: 0 !important; box-shadow: none !important; text-align: center; font-size: 14px; font-weight: 700; color: #24364C; appearance: textfield; -moz-appearance: textfield; }
.package-stepper input[type="number"]::-webkit-outer-spin-button, .package-stepper input[type="number"]::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.package-stepper-compact { grid-template-columns: 34px 54px 34px; width: 122px; height: 36px; }
.package-stepper-compact button { font-size: 18px; }
.package-stepper-compact input[type="number"] { height: 34px !important; min-height: 34px !important; font-size: 11px; }
.trade-full-value { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; text-align: right; }
.trade-full-value small { color: #8793A2; font-size: 7.5px; font-weight: 500; line-height: 1.15; white-space: nowrap; }
.trade-full-value b { color: #33455C; font-size: 11px; }
.custom-bid-card { border: 1px solid #DDE3E9; border-radius: 8px; background: #F8FAFC; }
.custom-bid-card > summary { padding: 9px 11px; color: #173F78; font-size: 10px; font-weight: 650; cursor: pointer; list-style: none; }
.custom-bid-card > summary::-webkit-details-marker { display: none; }
.custom-bid-card > summary::before { content: '＋'; margin-right: 6px; }
.custom-bid-card[open] > summary::before { content: '−'; }
.custom-bid-card > label { display: block; padding: 0 11px 7px; }
.custom-bid-card > small { display: block; padding: 0 11px 10px; color: #7C899A; font-size: 8.5px; }
.trade-submit [data-next-price] { color: inherit; }
@media (max-width: 680px) { .package-stepper { grid-template-columns: 44px minmax(70px,1fr) 44px; height: 44px; } .package-stepper button { min-width: 44px; } .trade-full-value small { white-space: normal; } }


/* Trusted invitation: email is a verified value from the one-time bearer link. */
.registration-form input[readonly] { background: #F2F5F8; color: #526277; cursor: default; }
.auth-invitation-banner { border-color: #C8DBCB; background: #F3FAF5; }

/* Public conversion: explain why the buyer should register before asking for credentials. */
.public-value-card { display: grid; grid-template-columns: minmax(280px,1.15fr) minmax(420px,1.5fr) auto; gap: 18px; align-items: center; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #D9E2EA; border-radius: 11px; background: #FFFFFF; }
.public-value-copy h2 { margin: 3px 0 5px; color: #16263D; font-size: 17px; line-height: 1.2; }
.public-value-copy p { margin: 0; color: #69788C; font-size: 10px; line-height: 1.45; }
.public-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; }
.public-benefits span { display: block; padding-left: 9px; border-left: 2px solid #D5E2EE; }
.public-benefits b { display: block; color: #33455C; font-size: 10px; }
.public-benefits small { display: block; margin-top: 2px; color: #7B8898; font-size: 8.5px; line-height: 1.3; }
.public-value-actions { display: flex; flex-direction: column; gap: 7px; min-width: 142px; }
.public-value-actions .btn { justify-content: center; min-height: 36px; }
.pickup-trust-card { display: grid; grid-template-columns: 1.35fr .9fr 1fr; gap: 10px; margin: 10px 0 13px; padding: 11px; border: 1px solid #DDE3E9; border-radius: 9px; background: #F8FAFC; }
.pickup-trust-card > div { min-width: 0; }
.pickup-trust-card small { display: block; margin-bottom: 3px; color: #7C899A; font-size: 8px; font-weight: 600; }
.pickup-trust-card b { display: block; color: #33455C; font-size: 9.5px; line-height: 1.35; }
.pickup-trust-card span, .pickup-trust-card a { display: block; margin-top: 2px; color: #69788C; font-size: 8.5px; line-height: 1.35; overflow-wrap: anywhere; }
.pickup-trust-card a { color: #173F78; }
.footer-inner > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.footer-inner > div:first-child a { color: inherit; }
@media (max-width: 980px) { .public-value-card { grid-template-columns: 1fr; } .public-value-actions { flex-direction: row; } .pickup-trust-card { grid-template-columns: 1fr 1fr; } .pickup-trust-card > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 620px) { .public-benefits, .pickup-trust-card { grid-template-columns: 1fr; } .pickup-trust-card > div:first-child { grid-column: auto; } .public-value-actions { flex-direction: column; } }

/* Buyer profile and cabinet priority pass */
.access-profile-link { display: grid; text-align: right; line-height: 1.1; text-decoration: none; min-width: 0; }
.access-profile-link b { color: var(--ink); font-size: 12px; font-weight: 650; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.access-profile-link small { margin-top: 3px; color: #7b8797; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.access-profile-link:hover b { color: var(--brand-blue); }
.profile-head-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.buyer-profile-page { display: grid; gap: 24px; }
.profile-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 24px; }
.profile-requisites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.profile-requisites div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.profile-requisites dt, .profile-consents-grid small { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.profile-requisites dd { margin: 5px 0 0; color: var(--ink); font-weight: 650; overflow-wrap: anywhere; }
.profile-lock-note { margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: #f4f7fa; color: var(--muted); font-size: 13px; line-height: 1.45; }
.profile-contact-form { display: grid; gap: 14px; }
.profile-contact-form label { display: grid; gap: 7px; }
.profile-contact-form label > span { color: var(--muted); font-size: 12px; font-weight: 600; }
.profile-contact-form input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.profile-contact-form .btn { justify-self: start; }
.profile-consents-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.profile-consents-grid > div { display: grid; gap: 5px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; }
.profile-consents-grid b { color: var(--ink); }
.profile-consents-grid a { font-size: 12px; }
.cabinet-sections > #current-purchase { order: 1; }
.cabinet-sections > #current { order: 2; }
.cabinet-sections > #purchases { order: 3; }
.cabinet-sections > #price-offers { order: 4; }
.cabinet-sections > #assortment { order: 5; }
.cabinet-sections > #watching { order: 6; }
@media (max-width: 860px) {
  .profile-head-row { align-items: flex-start; flex-direction: column; }
  .profile-grid, .profile-consents-grid { grid-template-columns: 1fr; }
  .profile-requisites { grid-template-columns: 1fr; }
  .access-profile-link { display: none; }
}

/* Stable buyer list view — fixed reading zones: photo / product / stock+price / trade action. */
.trade-grid.list-view { display: grid; grid-template-columns: 1fr; gap: 12px; }
.trade-grid.list-view .trade-card {
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  min-height: 172px;
  overflow: hidden;
}
.trade-grid.list-view .trade-photo {
  height: 100%;
  min-height: 172px;
  border-radius: 0;
}
.trade-grid.list-view .trade-photo img { width: 100%; height: 100%; object-fit: cover; }
.trade-grid.list-view .trade-card-body {
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) minmax(190px, .8fr) minmax(220px, .9fr);
  grid-template-rows: auto auto auto 1fr auto;
  gap: 4px 24px;
  align-items: start;
  padding: 16px 18px;
  min-width: 0;
}
.trade-grid.list-view .trade-name { grid-column: 1; grid-row: 1; align-self: end; font-size: 17px; line-height: 1.2; }
.trade-grid.list-view .assortment-card-mark { grid-column: 1; grid-row: 2; justify-self: start; }
.trade-grid.list-view .trade-subline { grid-column: 1; grid-row: 3; min-width: 0; }
.trade-grid.list-view .cut-line { grid-column: 1; grid-row: 4; margin: 2px 0 0; }
.trade-grid.list-view .trade-qty { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: start; display: grid; gap: 3px; }
.trade-grid.list-view .trade-qty span { display: flex; justify-content: space-between; gap: 12px; }
.trade-grid.list-view .trade-price { grid-column: 2; grid-row: 3 / span 2; margin: 2px 0 0; display: grid; gap: 3px; align-content: start; }
.trade-grid.list-view .trade-price strong { display: flex; align-items: baseline; gap: 3px; white-space: nowrap; }
.trade-grid.list-view .trade-price > b { display: grid; gap: 1px; white-space: nowrap; }
.trade-grid.list-view .trade-price > b::before { content: 'Весь доступный остаток'; color: var(--muted); font-size: 8px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.trade-grid.list-view .vat-line { grid-column: 2; grid-row: 5; margin: 0; align-self: end; }
.trade-grid.list-view .trade-status { grid-column: 3; grid-row: 1 / span 2; margin: 0; width: 100%; align-self: start; box-sizing: border-box; }
.trade-grid.list-view .watch-form { grid-column: 3; grid-row: 3; margin: 4px 0 0; justify-self: stretch; }
.trade-grid.list-view .watch-form .watch-link { width: 100%; }
.trade-grid.list-view .trade-action { grid-column: 3; grid-row: 4 / span 2; width: 100%; margin: 6px 0 0; align-self: end; box-sizing: border-box; text-align: center; }
.trade-grid.list-view .trade-card-body > form:not(.watch-form) { grid-column: 3; }
@media (max-width: 1120px) {
  .trade-grid.list-view .trade-card { grid-template-columns: 132px minmax(0, 1fr); }
  .trade-grid.list-view .trade-card-body { grid-template-columns: minmax(220px, 1.25fr) minmax(160px, .75fr) minmax(190px, .85fr); gap: 4px 14px; }
}
@media (max-width: 820px) {
  .trade-grid.list-view .trade-card { grid-template-columns: 110px minmax(0, 1fr); min-height: 146px; }
  .trade-grid.list-view .trade-photo { min-height: 146px; }
  .trade-grid.list-view .trade-card-body { display: flex; flex-direction: column; gap: 6px; padding: 12px; }
  .trade-grid.list-view .trade-qty, .trade-grid.list-view .trade-price { width: 100%; }
  .trade-grid.list-view .trade-status, .trade-grid.list-view .trade-action, .trade-grid.list-view .watch-form { width: 100%; }
}
.cabinet-secondary-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:-10px 0 0; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:#f8fafb; color:var(--muted); font-size:10px; }
.cabinet-secondary-actions > div { display:flex; gap:12px; flex-wrap:wrap; }
.cabinet-secondary-actions a { color:var(--brand-blue); font-weight:700; white-space:nowrap; }
@media(max-width:680px){.cabinet-secondary-actions{align-items:flex-start;flex-direction:column}.cabinet-secondary-actions>div{width:100%;justify-content:space-between}}

/* Feedback attachment: keep native accessibility, style the selector like the rest of the form. */
.feedback-form input[type="file"] { width:100%; min-height:44px; padding:5px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--muted); font-size:11px; }
.feedback-form input[type="file"]::file-selector-button { min-height:32px; margin-right:10px; padding:0 12px; border:1px solid #cbd6e1; border-radius:6px; background:#eef3f8; color:var(--brand-blue); font:inherit; font-weight:700; cursor:pointer; }
.feedback-form input[type="file"]::file-selector-button:hover { background:#e5edf5; }
.feedback-form input[type="file"]:focus-visible { outline:3px solid rgba(23,63,120,.14); outline-offset:2px; }
.personal-offer-card.scheduled { border-color:#cfddea; background:#fbfdff; }
.personal-offer-card.scheduled .personal-offer-mode { background:#eef3f8; color:var(--brand-blue); }
.assortment-quick-add { margin-top:9px; display:grid; gap:4px; }
.assortment-quick-add button { width:100%; min-height:40px; padding:8px 10px; border:1px solid #d9e2eb; border-radius:9px; background:#f8fafb; color:var(--brand-blue); font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.assortment-quick-add button:hover { background:#eef3f8; border-color:#c5d3e1; }
.assortment-quick-add small { color:var(--muted); font-size:8px; line-height:1.35; }
.pending-next-actions { display:flex; gap:9px; justify-content:center; margin-top:18px; flex-wrap:wrap; }
.pending-contact { display:flex; justify-content:center; gap:8px 14px; flex-wrap:wrap; margin-top:14px; color:var(--muted); font-size:10px; }
.pending-contact a { color:var(--brand-blue); font-weight:650; }
@media(max-width:520px){.pending-next-actions{display:grid}.pending-next-actions .btn{width:100%}}

/* === Verified buyer onboarding: account access before trade approval === */
.pending-access-banner {
  margin: 0 0 16px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #d9e2eb;
  border-radius: 11px;
  background: #f7f9fc;
}
.pending-access-banner > div { min-width: 0; display: grid; gap: 3px; }
.pending-access-banner b { color: #173f78; font-size: 12px; }
.pending-access-banner span { color: #637287; font-size: 10px; line-height: 1.5; }
.pending-access-banner .btn { flex: 0 0 auto; }
.cabinet-pending-banner { margin-top: 12px; margin-bottom: 14px; }
.pending-trade-panel {
  display: grid;
  gap: 9px;
  padding: 13px;
  border: 1px solid #d9e2eb;
  border-radius: 10px;
  background: #f7f9fc;
}
.pending-trade-panel > b { color: #173f78; font-size: 12px; line-height: 1.3; }
.pending-trade-panel > span { color: #627187; font-size: 10px; line-height: 1.5; }
.pending-intent-form { display: grid; gap: 8px; margin: 2px 0 0; }
.pending-intent-form label { display: grid; gap: 5px; color: #4f6075; font-size: 9px; font-weight: 700; }
.pending-intent-form .package-stepper { width: 100%; }
.pending-intent-form .package-stepper input { min-width: 0; width: 100%; }
.pending-intent-submit { width: 100%; border: 0; cursor: pointer; }
.pending-intent-saved { display: grid; gap: 2px; padding: 8px 9px; border-radius: 8px; background: #eaf5ed; }
.pending-intent-saved strong { color: #2f7a4b; font-size: 10px; }
.pending-intent-saved small, .pending-no-reserve { color: #69788c; font-size: 8px; line-height: 1.45; }
.action-pending { background: #173f78 !important; }
.buyer-intents-block { margin-top: 14px; }
.buyer-intents-block .section-head p { margin: 3px 0 0; color: #69788c; font-size: 9px; }
.buyer-intent-list { display: grid; border-top: 1px solid #e5eaef; }
.buyer-intent-list article { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 14px; border-top: 1px solid #eef1f4; }
.buyer-intent-list article:first-child { border-top: 0; }
.buyer-intent-list article > div { min-width: 0; display: grid; gap: 3px; }
.buyer-intent-list article > div:last-child { justify-items: end; }
.buyer-intent-list small, .buyer-intent-list span { color: #69788c; font-size: 9px; }
.buyer-intent-list b { color: #263950; font-size: 11px; }
.buyer-intent-list a { color: #173f78; font-size: 9px; font-weight: 750; }
.buyer-hot-intent { display: grid; gap: 2px; margin-top: 6px; padding: 6px 7px; border: 1px solid #efd4ac; border-radius: 7px; background: #fff9ee; text-decoration: none; }
.buyer-hot-intent b { color: #8a5e15; font-size: 9px; }
.buyer-hot-intent span { color: #7c6a4b; font-size: 8px; line-height: 1.35; }
.buyer-intents-manager { scroll-margin-top: 90px; }
.profile-pending-note { margin-top: 10px; padding: 10px 11px; display: grid; gap: 3px; border-radius: 8px; background: #f5f8fc; }
.profile-pending-note b { color: #173f78; font-size: 10px; }
.profile-pending-note span { color: #69788c; font-size: 9px; line-height: 1.45; }
@media (max-width: 680px) {
  .pending-access-banner { align-items: stretch; flex-direction: column; }
  .pending-access-banner .btn { width: 100%; text-align: center; }
  .buyer-intent-list article { align-items: flex-start; flex-direction: column; }
  .buyer-intent-list article > div:last-child { justify-items: start; }
}
.onboarding-status-form select { width: 100%; min-height: 38px; border: 1px solid #d9e0e7; border-radius: 7px; background: #fff; padding: 7px 9px; color: #263950; }
.onboarding-needs_info { background: #fff7df !important; color: #8a6518 !important; }
.onboarding-ready { background: #eaf5ed !important; color: #2f7a4b !important; }

/* Public acquisition: registration is primary, existing-buyer login stays explicit. */
.public-lot-actions { display: grid; gap: 6px; }
.public-lot-login, .public-existing-login { display: block; text-align: center; color: var(--brand-blue); font-size: 11px; font-weight: 700; text-decoration: none; }
.public-lot-login:hover, .public-existing-login:hover { text-decoration: underline; }
.public-acquisition-panel { display: grid; gap: 9px; }

/* Standalone stock custody + manual ERP handoff */
.standalone-mode-banner{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin:0 0 18px;padding:16px 18px;border:1px solid #d8e1ea;border-radius:12px;background:#fff}.standalone-mode-banner b{min-width:260px;color:#173f78}.standalone-mode-banner span{color:#5f6f82;line-height:1.45}.standalone-mode-banner.active{border-color:#b9d7c3;background:#f3faf5}.standalone-mode-banner.inactive{border-color:#ead7a8;background:#fffaf0}.stock-kpi-grid,.handoff-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.platform-stock-form{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:14px;align-items:end}.platform-stock-form label{display:flex;flex-direction:column;gap:6px}.platform-stock-form .wide{grid-column:1/-1}.platform-stock-form input,.platform-stock-form select,.platform-stock-form textarea,.stock-return-form input,.handoff-action-form input,.handoff-action-form select{width:100%;border:1px solid #cfd9e3;border-radius:8px;padding:10px 11px;background:#fff;color:#16263d}.platform-stock-confirm{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-top:4px}.platform-stock-confirm span{color:#64758a;max-width:760px}.platform-stock-table td,.stock-movement-table td,.manual-erp-table td{vertical-align:top}.platform-stock-table td small,.stock-movement-table td small,.manual-erp-table td small{display:block;margin-top:4px;color:#6b7b8f}.stock-return-form{display:grid;grid-template-columns:72px minmax(170px,1fr) auto;gap:7px;align-items:center;min-width:340px}.row-danger{background:#fff2f2}.row-muted{opacity:.72}.manager-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.manager-filter-tabs a{padding:8px 12px;border:1px solid #d5dee7;border-radius:8px;background:#fff;text-decoration:none;color:#31465f}.manager-filter-tabs a.active{background:#173f78;border-color:#173f78;color:#fff}.handoff-action-form{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(180px,1.4fr) auto;gap:7px;align-items:center;min-width:430px}.manual-erp-table .status-chip{display:inline-flex}.head-actions{display:flex;gap:8px;align-items:center}.muted{color:#8090a3}.manager-stock-page,.manual-erp-page{padding-bottom:36px}
@media(max-width:1100px){.platform-stock-form{grid-template-columns:1fr 1fr}.platform-stock-form .wide{grid-column:1/-1}.stock-kpi-grid,.handoff-kpi-grid{grid-template-columns:1fr}.standalone-mode-banner{flex-direction:column;gap:8px}.standalone-mode-banner b{min-width:0}}
@media(max-width:720px){.platform-stock-form{grid-template-columns:1fr}.platform-stock-form .wide{grid-column:auto}.platform-stock-confirm{align-items:stretch;flex-direction:column}.head-actions{align-items:stretch;flex-direction:column}.stock-return-form,.handoff-action-form{min-width:280px;grid-template-columns:1fr}.manager-filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.manager-filter-tabs a{white-space:nowrap}}

.standalone-global-bar{border-top:1px solid #bfdac7;border-bottom:1px solid #bfdac7;background:#edf8f0}.standalone-global-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0}.standalone-global-bar-inner div{display:flex;align-items:baseline;gap:12px;min-width:0}.standalone-global-bar-inner b{color:#215f3a;font-size:12px}.standalone-global-bar-inner span{color:#536b5d;font-size:11px}.standalone-global-bar-inner a{white-space:nowrap;color:#174d2c;font-size:11px;font-weight:700;text-decoration:none}@media(max-width:760px){.standalone-global-bar-inner,.standalone-global-bar-inner div{align-items:flex-start;flex-direction:column;gap:4px}.standalone-global-bar-inner{padding:9px 12px}}


/* Demo readiness 06.09.2026 — buyer catalogue scale and list readability */
@media (min-width: 1280px) {
  .lots-page > .shell { width: min(1440px, calc(100% - 56px)); }
}
.trade-grid.list-view .trade-card {
  grid-template-columns: 176px minmax(0, 1fr);
  min-height: 188px;
}
.trade-grid.list-view .trade-photo { min-height: 188px; }
.trade-grid.list-view .trade-card-body {
  grid-template-columns: minmax(300px, 1.25fr) minmax(230px, .82fr) minmax(240px, .82fr);
  grid-template-rows: auto auto auto 1fr auto;
  gap: 7px 26px;
  padding: 20px 22px;
}
.trade-grid.list-view .trade-name { font-size: 20px; line-height: 1.18; }
.trade-grid.list-view .trade-subline,
.trade-grid.list-view .cut-line { font-size: 13px; line-height: 1.45; }
.trade-grid.list-view .trade-qty {
  display: grid;
  gap: 5px;
  padding: 0;
  border: 0;
  font-size: 14px;
}
.trade-grid.list-view .trade-qty .trade-available-label {
  display: block;
  color: #758397;
  font-size: 12px;
  font-weight: 650;
}
.trade-grid.list-view .trade-qty .trade-available-value {
  display: block;
  color: #314258;
  font-size: 15px;
  white-space: nowrap;
}
.trade-grid.list-view .trade-qty .trade-available-value b { font-size: 17px; }
.trade-grid.list-view .trade-price { gap: 7px; padding: 0; }
.trade-grid.list-view .trade-price strong { font-size: 28px; line-height: 1.05; }
.trade-grid.list-view .trade-price strong small { font-size: 13px; }
.trade-grid.list-view .trade-full-value { align-items: flex-start; text-align: left; gap: 2px; }
.trade-grid.list-view .trade-full-value small { font-size: 12px; line-height: 1.25; }
.trade-grid.list-view .trade-full-value b { font-size: 14px; }
.trade-grid.list-view .trade-price > b::before { content: none; }
.trade-grid.list-view .vat-line { font-size: 12px; line-height: 1.35; }
.trade-grid.list-view .trade-status {
  min-height: 52px;
  padding: 11px 13px;
  font-size: 13px;
  line-height: 1.25;
}
.trade-grid.list-view .trade-status b { font-size: 13px; }
.trade-grid.list-view .watch-link { min-height: 38px; font-size: 12px; }
.trade-grid.list-view .trade-action {
  min-height: 48px;
  margin-top: 5px;
  padding: 0 14px;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
}
.trade-grid.list-view .public-lot-actions {
  grid-column: 3;
  grid-row: 3 / span 3;
  align-self: end;
  width: 100%;
  gap: 9px;
}
.trade-grid.list-view .public-lot-actions .trade-action { margin: 0; }
.trade-grid.list-view .public-lot-login { font-size: 12px; line-height: 1.3; }
.trade-grid.list-view .public-trade-card .trade-card-body {
  grid-template-columns: minmax(320px, 1.3fr) minmax(180px, .55fr) minmax(220px, .7fr) minmax(220px, .7fr);
  grid-template-rows: auto auto 1fr auto;
}
.trade-grid.list-view .public-trade-card .trade-name { grid-column: 1; grid-row: 1; }
.trade-grid.list-view .public-trade-card .trade-subline { grid-column: 1; grid-row: 2; }
.trade-grid.list-view .public-trade-card .trade-price { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.trade-grid.list-view .public-trade-card .vat-line { grid-column: 2; grid-row: 3; align-self: start; }
.trade-grid.list-view .public-trade-card .trade-status { grid-column: 3; grid-row: 1 / span 3; align-self: center; }
.trade-grid.list-view .public-trade-card .public-lot-actions { grid-column: 4; grid-row: 1 / span 3; align-self: center; }

/* Personalized shelf should not look like a miniature ad strip. */
.for-you-head p,
.for-you-head > a { font-size: 12px; }
.for-you-grid { gap: 12px; }
.for-you-card { grid-template-columns: 112px minmax(0,1fr); min-height: 132px; }
.for-you-card-body { padding: 11px 12px 10px; }
.for-you-reasons { gap: 5px; min-height: 22px; }
.for-you-reasons span { padding: 3px 7px; font-size: 10px; }
.for-you-name { margin-top: 7px; font-size: 14px; line-height: 1.25; }
.for-you-line { margin-top: 4px; font-size: 12px; }
.for-you-bottom { padding-top: 8px; }
.for-you-bottom strong { font-size: 18px; }
.for-you-bottom strong small { font-size: 11px; }
.for-you-bottom a { font-size: 12px; }
.access-profile-link b { font-size: 14px; }
.access-profile-link small { font-size: 11px; }

@media (max-width: 1240px) {
  .trade-grid.list-view .trade-card { grid-template-columns: 148px minmax(0, 1fr); }
  .trade-grid.list-view .trade-card-body { grid-template-columns: minmax(230px,1.1fr) minmax(190px,.8fr) minmax(210px,.85fr); gap: 6px 16px; }
  .trade-grid.list-view .public-trade-card .trade-card-body { grid-template-columns: minmax(240px,1.2fr) minmax(150px,.65fr) minmax(180px,.78fr) minmax(190px,.82fr); }
}
@media (max-width: 980px) {
  .trade-grid.list-view .public-trade-card .trade-card-body { display: flex; flex-direction: column; }
  .trade-grid.list-view .public-trade-card .public-lot-actions { width: 100%; }
}
@media (max-width: 820px) {
  .trade-grid.list-view .trade-name { font-size: 18px; }
  .trade-grid.list-view .trade-subline,
  .trade-grid.list-view .cut-line { font-size: 12px; }
  .trade-grid.list-view .trade-price strong { font-size: 24px; }
  .trade-grid.list-view .trade-status { min-height: 44px; }
  .for-you-card { grid-template-columns: 104px minmax(0,1fr); }
}


/* Mobile catalogue containment: no document-level horizontal overflow. */
@media (max-width: 720px) {
  .lots-page > .shell { width: min(100% - 24px, 100%); }
  .trade-toolbar {
    grid-template-columns: minmax(0,1fr) !important;
    width: 100%;
    box-sizing: border-box;
  }
  .trade-toolbar > *,
  .trade-toolbar input,
  .trade-toolbar select,
  .toolbar-search,
  .view-switch { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; grid-column: 1 !important; }
  .main-nav { min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; }
  .buyer-notification-link { flex: 0 0 auto; }
}

/* Grid cards use the same readable buyer typography as list view. */
.trade-grid:not(.list-view) .trade-name { font-size: 19px; }
.trade-grid:not(.list-view) .trade-subline,
.trade-grid:not(.list-view) .cut-line { font-size: 12px; line-height: 1.4; }
.trade-grid:not(.list-view) .trade-qty { font-size: 13px; }
.trade-grid:not(.list-view) .trade-price strong { font-size: 24px; }
.trade-grid:not(.list-view) .trade-price strong small { font-size: 12px; }
.trade-grid:not(.list-view) .trade-full-value small { font-size: 10px; }
.trade-grid:not(.list-view) .trade-full-value b { font-size: 13px; }
.trade-grid:not(.list-view) .vat-line { font-size: 11px; }
.trade-grid:not(.list-view) .trade-status,
.trade-grid:not(.list-view) .trade-status b { font-size: 12px; }
.trade-grid:not(.list-view) .trade-action { font-size: 13px; text-transform: none; letter-spacing: 0; }

/* Demo readiness — lot detail hierarchy and pickup/contact readability. */
.detail-product-heading { display: grid; gap: 4px; min-width: 0; }
.detail-product-heading h1 { margin: 0; font-size: 34px; line-height: 1.06; letter-spacing: -.025em; }
.detail-product-heading > span { color: #69788c; font-size: 13px; font-weight: 650; }
.lot-info-card > h2 { font-size: 18px; color: #4b5d73; }
.pickup-trust-card {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 14px;
}
.pickup-trust-card > div {
  padding-bottom: 10px;
  border-bottom: 1px solid #e4e9ee;
}
.pickup-trust-card > div:last-child { padding-bottom: 0; border-bottom: 0; }
.pickup-trust-card small { margin-bottom: 4px; font-size: 11px; }
.pickup-trust-card b { font-size: 13px; line-height: 1.4; }
.pickup-trust-card span,
.pickup-trust-card a { margin-top: 3px; font-size: 12px; line-height: 1.45; overflow-wrap: normal; word-break: normal; }
.pickup-trust-card a { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .detail-product-heading h1 { font-size: 28px; }
  .detail-product-heading > span { font-size: 12px; }
}

/* Demo readiness — buyer cabinet and notifications typography. */
.cabinet-card small,
.cabinet-card span { font-size: 12px; line-height: 1.4; }
.cabinet-card b { font-size: 14px; }
.cabinet-card a,
.cabinet-status { font-size: 12px; }
.cabinet-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.cabinet-tabs a { flex: 0 0 auto; min-height: 44px; padding: 0 15px; font-size: 12px; }
.cabinet-secondary-actions { font-size: 12px; line-height: 1.4; }
.notifications-head p,
.notification-settings > p { font-size: 12px; line-height: 1.5; }
.notification-item { gap: 12px; padding: 15px 6px; }
.notification-meta { font-size: 12px; }
.notification-copy > b { margin-top: 5px; font-size: 15px; line-height: 1.3; }
.notification-copy > p { margin-top: 5px; font-size: 13px; line-height: 1.5; }
.notification-actions { margin-top: 9px; font-size: 12px; }
.notification-settings-form { gap: 10px; }
.notification-settings-form > label { grid-template-columns: 20px 1fr; gap: 10px; padding: 11px; }
.notification-settings-form b { font-size: 13px; }
.notification-settings-form small { margin-top: 3px; font-size: 12px; line-height: 1.45; }
.profile-pending-note { padding: 12px 13px; gap: 5px; }
.profile-pending-note b { font-size: 13px; }
.profile-pending-note span { font-size: 12px; line-height: 1.5; }
@media (max-width: 680px) {
  .notification-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .cabinet-tabs { margin-left: -12px; margin-right: -12px; padding: 0 12px; }
}

/* Cabinet grid children must not force the mobile page to their min-content width. */
.cabinet-sections { min-width: 0; }
.cabinet-sections > *,
.cabinet-sections .cabinet-block,
.cabinet-sections .section-head,
.cabinet-sections .cabinet-grid,
.cabinet-sections .orders-list,
.cabinet-sections .table-wrap,
.cabinet-sections .assortment-criteria-add,
.cabinet-sections .assortment-criteria-form { min-width: 0; max-width: 100%; box-sizing: border-box; }
.cabinet-sections .table-wrap { overflow-x: auto; }
.cabinet-sections .assortment-criteria-form input,
.cabinet-sections .assortment-criteria-form select { min-width: 0; }
@media (max-width: 680px) {
  .cabinet-overview,
  .cabinet-secondary-actions { width: 100%; max-width: 100%; box-sizing: border-box; }
  .cabinet-tabs { width: 100%; max-width: 100%; box-sizing: border-box; }
}

/* Demo readiness — manager dashboard: fewer layers, readable operational text. */
.manager-live-kpis-primary { margin-top: 4px; margin-bottom: 14px; }
.manager-live-kpis small { font-size: 11px; line-height: 1.3; text-transform: none; letter-spacing: 0; font-weight: 650; }
.manager-live-kpis span { font-size: 11px; line-height: 1.35; }
.manager-live-kpis strong { font-size: 23px; }
.manager-attention-center { margin-top: 12px; }
.manager-attention-center .block-subtitle { font-size: 12px; line-height: 1.45; }
.attention-row { padding: 12px 13px; }
.attention-copy b { font-size: 13px; }
.attention-copy small { font-size: 11px; line-height: 1.45; }
.attention-row > strong { font-size: 11px; }
.session-kpis small { font-size: 11px; }
.session-kpis b { font-size: 13px; }
.manager-current-session-head small,
.manager-current-session-head span { font-size: 11px; line-height: 1.4; }
@media (max-width: 600px) {
  .manager-live-kpis > a { min-height: 76px; }
  .attention-row { grid-template-columns: 36px minmax(0,1fr); }
}

/* Demo readiness — compact manager navigation. */
.manager-nav-more { position: relative; flex: 0 0 auto; }
.manager-nav-more > summary {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 8px;
  color: #4e5e72;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}
.manager-nav-more > summary::-webkit-details-marker { display: none; }
.manager-nav-more > summary::after { content: '⌄'; color: #8290a2; font-size: 11px; }
.manager-nav-more > summary:hover,
.manager-nav-more.active > summary,
.manager-nav-more[open] > summary { background: #eef3f8; color: #173f78; }
.manager-nav-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 7px);
  right: 0;
  width: 220px;
  display: grid;
  padding: 7px;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(22,38,61,.14);
}
.main-nav .manager-nav-menu a {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 7px;
  font-size: 12px;
  text-align: left;
}
.manager-nav-menu-divider { height: 1px; margin: 5px 7px; background: #e5e9ee; }
@media (max-width: 900px) {
  .manager-nav-more > summary { min-height: 34px; padding: 0 9px; font-size: 12px; }
  .manager-nav-menu { position: fixed; top: 112px; right: 12px; left: 12px; width: auto; }
}
