/* FS CCT - Public CSS */
.fs-cct-public-wrap {
    --fs-cct-primary: #2563eb;
    --fs-cct-secondary: #1e40af;
    --fs-cct-button: #2563eb;
    --fs-cct-header: #0f172a;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color:#0f172a;
    margin: 18px 0;
}
.fs-cct-public-wrap .fs-cct-title { font-size: 24px; margin: 0 0 6px; color: var(--fs-cct-header); }
.fs-cct-public-wrap .fs-cct-description { color:#64748b; margin: 0 0 18px; }

.fs-cct-public-breadcrumb { display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:13px; color:#64748b; margin: 0 0 16px; padding: 8px 14px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; flex-wrap:wrap; }
.fs-cct-public-breadcrumb .fs-cct-bc-left { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.fs-cct-public-breadcrumb .fs-cct-bc-right { display:flex; align-items:center; gap:6px; color:#475569; font-weight:500; padding:4px 10px; background:#fff; border:1px solid #e2e8f0; border-radius:8px; }
.fs-cct-public-breadcrumb .fs-cct-bc-right .dashicons { color: var(--fs-cct-primary); }
.fs-cct-public-breadcrumb a { color: var(--fs-cct-primary); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.fs-cct-public-breadcrumb a:hover { text-decoration:underline; }
.fs-cct-public-breadcrumb .sep { color:#cbd5e1; }
.fs-cct-public-breadcrumb .current { color:#0f172a; font-weight:600; }
.fs-cct-public-breadcrumb .dashicons { font-size:14px; width:14px; height:14px; line-height:14px; }

.fs-cct-filters { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; padding:14px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.fs-cct-filter { display:flex; flex-direction:column; min-width:200px; flex:1; }
.fs-cct-filter label { font-size:12px; font-weight:600; color:#475569; margin-bottom:4px; }
.fs-cct-filter select, .fs-cct-filter input {
    padding:8px 12px; border:1px solid #cbd5e1; border-radius:8px; font-size:13px; background:#fff; outline:none; transition: border-color .15s, box-shadow .15s;
}
.fs-cct-filter select:focus, .fs-cct-filter input:focus { border-color: var(--fs-cct-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }

.fs-cct-public-wrap table.dataTable { width:100% !important; table-layout: auto; border-collapse:separate; border-spacing:0; }
.fs-cct-public-wrap table.dataTable thead th {
    background: var(--fs-cct-header);
    color: #fff;
    border:0;
    padding: 14px 12px;
    font-weight:600;
    font-size: 13px;
    white-space: nowrap;
}
.fs-cct-public-wrap table.dataTable tbody td {
    padding: 12px;
    border-bottom: 1px solid #e2e8f0;
    font-size: 14px;
    vertical-align: middle;
}
.fs-cct-public-wrap table.dataTable tbody tr:hover td { background:#f8fafc; }
.fs-cct-public-wrap table.dataTable.no-footer { border-bottom: 0; }

.fs-cct-public-wrap .dataTables_wrapper {
    position: relative;
    border-radius:14px;
    background:#fff;
    padding:16px;
    box-shadow:0 1px 4px rgba(15,23,42,.06);
}

/* Toolbar acima da tabela (length + buttons + filter) */
.fs-cct-public-wrap .dataTables_wrapper > .row,
.fs-cct-public-wrap .dt-toolbar-top {
    display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px;
}
.fs-cct-public-wrap .dt-toolbar-left { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.fs-cct-public-wrap .dt-toolbar-left .dt-row { display:flex; align-items:center; }
.fs-cct-public-wrap .dt-toolbar-right { display:flex; align-items:center; }
.fs-cct-public-wrap .dataTables_length,
.fs-cct-public-wrap .dataTables_filter,
.fs-cct-public-wrap .dt-buttons,
.fs-cct-public-wrap .dataTables_info,
.fs-cct-public-wrap .dataTables_paginate {
    float:none !important;
}
.fs-cct-public-wrap .dataTables_length {
    display:inline-flex; align-items:center; gap:8px; margin:0;
}
.fs-cct-public-wrap .dataTables_length label { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:13px; color:#475569; font-weight:500; }
.fs-cct-public-wrap .dataTables_length select {
    padding:6px 10px; border-radius:8px; border:1px solid #cbd5e1; font-size:13px; background:#fff;
}
.fs-cct-public-wrap .dataTables_filter {
    margin:0 0 0 auto;
}
.fs-cct-public-wrap .dataTables_filter label { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:13px; color:#475569; font-weight:500; }
.fs-cct-public-wrap .dataTables_filter input {
    padding:8px 12px; border-radius:8px; border:1px solid #cbd5e1; margin:0; min-width:240px; font-size:13px;
}
.fs-cct-public-wrap .dt-buttons { display:inline-flex; flex-wrap:wrap; gap:6px; margin:0; }
.fs-cct-public-wrap .dt-buttons .dt-button {
    background: var(--fs-cct-button) !important;
    color:#fff !important;
    border:0 !important;
    border-radius:8px !important;
    padding:7px 14px !important;
    margin:0 !important;
    font-size:13px !important;
    font-weight:500 !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.1);
    transition:.15s;
}
.fs-cct-public-wrap .dt-buttons .dt-button:hover { filter: brightness(0.92); }

/* Processing indicator */
.fs-cct-public-wrap .dataTables_processing {
    position: absolute !important;
    z-index: 10;
    background:#fff !important;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:10px 18px !important;
    box-shadow:0 4px 16px rgba(15,23,42,.12);
    color:#475569; font-size:13px;
    top:50% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform: translate(-50%, -50%);
    width:auto !important;
    min-width:140px;
    margin:0 !important;
    text-align:center;
}

/* Paginação / info */
.fs-cct-public-wrap .dataTables_info { color:#64748b; font-size:13px; padding-top:14px; }
.fs-cct-public-wrap .dataTables_paginate { padding-top:10px; }
.fs-cct-public-wrap .dataTables_paginate .paginate_button {
    padding:6px 12px !important; margin:0 2px !important; border:1px solid #e2e8f0 !important;
    border-radius:6px !important; color:#475569 !important; background:#fff !important;
}
.fs-cct-public-wrap .dataTables_paginate .paginate_button:hover { background:#f1f5f9 !important; color:#0f172a !important; border-color:#cbd5e1 !important; }
.fs-cct-public-wrap .dataTables_paginate .paginate_button.current,
.fs-cct-public-wrap .dataTables_paginate .paginate_button.current:hover {
    background: var(--fs-cct-primary) !important; color:#fff !important; border-color: var(--fs-cct-primary) !important;
}
.fs-cct-public-wrap .dataTables_paginate .paginate_button.disabled { color:#cbd5e1 !important; background:#f8fafc !important; cursor:not-allowed; }

/* Coluna por tipo */
.fs-cct-public-wrap th.fs-cct-col-textarea,
.fs-cct-public-wrap th.fs-cct-col-editor,
.fs-cct-public-wrap th.fs-cct-col-observacao,
.fs-cct-public-wrap td.fs-cct-col-textarea,
.fs-cct-public-wrap td.fs-cct-col-editor,
.fs-cct-public-wrap td.fs-cct-col-observacao { min-width: 260px; white-space: normal; }

.fs-cct-public-wrap th.fs-cct-col-ano, .fs-cct-public-wrap th.fs-cct-col-numero,
.fs-cct-public-wrap th.fs-cct-col-mes, .fs-cct-public-wrap th.fs-cct-col-percentual,
.fs-cct-public-wrap td.fs-cct-col-ano, .fs-cct-public-wrap td.fs-cct-col-numero,
.fs-cct-public-wrap td.fs-cct-col-mes, .fs-cct-public-wrap td.fs-cct-col-percentual { text-align:center; }

.fs-cct-public-wrap th.fs-cct-col-actions, .fs-cct-public-wrap td.fs-cct-col-actions { text-align:center; white-space:nowrap; }

.fs-cct-public-wrap td { word-break: break-word; }

.fs-cct-file-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 12px; background: var(--fs-cct-button); color:#fff !important;
    border-radius:8px; text-decoration:none; font-size:12px; font-weight:500;
    margin-right:4px;
}
.fs-cct-file-btn:hover { filter:brightness(0.92); color:#fff; text-decoration:none; }
.fs-cct-file-btn .dashicons { font-size:14px; width:14px; height:14px; line-height:14px; }

.fs-cct-details-btn {
    display:inline-flex; align-items:center; gap:5px;
    padding:6px 12px; background:#fff; color: var(--fs-cct-primary);
    border:1px solid var(--fs-cct-primary); border-radius:8px;
    cursor:pointer; font-size:12px; font-weight:500;
}
.fs-cct-details-btn:hover { background: var(--fs-cct-primary); color:#fff; }

.fs-cct-badge { padding:3px 9px; border-radius:999px; font-size:11px; font-weight:600; }
.fs-cct-badge-on { background:#dcfce7; color:#166534; }
.fs-cct-badge-off { background:#f1f5f9; color:#475569; }
.fs-cct-status { background:#dbeafe; color:#1d4ed8; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:600; }

.fs-cct-empty { padding:24px; text-align:center; color:#64748b; }

.fs-cct-modal { position:fixed; inset:0; z-index:99999; display:none; }
.fs-cct-modal.is-open { display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; }
.fs-cct-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.55); }
.fs-cct-modal-dialog { position:relative; max-width:720px; width:100%; background:#fff; border-radius:14px; padding:28px; max-height:90vh; overflow:auto; box-shadow:0 20px 50px rgba(15,23,42,.3); }
.fs-cct-modal-close { position:absolute; top:10px; right:14px; background:transparent; border:0; font-size:26px; color:#64748b; cursor:pointer; line-height:1; }

.fs-cct-detail-head h3 { margin:0 0 4px; color: var(--fs-cct-header); }
.fs-cct-detail-head small { color:#64748b; }
.fs-cct-detail-body { margin-top:18px; display:flex; flex-direction:column; gap:12px; }
.fs-cct-detail-row { display:grid; grid-template-columns: 180px 1fr; gap:14px; padding-bottom:10px; border-bottom:1px dashed #e2e8f0; }
.fs-cct-detail-label { color:#475569; font-weight:600; font-size:13px; }
.fs-cct-detail-value { color:#0f172a; font-size:14px; }
@media (max-width:640px) { .fs-cct-detail-row { grid-template-columns:1fr; } }

.fs-cct-loading { padding:24px; text-align:center; color:#64748b; }
