:root { color-scheme:light; --bg:#f6f5f2; --surface:#fff; --surface-soft:#fbfaf8; --text:#252525; --muted:#6e6b67; --line:#e3e0da; --line-strong:#d5d0c8; --brand:#d71920; --brand-dark:#ad1016; --brand-soft:#fff0f0; --gold:#b78b3a; --gold-soft:#f4ead7; --logo-red:#d71920; --sidebar-width:246px; }
* { box-sizing:border-box; } body { margin:0; font-family:Inter,Segoe UI,sans-serif; color:var(--text); background:var(--bg); }
a { color:var(--brand); text-decoration:none; } button,input { font:inherit; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); transition:grid-template-columns .2s ease; }
.app-shell.sidebar-hidden { grid-template-columns:0 minmax(0,1fr); }
.sidebar { min-width:var(--sidebar-width); background:var(--surface); border-right:1px solid var(--line); padding:16px; overflow:hidden; transition:transform .2s ease,visibility .2s ease; }
.sidebar-hidden .sidebar { transform:translateX(-100%); visibility:hidden; }
.sidebar-controls { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:30px; margin-bottom:12px; }.sidebar-control,.sidebar-close,.sidebar-toggle { border:1px solid var(--line); background:var(--surface); color:var(--muted); border-radius:7px; cursor:pointer; }.sidebar-control { padding:5px 8px; font-size:12px; }.sidebar-control.active { color:var(--brand); background:var(--brand-soft); }.sidebar-close { width:30px; height:30px; font-size:20px; line-height:1; }.sidebar-toggle { width:38px; height:38px; font-size:20px; flex:0 0 auto; }
.brand { display:grid; justify-items:center; gap:10px; color:var(--logo-red); font-size:20px; font-weight:700; margin:0 0 24px; text-align:center; }.brand:hover { color:#bc0f1d; }.brand-logo { display:block; width:112px; height:76px; object-fit:contain; border-radius:10px; }.brand-name { color:inherit; }
.sidebar nav { display:grid; gap:5px; }.sidebar nav a,.sidebar nav span { padding:10px 12px; border-radius:8px; color:var(--muted); }.sidebar nav .active { background:var(--brand-soft); color:var(--text); font-weight:600; }
.page { min-width:0; padding:24px 28px 28px; }.topbar { min-height:42px; display:flex; justify-content:space-between; align-items:center; gap:24px; }.topbar-start { display:flex; align-items:center; gap:14px; min-width:0; }.topbar h1 { margin:0; font-size:24px; }.user-menu { display:flex; gap:14px; align-items:center; color:var(--muted); }.user-menu form { margin:0; }.user-menu button { border:0; background:none; color:var(--brand); cursor:pointer; }
.workspace-nav { display:flex; align-items:center; gap:24px; margin:16px 0 20px; padding:12px 16px; background:var(--surface); border:1px solid var(--line); border-radius:11px; }.workspace-nav strong { font-size:17px; }.workspace-nav div { display:flex; gap:6px; flex-wrap:wrap; }.workspace-nav a { padding:8px 13px; color:var(--muted); border-radius:8px; }.workspace-nav a.active { color:var(--text); background:var(--brand-soft); font-weight:600; }
.stage-pipeline { margin:12px 0 20px; padding:14px 16px; background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow-x:auto; }.stage-pipeline__title { margin-bottom:10px; color:var(--muted); font-size:13px; font-weight:600; }.stage-pipeline__steps { display:flex; align-items:stretch; min-width:max-content; }.stage-pipeline__steps form { margin:0; display:flex; }.stage-step { position:relative; display:flex; align-items:center; justify-content:center; min-width:130px; min-height:42px; padding:9px 24px 9px 30px; border:0; background:#edf1ee; color:var(--muted); font:inherit; cursor:default; clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%); }.stage-pipeline__steps>*:first-child .stage-step,.stage-pipeline__steps>.stage-step:first-child { padding-left:18px; clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%); }.stage-pipeline form .stage-step { cursor:pointer; }.stage-pipeline form .stage-step:hover { background:#dcebe2; color:var(--text); }.stage-step.active { background:var(--brand); color:#fff; font-weight:700; }
.metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:28px 0; }.metrics article,.empty-state,.auth-card { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:20px; }.metrics strong { display:block; font-size:28px; }.metrics span { color:var(--muted); }
.panel p>a,.panel p>small { display:block; }.panel p>small { margin-top:4px; color:var(--muted); }
.empty-state h2 { margin-top:0; }.empty-state p { color:var(--muted); }.auth-page { grid-column:1 / -1; display:grid; place-items:center; }.auth-card { width:min(420px,100%); }.auth-card h1 { margin-top:0; }.auth-card label { display:grid; gap:6px; margin:16px 0; }.auth-card input { width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; }.primary { width:100%; padding:11px; border:0; border-radius:8px; background:var(--brand); color:#fff; margin:4px 0 16px; cursor:pointer; }.error { color:#ad3232; }
.toolbar,.section-head,.detail-actions,.form-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:18px 0; }.tabs { display:flex; gap:6px; }.tabs a { padding:8px 12px; border-radius:8px; color:var(--muted); }.tabs .active { background:var(--brand-soft); color:var(--text); }.button,.search button,.add-row { display:inline-block; border:1px solid var(--line); background:var(--surface); color:var(--text); border-radius:8px; padding:9px 13px; cursor:pointer; }.primary-inline { background:var(--brand); border-color:var(--brand); color:#fff; }.search { display:flex; max-width:620px; margin:16px 0; }.search input { flex:1; padding:10px 12px; border:1px solid var(--line); border-radius:8px 0 0 8px; }.search button { border-radius:0 8px 8px 0; }.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; background:var(--surface); }th,td { text-align:left; padding:12px; border-bottom:1px solid var(--line); vertical-align:top; }th { color:var(--muted); font-weight:600; }td small { display:block; color:var(--muted); margin-top:4px; }.pagination { display:flex; justify-content:center; gap:14px; margin:18px; }.back,.muted { color:var(--muted); }.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.panel { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:20px; margin:16px 0; }.panel h2 { margin-top:0; font-size:18px; }dl { display:grid; grid-template-columns:minmax(130px,.4fr) 1fr; gap:10px 16px; }dt { color:var(--muted); }dd { margin:0; }.tag { background:var(--brand-soft); color:var(--brand); padding:3px 6px; border-radius:5px; font-size:12px; }.documents { display:grid; grid-template-columns:1fr auto; gap:8px 16px; }.document-form { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }.entity-form { max-width:900px; }.entity-form p { display:grid; gap:5px; }.entity-form input:not([type=checkbox]),.entity-form select,.entity-form textarea { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; }.entity-form select[multiple] { min-height:130px; }.repeatable { display:grid; gap:10px; }.repeatable-row { display:grid; grid-template-columns:2fr 1fr auto auto; gap:10px; border-bottom:1px solid var(--line); }.repeatable-row p { margin:5px 0; }.add-row { margin-top:12px; }
.actions { display:flex; gap:8px; }.lead-filters { max-width:900px; }.lead-filters select { border:1px solid var(--line); padding:8px; }.notice { background:var(--brand-soft); color:var(--brand); padding:12px; border-radius:8px; }.error-list { color:#ad3232; border-left:3px solid #ad3232; padding-left:12px; }.invalid-row { background:#fff1f1; }.import-confirm { border-top:1px solid var(--line); margin-top:18px; padding-top:16px; }
.deal-filters { max-width:none; }.deal-filters select,.kanban-filter select { border:1px solid var(--line); padding:9px; background:var(--surface); }.kanban-filter { margin:16px 0; }.kanban-filter label { display:flex; gap:8px; align-items:center; }.kanban-board { display:flex; gap:14px; overflow-x:auto; align-items:flex-start; padding-bottom:16px; }.kanban-column { width:290px; min-width:290px; background:#edf1ee; border-radius:12px; padding:12px; }.kanban-column>header { display:flex; justify-content:space-between; margin-bottom:12px; }.kanban-column>header span { color:var(--muted); }.kanban-cards { display:grid; gap:10px; }.deal-card { display:grid; gap:7px; background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:9px; padding:12px; }.deal-card span,.deal-card small { color:var(--muted); }.deal-card b { color:var(--brand); }
.catalog-filters { max-width:none; }.catalog-filters select { border:1px solid var(--line); padding:9px; background:var(--surface); }
.link-button { border:0; padding:0; background:none; color:#ad3232; cursor:pointer; }.actions form { margin:0; }tfoot th { color:var(--text); }
.contract-filters { max-width:none; }.contract-filters select { border:1px solid var(--line); padding:9px; background:var(--surface); }
.activity-filters { max-width:none; }.activity-filters select { border:1px solid var(--line); padding:9px; background:var(--surface); }.danger { color:#ad3232; }.danger-tag { background:#fff0f0; color:#ad3232; }.overdue-row { background:#fff8f8; }.notification-badge { display:inline-block; min-width:20px; padding:2px 6px; border-radius:10px; background:#ad3232; color:#fff; text-align:center; font-size:12px; }.activity-timeline { display:grid; gap:8px; }.activity-timeline article,.notification-list article { display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); padding:10px 0; }.activity-timeline article:last-child,.notification-list article:last-child { border-bottom:0; }.activity-timeline small,.notification-list small { display:block; color:var(--muted); margin-top:4px; }.activity-timeline .overdue { border-left:3px solid #ad3232; padding-left:10px; }.notification-list .unread { background:var(--brand-soft); padding:12px; border-radius:8px; }.notification-list form { margin:auto 0; }
.warning { color:#9a5a08; }
.activity-row--completed,.dashboard-task.activity-row--completed { background:#eef8f0; }
.activity-row--cancelled,.dashboard-task.activity-row--cancelled { background:#fdeeee; }
.activity-row--overdue,.dashboard-task.activity-row--overdue { background:#fff0f0; }
.activity-row--tomorrow,.dashboard-task.activity-row--tomorrow { background:#fff5df; }
.activity-row--completed td:not(.row-check),.activity-row--cancelled td:not(.row-check),.dashboard-task.activity-row--completed,.dashboard-task.activity-row--cancelled { text-decoration:line-through; }
tbody tr.activity-row--completed:hover { background:#e5f4e8; }
tbody tr.activity-row--cancelled:hover,tbody tr.activity-row--overdue:hover { background:#fde7e7; }
tbody tr.activity-row--tomorrow:hover { background:#ffefd0; }
.dashboard-task { margin:6px -8px; padding:9px 10px; border-radius:6px; }
.smart-select { position:relative; width:100%; }
.smart-select__source { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; opacity:0; pointer-events:none; }
.smart-select__toggle { width:100%; min-height:42px; padding:9px 38px 9px 11px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; color:var(--text); text-align:left; cursor:pointer; }
.smart-select__toggle::after { content:"⌄"; position:absolute; right:13px; font-size:18px; color:var(--muted); }
.smart-select__selected { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.smart-select__chip { padding:4px 8px; border:1px solid #edc7c8; border-radius:14px; background:#fff5f5; color:var(--brand-dark); cursor:pointer; }
.smart-select__popup { position:absolute; z-index:30; top:calc(100% + 6px); right:0; left:0; padding:10px; border:1px solid var(--line-strong); border-radius:7px; background:#fff; box-shadow:0 12px 28px rgba(42,32,22,.16); }
.smart-select__search { box-sizing:border-box; width:100%; margin-bottom:8px; padding:9px 10px; border:1px solid var(--line-strong); border-radius:6px; }
.smart-select__options { max-height:230px; overflow-y:auto; }
.smart-select__option { display:block; width:100%; padding:9px 10px; border:0; border-radius:5px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.smart-select__option:hover,.smart-select__option.selected { background:var(--brand-soft); color:var(--brand-dark); }
.smart-select__clear { margin-top:8px; padding:6px 0; border:0; background:transparent; color:var(--brand); cursor:pointer; }
.smart-select__empty { display:block; padding:9px 10px; color:var(--muted); }
@media(max-width:720px) { :root { --sidebar-width:210px; }.app-shell,.app-shell:not(.sidebar-hidden) { grid-template-columns:0 minmax(0,1fr); }.sidebar { position:fixed; z-index:20; inset:0 auto 0 0; width:var(--sidebar-width); box-shadow:8px 0 24px rgba(20,40,28,.12); }.page { padding:16px; }.metrics { grid-template-columns:1fr; }.topbar { align-items:flex-start; }.user-menu>span { display:none; }.workspace-nav { align-items:flex-start; flex-direction:column; gap:8px; } }
@media(max-width:720px) { .detail-grid { grid-template-columns:1fr; }.repeatable-row { grid-template-columns:1fr; }.toolbar { align-items:flex-start; flex-direction:column; }dl { grid-template-columns:1fr; }.documents { grid-template-columns:1fr; } }

/* Утверждённая корпоративная дизайн-система КФ «Азовчанка». */
body { background:var(--bg); color:var(--text); font-size:15px; line-height:1.45; }
a { color:#9f151a; transition:color .15s ease,background-color .15s ease,border-color .15s ease; }
a:hover { color:var(--brand); }
.sidebar { background:rgba(255,255,255,.98); border-right:1px solid var(--line); padding:18px 16px 22px; box-shadow:5px 0 20px rgba(42,32,22,.025); }
.sidebar-controls { margin-bottom:8px; }
.sidebar-control,.sidebar-close,.sidebar-toggle { border-color:var(--line-strong); background:#fff; color:#77726c; box-shadow:0 1px 2px rgba(42,32,22,.04); }
.sidebar-control.active { color:var(--brand-dark); background:var(--brand-soft); border-color:#f3c9ca; }
.sidebar-control:hover,.sidebar-close:hover,.sidebar-toggle:hover { color:var(--brand); border-color:#e7aeb0; background:#fffafa; }
.brand { gap:5px; margin:2px 0 25px; padding:4px 2px 15px; color:var(--text); border-bottom:1px solid var(--gold-soft); }
.brand:hover { color:var(--text); }
.brand-logo { width:132px; height:132px; border-radius:0; object-fit:contain; }
.brand-name { margin-top:3px; color:var(--text); font-size:18px; font-weight:700; letter-spacing:.01em; }
.brand-subtitle { color:var(--muted); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.sidebar nav { gap:4px; }
.sidebar nav a,.sidebar nav span { position:relative; min-height:43px; display:flex; align-items:center; padding:11px 12px 11px 14px; border-radius:7px; color:#514f4c; }
.sidebar nav a:hover { color:var(--brand-dark); background:#fff7f7; }
.sidebar nav .active { color:var(--brand-dark); background:var(--brand-soft); font-weight:700; }
.sidebar nav .active::before { content:""; position:absolute; inset:7px auto 7px 0; width:3px; border-radius:0 3px 3px 0; background:var(--brand); }
.page { padding:20px 28px 32px; }
.topbar { min-height:54px; padding:0 0 13px; border-bottom:1px solid var(--gold-soft); }
.topbar h1 { font-size:25px; letter-spacing:-.015em; }
.user-menu { gap:16px; color:var(--muted); font-size:14px; }
.user-menu a,.user-menu button { color:#7e181c; }
.workspace-nav { margin:17px 0 22px; padding:0 4px; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; gap:26px; }
.workspace-nav strong { padding:12px 8px 13px; font-size:19px; }
.workspace-nav div { gap:12px; }
.workspace-nav a { position:relative; padding:13px 14px 14px; border-radius:0; color:#5d5955; }
.workspace-nav a:hover { color:var(--brand-dark); background:transparent; }
.workspace-nav a.active { color:var(--brand); background:transparent; font-weight:700; }
.workspace-nav a.active::after { content:""; position:absolute; right:10px; bottom:-1px; left:10px; height:2px; background:var(--brand); }
.metrics { gap:16px; margin:22px 0; }
.metrics article,.empty-state,.auth-card { border-color:var(--line); border-radius:9px; box-shadow:0 3px 12px rgba(42,32,22,.035); }
.metrics article { position:relative; padding:20px 21px; overflow:hidden; }
.metrics article::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--brand); }
.metrics strong { font-size:29px; letter-spacing:-.02em; }
.metrics span { color:var(--muted); }
.panel { border-color:var(--line); border-radius:9px; padding:21px; box-shadow:0 3px 12px rgba(42,32,22,.03); }
.panel h2 { font-size:18px; letter-spacing:-.01em; }
.toolbar,.section-head,.detail-actions,.form-actions { margin:18px 0; }
.tabs { gap:12px; border-bottom:1px solid var(--line); }
.tabs a { position:relative; padding:9px 12px 11px; border-radius:0; color:#65615d; }
.tabs a:hover { color:var(--brand-dark); }
.tabs .active { color:var(--brand); background:transparent; font-weight:700; }
.tabs .active::after { content:""; position:absolute; right:8px; bottom:-1px; left:8px; height:2px; background:var(--brand); }
.button,.search button,.add-row { border-color:var(--line-strong); border-radius:6px; background:#fff; color:#34312f; box-shadow:0 1px 2px rgba(42,32,22,.03); }
.button:hover,.search button:hover,.add-row:hover { color:var(--brand-dark); border-color:#e5adaf; background:#fffafa; }
.primary,.primary-inline { background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 3px 8px rgba(183,18,25,.16); }
.primary:hover,.primary-inline:hover { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
.search input,.search select,.entity-form input:not([type=checkbox]),.entity-form select,.entity-form textarea,.lead-filters select,.deal-filters select,.kanban-filter select,.catalog-filters select,.contract-filters select,.activity-filters select { border-color:var(--line-strong); border-radius:6px; background:#fff; }
.search input:focus,.search select:focus,.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus { outline:2px solid rgba(215,25,32,.12); border-color:#dd7d80; }
.search input { border-radius:6px 0 0 6px; }
.search button { border-radius:0 6px 6px 0; }
.table-wrap { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 3px 12px rgba(42,32,22,.025); }
table { background:transparent; }
th { padding:13px 14px; color:#68645f; background:#fbfaf8; font-size:13px; font-weight:700; letter-spacing:.015em; }
td { padding:13px 14px; border-bottom-color:#ebe8e3; }
tbody tr:hover { background:#fffafa; }
.tag { background:var(--brand-soft); color:var(--brand-dark); border:1px solid #f3c8ca; border-radius:4px; }
.notice { background:#fff4f4; color:#8e171b; border-left:3px solid var(--brand); }
.pagination { color:var(--muted); }
.stage-pipeline { padding:15px 16px 16px; overflow:visible; border-color:var(--line); border-radius:9px; box-shadow:0 3px 12px rgba(42,32,22,.025); }
.stage-pipeline__title { color:#65615c; letter-spacing:.02em; }
.stage-pipeline__steps { min-width:100%; }
.stage-pipeline__steps form,.stage-pipeline__steps>.stage-step { flex:1 1 0; min-width:0; }
.stage-step { width:100%; min-width:0; min-height:44px; padding:9px 18px 9px 24px; background:#f1efeb; color:#605c57; font-size:13px; line-height:1.2; white-space:normal; }
.stage-pipeline form .stage-step:hover { background:#f8dfe0; color:var(--brand-dark); }
.stage-step.active { background:var(--brand); color:#fff; }
.kanban-column { background:#eeece8; border:1px solid var(--line); border-radius:9px; }
.deal-card { border-color:var(--line); border-radius:7px; box-shadow:0 2px 7px rgba(42,32,22,.035); }
.deal-card b { color:var(--brand-dark); }
.notification-badge { background:var(--brand); }
.notification-list .unread { background:var(--brand-soft); }
.auth-page { background:linear-gradient(135deg,#faf9f6 0%,#f4f0e8 100%); }
.auth-card { border-top:3px solid var(--brand); }
@media(max-width:720px) { .brand-logo { width:112px; height:112px; }.workspace-nav { padding-bottom:4px; }.workspace-nav strong { padding-bottom:4px; }.table-wrap { overflow-x:auto; }.stage-pipeline { overflow-x:auto; }.stage-pipeline__steps { min-width:max-content; }.stage-pipeline__steps form,.stage-pipeline__steps>.stage-step { flex:0 0 auto; }.stage-step { width:auto; min-width:130px; } }

.completion-stage { position:relative; flex:1 1 0; min-width:0; }
.completion-stage summary { list-style:none; cursor:pointer; background:var(--gold); color:#fff; font-weight:700; }
.completion-stage summary::-webkit-details-marker { display:none; }
.completion-popover { position:absolute; z-index:12; right:0; top:calc(100% + 8px); width:300px; padding:15px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 28px rgba(42,32,22,.18); }
.completion-popover form { display:grid; gap:9px; margin:0 0 10px; }
.completion-popover form:last-child { margin-bottom:0; }
.completion-popover label { display:grid; gap:5px; font-size:13px; }
.completion-popover select { width:100%; padding:9px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; }
.outcome-won { background:#2e8b57!important; border-color:#2e8b57!important; color:#fff!important; }
.outcome-lost { background:#c92a2a!important; border-color:#c92a2a!important; color:#fff!important; }
.record-tabs { display:flex; gap:5px; margin:-4px 0 20px; padding:0 5px; border-bottom:1px solid var(--line); }
.record-tabs a { padding:11px 16px; color:#5f5b57; border-bottom:2px solid transparent; }
.record-tabs a.active { color:var(--brand); border-color:var(--brand); font-weight:700; }
.record-tabs span { display:inline-block; min-width:20px; margin-left:5px; padding:1px 5px; border-radius:10px; background:#f0ede8; color:var(--muted); font-size:12px; text-align:center; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
.checkbox-grid { display:flex; flex-wrap:wrap; gap:12px 24px; }
.organization-form { max-width:none; }
.organization-form table input:not([type=checkbox]),.organization-form table select { box-sizing:border-box; width:100%; min-width:92px; padding:8px; border:1px solid var(--line); border-radius:7px; }
.documents-groups + .record-tabs { margin-top:-12px; }

/* Иерархия навигации: модуль → раздел → локальная вкладка. */
.module-title { margin:0; font-size:25px; letter-spacing:-.015em; }
.marketplace-channel-nav { display:flex; align-items:center; gap:6px; min-width:0; }
.marketplace-channel-nav a { padding:9px 16px; border:1px solid transparent; border-radius:8px; color:var(--muted); font-weight:600; white-space:nowrap; }
.marketplace-channel-nav a:hover { color:var(--brand-dark); background:#faf5f1; }
.marketplace-channel-nav a.active { color:#fff; background:var(--brand); border-color:var(--brand); box-shadow:0 4px 10px rgba(211,20,31,.18); }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; margin:0 0 16px; }
.page-heading:empty { display:none; }
.page-heading h1 { margin:0; font-size:20px; }
.workspace-nav { align-items:center; padding:11px 13px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 3px 12px rgba(65,45,35,.04); }
.workspace-nav strong { padding:8px 10px; border-right:1px solid var(--line); }
.workspace-nav div { gap:8px; }
.workspace-nav a { padding:10px 17px; border:1px solid transparent; border-radius:8px; }
.workspace-nav a:hover { background:#faf5f1; }
.workspace-nav a.active { color:#fff; background:var(--brand); border-color:var(--brand); box-shadow:0 4px 10px rgba(211,20,31,.18); }
.workspace-nav a.active::after { display:none; }
.entity-tabs { display:flex; align-items:flex-end; gap:2px; margin:0; padding:0 8px; border-bottom:1px solid var(--line); }
.entity-tabs a { position:relative; bottom:-1px; padding:11px 19px; color:var(--muted); background:#f3f0ed; border:1px solid var(--line); border-radius:8px 8px 0 0; }
.entity-tabs a.active { z-index:1; color:var(--brand); background:#fff; border-bottom-color:#fff; font-weight:700; }
.toolbar > .tabs { display:flex; align-items:flex-end; gap:2px; padding:0 8px; border-bottom:1px solid var(--line); }
.toolbar > .tabs a { position:relative; bottom:-1px; padding:10px 15px; color:var(--muted); background:#f3f0ed; border:1px solid var(--line); border-radius:8px 8px 0 0; }
.toolbar > .tabs a.active { color:var(--brand); background:#fff; border-bottom-color:#fff; font-weight:700; }
.action-menu { position:relative; display:inline-block; }
.action-menu summary { width:40px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; font-size:20px; list-style:none; }
.action-menu summary::-webkit-details-marker { display:none; }
.action-menu__popover { position:absolute; z-index:12; right:0; top:44px; min-width:190px; padding:7px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 30px rgba(35,25,20,.14); }
.action-menu__popover a,.action-menu__popover button { display:block; width:100%; padding:9px 11px; color:var(--text); background:none; border:0; border-radius:7px; text-align:left; cursor:pointer; font:inherit; }
.action-menu__popover a:hover,.action-menu__popover button:hover { background:#f7f2ef; }
.action-menu__popover .danger { color:var(--brand); }
.bulk-actions { display:flex; align-items:center; gap:8px; margin:10px 0; padding:8px 10px; background:#faf8f6; border:1px solid var(--line); border-radius:9px; }
.bulk-actions .button { margin:0; }
.row-check { width:32px; text-align:center; }
.danger-card { border-left:4px solid var(--brand); }
.button-danger { color:#fff !important; background:var(--brand) !important; border-color:var(--brand) !important; }
.confirm-check { display:block; margin:18px 0; padding:12px; background:#fff5f5; border:1px solid #f0c7ca; border-radius:8px; }
.related-warning { padding:10px 14px; background:#fff9ec; border:1px solid #eadbb7; border-radius:8px; }
.related-warning li { margin:6px 0; }
.badge-warning { color:#875d00; background:#fff1c5; }
.inline-actions { display:flex; gap:6px; flex-wrap:wrap; }
.inline-actions form { margin:0; }
.comparison-table label,.choice-list label { display:block; cursor:pointer; }
.choice-list { display:grid; gap:8px; margin:14px 0; }
.choice-list label { padding:9px 11px; border:1px solid var(--line); border-radius:8px; }
.product-sheet { position:relative; }
.product-editor { display:grid; grid-template-columns:minmax(280px,2fr) repeat(3,minmax(110px,.6fr)) auto; gap:12px; align-items:end; margin:15px 0 18px; padding:15px; background:var(--surface-soft); border:1px solid var(--line); border-radius:8px; }
.product-editor[hidden] { display:none; }
.product-editor label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.product-editor input { width:100%; padding:9px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; }
.product-lookup { position:relative; }
.autocomplete-results { position:absolute; z-index:10; top:100%; right:0; left:0; max-height:300px; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:0 0 7px 7px; box-shadow:0 12px 24px rgba(42,32,22,.12); }
.autocomplete-results button { width:100%; display:block; padding:10px 12px; border:0; border-bottom:1px solid var(--line); background:#fff; color:var(--text); text-align:left; cursor:pointer; }
.autocomplete-results button:hover { background:var(--brand-soft); }
.autocomplete-results small { display:block; color:var(--muted); }
.product-editor-meta { grid-column:1/-1; min-height:18px; color:var(--muted); font-size:13px; }
.icon-button { min-width:32px; min-height:32px; padding:4px 8px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; color:var(--text); cursor:pointer; }
.bulk-dialog { width:min(1060px,92vw); max-height:86vh; padding:0; border:1px solid var(--line); border-radius:10px; box-shadow:0 24px 70px rgba(42,32,22,.24); }
.bulk-dialog::backdrop { background:rgba(35,29,25,.35); }
.dialog-head,.bulk-filters,.bulk-toolbar,.bulk-dialog .form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 18px; border-bottom:1px solid var(--line); }
.dialog-head { margin:0; }
.dialog-head h2 { margin:0; }
.bulk-filters { display:grid; grid-template-columns:2fr repeat(3,1fr) auto; }
.bulk-filters input,.bulk-filters select,.bulk-toolbar input { padding:9px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; }
.bulk-results { max-height:50vh; overflow:auto; padding:8px 18px; }
.admin-import-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.price-warning td { background:#fff1f1; }
.price-warning td:nth-child(3) { color:#b10812; font-weight:700; }

/* Ozon price control */
.price-control-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.price-control-filters label,.date-range-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.price-control-filters input,.price-control-filters select,.date-range-form input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px;color:var(--text)}.price-control-filters .form-actions{grid-column:1/-1}.price-status-metrics{grid-template-columns:repeat(5,minmax(140px,1fr))}.price-status-card{border-left:4px solid #9298a3}.price-status-card.price-status--danger{border-left-color:#c92a2a}.price-status-card.price-status--attention{border-left-color:#e29a15}.price-status-card.price-status--normal{border-left-color:#2f9e44}.price-status-card.price-status--above{border-left-color:#7b3fb2}.price-control-scroll{max-height:70vh}.price-control-table{min-width:1900px}.price-control-table th,.price-control-table td{vertical-align:top}.price-control-table th{white-space:normal}.price-control-sticky{position:sticky;left:0;z-index:2;min-width:320px;background:var(--surface)}thead .price-control-sticky{z-index:4}.promotion-column{min-width:170px}.price-cell small{display:block}.price-status{white-space:nowrap}.price-status--danger{color:#a61e24;background:#fff0f1}.price-status--attention{color:#7a5100;background:#fff6d8}.price-status--normal{color:#176b2d;background:#eaf8ed}.price-status--above{color:#64308d;background:#f4eafd}.price-status--missing{color:var(--muted);background:#f3f4f6}.price-status-row--danger .price-control-sticky{box-shadow:inset 4px 0 #c92a2a}.price-status-row--attention .price-control-sticky{box-shadow:inset 4px 0 #e29a15}.price-status-row--normal .price-control-sticky{box-shadow:inset 4px 0 #2f9e44}.price-status-row--above .price-control-sticky{box-shadow:inset 4px 0 #7b3fb2}.price-control-legend ul{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:0}.ozon-price-metrics{grid-template-columns:repeat(4,minmax(180px,1fr))}.entity-subtabs{margin-top:8px}.date-range-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.price-history-chart{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px}.price-history-chart svg{display:block;width:100%;min-width:720px;height:auto}.price-chart-grid{stroke:#e5e7eb;stroke-width:1}.price-chart-axis{stroke:#7a808a;stroke-width:1.5}.price-chart-axis-label,.price-chart-empty{fill:#6b7078;font-size:13px}.price-chart-line{stroke-linejoin:round;stroke-linecap:round}.price-chart-dot{stroke:#fff;stroke-width:1.5}.price-chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0}.price-chart-legend label{display:flex;align-items:center;gap:7px;font-size:13px}.price-chart-legend span{width:18px;height:4px;border-radius:2px}.ozon-price-panel>section+section{margin-top:16px}
@media(max-width:1100px){.price-control-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.price-status-metrics,.ozon-price-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.price-control-filters{grid-template-columns:1fr}.price-status-metrics,.ozon-price-metrics{grid-template-columns:1fr}.price-control-sticky{min-width:240px}.price-control-legend ul{display:block}}
.bulk-row { display:grid; grid-template-columns:28px minmax(300px,1fr) 150px 120px; gap:12px; align-items:center; padding:10px 4px; border-bottom:1px solid var(--line); }
.bulk-row span,.bulk-row small { display:block; }
.bulk-row small { color:var(--muted); }
.bulk-quantity { width:100%; padding:8px; border:1px solid var(--line-strong); border-radius:6px; }
@media(max-width:900px) { .product-editor { grid-template-columns:1fr 1fr; }.bulk-filters { grid-template-columns:1fr 1fr; }.bulk-row { grid-template-columns:24px 1fr 100px; }.bulk-row .bulk-quantity { grid-column:2/-1; }.completion-popover { position:fixed; top:24vh; right:12px; left:12px; width:auto; } }

.ozon-navigation { margin:0 0 20px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 3px 12px rgba(65,45,35,.04); }
.ozon-navigation-groups,.ozon-navigation-pages { display:flex; align-items:center; gap:7px; overflow-x:auto; scrollbar-width:thin; }
.ozon-navigation-groups { padding:11px 13px; }
.ozon-navigation-pages { min-height:45px; padding:0 13px; border-top:1px solid var(--line); background:#faf8f6; }
.ozon-navigation-groups a,.ozon-navigation-pages a { flex:0 0 auto; color:var(--muted); white-space:nowrap; }
.ozon-navigation-groups a { padding:10px 17px; border:1px solid transparent; border-radius:8px; font-weight:600; }
.ozon-navigation-groups a:hover { color:var(--brand-dark); background:#faf5f1; }
.ozon-navigation-groups a.active { color:#fff; background:var(--brand); border-color:var(--brand); box-shadow:0 4px 10px rgba(211,20,31,.18); }
.ozon-navigation-pages a { position:relative; padding:13px 14px 12px; }
.ozon-navigation-pages a:hover { color:var(--brand-dark); }
.ozon-navigation-pages a.active { color:var(--brand); font-weight:700; }
.ozon-navigation-pages a.active::after { content:""; position:absolute; right:12px; bottom:0; left:12px; height:2px; border-radius:2px 2px 0 0; background:var(--brand); }
.ozon-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ozon-product-filters { max-width:none; display:grid; grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr)) auto; }
.ozon-product-filters input,.ozon-product-filters select { min-width:0; padding:9px 10px; border:1px solid var(--line-strong); background:#fff; }
.ozon-product-filters input { border-radius:6px 0 0 6px; }
.ozon-product-filters select { border-radius:0; }
.ozon-product-filters button { border-radius:0 6px 6px 0; }
button[disabled] { opacity:1; cursor:not-allowed; box-shadow:none; background:#eeece8!important; border-color:#dedad4!important; color:#98928b!important; }
.ozon-gallery { display:flex; flex-wrap:wrap; gap:12px; }
.ozon-gallery a { display:block; width:112px; height:112px; padding:6px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.ozon-gallery img { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:1100px) { .ozon-product-filters { grid-template-columns:1fr 1fr; }.ozon-product-filters input,.ozon-product-filters select,.ozon-product-filters button { border-radius:6px; }.ozon-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) { .marketplace-channel-nav a { padding:8px 10px; }.ozon-navigation-groups,.ozon-navigation-pages { padding-right:8px; padding-left:8px; }.ozon-navigation-groups a { padding:9px 12px; }.ozon-product-filters,.ozon-metrics { grid-template-columns:1fr; } }
.ozon-operation-filters { max-width:none; display:grid; grid-template-columns:minmax(240px,2fr) minmax(120px,.6fr) minmax(160px,1fr) repeat(2,minmax(135px,.7fr)) auto; }
.ozon-operation-filters input,.ozon-operation-filters select { min-width:0; padding:9px 10px; border:1px solid var(--line-strong); background:#fff; border-radius:0; }
.ozon-operation-filters input { border-radius:6px 0 0 6px; }
.ozon-operation-filters button { border-radius:0 6px 6px 0; }
.ozon-operation-tabs { margin-top:18px; }
td details summary { color:var(--brand-dark); cursor:pointer; }
@media(max-width:900px) { .ozon-operation-filters { grid-template-columns:1fr 1fr; }.ozon-operation-filters input,.ozon-operation-filters select,.ozon-operation-filters button { border-radius:6px; } }
@media(max-width:720px) { .ozon-operation-filters { grid-template-columns:1fr; } }
.analytics-tabs { overflow-x:auto; }
.analytics-filters { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(145px,.65fr)) minmax(210px,1.2fr) repeat(3,minmax(165px,1fr)) auto; gap:8px; }
.analytics-filters label { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px; color:var(--muted); }
.analytics-filters input,.analytics-filters select { min-width:0; padding:9px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; }
.analytics-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.analytics-metrics small { display:block; color:var(--muted); }
.advertising-tree-panel { overflow:hidden; }
.advertising-tree-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.advertising-tree { min-width:1460px; background:#fff; }
.advertising-tree-row { display:grid; grid-template-columns:minmax(300px,2.2fr) repeat(7,minmax(92px,.72fr)) repeat(3,minmax(145px,1fr)); align-items:center; }
.advertising-tree-row > * { min-width:0; padding:11px 12px; text-align:right; font-variant-numeric:tabular-nums; }
.advertising-tree-row > :first-child { text-align:left; }
.advertising-tree-head { color:var(--muted); background:#f5f2ef; border-bottom:1px solid var(--line-strong); font-size:12px; font-weight:700; }
.advertising-tree-total { background:#fff6f2; border-bottom:1px solid var(--line-strong); font-weight:700; }
.advertising-tree-group { border-bottom:1px solid var(--line); }
.advertising-tree-group:last-child { border-bottom:0; }
.advertising-tree-summary { cursor:pointer; list-style:none; background:#faf8f6; font-weight:650; }
.advertising-tree-summary::-webkit-details-marker { display:none; }
.advertising-tree-summary > :first-child::before { display:inline-block; width:18px; margin-right:5px; content:"▸"; color:var(--brand); transition:transform .15s ease; }
.advertising-tree-group[open] > .advertising-tree-summary > :first-child::before { transform:rotate(90deg); }
.advertising-tree-summary:hover { background:#f7f1ed; }
.advertising-tree-summary small,.advertising-tree-campaign small { display:block; margin-top:2px; color:var(--muted); font-size:11px; font-weight:400; }
.advertising-tree-campaign { border-top:1px solid #eeeae6; }
.advertising-tree-campaign > :first-child { padding-left:35px; }
.advertising-tree-campaign:hover { background:#fffaf7; }
@media(max-width:1000px) { .analytics-filters,.analytics-metrics { grid-template-columns:1fr 1fr; } }
@media(max-width:720px) { .analytics-filters,.analytics-metrics { grid-template-columns:1fr; } }
/* Почта */
.mail-unread td { background: #fff8f8; font-weight: 650; }
.mail-unread small { font-weight: 400; }
.mail-message-body { min-height: 180px; white-space: normal; line-height: 1.65; }
.mail-account-form { max-width: 920px; }
.mail-folder-tabs { margin-top: 0; }
.mail-compose-form { max-width:1000px; }
.mail-compose-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
.mail-compose-body,.mail-compose-attachments { grid-column:1/-1; }
.mail-compose-body textarea { min-height:260px; }
.mail-compose-attachments { padding:15px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }
.mail-compose-attachments input[type="file"] { box-sizing:border-box; width:100%; padding:10px; border:1px dashed var(--line-strong); border-radius:7px; background:#fff; }
.mail-attachment-selection { display:grid; gap:7px; min-height:38px; margin-top:4px; }
.mail-attachment-selection__item { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; overflow-wrap:anywhere; }
.mail-attachment-selection__item .link-button { flex:0 0 auto; }
@media(max-width:760px) { .mail-compose-grid { grid-template-columns:1fr; }.mail-compose-body,.mail-compose-attachments { grid-column:auto; } }

/* Stage 5.15: visually separated record sheets and customer order workflow. */
.record-card-tabs { margin:18px 0 0; padding-top:7px; background:#ebe7e2; border:1px solid var(--line); border-bottom-color:#d7d0c8; border-radius:12px 12px 0 0; }
.record-card-tabs + .panel { margin-top:0; border-radius:0 0 12px 12px; }
.record-card-tabs span { display:inline-block; min-width:20px; margin-left:5px; padding:1px 6px; border-radius:10px; background:#e9e4df; font-size:12px; text-align:center; }
.order-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.order-channel-grid article { padding:16px; background:#faf8f5; border:1px solid var(--line); border-radius:10px; }
.order-channel-grid h3 { margin:0 0 7px; }
.order-channel-grid form { margin:10px 0; }
.inline-upload { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.active-link-note { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); }
.generated-order-link { display:flex; align-items:end; gap:10px; margin-top:14px; padding:13px; background:var(--brand-soft); border-radius:9px; }
.generated-order-link label { flex:1; display:grid; gap:5px; }
.generated-order-link input { width:100%; padding:10px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.order-list-filters select { min-width:170px; border:1px solid var(--line); padding:8px; }
.public-order-page { margin:0; min-height:100vh; background:#f2eee8; color:#25211e; font-family:Arial,sans-serif; }
.public-order-shell { width:min(1420px,calc(100% - 32px)); margin:0 auto; padding:28px 0 60px; }
.public-order-header { display:flex; justify-content:space-between; gap:20px; margin-bottom:18px; padding:22px 26px; color:#fff; background:#a80f18; border-radius:14px; }
.public-order-header h1 { margin:5px 0; }.public-order-header p { margin:0; opacity:.82; }
.public-order-summary { display:grid; align-content:center; text-align:right; }.public-order-summary b { font-size:23px; }
.public-order-card { padding:24px; background:#fff; border:1px solid #ded7d0; border-radius:14px; box-shadow:0 8px 28px rgba(45,35,28,.06); }
.public-order-client { display:grid; grid-template-columns:1fr 2fr; gap:16px; margin-bottom:18px; }
.public-order-client label { display:grid; gap:6px; }.public-order-client input,.public-order-client textarea,.public-order-quantity { padding:9px; border:1px solid #d4ccc5; border-radius:7px; }
.public-order-table td:first-child b { display:block; margin-top:3px; }.public-order-quantity { width:110px; background:#fff7cb; }
.public-order-totals { display:flex; justify-content:flex-end; gap:28px; margin:16px 0; font-size:16px; }
.public-order-success { max-width:620px; margin:12vh auto 0; text-align:center; }
@media(max-width:800px) { .order-channel-grid,.public-order-client { grid-template-columns:1fr; }.public-order-header { flex-direction:column; }.public-order-summary { text-align:left; }.generated-order-link { align-items:stretch; flex-direction:column; } }
.mail-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; margin:22px 0; }
.mail-form-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.mail-form-field label { font-weight:700; }
.mail-form-field--check { flex-direction:row; align-items:center; flex-wrap:wrap; }
.mail-form-field--check input { width:auto; }
.mail-form-field--check small { flex-basis:100%; }
.mail-access-box { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; margin:20px 0; }
.mail-access-box h2 { margin-top:0; }
.mail-advanced-settings { margin:20px 0; border:1px solid var(--line); border-radius:12px; padding:15px 18px; background:#fcfbf9; }
.mail-advanced-settings summary { cursor:pointer; color:var(--brand-dark); font-weight:700; }
@media(max-width:760px) { .mail-form-grid { grid-template-columns:1fr; } }

/* Спецрежим администратора и обратная связь */
.header-icon-button { position:relative; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:9px; background:#fff; font-size:18px; text-decoration:none; }
.header-icon-button .notification-badge { position:absolute; top:-7px; right:-7px; min-width:19px; height:19px; display:grid; place-items:center; padding:0 4px; border-radius:10px; color:#fff; font-size:11px; }
.header-error-button { padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; white-space:nowrap; }
.admin-mode-toggle { padding:8px 10px; border:1px solid #d7aa42; border-radius:8px; background:#fff8e4; color:#775000!important; cursor:pointer; }
.admin-mode-toggle.active { background:#7f1519; border-color:#7f1519; color:#fff!important; }
.admin-mode-banner { margin:12px 0 4px; padding:10px 14px; border:1px solid #e1bd68; border-radius:8px; background:#fff5d7; color:#694600; font-weight:700; }
.invitation-link input { width:100%; padding:11px; border:1px solid var(--line-strong); border-radius:7px; }
.linked-user-group { margin:9px 0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.linked-user-group summary { cursor:pointer; font-weight:700; }
.compact-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.compact-form p { margin:0; }
@media(max-width:900px) { .user-menu { gap:7px; flex-wrap:wrap; }.header-error-button { font-size:0; }.header-error-button::before { content:"Ошибка"; font-size:13px; } }

/* Авторизация: «Карта договорённостей». */
.auth-page { display:block; min-height:100vh; padding:0; place-items:normal; background:#8c8175; }
.auth-scene { position:relative; width:100%; min-height:100vh; overflow:hidden; isolation:isolate; background:linear-gradient(90deg,rgba(34,27,22,.12) 0%,rgba(34,27,22,0) 43%,rgba(34,27,22,.05) 100%),url("../images/auth-map-agreements-v1.8b26e3852abe.png") center/cover no-repeat; }
.auth-scene::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 46% 50%,transparent 0 14%,rgba(39,30,24,.05) 55%,rgba(30,23,18,.16) 100%); }
.auth-product-mark { position:absolute; top:36px; left:6vw; display:flex; align-items:center; gap:11px; color:rgba(42,34,28,.74); font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.auth-product-mark::before { content:""; width:28px; height:2px; background:var(--brand); }
.auth-composition { position:absolute; top:50%; left:6vw; width:min(39vw,600px); transform:translateY(-50%); }
.auth-scene .auth-card { position:relative; z-index:2; width:min(33vw,500px); min-width:410px; padding:38px 74px 32px 38px; border:1px solid rgba(103,82,65,.26); border-top:1px solid rgba(103,82,65,.26); border-radius:18px 34px 34px 18px; background:rgba(250,247,239,.94); box-shadow:0 24px 60px rgba(35,26,20,.2),inset 0 1px rgba(255,255,255,.8); backdrop-filter:blur(10px); }
.auth-eyebrow { margin:0 0 8px; color:var(--brand-dark); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.auth-scene .auth-card h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,2.2vw,38px); line-height:1.12; font-weight:600; }
.auth-lead { margin:10px 0 24px; color:#766c63; font-size:14px; line-height:1.5; }
.auth-lead--large { margin:22px 0 28px; font-size:15px; }
.auth-form { margin:0; }
.auth-card .auth-field { display:grid; gap:7px; margin:0 0 17px; color:#211c18; font-size:13px; font-weight:650; }
.auth-card .auth-field input { display:block; width:100%; height:48px; margin:0; padding:0 15px; border:1px solid rgba(84,68,56,.32); border-radius:9px; outline:none; color:#211c18; background:rgba(255,255,255,.72); font:inherit; }
.auth-card .auth-field input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(217,21,33,.10); }
.auth-card .auth-field .errorlist,.auth-card>.error-list .errorlist { margin:0; padding:0; list-style:none; color:#a50f17; font-size:12px; font-weight:500; }
.auth-card>.error-list,.auth-card>.error { margin:0 0 14px; padding:9px 11px; border-left:3px solid var(--brand); border-radius:5px; background:rgba(255,240,240,.72); }
.auth-submit { height:50px; margin:0; border-radius:9px; background:linear-gradient(135deg,#e31b27,#bd0f19); box-shadow:0 8px 20px rgba(184,14,24,.22); font-weight:700; }
.auth-secondary-link { display:block; margin-top:17px; color:#6f6258; font-size:13px; text-align:center; }
.auth-action-link { display:grid; place-items:center; width:100%; min-height:50px; margin:0; border-radius:9px; background:linear-gradient(135deg,#e31b27,#bd0f19); color:#fff; box-shadow:0 8px 20px rgba(184,14,24,.22); font-weight:700; }
.auth-logo-bridge { position:absolute; z-index:3; top:50%; left:min(28.7vw,436px); width:clamp(190px,16vw,250px); aspect-ratio:1; transform:translate(-4%,-50%); display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.92) 0 52%,rgba(255,247,236,.55) 67%,transparent 73%); filter:drop-shadow(0 15px 26px rgba(123,12,18,.23)); }
.auth-logo-bridge::before,.auth-logo-bridge::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(177,31,38,.19); }
.auth-logo-bridge::before { inset:-9px; }
.auth-logo-bridge::after { inset:-22px; border-color:rgba(86,65,52,.12); }
.auth-logo-bridge img { width:90%; height:90%; object-fit:contain; }
.auth-bridge-line { position:absolute; z-index:1; top:50%; left:calc(min(33vw,500px) - 22px); width:125px; height:2px; transform:translateY(-50%); background:linear-gradient(90deg,rgba(217,21,33,.42),rgba(217,21,33,.08)); }
.auth-footer-note { position:absolute; left:6vw; bottom:30px; color:rgba(44,35,29,.62); font-size:12px; letter-spacing:.025em; }
@media(max-width:900px) {
  .auth-page { min-height:100vh; }
  .auth-scene { min-height:100vh; overflow:auto; background-position:58% center; }
  .auth-scene::before { content:""; position:absolute; inset:0; background:rgba(235,226,213,.52); }
  .auth-composition { position:relative; top:auto; left:auto; width:min(92vw,500px); margin:0 auto; padding:116px 0 56px; transform:none; }
  .auth-scene .auth-card { width:100%; min-width:0; padding:94px 28px 28px; border-radius:18px; }
  .auth-logo-bridge { top:106px; left:50%; width:172px; transform:translate(-50%,-50%); }
  .auth-bridge-line { display:none; }
  .auth-product-mark { z-index:3; left:50%; transform:translateX(-50%); white-space:nowrap; }
  .auth-footer-note { display:none; }
}
@media(max-width:480px) {
  .auth-composition { width:min(94vw,420px); padding-top:104px; }
  .auth-scene .auth-card { padding:84px 22px 24px; }
  .auth-logo-bridge { top:98px; width:154px; }
  .auth-product-mark { top:24px; font-size:11px; }
}

/* Дистрибуция и интерактивная карта территорий */
.entity-id { display:block; margin-top:3px; color:var(--muted); font-size:12px; font-weight:650; letter-spacing:.04em; }
.record-card-tabs { margin-bottom:16px; }
.territory-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:750; }
.territory-badge--exclusive { background:#fff0df; color:#9b4d00; }
.territory-legend { display:flex; align-items:center; gap:12px 20px; flex-wrap:wrap; margin:0 0 16px; padding:12px 15px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.territory-legend span { display:inline-flex; align-items:center; gap:7px; font-size:13px; }
.territory-legend i { width:14px; height:14px; border:1px solid rgba(0,0,0,.13); border-radius:4px; background:var(--legend-color); }
.territory-legend .button { margin-left:auto; }
.territory-layout { display:grid; grid-template-columns:minmax(0,2.35fr) minmax(280px,1fr); gap:18px; align-items:start; }
.territory-map-panel { position:relative; min-width:0; padding:16px; }
.territory-map { position:relative; min-height:430px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:linear-gradient(180deg,#f9fbfd,#eef3f7); }
.territory-map svg { display:block; width:100%; height:auto; max-height:68vh; }
.territory-map path.region { cursor:pointer; stroke:#fff; stroke-width:1.15px; fill-opacity:.92; transition:fill-opacity .15s ease,filter .15s ease,stroke-width .15s ease; outline:none; }
.territory-map path.region:hover,.territory-map path.region:focus { fill-opacity:1; filter:brightness(1.08); stroke:#223044; stroke-width:1.7px; }
.territory-map path.region.is-selected { filter:brightness(1.03) drop-shadow(0 0 2px rgba(0,0,0,.35)); stroke:#111b28; stroke-width:2.2px; }
.territory-region--unknown { fill:#d6d9dd!important; }
.territory-map-loading { color:var(--muted); }
.territory-tooltip { position:absolute; z-index:8; width:min(300px,calc(100% - 20px)); max-height:310px; overflow:auto; padding:12px 14px; border:1px solid rgba(48,38,31,.18); border-radius:10px; background:rgba(255,255,255,.97); box-shadow:0 10px 30px rgba(36,31,28,.18); pointer-events:none; font-size:12px; }
.territory-tooltip>strong { display:block; margin-bottom:5px; font-size:14px; }
.territory-tooltip p { margin:5px 0; }
.territory-tooltip ul { margin:5px 0 0; padding-left:18px; }
.territory-tooltip a { color:inherit; text-decoration:none; }
.territory-source { display:block; margin-top:8px; }
.territory-details { position:sticky; top:18px; max-height:75vh; overflow:auto; }
.territory-details h2 { margin-top:0; }
.territory-status { display:flex; align-items:center; gap:8px; margin:8px 0 16px; font-weight:750; }
.territory-status::before { content:""; width:13px; height:13px; flex:0 0 13px; border-radius:4px; background:var(--status-color); }
.territory-closed-reason { padding:10px 12px; border-left:3px solid #2f67c7; background:#edf3ff; }
.territory-partner-group { padding-top:10px; border-top:1px solid var(--line); }
.territory-partner-group h3,.territory-partner-group strong { display:block; margin:0 0 7px; font-size:14px; }
.territory-partner-group ul { margin:0; padding-left:19px; }
.territory-partner-group li { margin:5px 0; }
.territory-partner-group li small { display:block; }
@media(max-width:1000px) { .territory-layout { grid-template-columns:1fr; }.territory-details { position:static; max-height:none; }.territory-map { min-height:320px; } }

/* Полноширинная форма группового наполнения прайс-листа. */
.bulk-price-form { max-width:none; }
.bulk-price-form>.panel { min-width:0; }
.bulk-price-toolbar { display:grid; grid-template-columns:minmax(150px,.45fr) minmax(420px,1fr); align-items:end; gap:24px; margin:0 0 18px; }
.bulk-price-toolbar h2,.bulk-price-toolbar p { margin:0; }
.bulk-price-toolbar p { margin-top:8px; }
.bulk-price-toolbar__controls { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:10px; width:min(620px,100%); justify-self:end; }
.bulk-price-toolbar__controls label { display:grid; gap:5px; }
.bulk-price-toolbar__controls .button { min-height:42px; white-space:nowrap; }
.bulk-price-form .table-wrap { overflow-x:auto; }
.bulk-price-table table { min-width:1120px; table-layout:fixed; }
.bulk-price-table .row-check { width:52px; text-align:center; }
.bulk-price-table .bulk-price-col-id { width:100px; }
.bulk-price-table .bulk-price-col-name { width:auto; }
.bulk-price-table .bulk-price-col-category { width:150px; }
.bulk-price-table .bulk-price-col-article { width:160px; }
.bulk-price-table .bulk-price-col-current { width:120px; }
.bulk-price-table .bulk-price-col-new { width:130px; }
.bulk-price-table .bulk-price-col-action { width:92px; }
.bulk-price-table td { overflow-wrap:anywhere; }
.bulk-price-table .bulk-price-input { min-width:96px; }
.bulk-price-table .copy-previous-price { white-space:nowrap; }
@media(max-width:900px) {
  .bulk-price-toolbar { grid-template-columns:1fr; align-items:start; }
  .bulk-price-toolbar__controls { justify-self:stretch; width:100%; }
}
@media(max-width:560px) {
  .bulk-price-toolbar__controls { grid-template-columns:1fr; }
}

/* Версионируемые расходы и групповое заполнение Cost Ozon. */
.ozon-cost-filters { max-width:none; display:grid; grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(160px,1fr)) auto; gap:8px; }
.ozon-cost-filters input,.ozon-cost-filters select { min-width:0; padding:9px 10px; border:1px solid var(--line-strong); border-radius:7px; background:#fff; }
.bulk-cost-form { max-width:none; }
.bulk-cost-fields { display:grid; grid-template-columns:repeat(3,minmax(250px,1fr)); gap:14px; align-items:stretch; }
.bulk-cost-field-card { min-width:0; display:flex; flex-direction:column; gap:14px; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.bulk-cost-field-card h3 { margin:0; padding-bottom:9px; border-bottom:1px solid var(--line); font-size:15px; }
.bulk-cost-field { min-width:0; display:grid; gap:6px; }
.bulk-cost-field>label { color:var(--text); font-size:13px; font-weight:650; }
.bulk-cost-field input,.bulk-cost-field select,.bulk-cost-field textarea { box-sizing:border-box; width:100%; min-width:0; }
.bulk-cost-field textarea { min-height:70px; resize:vertical; }
.bulk-cost-field small { color:var(--muted); font-size:12px; line-height:1.4; }
.bulk-cost-field .errorlist { margin:0; padding:0; list-style:none; color:#b10812; font-size:12px; }
.bulk-cost-check { display:flex; align-items:center; gap:9px; width:fit-content; margin-top:auto; cursor:pointer; font-size:13px; }
.bulk-cost-check input[type="checkbox"] { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:var(--brand); }
.bulk-cost-apply { align-self:flex-start; margin-top:auto; }
.bulk-cost-table table { min-width:1280px; table-layout:fixed; }
.bulk-cost-table th:nth-child(1) { width:52px; }
.bulk-cost-table th:nth-child(2) { width:110px; }
.bulk-cost-table th:nth-child(3) { width:300px; }
.bulk-cost-table th:nth-child(4) { width:155px; }
.bulk-cost-table th:nth-child(5) { width:155px; }
.bulk-cost-table th:nth-child(6) { width:155px; }
.bulk-cost-table th:nth-child(7) { width:150px; }
.bulk-cost-table th:nth-child(8) { width:165px; }
.bulk-cost-input { width:100%; min-width:115px; padding:9px; border:1px solid var(--line-strong); border-radius:7px; }
.bulk-cost-actions { border-left:4px solid var(--brand); }
.cost-history-chart { overflow-x:auto; padding:10px 0 0; }
.cost-history-chart svg { display:block; width:100%; min-width:620px; height:190px; }
.cost-chart-axis { stroke:#d7d0c8; stroke-width:1; }
.cost-chart-line { fill:none; stroke:var(--brand); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.cost-chart-dot { fill:#fff; stroke:var(--brand); stroke-width:3; }
.cost-chart-value { fill:var(--text); font-size:12px; font-weight:700; }
.cost-chart-date { fill:var(--muted); font-size:11px; }
@media(max-width:1150px) { .ozon-cost-filters,.bulk-cost-fields { grid-template-columns:1fr 1fr; } }
@media(max-width:720px) { .ozon-cost-filters,.bulk-cost-fields { grid-template-columns:1fr; } }
@media(max-width:640px) { .territory-map-panel { padding:8px; }.territory-map { min-height:230px; }.territory-legend .button { width:100%; margin-left:0; }.territory-tooltip { display:none; } }

.scenario-main-fields { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.scenario-main-fields p { margin:8px 0; }
.scenario-main-fields [hidden] { display:none; }
.scenario-type-help { grid-column:1 / -1; margin-top:10px; padding:12px 14px; border-left:3px solid var(--brand); border-radius:6px; background:#f7f3ee; color:var(--muted); }
.scenario-item-picker .section-head { align-items:flex-start; }
.scenario-item-picker .section-head p { margin:5px 0 0; }
.scenario-item-filters { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(190px,1fr) minmax(190px,1fr); gap:12px; margin:16px 0 12px; }
.scenario-item-filters label { display:grid; gap:5px; color:var(--muted); }
.scenario-item-filters input,.scenario-item-filters select { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); }
.scenario-item-actions { display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.scenario-item-actions .muted { margin-left:auto; }
.scenario-item-table { max-height:520px; overflow:auto; }
.scenario-item-table thead { position:sticky; top:0; z-index:1; background:var(--surface); }
.scenario-item-table th:first-child,.scenario-item-table td:first-child { width:42px; text-align:center; }
.scenario-item-table tr[hidden] { display:none; }
.contains-combobox { position:relative; min-width:320px; }
.contains-combobox__input { width:100%; }
.contains-combobox__menu { position:absolute; z-index:20; top:calc(100% + 4px); left:0; right:0; max-height:280px; overflow:auto; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 12px 30px rgba(31,35,40,.16); }
.contains-combobox__option { display:block; width:100%; padding:9px 10px; border:0; border-radius:7px; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.contains-combobox__option:hover,.contains-combobox__option:focus { background:var(--surface-soft); outline:none; }
.contains-combobox__empty { padding:10px; color:var(--muted); }
@media(max-width:900px) { .scenario-main-fields,.scenario-item-filters { grid-template-columns:1fr; }.scenario-item-actions .muted { margin-left:0; width:100%; } }

.unit-dashboard-filters { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(280px,1.5fr) minmax(230px,1fr) auto auto; align-items:end; gap:10px; }
.unit-dashboard-filters label { display:grid; gap:5px; color:var(--muted); }
.unit-dashboard-filters input,.unit-dashboard-filters select { width:100%; min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); }
.unit-dashboard-panel { min-width:0; }
.unit-dashboard-panel .section-head { align-items:flex-start; }
.unit-dashboard-panel .section-head p { margin:5px 0 0; }
.unit-dashboard-scroll { max-width:100%; max-height:72vh; overflow:auto; border:1px solid var(--line); border-radius:8px; }
.unit-dashboard-table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.unit-dashboard-table th,.unit-dashboard-table td { min-width:132px; max-width:132px; padding:10px; text-align:right; border-right:1px solid var(--line); background:var(--surface); }
.unit-dashboard-table thead th { position:sticky; top:0; z-index:3; text-align:center; background:#f3f0ed; }
.unit-dashboard-table thead tr:nth-child(2) th { top:67px; }
.unit-dashboard-table thead th span { display:block; max-width:264px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unit-dashboard-table thead th small { display:block; max-width:264px; margin-top:5px; overflow:hidden; color:var(--muted); font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.unit-dashboard-table .unit-dashboard-indicator { position:sticky; left:0; z-index:2; min-width:265px; max-width:265px; text-align:left; font-weight:650; box-shadow:1px 0 0 var(--line); }
.unit-dashboard-table thead .unit-dashboard-indicator { z-index:5; background:#f3f0ed; }
.unit-dashboard-table .scheme-fbo { color:#176b3a; background:#edf7f0; }
.unit-dashboard-table .scheme-fbs { color:#7a4a00; background:#fff5e6; }
.unit-dashboard-row-meta td,.unit-dashboard-row-meta th { color:var(--muted); font-size:12px; }
.unit-dashboard-row-price td,.unit-dashboard-row-price th { background:#fff8dc; font-weight:800; font-size:15px; }
.unit-dashboard-row-price-minimum td,.unit-dashboard-row-price-minimum th { background:#eef7ff; font-weight:750; }
.unit-dashboard-row-total td,.unit-dashboard-row-total th { background:#f0ece7; font-weight:800; border-top:2px solid var(--line-strong); }
.unit-dashboard-row-result td,.unit-dashboard-row-result th { background:#edf7f0; font-weight:750; }
.unit-dashboard-table td small { display:block; margin-top:4px; color:var(--muted); white-space:normal; }
@media(max-width:1050px) { .unit-dashboard-filters { grid-template-columns:1fr 1fr; }.unit-dashboard-filters .button { width:100%; text-align:center; } }
@media(max-width:650px) { .unit-dashboard-filters { grid-template-columns:1fr; }.unit-dashboard-table .unit-dashboard-indicator { min-width:210px; max-width:210px; } }

/* Дерево договоров и относящихся к ним спецификаций в карточках клиентов. */
.contract-tree { display:grid; gap:14px; }
.contract-tree__contract { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.contract-tree__header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:16px; background:var(--surface); }
.contract-tree__header small,.contract-tree__meta small,.contract-tree__specification small { display:block; margin-top:5px; color:var(--muted); }
.contract-tree__meta { flex:0 0 auto; text-align:right; }
.contract-tree__specifications { margin-left:28px; padding:14px 16px 14px 24px; border-left:3px solid var(--brand-soft); }
.contract-tree__specifications h3 { margin:0 0 10px; font-size:14px; color:var(--muted); }
.contract-tree__specification { position:relative; padding:9px 12px; border-top:1px solid var(--line); background:var(--surface); }
.contract-tree__specification::before { content:""; position:absolute; left:-27px; top:20px; width:24px; border-top:1px solid var(--line-strong); }
@media(max-width:700px) {
  .contract-tree__header { display:grid; }
  .contract-tree__meta { text-align:left; }
  .contract-tree__specifications { margin-left:12px; }
}
.print-version-status {
  display: inline-flex;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: .25rem .65rem;
  font-size: .86rem;
  font-weight: 700;
  white-space: nowrap;
}

.print-version-status--current {
  color: #176b3a;
  background: #e8f6ed;
  border-color: #9bd0ad;
}

.print-version-status--obsolete {
  color: #a52121;
  background: #fff0f0;
  border-color: #e8abab;
}

.print-version-history {
  margin-top: 1rem;
  border-top: 1px solid var(--line, #ded8cf);
}

.print-version-history > summary {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  padding: .85rem;
  color: var(--muted, #6f6a64);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.print-version-history > summary::-webkit-details-marker { display: none; }

.print-version-history__icon {
  display: inline-block;
  font-size: 1.35rem;
  line-height: 1;
  transition: transform .18s ease;
}

.print-version-history[open] .print-version-history__icon { transform: rotate(180deg); }
