/* ================================================================
   PROJECT I/O — Corporate Input/Output Register Styles
   Estilos para o registro corporativo de compras/vendas e IR.
   ================================================================ */

/* ---- SECTIONS ---- */

.pio-section {
    margin-bottom: 4px;
    border: 1px solid var(--neutral-700, #333);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pio-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    background: var(--neutral-800, #1a1a2e);
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    font-weight: 600;
    color: var(--neutral-100, #eee);
    transition: background 0.15s;
}

.pio-section-header:hover {
    background: var(--neutral-750, #252540);
}

.pio-chevron {
    font-size: 10px;
    color: var(--neutral-400, #888);
}

.pio-section-body {
    padding: 8px;
}

/* ---- CARDS ---- */

.pio-card {
    border: 1px solid var(--neutral-700, #333);
    border-left: 3px solid var(--primary-500, #6366f1);
    border-radius: var(--radius-md);
    padding: 8px;
    margin-bottom: 6px;
    background: var(--neutral-850, #12122a);
    transition: border-color 0.15s;
}

.pio-card:hover {
    border-left-color: var(--primary-400, #818cf8);
}

.pio-card-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.pio-card-icon {
    flex-shrink: 0;
    color: var(--primary-400, #818cf8);
}

.pio-card-cat {
    font-size: 11px;
    font-weight: 600;
    color: var(--neutral-200, #ddd);
    flex: 1;
    text-transform: capitalize;
}

.pio-card-actions {
    display: flex;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.15s;
}

.pio-card:hover .pio-card-actions {
    opacity: 1;
}

.pio-card-actions .btn-icon {
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--neutral-400, #888);
    cursor: pointer;
    border-radius: 3px;
}

.pio-card-actions .btn-icon:hover {
    background: var(--danger-500, #ef4444);
    color: #fff;
}

.pio-card-desc {
    font-size: 11px;
    color: var(--neutral-300, #bbb);
    margin-bottom: 3px;
    line-height: 1.3;
}

.pio-card-calc {
    font-size: 11px;
    color: var(--neutral-400, #888);
    font-family: 'JetBrains Mono', monospace;
    margin-bottom: 3px;
}

.pio-card-calc strong {
    color: var(--neutral-100, #eee);
}

.pio-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 10px;
    color: var(--neutral-500, #666);
}

.pio-card-links {
    font-size: 10px;
    color: var(--primary-400, #818cf8);
    margin-top: 3px;
    cursor: pointer;
}

.pio-card-links:hover {
    text-decoration: underline;
}

/* Status badges */

.pio-status {
    font-size: 10px;
    font-weight: 500;
}

.pio-status-done {
    color: var(--success-400, #4ade80);
}

.pio-status-wip {
    color: var(--warning-400, #fbbf24);
}

.pio-status-planned {
    color: var(--neutral-500, #666);
}

/* ---- SUMMARY ---- */

.pio-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    margin-top: 6px;
    border-top: 1px solid var(--neutral-700, #333);
    font-size: 11px;
    color: var(--neutral-300, #bbb);
}

.pio-summary strong {
    color: var(--neutral-100, #eee);
}

.pio-count {
    color: var(--neutral-500, #666);
    font-size: 10px;
}

/* ---- EMPTY STATE ---- */

.pio-empty {
    text-align: center;
    padding: 16px 8px;
    font-size: 11px;
    color: var(--neutral-500, #666);
    font-style: italic;
}

/* ---- ADD BUTTON ---- */

.pio-add-btn {
    display: block;
    width: 100%;
    margin-top: 6px;
    text-align: center;
    font-size: 11px;
}

/* ---- KPI GRID (IR) ---- */

.pio-kpi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-bottom: 8px;
}

.pio-kpi-card {
    text-align: center;
    padding: 8px 4px;
    border: 1px solid var(--neutral-700, #333);
    border-radius: var(--radius-lg);
    background: var(--neutral-850, #12122a);
}

.pio-kpi-value {
    font-size: 14px;
    font-weight: 700;
    color: var(--neutral-100, #eee);
    font-family: 'JetBrains Mono', monospace;
    line-height: 1.2;
}

.pio-kpi-label {
    font-size: var(--text-xs, 10px);
    color: var(--neutral-500, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

.pio-kpi-positive .pio-kpi-value {
    color: var(--success-400, #4ade80);
}

.pio-kpi-negative .pio-kpi-value {
    color: var(--danger-400, #f87171);
}

/* ---- TREE (IR INDICATORS) ---- */

.pio-tree {
    margin-bottom: 8px;
}

.pio-tree-title {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--neutral-400, #888);
    padding: 4px 0;
    border-bottom: 1px solid var(--neutral-700, #333);
    margin-bottom: 3px;
}

.pio-tree-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 4px;
    font-size: 11px;
    color: var(--neutral-300, #bbb);
    border-radius: 3px;
}

.pio-tree-item:hover {
    background: var(--neutral-800, #1a1a2e);
}

.pio-tree-item span:last-child {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--neutral-200, #ddd);
}

.pio-tree-item.pio-danger span:last-child {
    color: var(--danger-400, #f87171);
}

.pio-tree-item.pio-warning span:last-child {
    color: var(--warning-400, #fbbf24);
}

.pio-tree-item.pio-success span:last-child {
    color: var(--success-400, #4ade80);
}

/* ---- FORM ---- */

.pio-form {
    padding: 8px;
    margin-top: 6px;
    border: 1px solid var(--primary-500, #6366f1);
    border-radius: var(--radius-lg);
    background: var(--neutral-850, #12122a);
}

.pio-form-row {
    margin-bottom: 5px;
}

.pio-form-row-multi {
    display: flex;
    gap: 4px;
}

.pio-form-field {
    width: 100%;
    font-size: 11px;
}

.pio-form-sm {
    flex: 1;
    min-width: 0;
    font-size: 11px;
}

.pio-form select.form-input,
.pio-form input.form-input {
    padding: 4px 6px;
    font-size: 11px;
    height: 28px;
}

.pio-form select[multiple].form-input {
    height: auto;
    min-height: 50px;
}

.pio-form-actions {
    display: flex;
    gap: 4px;
    margin-top: 6px;
}

.pio-form-actions .btn {
    flex: 1;
    font-size: 11px;
    padding: 4px 8px;
}
