:root{
  --bright-red:#9D2235;
  --bright-red-80:#A23F4E;
  --bright-red-60:#A65C68;
  --bright-red-30:#B0989C;
  --garnet:#510B0A;
  --garnet-80:#743C3B;
  --garnet-60:#936867;
  --garnet-30:#CBB6B5;
  --sand:#D6D2C4;
  --sand-80:#DEDBD0;
  --sand-60:#E6E4DC;
  --sand-30:#F3F1ED;
  --anthracite:#333F48;
  --anthracite-80:#5C656D;
  --anthracite-60:#858C91;
  --anthracite-30:#C2C5C8;
  --graphite:#222423;
  --graphite-80:#4E504F;
  --graphite-60:#7A7C7B;
  --graphite-30:#BDBDBD;
  --graphite-15:#F4F4F4;
  --white:#FFFFFF;
  --bg:var(--sand-30);
  --card:var(--white);
  --text:var(--graphite);
  --muted:var(--graphite-60);
  --line:var(--sand);
  --accent:var(--bright-red);
  --accent-dark:var(--garnet);
  --ok:var(--anthracite);
  --warn:var(--bright-red);
  --bad:var(--garnet);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Onest,Inter,Arial,sans-serif;border-top:6px solid var(--bright-red)}
a{color:inherit}
.wrap{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--sand)}
.brand{display:flex;align-items:center;gap:18px;font-size:24px;font-weight:760;letter-spacing:-.025em;min-height:48px}
.brand::before{content:"";display:block;flex:0 0 150px;width:150px;height:49px;background:url('/assets/img/steingot-logo.svg') left center/contain no-repeat}
.form-brand{display:flex;align-items:center;margin-bottom:24px}
.form-brand img{display:block;width:180px;max-width:52vw;height:auto}
.muted{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);padding:24px;margin-bottom:18px;box-shadow:none}
.hero{padding:34px;border-left:6px solid var(--bright-red)}
.hero h1{font-size:clamp(30px,5vw,56px);line-height:1.02;letter-spacing:-.045em;margin:8px 0 14px;color:var(--graphite)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}
label{font-size:13px;color:var(--anthracite);font-weight:700}
input,textarea,select{width:100%;font:inherit;border:1px solid var(--anthracite-30);border-radius:0;padding:13px 14px;background:var(--white);color:var(--text);outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--bright-red);box-shadow:0 0 0 2px rgba(157,34,53,.10)}
input:disabled,textarea:disabled,select:disabled{background:var(--graphite-15);color:var(--graphite-60);cursor:not-allowed}
textarea{min-height:110px;resize:vertical}
.btn{appearance:none;border:1px solid var(--bright-red);border-radius:0;padding:12px 18px;background:var(--bright-red);color:var(--white);font-weight:720;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s ease,border-color .18s ease,color .18s ease}
.btn:hover{background:var(--garnet);border-color:var(--garnet)}
.btn.secondary{background:var(--sand-80);border-color:var(--sand);color:var(--graphite)}
.btn.secondary:hover{background:var(--sand);border-color:var(--anthracite-30);color:var(--graphite)}
.btn.danger{background:var(--garnet);border-color:var(--garnet);color:var(--white)}
.btn.danger:hover{background:var(--graphite);border-color:var(--graphite)}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.badge{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--sand);border-radius:0;background:var(--sand-60);color:var(--graphite);font-size:12px;font-weight:720}
.badge.ok{background:var(--sand-80);border-color:var(--sand);color:var(--anthracite)}
.badge.warn{background:var(--white);border-color:var(--bright-red-60);color:var(--bright-red)}
.badge.bad{background:var(--garnet);border-color:var(--garnet);color:var(--white)}
.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--sand-60);vertical-align:top}.table th{font-size:12px;color:var(--anthracite);background:var(--sand-30);font-weight:720}.table tbody tr:hover{background:rgba(214,210,196,.20)}
.notice{padding:13px 16px;border:1px solid var(--anthracite-30);border-radius:0;margin-bottom:14px;background:var(--white)}
.notice.success{background:var(--sand-80);border-color:var(--sand);color:var(--anthracite)}
.notice.warning{background:var(--sand-30);border-color:var(--bright-red-60);color:var(--garnet)}
.notice.error{background:var(--garnet-30);border-color:var(--garnet-60);color:var(--garnet)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-title h2{margin:0;font-size:23px}
.point-card{border:1px solid var(--line);padding:18px;margin-top:14px;background:var(--white)}.point-card h3{margin:0 0 8px}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--sand)}
.login{width:min(500px,calc(100% - 32px));margin:7vh auto}.login .card{padding:36px;border-top:6px solid var(--bright-red)}
.login .brand{flex-direction:column;align-items:flex-start;gap:12px}.login .brand::before{width:200px;flex-basis:64px;height:64px}
.small{font-size:12px}.linkbox{word-break:break-all;padding:12px 14px;border:1px solid var(--sand);background:var(--sand-30);font-family:ui-monospace,Consolas,monospace;font-size:13px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:9px 12px;border:1px solid var(--sand);background:var(--sand-80)}.tab.active{background:var(--bright-red);border-color:var(--bright-red);color:var(--white)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--white);border:1px solid var(--sand);border-top:4px solid var(--bright-red);padding:18px}.stat b{display:block;font-size:28px;letter-spacing:-.04em}.stat span{font-size:12px;color:var(--muted)}
.filter-grid{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end}.filter-actions{display:flex;gap:8px;align-items:end}.table-wrap{overflow:auto}.bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0 18px}.bulkbar select{width:auto;min-width:220px}.inline{display:flex;gap:8px;align-items:center}.inline select{flex:1}
.checkline{display:flex;flex-direction:row;align-items:center;gap:10px}.checkline input{width:auto;accent-color:var(--bright-red)}
.danger-zone{border:1px solid var(--garnet-60);border-left:6px solid var(--garnet);background:var(--white)}.danger-zone h2{color:var(--garnet)}
.confirm-box{max-width:760px;margin:40px auto}.confirm-warning{padding:16px 18px;border:1px solid var(--garnet-60);background:var(--garnet-30);margin:18px 0;color:var(--garnet)}
.photo-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px}.photo-item{border:1px solid var(--sand);overflow:hidden;background:var(--white)}.photo-item img{display:block;width:100%;height:150px;object-fit:cover;background:var(--sand-30)}.photo-meta{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.photo-meta>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions .btn{padding:8px 11px;font-size:12px}
.workflow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.workflow-step{padding:8px 11px;border:1px solid var(--sand);background:var(--sand-60);font-size:12px;font-weight:720}.workflow-step.current{background:var(--bright-red);border-color:var(--bright-red);color:var(--white)}.workflow-step.done{background:var(--sand-80);color:var(--anthracite)}
.progress{height:9px;background:var(--sand-60);overflow:hidden;border:1px solid var(--sand)}.progress>span{display:block;height:100%;background:var(--bright-red)}.missing-list{margin:10px 0 0;padding-left:20px;color:var(--garnet)}.approval-card{border:1px solid var(--line);padding:18px;margin-top:14px}.approval-card .photo-grid{margin-top:12px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}
.role-commercial_director{background:var(--sand-80);color:var(--anthracite)}.role-admin{background:var(--anthracite);color:var(--white)}.role-manager{background:var(--sand-60);color:var(--graphite)}
.status-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.archive-note{border-left:6px solid var(--anthracite);background:var(--sand-30)}
.kit-accent{height:4px;background:linear-gradient(90deg,var(--bright-red) 0 22%,var(--garnet) 22% 44%,var(--sand) 44% 66%,var(--anthracite) 66% 84%,var(--graphite) 84% 100%);margin-bottom:18px}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.brand::before{flex-basis:125px;width:125px;height:42px}}
@media(max-width:760px){.grid,.grid3{grid-template-columns:1fr}.hero{padding:24px}.card{padding:18px}.top{align-items:flex-start;flex-direction:column}.photo-grid{grid-template-columns:repeat(2,1fr)}.table{display:block;overflow-x:auto}.wrap{width:min(100% - 20px,1220px)}.photo-manager{grid-template-columns:1fr 1fr}.brand{font-size:20px}}
@media(max-width:600px){.stats,.filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.inline{align-items:stretch;flex-direction:column}.brand{align-items:flex-start;flex-direction:column;gap:8px}.brand::before{flex-basis:44px;width:145px;height:44px}}
@media(max-width:480px){.photo-manager{grid-template-columns:1fr}}

/* v8.2 — approved point editing / comparison */
.eyebrow{display:block;margin-bottom:7px;color:var(--bright-red);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:34px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--sand)}
.section-head h2{margin:3px 0 0;font-size:28px;letter-spacing:-.025em}
.form-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--sand-60)}
.current-point{border-left:5px solid var(--anthracite)}
.change-card,.approval-card{border-left:5px solid var(--bright-red)}
.archived-point,.row-archived{opacity:.72}.archived-point{border-left:5px solid var(--graphite-60)}
.point-summary{margin:12px 0 16px}.point-summary>div{padding:10px 0;border-bottom:1px solid var(--sand-60)}
.current-photos{margin-top:16px}
.current-version,.photo-compare{margin:16px 0;border:1px solid var(--sand);background:var(--sand-30)}
.current-version>summary,.photo-compare>summary{cursor:pointer;padding:13px 15px;font-weight:750;color:var(--anthracite)}
.current-version[open],.photo-compare[open]{padding-bottom:16px}.current-version[open]>summary,.photo-compare[open]>summary{border-bottom:1px solid var(--sand);margin-bottom:14px}
.current-version .point-summary,.current-version .diff-list,.photo-compare .compare-columns{padding-left:15px;padding-right:15px}
.diff-table{margin:16px 0;border:1px solid var(--sand)}
.diff-head,.diff-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:0}
.diff-head{background:var(--anthracite);color:var(--white);font-size:12px;font-weight:750}
.diff-head span,.diff-row>span,.diff-row del,.diff-row ins{padding:11px 12px;border-right:1px solid var(--sand);min-width:0;word-break:break-word}
.diff-head span:last-child,.diff-row>*:last-child{border-right:0}
.diff-row{border-top:1px solid var(--sand-60);background:var(--white)}
.diff-row>span{font-weight:720;color:var(--anthracite)}
.diff-row del{color:var(--graphite-60);text-decoration:none;background:var(--sand-30)}
.diff-row ins{color:var(--garnet);text-decoration:none;font-weight:650;background:rgba(157,34,53,.055)}
.diff-empty{padding:14px;color:var(--muted)}
.diff-list{margin:12px 0}.diff-list .diff-row{display:grid;grid-template-columns:minmax(140px,.75fr) 1fr 1fr;border:1px solid var(--sand-60);border-bottom:0}.diff-list .diff-row:last-child{border-bottom:1px solid var(--sand-60)}
.compare-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compare-columns h4{margin:0 0 10px}.compare-columns .photo-grid{grid-template-columns:repeat(2,1fr)}
.archive-section{margin-top:48px}
@media(max-width:760px){.diff-head,.diff-row,.diff-list .diff-row{grid-template-columns:1fr}.diff-head{display:none}.diff-row>*{border-right:0!important;border-bottom:1px solid var(--sand-60)}.diff-row>*:last-child{border-bottom:0}.diff-row>span::before{content:'Поле: ';color:var(--muted);font-weight:500}.diff-row del::before{content:'Было: ';color:var(--muted)}.diff-row ins::before{content:'Стало: ';color:var(--muted)}.compare-columns{grid-template-columns:1fr}.section-head{align-items:flex-start}.section-head h2{font-size:24px}}

/* v8.3 — exact questionnaire fields / internal Steingot data */
a.brand{text-decoration:none;color:inherit}.brand:hover{color:inherit}
.form-brand a{display:inline-flex;align-items:center;text-decoration:none}
.grid3 .full{grid-column:1/-1}
.internal-panel{margin-top:16px;padding:16px;border:1px solid var(--anthracite-30);background:var(--graphite-15)}
.internal-panel .section-title{margin-bottom:12px}.internal-panel h3{margin:0;font-size:18px}
.internal-edit{margin-top:18px;padding-top:18px;border-top:1px solid var(--sand)}
.internal-edit .section-title{margin-bottom:12px}.internal-edit h3{margin:0;font-size:18px}
.profile-form{border-left:5px solid var(--bright-red)}
.photo-meta .small{white-space:normal;color:var(--muted)}

/* v8.4 — Панель управления дилерской сетью / ассортимент / аналитика */
.assortment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:4px}
.assortment-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--sand);background:var(--white);cursor:pointer}
.assortment-item input{width:auto;accent-color:var(--bright-red)}
.assortment-item:has(input:checked){border-color:var(--bright-red);background:var(--sand-30)}
.analytics-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
.analytics-filters{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;align-items:end}
.analytics-filters .filter-actions{grid-column:1/-1}
.analytics-pending{grid-column:1/-1;padding:10px 0}
#analytics-map{height:620px;width:100%;border:1px solid var(--sand);background:var(--sand-30)}
.map-card{padding-bottom:18px}.map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.map-legend span{display:inline-flex;align-items:center;gap:6px}
.legend-dot,.dealer-map-marker{display:block;width:14px;height:14px;border:2px solid var(--white);box-shadow:0 0 0 1px rgba(34,36,35,.32);border-radius:0}
.legend-dot.active,.dealer-map-marker.active{background:var(--anthracite)}
.legend-dot.hidden,.dealer-map-marker.hidden{background:var(--bright-red)}
.legend-dot.archived,.dealer-map-marker.archived{background:var(--graphite-60)}
.legend-dot.pending,.dealer-map-marker.pending{background:var(--sand);border-color:var(--bright-red)}
.map-popup{min-width:250px;max-width:330px;font-family:Onest,Inter,Arial,sans-serif;color:var(--graphite)}
.map-popup>strong{display:block;font-size:16px;margin-bottom:6px}.map-popup-photo{display:block;width:100%;height:120px;object-fit:cover;margin:0 0 10px;border:1px solid var(--sand)}
.map-popup-grid{display:grid;grid-template-columns:90px 1fr;gap:5px 9px;margin:10px 0;font-size:12px}.map-popup-grid span{color:var(--muted)}.map-popup-grid b{font-weight:650;white-space:pre-line}
.map-popup-warning{padding:8px;border-left:4px solid var(--bright-red);background:var(--sand-30);font-size:12px;margin:8px 0}.map-popup-link{display:inline-block;margin-top:8px;color:var(--bright-red);font-weight:750;text-decoration:none}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0!important}.leaflet-popup-content-wrapper{border:1px solid var(--sand);box-shadow:0 12px 30px rgba(34,36,35,.16)!important}
@media(max-width:1100px){.analytics-stats{grid-template-columns:repeat(3,1fr)}.analytics-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.analytics-stats,.analytics-filters{grid-template-columns:1fr}#analytics-map{height:480px}.assortment-grid{grid-template-columns:1fr}}

/* v8.5 — массовый Excel-импорт торговых точек */
.import-hero{border-left:6px solid var(--anthracite)}
.import-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.import-modes .assortment-item{align-items:flex-start;padding:16px}
.import-modes .assortment-item b{display:block;margin-bottom:4px}
@media(max-width:760px){.import-modes{grid-template-columns:1fr}}

.internal-admin-card{margin-top:12px;border-left:4px solid var(--bright-red)}
.assortment-help{margin-top:8px}


/* v8.8.1 — Firefox-safe dynamic point layout */
#messages{scroll-margin-top:16px}
#messages .notice{border-left:5px solid var(--anthracite)}
#messages .notice.success{border-left-color:var(--bright-red);font-weight:650}
#points{display:block;width:100%;max-width:100%;min-width:0}
.point-form{display:block;width:100%;max-width:100%;min-width:0;scroll-margin-top:18px}
.point-form>.grid,.point-form .grid,.point-form .field,.point-form .photo-section,.point-form .photo-manager,.point-form .photo-item{min-width:0;max-width:100%}
.point-form input,.point-form textarea,.point-form select{min-width:0;max-width:100%}
.point-form input[type=file]{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden}
.add-point-row{display:flex;width:100%;max-width:100%;min-width:0;justify-content:flex-start;align-items:center;margin:4px 0 28px}
.add-point-row .btn{max-width:100%}
.form-actions .save-state:not(:empty){padding:9px 11px;border-left:3px solid var(--bright-red);background:var(--sand-30);color:var(--anthracite);font-weight:700}
@supports (-moz-appearance:none){
  .point-form .grid{width:100%;min-width:0}
  .point-form input[type=file]{inline-size:100%;min-inline-size:0;max-inline-size:100%}
}
