.krecursos-app {
    --krec-bg: #f5f7fb;
    --krec-surface: #ffffff;
    --krec-border: #dfe5ee;
    --krec-text: #172033;
    --krec-muted: #667085;
    --krec-primary: #243b64;
    --krec-primary-soft: #edf2fb;
    --krec-radius: 14px;
    color: var(--krec-text);
    padding-bottom: 24px;
}
.krecursos-app * { box-sizing: border-box; }
.krecursos-app .krecursos-page-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin: 8px 0 20px;
    padding: 22px 24px;
    border: 1px solid var(--krec-border);
    border-radius: var(--krec-radius);
    background: linear-gradient(135deg, var(--krec-surface), var(--krec-primary-soft));
    box-shadow: 0 8px 28px rgba(18, 38, 63, .07);
}
.krecursos-app .krecursos-page-header h1 { margin: 0; font-size: 1.75rem; line-height: 1.2; }
.krecursos-app .krecursos-page-header p { margin: 8px 0 0; color: var(--krec-muted); max-width: 780px; }
.krecursos-app .krecursos-page-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.krecursos-app .krecursos-primary-action,
.krecursos-app .krecursos-secondary-action,
.krecursos-app .krecursos-danger-action {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
}
.krecursos-app .krecursos-primary-action { background: var(--krec-primary); color: #fff; }
.krecursos-app .krecursos-secondary-action { background: #fff; color: var(--krec-primary); border-color: var(--krec-border); }
.krecursos-app .krecursos-danger-action { background: #fff1f2; color: #b42318; border-color: #fecdd3; }
.krecursos-app .krecursos-primary-action:focus,
.krecursos-app .krecursos-secondary-action:focus,
.krecursos-app .krecursos-danger-action:focus,
.krecursos-app input:focus,
.krecursos-app select:focus,
.krecursos-app textarea:focus { outline: 3px solid rgba(36, 59, 100, .2); outline-offset: 1px; }
.krecursos-app .krecursos-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.krecursos-app .krecursos-stat,
.krecursos-app .krecursos-card {
    background: var(--krec-surface);
    border: 1px solid var(--krec-border);
    border-radius: var(--krec-radius);
    box-shadow: 0 4px 16px rgba(18, 38, 63, .05);
}
.krecursos-app .krecursos-stat { padding: 18px; }
.krecursos-app .krecursos-stat span { display: block; color: var(--krec-muted); font-size: .9rem; }
.krecursos-app .krecursos-stat strong { display: block; margin-top: 7px; font-size: 1.65rem; }
.krecursos-app .krecursos-card { padding: 18px; margin-bottom: 18px; }
.krecursos-app .krecursos-card h2 { margin: 0 0 14px; font-size: 1.12rem; }
.krecursos-app .krecursos-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.krecursos-app .krecursos-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.krecursos-app .krecursos-field.is-wide { grid-column: 1 / -1; }
.krecursos-app .krecursos-field label { font-weight: 600; }
.krecursos-app .krecursos-field label.is-required::after { content: ' *'; color: #b42318; }
.krecursos-app .krecursos-field small { color: var(--krec-muted); line-height: 1.35; }
.krecursos-app .krecursos-field input,
.krecursos-app .krecursos-field select,
.krecursos-app .krecursos-field textarea { width: 100%; min-height: 38px; border: 1px solid #cfd7e3; border-radius: 8px; padding: 8px 10px; background: #fff; color: var(--krec-text); }
.krecursos-app .krecursos-field textarea { min-height: 100px; resize: vertical; }
.krecursos-app .krecursos-field select[multiple] { min-height: 145px; }
.krecursos-app .krecursos-section[hidden],
.krecursos-app .krecursos-filter-section[hidden] { display: none !important; }
.krecursos-app .krecursos-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 9px; font-size: .78rem; font-weight: 700; white-space: nowrap; background: var(--krec-primary-soft); color: var(--krec-primary); }
.krecursos-app .krecursos-status.is-available { background: #ecfdf3; color: #027a48; }
.krecursos-app .krecursos-status.is-assigned { background: #eff8ff; color: #175cd3; }
.krecursos-app .krecursos-status.is-maintenance { background: #fffaeb; color: #b54708; }
.krecursos-app .krecursos-status.is-inactive { background: #f2f4f7; color: #475467; }
.krecursos-app .krecursos-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--krec-border); border-radius: var(--krec-radius); background: #fff; }
.krecursos-app .krecursos-table { width: 100%; border-collapse: collapse; min-width: 1060px; }
.krecursos-app .krecursos-table th,
.krecursos-app .krecursos-table td { padding: 12px 13px; border-bottom: 1px solid #edf0f4; vertical-align: middle; text-align: left; }
.krecursos-app .krecursos-table th { background: #f8fafc; color: #475467; font-size: .82rem; text-transform: uppercase; letter-spacing: .02em; }
.krecursos-app .krecursos-table tr:last-child td { border-bottom: 0; }
.krecursos-app .krecursos-table .krecursos-actions { display: flex; gap: 8px; white-space: nowrap; }
.krecursos-app .krecursos-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.krecursos-app .krecursos-pages { display: flex; gap: 5px; flex-wrap: wrap; }
.krecursos-app .krecursos-pages a,
.krecursos-app .krecursos-pages span { min-width: 34px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--krec-border); border-radius: 8px; text-decoration: none; background: #fff; }
.krecursos-app .krecursos-pages .is-current { background: var(--krec-primary); color: #fff; border-color: var(--krec-primary); }
.krecursos-app .krecursos-summary-list { display: grid; grid-template-columns: 220px 1fr; margin: 0; }
.krecursos-app .krecursos-summary-list dt,
.krecursos-app .krecursos-summary-list dd { margin: 0; padding: 10px 0; border-bottom: 1px solid #edf0f4; }
.krecursos-app .krecursos-summary-list dt { color: var(--krec-muted); font-weight: 600; }
.krecursos-app .krecursos-alert { border: 1px solid #fec84b; background: #fffaeb; color: #7a2e0e; border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; }
.krecursos-app .krecursos-empty { text-align: center; color: var(--krec-muted); padding: 34px; }
.krecursos-app .krecursos-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin: 18px 0; }
.krecursos-app .krecursos-filter-actions { display: flex; align-items: end; gap: 8px; }
@media (max-width: 1100px) {
    .krecursos-app .krecursos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .krecursos-app .krecursos-page-header { flex-direction: column; padding: 18px; }
    .krecursos-app .krecursos-page-actions { width: 100%; justify-content: flex-start; }
    .krecursos-app .krecursos-grid,
    .krecursos-app .krecursos-fields { grid-template-columns: 1fr; }
    .krecursos-app .krecursos-summary-list { grid-template-columns: 1fr; }
    .krecursos-app .krecursos-summary-list dt { padding-bottom: 2px; border-bottom: 0; }
    .krecursos-app .krecursos-summary-list dd { padding-top: 2px; }
}
