/* SIGEduc Interprisse RC25.4 - Smart Forms & Enterprise Grid */
:root{--rc254-primary:#0756a8;--rc254-border:#d9e2ec;--rc254-soft:#f6f9fc;--rc254-text:#1f2937;--rc254-muted:#64748b;--rc254-radius:14px;--rc254-shadow:0 10px 28px rgba(15,23,42,.08)}
[data-theme="dark"],.theme-dark{--rc254-border:#334155;--rc254-soft:#111827;--rc254-text:#e5e7eb;--rc254-muted:#94a3b8;--rc254-shadow:0 10px 28px rgba(0,0,0,.28)}
.rc254-form-shell{background:var(--rc254-soft);border:1px solid var(--rc254-border);border-radius:var(--rc254-radius);padding:18px;box-shadow:var(--rc254-shadow);margin:0 0 18px}
.rc254-form-toolbar,.rc254-grid-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px}
.rc254-form-title{font-size:1rem;font-weight:700;color:var(--rc254-text);display:flex;align-items:center;gap:8px}
.rc254-save-state{font-size:.82rem;color:var(--rc254-muted)}
.rc254-field{position:relative}
.rc254-field label,.rc254-field-label{display:block;font-weight:650;color:var(--rc254-text);margin-bottom:6px}
.rc254-required{color:#b42318;margin-left:3px}
.rc254-help{font-size:.78rem;color:var(--rc254-muted);margin-top:5px}
.rc254-counter{font-size:.75rem;color:var(--rc254-muted);text-align:right;margin-top:4px}
.rc254-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}
.rc254-error{display:block;color:#b42318;font-size:.78rem;margin-top:5px}
.rc254-form-actions{position:sticky;bottom:0;z-index:30;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px;margin-top:18px;background:color-mix(in srgb,var(--rc254-soft) 94%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--rc254-border);border-radius:0 0 var(--rc254-radius) var(--rc254-radius)}
.rc254-grid-wrap{border:1px solid var(--rc254-border);border-radius:var(--rc254-radius);background:var(--rc254-soft);box-shadow:var(--rc254-shadow);overflow:hidden;margin:0 0 18px}
.rc254-grid-toolbar{padding:14px;border-bottom:1px solid var(--rc254-border);margin:0}
.rc254-search{min-width:min(360px,100%);display:flex;align-items:center;gap:8px}
.rc254-search input{width:100%;min-height:40px;border:1px solid var(--rc254-border);border-radius:10px;padding:8px 12px;background:transparent;color:var(--rc254-text)}
.rc254-grid-meta{font-size:.82rem;color:var(--rc254-muted)}
.rc254-table-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.rc254-grid-wrap table{width:100%;border-collapse:separate;border-spacing:0;margin:0!important}
.rc254-grid-wrap thead th{position:sticky;top:0;z-index:2;background:var(--rc254-soft);color:var(--rc254-text);white-space:nowrap;border-bottom:1px solid var(--rc254-border);padding:12px}
.rc254-grid-wrap tbody td{padding:11px 12px;border-bottom:1px solid var(--rc254-border);vertical-align:middle}
.rc254-grid-wrap tbody tr:hover{background:rgba(7,86,168,.045)}
.rc254-sortable{cursor:pointer;user-select:none}
.rc254-sortable::after{content:' ↕';font-size:.75em;color:var(--rc254-muted)}
.rc254-sortable[data-sort="asc"]::after{content:' ↑';color:var(--rc254-primary)}
.rc254-sortable[data-sort="desc"]::after{content:' ↓';color:var(--rc254-primary)}
.rc254-empty{padding:28px;text-align:center;color:var(--rc254-muted)}
.rc254-column-menu{display:none;position:absolute;right:0;top:100%;z-index:60;min-width:220px;max-height:320px;overflow:auto;background:var(--rc254-soft);border:1px solid var(--rc254-border);border-radius:12px;box-shadow:var(--rc254-shadow);padding:10px}
.rc254-column-menu.is-open{display:block}.rc254-column-menu label{display:flex;gap:8px;align-items:center;padding:7px;border-radius:8px;color:var(--rc254-text)}
.rc254-tools{position:relative;display:flex;gap:8px;flex-wrap:wrap}
.rc254-btn{border:1px solid var(--rc254-border);background:var(--rc254-soft);color:var(--rc254-text);border-radius:10px;min-height:38px;padding:8px 12px;cursor:pointer;font-weight:650}
.rc254-btn:hover{border-color:var(--rc254-primary);color:var(--rc254-primary)}
.rc254-btn-primary{background:var(--rc254-primary);border-color:var(--rc254-primary);color:#fff}
.rc254-btn-primary:hover{color:#fff;filter:brightness(.96)}
.rc254-no-results{display:none}
@media(max-width:760px){.rc254-form-shell{padding:12px;border-radius:12px}.rc254-grid-toolbar{align-items:stretch}.rc254-search{min-width:100%}.rc254-tools{width:100%}.rc254-tools .rc254-btn{flex:1}.rc254-form-actions{position:static}.rc254-grid-wrap table{min-width:680px}}
@media print{.rc254-grid-toolbar,.rc254-form-toolbar,.rc254-form-actions{display:none!important}.rc254-grid-wrap{box-shadow:none;border:0}.rc254-table-scroll{overflow:visible}.rc254-grid-wrap table{min-width:0}}
