body{font-family:Arial;background:#f4f6f8;margin:0;color:#1f2937}
.wrap{max-width:980px;margin:40px auto;padding:20px}
.card{background:#fff;border-radius:18px;padding:32px;box-shadow:0 12px 35px #0001}
.upload{border:2px dashed #9ca3af;border-radius:14px;padding:28px;text-align:center}
button,.button{background:#111827;color:#fff;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;display:inline-block}
.box{margin-top:18px;padding:16px;border-radius:12px}
.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}
.err{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}
.section{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.metric{background:#f9fafb;padding:16px;border-radius:10px}
.metric strong{display:block;font-size:22px;margin-top:6px}
code{background:#f3f4f6;padding:2px 5px;border-radius:4px}

.preview-wrap{margin-top:18px;background:#111827;border-radius:14px;padding:14px;overflow:hidden}
#cadastreCanvas{width:100%;height:460px;display:block;background:#0b1220;border-radius:10px;cursor:crosshair}
.preview-help{color:#cbd5e1;font-size:13px;margin:10px 2px 0}
.point-info{margin-top:10px;background:#f9fafb;padding:12px;border-radius:10px}

.legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0;font-size:13px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.dot-ok{background:#60a5fa}.dot-error{background:#ef4444}
.dot-warning{background:#f59e0b}.dot-point{background:#fbbf24}
.diagnostic-list{margin-top:12px;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:12px}

.tech-details{margin-top:12px;background:#f8fafc;border-radius:8px;padding:10px;color:#374151}
.tech-details summary{cursor:pointer;font-weight:700}
.tech-details ul{margin-bottom:0}
.marker-note{font-size:13px;color:#6b7280;margin-top:8px}

.xsd-item{background:#fff;border:1px solid #fecaca;border-radius:10px;padding:14px;margin:10px 0;color:#7f1d1d}
.xsd-item-title{font-weight:700;font-size:15px;margin-bottom:8px}
.xsd-action{background:#fff7ed;border-left:4px solid #f59e0b;padding:10px;margin-top:8px;color:#7c2d12}
.xsd-location{font-size:12px;color:#6b7280;margin-top:8px}

.geometry-item{background:#fff;border:1px solid #fecaca;border-radius:10px;padding:14px;margin:10px 0;color:#7f1d1d}
.geometry-item.warning{border-color:#fdba74;color:#9a3412}
.geometry-title{font-weight:700;font-size:15px;margin-bottom:8px}
.geometry-what{background:#f8fafc;border-left:4px solid #ef4444;padding:10px;margin-top:8px;color:#374151}
.geometry-item.warning .geometry-what{border-left-color:#f59e0b}
.geometry-action{background:#fff7ed;border-left:4px solid #f59e0b;padding:10px;margin-top:8px;color:#7c2d12}
.geometry-location{font-size:12px;color:#6b7280;margin-top:8px}
.area-warning{font-size:12px;color:#b45309;margin-top:4px}

.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:18px 0 24px}
.summary-card{border-radius:12px;padding:16px;background:#f8fafc;border:1px solid #e5e7eb}
.summary-card strong{display:block;font-size:22px;margin-top:6px}
.summary-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.summary-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.summary-warn{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.summary-neutral{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.toggle-box{margin-top:12px}
.toggle-box summary{cursor:pointer;font-weight:700;padding:10px 0}
@media(max-width:700px){.summary-grid{grid-template-columns:1fr}}

.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
.doc-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.doc-card strong{display:block;margin-top:4px}
.data-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.data-table th,.data-table td{border:1px solid #e2e8f0;padding:9px;text-align:left;vertical-align:top}
.data-table th{background:#f1f5f9}
.good{color:#047857;font-weight:700}.bad{color:#b91c1c;font-weight:700}
.muted{color:#64748b;font-size:12px}
@media(max-width:700px){.doc-grid{grid-template-columns:1fr}}

.batch-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:18px 0}
.batch-stat{border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#f8fafc}
.batch-stat strong{display:block;font-size:22px;margin-top:5px}
.batch-table-wrap{overflow-x:auto;margin-top:16px}
.batch-table{width:100%;border-collapse:collapse;min-width:900px;font-size:13px}
.batch-table th,.batch-table td{border:1px solid #e2e8f0;padding:9px;text-align:left;vertical-align:middle}
.batch-table th{background:#f1f5f9;white-space:nowrap}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.badge-ok{background:#dcfce7;color:#166534}.badge-err{background:#fee2e2;color:#991b1b}
.badge-skip{background:#e2e8f0;color:#475569}.badge-warn{background:#ffedd5;color:#9a3412}
.mini-link{display:inline-block;margin:2px 5px 2px 0;font-size:12px}
@media(max-width:800px){.batch-stats{grid-template-columns:1fr 1fr}}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.topbar-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.topbar a{font-size:14px}.account-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:13px}
.link-button{background:none;border:0;color:#2563eb;padding:0;font:inherit;cursor:pointer}

*, *::before, *::after{box-sizing:border-box}
.card,.box,.metric,.summary-card,.doc-card,.xsd-item,.geometry-item,
.xsd-action,.xsd-location,.geometry-what,.geometry-action,.geometry-location,
.tech-details,.point-info,.diagnostic-list{min-width:0;max-width:100%}
.box,.metric,.summary-card,.doc-card,.xsd-item,.geometry-item,
.xsd-action,.xsd-location,.geometry-what,.geometry-action,.geometry-location,
.tech-details,.marker-note,.muted,.preview-help,
.data-table td,.data-table th{
    overflow-wrap:anywhere;
    word-break:break-word;
}
code{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    word-break:break-all;
}
.summary-grid>*{min-width:0}
.summary-card strong{overflow-wrap:anywhere;word-break:break-word}
.data-table{max-width:100%}
.data-table td,.data-table th{min-width:0}
.autofix-table-wrap{overflow-x:auto;width:100%;margin-top:12px}
.autofix-table{min-width:680px}
.autofix-hero{border:2px solid #f59e0b}
.autofix-ok{background:#ecfdf5;border-color:#86efac;color:#065f46}
.autofix-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
@media(max-width:700px){
  .xsd-action,.xsd-location,.geometry-what,.geometry-action,.geometry-location{font-size:13px}
}


.download-section{margin-top:18px}
.download-section h3{margin-bottom:12px}
.download-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
    gap:10px;
    width:100%;
}
.download-grid .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    margin:0;
    text-align:center;
    line-height:1.2;
    white-space:normal;
}
@media(max-width:600px){
    .download-grid{grid-template-columns:1fr}
}




.mc-brand-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:10px;
    border:2px solid #1f2937;
    font-weight:800;
    font-size:18px;
    letter-spacing:-1px;
    margin-right:10px;
    vertical-align:middle;
    background:#fff;
}


.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.diff-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.diff-card strong{display:block;margin-bottom:5px}
@media(max-width:700px){.diff-grid{grid-template-columns:1fr}}

.mc-index-inline-1{margin:0}
.mc-index-inline-2{display:inline;margin:0}
.mc-index-inline-3{margin-top:0;margin-bottom:16px}
.mc-index-inline-4{margin:0 0 16px 0;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px}
.mc-index-inline-5{margin-top:12px;color:#6b7280;font-size:13px}
.mc-index-inline-6{margin-top:18px}
.mc-index-inline-7{font-size:12px;margin-top:6px}
.mc-index-inline-8{margin-top:8px}
.mc-index-inline-9{margin-bottom:14px}
.mc-index-inline-10{font-size:12px;color:#6b7280;margin-top:6px}
.mc-index-inline-11{font-size:12px;color:#6b7280;margin-top:4px}
.mc-index-inline-12{margin-top:25px;color:#6b7280;font-size:13px}
