:root {
    --oikvra-ink: #0b203b;
    --oikvra-ink2: #132d4c;
    --oikvra-paper: #f7f9fb;
    --oikvra-white: #ffffff;
    --oikvra-muted: #667488;
    --oikvra-line: #dfe5eb;
    --oikvra-soft: #edf1f5;
    --oikvra-shadow: 0 18px 50px rgba(11, 32, 59, .09);
    --cx-bg: var(--oikvra-paper);
    --cx-surface: var(--oikvra-white);
    --cx-surface-soft: var(--oikvra-soft);
    --cx-border: var(--oikvra-line);
    --cx-border-strong: #c3ccd7;
    --cx-text: var(--oikvra-ink);
    --cx-text-soft: #42536a;
    --cx-text-muted: var(--oikvra-muted);
    --cx-primary: var(--oikvra-ink);
    --cx-primary-strong: var(--oikvra-ink2);
    --cx-primary-soft: var(--oikvra-soft);
    --cx-radius-sm: 8px;
    --cx-radius: 12px;
    --cx-radius-lg: 16px;
    --cx-shadow: var(--oikvra-shadow);
}
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--oikvra-ink); background: var(--oikvra-paper); }
.topbar, .app-topbar { background: rgba(247, 249, 251, .96); border-color: var(--oikvra-line); }
.topbar { border-bottom: 1px solid var(--oikvra-line); }
.app-brand { align-items: center; gap: 9px; min-width: 152px; color: var(--oikvra-ink); letter-spacing: .12em; }
.app-brand-mark { width: 30px; height: 30px; display: inline-flex; color: var(--oikvra-ink); }
.app-brand-mark svg { width: 100%; height: 100%; }
.app-brand strong { color: var(--oikvra-ink); font-size: 17px; letter-spacing: .12em; }
.app-brand:hover, a:hover { color: var(--oikvra-ink2); }
.btn.primary, button.btn.primary { background: var(--oikvra-ink); border-color: var(--oikvra-ink); }
.btn.primary:hover, button.btn.primary:hover { background: var(--oikvra-ink2); border-color: var(--oikvra-ink2); }
input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible { outline: 2px solid #557395; outline-offset: 2px; }
.card, .metric { box-shadow: var(--oikvra-shadow); border-color: var(--oikvra-line); }

.public-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--oikvra-ink) !important; text-decoration: none; letter-spacing: .12em; }
.public-brand .app-brand-mark { width: 30px; height: 30px; }
.public-brand strong { color: var(--oikvra-ink); font-size: 17px; }
.auth-card { border-color: var(--oikvra-line); box-shadow: var(--oikvra-shadow); }

.oikvra-help-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--oikvra-line);
    border-radius: 10px;
    background: var(--oikvra-white);
    color: var(--oikvra-ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.oikvra-help-button:hover { background: var(--oikvra-soft); }
.oikvra-help-button > span:first-child {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid var(--oikvra-line);
    border-radius: 50%;
}
@media (max-width: 720px) {
    .oikvra-help-label { display: none; }
    .oikvra-help-button { padding: 0 8px; }
}

/* OIKVRA — alternating operational rows for visual checking */
.caixaon-authenticated .table-wrap tbody tr:nth-child(odd),
.caixaon-authenticated .data-table tbody tr:nth-child(odd),
.caixaon-authenticated .m11-table-card tbody tr:nth-child(odd) {
    background: #ffffff;
}

.caixaon-authenticated .table-wrap tbody tr:nth-child(even),
.caixaon-authenticated .data-table tbody tr:nth-child(even),
.caixaon-authenticated .m11-table-card tbody tr:nth-child(even) {
    background: #f5f8fb;
}

.caixaon-authenticated .table-wrap tbody tr:hover,
.caixaon-authenticated .data-table tbody tr:hover,
.caixaon-authenticated .m11-table-card tbody tr:hover {
    background: #eaf2fa;
}

.caixaon-authenticated .table-wrap tbody td,
.caixaon-authenticated .data-table tbody td,
.caixaon-authenticated .m11-table-card tbody td {
    background: transparent;
}

/* OIKVRA — compact, scannable detail pages */
.caixaon-authenticated .app-main .detail-grid:not(dl) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.caixaon-authenticated .app-main dl.kv {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    margin: 0;
}

.caixaon-authenticated .app-main dl.kv > div {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #f8fafc;
}

.caixaon-authenticated .app-main dl.kv dt {
    margin: 0 0 4px;
    color: var(--oikvra-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.caixaon-authenticated .app-main dl.kv dd {
    margin: 0;
    min-width: 0;
    color: var(--oikvra-ink);
    font-weight: 650;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.caixaon-authenticated .app-main dl.compact-kv {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.caixaon-authenticated .app-main dl.detail-grid {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: 0;
    width: min(100%, 820px);
    margin: 0;
}

.caixaon-authenticated .app-main dl.detail-grid > dt,
.caixaon-authenticated .app-main dl.detail-grid > dd {
    margin: 0;
    padding: 9px 10px;
    border-bottom: 1px solid #edf1f5;
}

.caixaon-authenticated .app-main dl.detail-grid > dt {
    color: var(--oikvra-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.caixaon-authenticated .app-main dl.detail-grid > dd {
    color: var(--oikvra-ink);
    font-weight: 650;
    overflow-wrap: anywhere;
}

.caixaon-authenticated .app-main dl.detail-grid > dt:nth-last-of-type(1),
.caixaon-authenticated .app-main dl.detail-grid > dd:last-child {
    border-bottom-color: transparent;
}

@media (max-width: 900px) {
    .caixaon-authenticated .app-main .detail-grid:not(dl) {
        grid-template-columns: 1fr;
    }

    .caixaon-authenticated .app-main dl.compact-kv {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .caixaon-authenticated .app-main dl.kv,
    .caixaon-authenticated .app-main dl.compact-kv {
        grid-template-columns: 1fr;
    }

    .caixaon-authenticated .app-main dl.detail-grid {
        grid-template-columns: 1fr;
    }

    .caixaon-authenticated .app-main dl.detail-grid > dt {
        padding-bottom: 2px;
        border-bottom: 0;
    }

    .caixaon-authenticated .app-main dl.detail-grid > dd {
        padding-top: 2px;
    }
}


/* OIKVRA 3-letter sidebar baseline */
.caixaon-authenticated .app-sidebar .side-icon {
    width: 34px;
    height: 28px;
    flex: 0 0 34px;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .025em;
    line-height: 1;
    white-space: nowrap;
}

.caixaon-authenticated .app-sidebar .side-link {
    gap: 10px;
}

.caixaon-authenticated.sidebar-collapsed .app-sidebar .side-icon {
    width: 34px;
    height: 28px;
    flex-basis: 34px;
}

.caixaon-authenticated .app-sidebar .side-subnav {
    margin-left: 44px;
}
