/*
 * Focused local-first protocol, supply-chain, and network tools.
 * The extension deliberately inherits the existing KivTools green/navy
 * system instead of introducing a second product surface.
 */
.kiv-expansion-tool .exp-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr);
    gap: 14px;
    align-items: start;
}

.kiv-expansion-tool .exp-workspace.exp-wide {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.kiv-expansion-tool .exp-code-output {
    min-height: 192px;
    max-height: 430px;
}

.kiv-expansion-tool .exp-code-output.exp-tall {
    min-height: 315px;
}

.kiv-expansion-tool .exp-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 10px;
}

.kiv-expansion-tool .exp-controls .pro-field {
    margin: 0;
}

.kiv-expansion-tool .exp-note {
    margin: 10px 0 0;
    color: #697982;
    font-size: 12px;
    line-height: 1.5;
}

.kiv-expansion-tool .exp-note .glyphicon {
    margin-right: 5px;
    color: #0b9f6a;
}

.kiv-expansion-tool .exp-metrics {
    margin: 0 0 12px;
}

.kiv-expansion-tool .exp-table-wrap {
    max-height: 330px;
    overflow: auto;
    border: 1px solid #e3eaec;
    border-radius: 3px;
}

.kiv-expansion-tool .exp-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-size: 12px;
}

.kiv-expansion-tool .exp-table th,
.kiv-expansion-tool .exp-table td {
    padding: 8px 9px;
    border-bottom: 1px solid #edf1f2;
    color: #3e4d55;
    text-align: left;
    vertical-align: top;
}

.kiv-expansion-tool .exp-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f7faf9;
    color: #42555d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}

.kiv-expansion-tool .exp-table td code,
.kiv-expansion-tool .exp-token {
    color: #0a8055;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 11px;
}

.kiv-expansion-tool .exp-findings {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kiv-expansion-tool .exp-findings li {
    position: relative;
    margin: 0 0 7px;
    padding: 8px 10px 8px 27px;
    border: 1px solid #e6ecee;
    border-radius: 3px;
    background: #fbfcfc;
    color: #52636c;
    font-size: 12px;
    line-height: 1.46;
}

.kiv-expansion-tool .exp-findings li:before {
    position: absolute;
    left: 10px;
    top: 8px;
    color: #0b9f6a;
    content: "✓";
    font-weight: 700;
}

.kiv-expansion-tool .exp-findings li.warning:before { color: #d99d22; content: "!"; }
.kiv-expansion-tool .exp-findings li.danger:before { color: #ca584d; content: "!"; }

.kiv-expansion-tool .exp-file-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px dashed #c8d5d8;
    border-radius: 3px;
    background: #fbfdfd;
    color: #60717a;
    font-size: 12px;
}

.kiv-expansion-tool .exp-file-summary.is-ready {
    border-style: solid;
    border-color: #b7e2cf;
    background: #f3fbf7;
    color: #236644;
}

.kiv-expansion-tool .exp-file-summary .glyphicon { color: #0b9f6a; }

.kiv-expansion-tool .exp-inline-code {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
    color: #0a8055;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

.kiv-expansion-tool .exp-empty {
    padding: 18px;
    border: 1px dashed #d8e1e4;
    border-radius: 3px;
    background: #fbfcfc;
    color: #71818a;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.kiv-expansion-tool .exp-source-map-lookup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 8px;
    margin: 11px 0 0;
}

@media (max-width: 991px) {
    .kiv-expansion-tool .exp-workspace,
    .kiv-expansion-tool .exp-workspace.exp-wide {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 599px) {
    .kiv-expansion-tool .exp-controls,
    .kiv-expansion-tool .exp-source-map-lookup {
        grid-template-columns: minmax(0, 1fr);
    }
}
