:root{--bg:#f7f7f7;--fg:#232323;--muted:#818181;--line:#e6e6e6;--card:#ffffff;--accent:#616161;--accent2:#717171;--light:#f2f2f2;--good:#6e6e6e;--warn:#767676}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.page{max-width:1330px;padding:0 36px;margin:auto}.top{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:#252525;color:#ffffff;border-radius:13px;font-size:16px;font-weight:800;letter-spacing:-1px}.brand b{display:block;font-size:19px;line-height:1.25}.brand small{display:block;color:var(--muted)}.local{color:#646464;background:white;border:1px solid var(--line);border-radius:100px;padding:8px 12px;font-size:12px}.dot{display:inline-block;width:7px;height:7px;background:#8c8c8c;border-radius:50%;margin-right:6px}.hero{padding:55px 0 26px}.tag{display:inline-block;border-radius:6px;padding:5px 9px;background:#ebebeb;color:#575757;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hero h1{font-size:clamp(32px,4.2vw,53px);letter-spacing:-.052em;line-height:1.12;margin:17px 0 13px;font-weight:780}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{max-width:725px;color:#666666;font-size:16px;margin:0}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:23px;color:#606060;font-size:12px}.hero-points span::before{content:'✓';color:var(--good);font-weight:700;margin-right:7px}.steps{display:flex;gap:8px;margin:22px 0 18px}.step{display:flex;align-items:center;gap:8px;background:#f3f3f3;padding:11px 16px;border-radius:10px;color:#9f9f9f;flex:1;white-space:nowrap}.step span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #d5d5d5;border-radius:50%;font-weight:700;font-size:12px}.step.current{background:#ececec;color:#525252;font-weight:700}.step.done{background:#f3f3f3;color:#686868}.step.done span{background:#686868;color:#ffffff;border-color:#686868}.panel{background:#ffffff;border:1px solid var(--line);border-radius:17px;margin-bottom:20px;box-shadow:0 4px 22px rgba(40,58,95,.035);overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 18px;gap:20px}.section-head h2{margin:0;font-size:21px;line-height:1.4;letter-spacing:-.025em}.section-head p{margin:3px 0 0;color:var(--muted)}.micro{font-weight:600;color:#747474;background:#f6f6f6;border-radius:9px;padding:7px 12px;white-space:nowrap;font-size:12px}.dropzone{margin:6px 28px 28px;border:2px dashed #d2d2d2;background:linear-gradient(180deg,#fbfbfb,#f8f8f8);border-radius:14px;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.dropzone:hover,.dropzone.dragover,.dropzone:focus{border-color:var(--accent);background:#f5f5f5;outline:none}.upload-icon{font-size:32px;font-weight:700;width:53px;height:53px;border-radius:14px;background:#ededed;color:var(--accent);display:grid;place-items:center}.dropzone h3{font-size:18px;margin:11px 0 0}.dropzone p{color:#747474;margin:2px 0 6px}.text-link{color:var(--accent);text-decoration:underline}.dropzone small{color:#a2a2a2;font-size:11px}.upload-details{padding:0 28px 26px}.filename{font-size:13px;background:#f6f6f6;border:1px solid #eaeaea;padding:10px 13px;border-radius:8px;margin-bottom:13px}.config-line,.profile-line{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.config-line label,.profile-line label{font-size:12px;color:#757575;display:flex;flex-direction:column;gap:5px;font-weight:600}.config-line select,.config-line input,.profile-line select{height:38px;border:1px solid #d2d2d2;background:white;border-radius:7px;padding:0 10px;min-width:130px;color:var(--fg);font:inherit}#metadata{margin-top:9px;color:var(--muted)}.flag{border-radius:30px;padding:6px 10px;background:#f3f3f3;color:#6e6e6e;font-size:11px;font-weight:700}.profile-line{padding:0 28px 19px}.profile-line select{min-width:260px}.btn{font-family:inherit;border:0;cursor:pointer;min-height:40px;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700;transition:.12s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.48}.btn:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--accent);color:#ffffff;box-shadow:0 4px 9px rgba(65,95,212,.17)}.primary:hover:not(:disabled){background:var(--accent2)}.secondary{border:1px solid #dfdfdf;background:#ffffff;color:#5d5d5d}.secondary:hover:not(:disabled){background:#f6f6f6}.mapping-table,.preview-table{width:100%;border-collapse:collapse;text-align:left}.mapping-table th,.preview-table th{background:#fafafa;color:#939393;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px 18px;border-block:1px solid #ececec}.mapping-table th:first-child{width:40%}.mapping-table td{padding:10px 18px;border-bottom:1px solid #f1f1f1;vertical-align:middle}.mapping-table tr:last-child td{border-bottom:none}.mapping-table td:first-child{font-weight:650}.subtitle{font-size:11px;color:#959595;font-weight:400}.field-sources{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;background:#f1f1f1;border:1px solid #e6e6e6;color:#515151;border-radius:6px;padding:4px 8px;font-size:12px;gap:8px;max-width:260px}.chip button{background:none;border:0;padding:0;color:#818181;cursor:pointer;font-size:17px;line-height:1}.source-selector{background:#ffffff;border:1px solid #dcdcdc;padding:6px;border-radius:7px;color:#656565;max-width:200px}.mapping-foot{padding:17px 28px 9px;background:#fbfbfb;border-top:1px solid var(--line)}.mapping-foot h3,.help h3{margin:0 0 3px;font-size:13px}.mapping-foot p{color:#787878;margin:0 0 13px;font-size:12px}.ignored{border-top:1px solid var(--line);padding-top:12px;font-size:12px}.ignored b{color:#7b7b7b}.chip-line{display:flex;flex-wrap:wrap;gap:5px;padding:8px 0}.unused{border:1px solid #eaeaea;background:white;color:#9e9e9e;padding:3px 7px;border-radius:5px;font-size:11px}.actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px 25px}.actions.spaced{justify-content:space-between}.notice{margin-bottom:14px;padding:12px 16px;background:#f7f7f7;border-left:4px solid #999999;border-radius:8px;color:#575757}.notice.good{background:#f7f7f7;border-color:#8a8a8a;color:#545454}.metrics{padding:0 28px 20px;display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:11px}.metric{border:1px solid #ececec;background:#fafafa;padding:12px 15px;border-radius:10px}.metric b{display:block;font-size:25px;letter-spacing:-.04em;line-height:1.1}.metric span{font-size:11px;color:#8e8e8e}.metric.danger{background:#f8f8f8}.warnings{padding:0 28px 16px;display:flex;gap:8px;flex-wrap:wrap}.warning{background:#f6f6f6;color:#5e5e5e;font-size:12px;border-radius:6px;padding:5px 9px}.warning.critical{background:#f0f0f0;color:#5e5e5e}.preview-intro{padding:0 28px 13px;display:flex;gap:15px;align-items:center}.preview-intro span{color:#9e9e9e;font-size:11px}.preview-scroll{overflow:auto}.preview-table{min-width:1150px}.preview-table th{white-space:nowrap;padding:10px 12px}.preview-table td{max-width:290px;border-bottom:1px solid #f0f0f0;padding:10px 12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px}.preview-table tr.problem td:first-child{border-left:3px solid #b3b3b3}.preview-table td.long{white-space:normal;min-width:175px;max-width:250px;max-height:80px;overflow:hidden;line-height:1.3}.preview-table details{max-width:220px;white-space:normal}.preview-table summary{color:var(--accent);cursor:pointer}.preview-table details p{white-space:pre-wrap;max-height:200px;overflow:auto;overflow-wrap:anywhere}.edit-trigger{border:1px solid #e6e6e6;background:#fafafa;border-radius:7px;cursor:pointer;padding:6px 9px;color:var(--accent)}.footnote{padding:0 28px 24px;color:#a4a4a4;font-size:11px}.help{padding:13px 5px 35px}.help h3{font-size:14px}.help-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;font-size:12px;color:#808080}.help p{margin:6px 0}.help b{color:#555555}footer{padding:24px 0 35px;text-align:center;font-size:11px;color:#a4a4a4;border-top:1px solid var(--line)}.hidden{display:none!important}dialog{width:min(760px,95vw);border:none;border-radius:16px;padding:0;box-shadow:0 30px 90px #172b5270}dialog::backdrop{background:#15264270}.dialog-head{display:flex;align-items:start;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}.dialog-head small{color:#969696}.close{border:0;background:#f3f3f3;border-radius:8px;font-size:22px;width:32px;height:32px;cursor:pointer}.edit-fields{padding:16px 25px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:60vh;overflow:auto}.edit-fields label{font-size:12px;color:#757575;display:flex;flex-direction:column;gap:3px}.edit-fields input,.edit-fields textarea{padding:9px 11px;font-size:13px;border:1px solid #dadada;border-radius:7px;font-family:inherit;color:var(--fg);width:100%}.edit-fields label.wide{grid-column:1/-1}.edit-fields textarea{min-height:130px}.edit-fields .hint{font-size:10px;color:#a9a9a9}.edit-fields input:focus,.edit-fields textarea:focus{outline:2px solid #dedede;border-color:#888888}
@media(max-width:800px){.page{padding:0 15px}.hero{padding-top:30px}.steps{overflow:auto}.step{padding:9px 11px;font-size:12px}.section-head,.profile-line,.mapping-foot,.actions,.metrics,.warnings,.preview-intro{padding-left:16px;padding-right:16px}.dropzone{margin:8px 15px 16px}.mapping-table td,.mapping-table th{padding:10px}.metrics{grid-template-columns:repeat(2,1fr)}.help-cols{grid-template-columns:1fr;gap:0}.local{display:none}.edit-fields{grid-template-columns:1fr}}

.jump-line{padding:2px 28px 15px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#969696;font-size:11px}.jump-line label{display:flex;align-items:center;gap:6px}.jump-line input{border:1px solid #dddddd;border-radius:7px;padding:7px 9px;width:120px;color:#414141}.jump-line .btn{min-height:32px;padding:6px 10px}

/* История загрузок */
.history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.history-actions a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.history-table-wrap{overflow:auto;padding:0 28px}
.history-table{width:100%;border-collapse:collapse;table-layout:fixed}
.history-table th{text-align:left;color:#868686;background:#f9f9f9;padding:11px 13px;font-size:12px}
.history-table td{border-bottom:1px solid #efefef;padding:12px 13px;vertical-align:top}
.history-table th:nth-child(1){width:125px}.history-table th:nth-child(2){width:195px}.history-table th:nth-child(4){width:100px;text-align:right}
.history-table td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}
.history-table td:nth-child(3){overflow-wrap:anywhere}
.history-empty{text-align:center!important;color:#979797;padding:22px!important}
.history-footer{padding:16px 28px;display:flex;justify-content:space-between;align-items:center;color:#8e8e8e;font-size:12px}
.history-note{margin:0;padding:0 28px 22px;font-size:12px;color:#939393}
@media(max-width:800px){.history-table-wrap{padding:0 12px}.history-table{min-width:690px}.history-actions{gap:5px}.history-footer,.history-note{padding-left:15px;padding-right:15px}}


/* BazaFormat Corporate Light — ink / stone / pink */
:root {
  --bg: #faf9fa;
  --fg: #1f1d22;
  --muted: #77717b;
  --line: #e8e4e9;
  --card: #ffffff;
  --accent: #d72e79;
  --accent2: #b72263;
  --light: #fff0f6;
  --good: #50505a;
  --warn: #a63c64;
}
body { background:#faf9fb; color:var(--fg); }
.page { max-width:1280px; }
.top { height:84px; }
.brand-icon { background:#1c1b20; color:#fff; border-radius:12px; box-shadow: 4px 4px 0 #f8c4db; }
.brand b { color:#201e22; letter-spacing:-.02em; }
.local { color:#5d5860; background:#fff; }
.dot { background:#d72e79; }
.hero { padding:52px 0 30px; }
.hero h1 { color:#222026; font-weight:790; }
.hero h1 em { color:var(--accent); }
.hero p { color:#68636b; }
.hero-points { color:#706b73; }
.hero-points span::before { color:#c72c72; }
.tag { background:#fff0f5; color:#a81f5c; border:1px solid #f6d4e3; }
.steps { gap:9px; }
.step { background:#f2f0f2; color:#87828b; }
.step span { border-color:#d6d2d7; }
.step.current { background:#fde8f1; color:#ad235f; }
.step.current span { border-color:#d72e79; background:white; color:#b72263; }
.step.done { background:#ece9ed; color:#444048; }
.step.done span { background:#37343c; border-color:#37343c; color:#fff; }
.panel { border-color:#e6e3e8; border-radius:17px; box-shadow:0 10px 33px rgba(30,25,33,.035); }
.section-head h2 { color:#29262d; }
.micro { background:#f4f2f4; color:#5e5962; }
.dropzone { background:linear-gradient(160deg,#fffafc,#fdf4f8); border-color:#e7c4d4; }
.dropzone:hover,.dropzone.dragover,.dropzone:focus { border-color:#d72e79; background:#fff0f5; }
.upload-icon { background:#fbe0ec; color:#c12b6f; }
.dropzone p,.dropzone small { color:#85808a; }
.text-link { color:#b72263; }
.filename { background:#f9f6f8; border-color:#e9e5e8; }
.config-line select,.config-line input,.profile-line select,
.source-selector { border-color:#dcd7df; color:#3b353e; }
.config-line select:focus,.config-line input:focus,.profile-line select:focus,.source-selector:focus { outline:2px solid #f3c2d8; outline-offset:1px; }
.flag { background:#fbe4ee; color:#af2765; }
.primary { background:#d72e79; color:#fff; box-shadow:0 6px 14px rgba(215,46,121,.15); }
.primary:hover:not(:disabled) { background:#b72263; }
.secondary { border-color:#dfdbe1; color:#48434c; background:#fff; }
.secondary:hover:not(:disabled) { background:#f9f5f8; border-color:#e9bed2; }
.mapping-table th,.preview-table th,.history-table th { background:#f9f7f9; color:#77717a; border-color:#eae6ea; }
.mapping-table td,.preview-table td,.history-table td { border-color:#eeeaf0; }
.chip { background:#fff0f6; border-color:#f2cbdd; color:#97315e; }
.chip button { color:#a14c71; }
.mapping-foot { background:#fcfafb; }
.unused { background:#faf9fa; border-color:#e8e5e8; color:#76717a; }
.notice { background:#fff1f5; border-left-color:#d72e79; color:#8c2954; }
.notice.good { background:#f7f4f6; border-color:#55505a; color:#454049; }
.metric { background:#fbfafb; border-color:#eae6ec; }
.metric.danger { background:#fff0f3; }
.warning { background:#fff0f6; color:#9c3260; }
.warning.critical { background:#ffe5ee; color:#902545; }
.preview-table tr.problem td:first-child { border-left-color:#d72e79; }
.edit-trigger { background:#fff4f8; border-color:#f0d2e0; color:#b12362; }
.help b { color:#373139; }
dialog { box-shadow:0 30px 90px rgba(25,15,25,.25); }
dialog::backdrop { background:rgba(29,22,28,.44); }
.close { background:#f5f2f5; color:#554f58; }
.edit-fields input,.edit-fields textarea { border-color:#ded9df; }
.edit-fields input:focus,.edit-fields textarea:focus { outline:2px solid #f7c7dc; border-color:#d72e79; }
.jump-line input { border-color:#ded9df; color:#47424a; }
.history-table th { background:#faf8fa; }
:focus-visible { outline: 3px solid #f2a3c7; outline-offset:2px; }
::selection { background:#f5beda; color:#33212d; }
@media(max-width:800px) { .local { display:inline-flex; align-items:center; } .top { gap:10px; } .brand small { font-size:10px; } }


/* Validation issues: visible row/field navigation, without blocking exports. */
.issue-panel{margin:0 28px 20px;padding:17px 18px;border:1px solid #edd3e0;border-radius:12px;background:#fffafd}
.issue-header h3{font-size:14px;margin:0;color:#3d303a}
.issue-header p{font-size:12px;color:#83727c;margin:4px 0 12px}
.issue-list{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.issue-item{display:grid;grid-template-columns:90px 132px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #eee6eb;background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}
.issue-item.issue-critical{border-color:#e9bed1;background:#fff5f9}
.issue-row{font-weight:750;color:#5b3547}
.issue-field{font-weight:650;color:#80405d}
.issue-description{color:#61575c;overflow-wrap:anywhere}
.issue-fix{min-height:31px;padding:5px 10px;font-size:12px}
.missing-person{display:inline-block;color:#b62563;font-weight:700;background:#ffeaf2;border-radius:5px;padding:2px 6px}
@media(max-width:800px){.issue-panel{margin-inline:16px}.issue-item{grid-template-columns:1fr auto;gap:5px}.issue-field{grid-column:1}.issue-description{grid-column:1/-1;grid-row:3}.issue-fix{grid-column:2;grid-row:1/3}}
