/* ============================================================
   plsql-output.css — Universal PL/SQL Output Display
   Dark mode: dark terminal. Light mode: clean bordered card.
   ============================================================ */

/* ── Output Label ── */
.output-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'DM Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #f08030;
    background: rgba(224,112,26,0.10);
    border: 1px solid rgba(224,112,26,0.28);
    border-radius: 6px;
    padding: 3px 10px;
    margin: 18px 0 8px;
}
.output-label::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4ade80;
}
[data-theme="light"] .output-label {
    color: #c05a0a;
    background: rgba(224,112,26,0.08);
    border-color: rgba(224,112,26,0.22);
}

/* ══════════════════════════════════════════════
   DARK MODE — full terminal style
   ══════════════════════════════════════════════ */
.plsql-out {
    margin: 12px 0 20px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.09);
    background: #2b2b2b;
    font-family: 'DM Mono', 'Courier New', monospace;
}
.plsql-out-header {
    background: #383838;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.plsql-out-body {
    background: #2b2b2b;
    padding: 14px 16px;
}
.plsql-out-dots { display: flex; align-items: center; gap: 8px; }
.plsql-out-dots span { display: flex; gap: 5px; }
.plsql-out-dots span i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.plsql-out-dots span i.d-red    { background: #ff5f57; }
.plsql-out-dots span i.d-yellow { background: #febc2e; }
.plsql-out-dots span i.d-green  { background: #28c840; }
.plsql-out-label {
    font-family: 'DM Sans', sans-serif;
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: #4a5568; margin-left: 4px;
}
.plsql-out-status {
    display: flex; align-items: center; gap: 6px;
    font-family: 'DM Sans', sans-serif;
    font-size: 10px; color: #4a5568;
}
.plsql-out-status .status-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #28c840; flex-shrink: 0;
}
.plsql-out-status.error .status-dot { background: #ff5f57; }
.plsql-out-status.error { color: #ef4444; }
.plsql-out-comment {
    font-size: 11.5px; color: #4a5568;
    margin-bottom: 10px; padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.plsql-out-lines { display: flex; flex-direction: column; gap: 4px; }
.plsql-out-line { display: flex; align-items: baseline; gap: 10px; font-size: 12.5px; }
.plsql-out-line .out-key { color: #60a5fa; white-space: nowrap; min-width: 110px; flex-shrink: 0; }
.plsql-out-line .out-val { color: #f1f5f9; }
.plsql-out-table { width: 100%; overflow-x: auto; }
.plsql-out-cols {
    display: flex; gap: 0;
    padding: 5px 10px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 3px;
}
.plsql-out-cols span {
    font-family: 'DM Sans', sans-serif;
    font-size: 9.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.07em;
    color: #4a5568; flex: 1; min-width: 60px;
}
.plsql-out-row {
    display: flex; gap: 0; padding: 6px 10px;
    border-radius: 4px; font-size: 12.5px; transition: background 0.1s;
}
.plsql-out-row:nth-child(odd)  { background: rgba(255,255,255,0.025); }
.plsql-out-row:nth-child(even) { background: transparent; }
.plsql-out-row:hover           { background: rgba(224,112,26,0.07); }
.plsql-out-row span { flex: 1; min-width: 60px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plsql-out-row .col-id   { color: #f08030; font-weight: 600; }
.plsql-out-row .col-name { color: #f1f5f9; }
.plsql-out-row .col-cat  { color: #94a3b8; }
.plsql-out-row .col-num  { color: #4ade80; }
.plsql-out-row .col-dim  { color: #64748b; }
.plsql-out.error { border-color: rgba(239,68,68,0.25); }
.plsql-out.error .plsql-out-header { border-bottom-color: rgba(239,68,68,0.15); }
.plsql-out-error-lines { display: flex; flex-direction: column; gap: 8px; }
.plsql-out-error-line { display: flex; gap: 12px; align-items: flex-start; font-size: 12.5px; }
.plsql-out-error-line .err-code { color: #ef4444; font-weight: 700; white-space: nowrap; min-width: 90px; flex-shrink: 0; }
.plsql-out-error-line .err-msg  { color: #fca5a5; }
.plsql-out-error-line .err-info { color: #94a3b8; }
.plsql-out-footer {
    margin-top: 12px; padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,0.05);
    display: flex; align-items: center; gap: 7px;
    font-family: 'DM Sans', sans-serif;
    font-size: 10.5px; color: #4a5568;
}
.plsql-out-footer .footer-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #28c840; flex-shrink: 0;
}

/* ══════════════════════════════════════════════
   LIGHT MODE — clean card style, no dark bg
   ══════════════════════════════════════════════ */
[data-theme="light"] .plsql-out {
    border: 1.5px solid #EB935D !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--bg, #FAF7F2) !important;
}
[data-theme="light"] .plsql-out-header {
    background: #d4c8b8 !important;
    padding: 8px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 2px solid #EB935D !important;
}
[data-theme="light"] .plsql-out-label { color: #888; }
[data-theme="light"] .plsql-out-status { color: #888; }
[data-theme="light"] .plsql-out-body {
    background: var(--bg, #FAF7F2) !important;
    padding: 14px 16px !important;
}
[data-theme="light"] .plsql-out-comment {
    color: #9ea3af;
    border-bottom-color: rgba(0,0,0,0.06);
}
[data-theme="light"] .plsql-out-cols {
    border-bottom-color: rgba(0,0,0,0.08);
}
[data-theme="light"] .plsql-out-cols span { color: #9ea3af; }
[data-theme="light"] .plsql-out-row:nth-child(odd)  { background: rgba(0,0,0,0.03); }
[data-theme="light"] .plsql-out-row:nth-child(even) { background: transparent; }
[data-theme="light"] .plsql-out-row:hover           { background: rgba(235,147,93,0.08); }
[data-theme="light"] .plsql-out-row .col-id   { color: #c05a0a; }
[data-theme="light"] .plsql-out-row .col-name { color: #111318; }
[data-theme="light"] .plsql-out-row .col-cat  { color: #5c6170; }
[data-theme="light"] .plsql-out-row .col-num  { color: #166534; }
[data-theme="light"] .plsql-out-row .col-dim  { color: #9ea3af; }
[data-theme="light"] .plsql-out-line .out-key { color: #1d4ed8; }
[data-theme="light"] .plsql-out-line .out-val { color: #111318; }
[data-theme="light"] .plsql-out-footer {
    border-top-color: rgba(0,0,0,0.06);
    color: #9ea3af;
}
[data-theme="light"] .plsql-out.error {
    border-color: rgba(220,38,38,0.4);
}
[data-theme="light"] .plsql-out.error .plsql-out-header {
    border-bottom-color: rgba(220,38,38,0.3);
}
