/*
 * KivTools identity and trust workbench.
 * The pages inherit the existing navy/green product shell and use one
 * restrained protocol signature: compact monospace specimens beside a
 * readable evidence report. No input is submitted or fetched remotely.
 */
.kiv-identity-tool .identity-tabs {
    margin-bottom: 14px;
}

.kiv-identity-tool .identity-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(330px, .96fr);
    gap: 14px;
    align-items: start;
}

.kiv-identity-tool .identity-workspace.identity-wide-output {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
}

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

.kiv-identity-tool .identity-controls.identity-controls-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kiv-identity-tool .identity-code {
    display: grid;
    min-height: 122px;
    place-items: center;
    padding: 18px;
    border: 1px solid #d8e5e1;
    border-radius: 4px;
    background: #f5fbf8;
    color: #153c2d;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: clamp(34px, 5.5vw, 58px);
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1;
    text-align: center;
}

.kiv-identity-tool .identity-code.is-empty {
    color: #93a39c;
    font-size: 26px;
    letter-spacing: .06em;
}

.kiv-identity-tool .identity-progress {
    height: 5px;
    margin: 10px 0 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e7eeeb;
}

.kiv-identity-tool .identity-progress > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #0b9f6a;
    transition: width .2s linear;
}

.kiv-identity-tool .identity-definition {
    display: grid;
    grid-template-columns: minmax(118px, .34fr) minmax(0, 1fr);
    margin: 0;
    border: 1px solid #e2e9eb;
    border-radius: 3px;
    background: #fff;
}

.kiv-identity-tool .identity-definition dt,
.kiv-identity-tool .identity-definition dd {
    min-width: 0;
    margin: 0;
    padding: 8px 10px;
    border-bottom: 1px solid #edf1f2;
    font-size: 12px;
    line-height: 1.48;
}

.kiv-identity-tool .identity-definition dt {
    background: #fafcfc;
    color: #667780;
    font-weight: 700;
}

.kiv-identity-tool .identity-definition dd {
    overflow-wrap: anywhere;
    color: #31434c;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

.kiv-identity-tool .identity-definition dt:last-of-type,
.kiv-identity-tool .identity-definition dd:last-of-type {
    border-bottom: 0;
}

.kiv-identity-tool .identity-flags,
.kiv-identity-tool .identity-script-list {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin: 10px 0 0;
}

.kiv-identity-tool .identity-chip {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid #dae4e6;
    border-radius: 999px;
    background: #f8fafb;
    color: #50616a;
    font-size: 11px;
    font-weight: 700;
}

.kiv-identity-tool .identity-chip.is-on {
    border-color: #b9dfcd;
    background: #effaf4;
    color: #1f7049;
}

.kiv-identity-tool .identity-chip.is-warning {
    border-color: #ecd39d;
    background: #fff9ec;
    color: #8a6116;
}

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

.kiv-identity-tool .identity-findings li {
    position: relative;
    margin: 0 0 7px;
    padding: 8px 10px 8px 28px;
    border: 1px solid #e4ebed;
    border-radius: 3px;
    background: #fbfcfc;
    color: #50616a;
    font-size: 12px;
    line-height: 1.46;
}

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

.kiv-identity-tool .identity-findings li.warning:before {
    color: #c98616;
    content: "!";
}

.kiv-identity-tool .identity-findings li.danger:before {
    color: #c45148;
    content: "!";
}

.kiv-identity-tool .identity-table-wrap {
    max-height: 310px;
    overflow: auto;
    border: 1px solid #e2e9eb;
    border-radius: 3px;
}

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

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

.kiv-identity-tool .identity-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f7faf9;
    color: #4d6068;
    font-size: 11px;
    font-weight: 700;
}

.kiv-identity-tool .identity-table td {
    overflow-wrap: anywhere;
}

.kiv-identity-tool .identity-output {
    min-height: 168px;
    max-height: 390px;
    overflow: auto;
}

.kiv-identity-tool .identity-uri {
    display: block;
    min-height: 72px;
    max-height: 145px;
    overflow: auto;
    margin: 0;
    padding: 10px;
    border: 1px solid #e0e7e9;
    border-radius: 3px;
    background: #fbfcfd;
    color: #285246;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 11px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-all;
}

.kiv-identity-tool .identity-inline-status {
    min-height: 18px;
    margin: 7px 0 0;
    color: #708089;
    font-size: 11px;
    line-height: 1.45;
}

.kiv-identity-tool .identity-field-full {
    grid-column: 1 / -1;
}

.kiv-identity-tool .identity-domain-result {
    padding: 11px;
    border-left: 3px solid #0b9f6a;
    background: #f7fbf9;
    color: #2e424b;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.kiv-identity-tool button:focus-visible,
.kiv-identity-tool input:focus-visible,
.kiv-identity-tool select:focus-visible,
.kiv-identity-tool textarea:focus-visible {
    outline: 3px solid rgba(11, 159, 106, .22);
    outline-offset: 2px;
}

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

@media (max-width: 599px) {
    .kiv-identity-tool .identity-controls,
    .kiv-identity-tool .identity-controls.identity-controls-three {
        grid-template-columns: minmax(0, 1fr);
    }

    .kiv-identity-tool .identity-definition {
        grid-template-columns: minmax(96px, .4fr) minmax(0, 1fr);
    }

    .kiv-identity-tool .identity-code {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kiv-identity-tool .identity-progress > span {
        transition: none;
    }
}
