body {
    font:16px system-ui,sans-serif;
    background:#f4f6fa;
    color:#172b4d;
    margin:0
}
header {
    background:#172b4d;
    padding:22px;
    color:white;
    display:flex;
    gap:30px;
    flex-wrap:wrap
}
header a {
    color:white;
    font-weight:700
}
main {
    max-width:900px;
    margin:40px auto;
    padding:0 20px
}
section,form {
    padding:24px;
    background:white;
    border:1px solid #dce2ec;
    border-radius:12px;
    margin:24px 0
}
label {
    display:block;
    margin-bottom:12px
}
button,.button {
    display:inline-block;
    background:#2358ba;
    color:white;
    padding:12px 18px;
    border:0;
    border-radius:6px;
    text-decoration:none;
    cursor:pointer
}
input {
    max-width:100%;
    margin-bottom:16px
}
article {
    border-top:1px solid #dce2ec;
    padding:18px 0
}
small {
    color:#53647c
}
/* Inspetor: dados e verificações são apresentados em áreas distintas. */
[hidden] {
    display:none!important
}
* {
    box-sizing:border-box
}
main {
    max-width:1160px
}
h1 {
    font-size:2rem;
    margin:10px 0
}
h2 {
    font-size:1.4rem;
    margin:10px 0 16px
}
.eyebrow {
    font-size:.72rem;
    letter-spacing:.12em;
    color:#506481;
    font-weight:750
}
.muted {
    color:#586982;
    font-size:.9rem;
    line-height:1.6
}
.page-heading>p {
    color:#586982
}
.drop-zone {
    text-align:center;
    padding:24px;
    border:2px dashed #aebed5;
    border-radius:10px;
    background:#f8faff;
    transition:background .15s,border-color .15s
}
.drop-zone.drag-over {
    background:#e5efff;
    border-color:#2358ba
}
.drop-zone.has-file {
    border-color:#347c69
}
.upload-symbol {
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#e5edfc;
    font-size:1.7rem;
    color:#2358ba;
    margin-bottom:12px
}
.drop-zone label {
    cursor:pointer
}
.drop-zone label strong {
    display:block;
    font-size:1.1rem
}
.drop-zone label span {
    display:block;
    font-size:.9rem;
    color:#586982;
    margin-top:7px
}
.drop-zone input {
    margin:8px auto;
    display:block;
    max-width:100%
}
input::file-selector-button {
    padding:8px 12px;
    border:1px solid #aebed5;
    background:white;
    border-radius:6px;
    margin-right:10px;
    cursor:pointer
}
.upload-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:16px
}
.upload-actions p {
    overflow-wrap:anywhere;
    font-size:.9rem
}
.upload-actions>div {
    flex-shrink:0
}
.secondary {
    background:#edf2fa;
    color:#23436d;
    border:1px solid #cbd7e8
}
.privacy-note {
    margin-bottom:0
}
.error-text,.validation-errors {
    color:#a52a2a
}
.validation-summary-valid,.validation-errors:empty {
    display:none
}
.finding {
    border:0;
    border-left:4px solid #3972c4;
    border-radius:6px;
    background:#f1f6ff;
    padding:16px;
    margin:12px 0
}
.finding p {
    margin:8px 0;
    line-height:1.55
}
.finding.warning {
    background:#fff9eb;
    border-color:#ca8c13
}
.finding.error {
    background:#fff1f1;
    border-color:#bd3c3c
}
.field-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:18px 0 0
}
.field {
    padding:14px;
    background:#f7f9fc;
    border:1px solid #e4eaf2;
    border-radius:8px;
    min-width:0
}
.field dt {
    font-size:.8rem;
    font-weight:650;
    color:#4d607b;
    overflow-wrap:anywhere
}
.field dd {
    margin:9px 0;
    font-weight:600;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    max-height:220px;
    overflow:auto
}
.field code {
    display:block;
    font-size:.7rem;
    line-height:1.5;
    color:#61728a;
    overflow-wrap:anywhere
}
.field .missing {
    font-weight:400;
    color:#788598
}
.summary-grid .field:first-child {
    grid-column:1/-1
}
.explorer-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px
}
.count-badge {
    font-size:.8rem;
    background:#eef3fc;
    padding:8px 12px;
    border-radius:20px;
    color:#34577e;
    white-space:nowrap
}
.explorer-controls {
    display:flex;
    align-items:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin:20px 0
}
.search-field {
    flex:1;
    min-width:240px
}
.search-field label {
    font-size:.85rem;
    font-weight:600;
    margin-bottom:8px
}
.search-field input {
    width:100%;
    padding:12px;
    border:1px solid #aebed5;
    border-radius:6px;
    margin:0;
    font:inherit;
    font-size:.9rem
}
.xml-group {
    border:1px solid #dae3ef;
    border-radius:8px;
    margin:12px 0;
    overflow:hidden
}
.xml-group summary {
    padding:17px;
    cursor:pointer;
    background:#f8faff;
    overflow-wrap:anywhere
}
.xml-group summary span {
    margin-left:12px;
    color:#63748d;
    font-size:.8rem
}
.xml-group[open] summary {
    border-bottom:1px solid #e0e7f0
}
.xml-group .field-grid {
    padding:0 16px 16px;
    margin-top:12px
}
.group-path {
    display:block;
    padding:12px 16px 0;
    color:#61728a;
    font-size:.75rem;
    overflow-wrap:anywhere
}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible {
    outline:3px solid #729cf1;
    outline-offset:3px
}
button:disabled {
    opacity:.65;
    cursor:wait
}
@media(max-width:850px) {
    .field-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .explorer-heading {
        align-items:flex-start;
        flex-direction:column
    }
}
@media(max-width:580px) {
    main {
        padding:0 12px;
        margin:24px auto
    }
    section,form {
        padding:16px
    }
    .field-grid {
        grid-template-columns:1fr
    }
    .upload-actions {
        align-items:stretch;
        flex-direction:column
    }
    .upload-actions>div {
        display:flex;
        gap:8px
    }
    .upload-actions button {
        flex:1
    }
    .drop-zone {
        padding:18px 10px
    }
    .count-badge {
        white-space:normal
    }
    .explorer-controls button {
        font-size:.8rem
    }
}
/* 0.3.0 · navegação e ferramentas */
.topbar{position:relative;align-items:center;min-height:72px;padding:16px 28px;gap:28px;z-index:2}.topbar-caption{font-size:.86rem;opacity:.78}.brand{text-decoration:none;letter-spacing:-.025em}.version-menu{margin-left:auto;position:relative;font-size:.85rem}.version-menu>summary{list-style:none;cursor:pointer;border:1px solid #526786;border-radius:7px;padding:8px 12px}.version-tooltip{position:absolute;right:0;top:44px;width:280px;padding:18px;background:#fff;color:#172b4d;border:1px solid #dce2ec;border-radius:10px;box-shadow:0 10px 30px #172b4d25}.version-tooltip p{font-size:.82rem;line-height:1.6;color:#586982}.version-tooltip a{color:#2358ba;font-size:.85rem}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:#fff;border-right:1px solid #dce2ec;padding:28px 14px;display:flex;flex-direction:column}.sidebar>.eyebrow{padding:0 13px}.sidebar nav>a{display:flex;gap:12px;padding:15px 12px;margin:6px 0;border-radius:8px;color:#435774;text-decoration:none}.sidebar nav>a>span{font-size:1.5rem;line-height:1.2}.sidebar small{display:block;font-size:.72rem;margin-top:5px}.sidebar .active{background:#eaf1ff;color:#164da8}.sidebar nav>a:hover{background:#f0f5ff}.sidebar-footer{margin-top:auto;padding:40px 12px 10px;font-size:.75rem;color:#64748b}.sidebar-footer a{display:block;margin-top:14px;color:#526986}.status-dot{display:inline-block;width:7px;height:7px;background:#3f8a72;border-radius:50%;margin-right:5px}.app-shell main{width:100%;margin:32px auto;max-width:1250px;padding:0 32px;min-width:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tool-grid p{line-height:1.7}.tool-grid section{margin:18px 0}.xml-window{padding:0;overflow:hidden}.xml-window-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dce2ec}.xml-window-heading h2{margin:6px 0 0}.xml-window-heading .muted{margin:0}.xml-code{max-height:420px;overflow:auto;background:#102239;color:#c9d8e8;padding:18px 20px;font:13px/1.9 Consolas,monospace;tab-size:2;white-space:pre;margin:0;scrollbar-color:#64748b #102239}.xml-line{display:block;min-width:max-content}.xml-tag{display:inline;padding:0 2px;font:inherit;border:0;border-radius:3px;color:#8cc6ff;background:transparent;cursor:pointer}.xml-tag:hover{background:#25466d}.xml-tag[aria-pressed=true]{background:#3967a5;color:white;outline:1px solid #8cc6ff}.xml-line-number{display:inline-block;width:4.5ch;color:#7591ad;font-size:.8em;user-select:none}.xml-value{color:#e2eaf3}.xml-comment{color:#8baf9e}.xml-caption{padding:10px 24px;margin:0;font-size:.78rem;color:#61728a}.tag-result{border-top:3px solid #2358ba;scroll-margin-top:20px}.tag-result-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.tag-result h2{overflow-wrap:anywhere}.tag-pill{font:12px Consolas,monospace;color:#164da8;background:#edf3fe;padding:8px 10px;border-radius:6px;overflow-wrap:anywhere}.tag-description{line-height:1.7}.tag-impact{border-left:3px solid #6c94cd;padding:10px 16px;background:#f6f9fe;line-height:1.65}.tag-path{display:block;overflow-wrap:anywhere;font-size:.8rem;color:#53647c}.tag-reference{font-size:.8rem;line-height:1.8;color:#53647c}.tag-reference a{color:#2358ba}.tag-context-table{width:100%;border-collapse:collapse;font-size:.85rem}.tag-context-table td,.tag-context-table th{padding:12px;border-bottom:1px solid #e3e9f2;text-align:left;overflow-wrap:anywhere;vertical-align:top}.tag-context-table th{background:#f6f9fd}.tag-context-table td:last-child{white-space:pre-wrap}.table-scroll{overflow:auto;max-height:380px}.tag-context-table code{display:block;margin-top:6px;color:#64748b;font-size:.7rem;white-space:normal}.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.coverage-grid>div{padding:16px;background:#f7f9fc;border-radius:8px;font-size:.85rem;line-height:1.7}.coverage-grid strong{display:block}.schema-pass{border-left:5px solid #388464}.schema-fail{border-left:5px solid #c64e4e}.schema-pending{border-left:5px solid #cf951a}.release-list li{margin:10px 0;line-height:1.65}.release-table{width:100%;border-collapse:collapse;font-size:.83rem}.release-table th,.release-table td{text-align:left;padding:13px;border-bottom:1px solid #e2e8f1;vertical-align:top;line-height:1.7}.release-table a{color:#2358ba}.release-table code{overflow-wrap:anywhere}.release-current{border-top:4px solid #2358ba}.xml-toolbar{display:flex;gap:8px;align-items:center}.xml-toolbar button{padding:8px 10px;font-size:.78rem}.xml-search{min-width:100px;max-width:240px;margin:0;padding:8px 10px;border-radius:6px;border:1px solid #bccbdf}.tag-value{max-height:160px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f5f8fc;border-radius:6px}
@media(max-width:1050px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.app-shell main{padding:0 20px}.xml-window-heading{align-items:flex-start;gap:14px;flex-direction:column}.xml-toolbar{width:100%;flex-wrap:wrap}.xml-search{flex:1}.coverage-grid{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{display:block}.sidebar{padding:12px;border-right:0;border-bottom:1px solid #dce2ec}.sidebar>.eyebrow,.sidebar-footer{display:none}.sidebar nav{display:flex;gap:8px}.sidebar nav>a{flex:1;font-size:.83rem;padding:12px 8px;margin:0}.sidebar small{font-size:.65rem}.app-shell main{padding:0 12px;margin:24px auto}.topbar{padding:14px 18px;gap:12px}.topbar-caption{display:none}.tool-grid{grid-template-columns:1fr}.tool-grid section{margin:8px 0}.tag-result-header{align-items:flex-start;flex-direction:column}.xml-code{max-height:350px;font-size:12px}.tag-context-table{min-width:480px}.release-table{min-width:650px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.raw-xml>summary{padding:12px 24px;font-size:.8rem;cursor:pointer;color:#53647c}.tag-impact p{margin-bottom:0}.tag-result h3{font-size:.95rem;margin-top:24px}.package-banner{padding:18px 24px}.package-banner p:last-child{margin-bottom:0}

/* O documento permanece visível em todos os modos e perfis de inspeção. */
.document-xml-panel{margin:20px 0;min-width:0;scroll-margin-top:16px}.document-xml-panel .xml-window{margin:0}.document-xml-panel .xml-code{min-height:240px;max-height:clamp(280px,48vh,520px)}
.document-result-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.document-xml-shortcut{font-size:13px;min-height:44px;display:inline-flex;align-items:center;color:var(--brand)}
.document-workspace>#inspection-result>#tag-result{padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:18px 0;scroll-margin-top:16px}.document-workspace>#inspection-result #tag-result-expansion>summary{padding:16px;cursor:pointer;min-height:48px;font-weight:650}.document-workspace>#inspection-result .tag-result-content{padding:0 18px 18px}
@media(max-width:760px){.document-xml-panel .xml-window-heading{display:block;padding:16px}.document-xml-panel .xml-toolbar{flex-wrap:wrap;margin-top:12px;gap:6px}.document-xml-panel .xml-search{width:100%;max-width:none;flex-basis:100%}.document-xml-panel .xml-code{min-height:220px}.document-result-navigation{gap:6px}}
