/* .ccat-wrapper { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.ccat-heading { margin: .5rem 0 1rem; font-weight: 600; }
.ccat-error, .ccat-empty { padding: .75rem 1rem; background:#fff3cd; color:#664d03; border:1px solid #ffecb5; border-radius:8px; }

.ccat-table-responsive { overflow-x: auto; }
.ccat-table { width: 100%; border-collapse: collapse; }
.ccat-table th, .ccat-table td { padding: .65rem .75rem; border-bottom: 1px solid #e5e7eb; text-align: left; font-size: 14px; }
.ccat-table thead th { background: #f8fafc; position: sticky; top: 0; z-index: 1; }
.ccat-low30 { display: block; color:#475569; } */

/* .ccat-btn { cursor: pointer; border: 1px solid #0ea5e9; background: #0ea5e9; color: #fff; border-radius: 8px; padding: .4rem .7rem; font-size: 14px; }
.ccat-btn:hover { background: #0284c7; border-color:#0284c7; } */

#ccat-caption {
	display: none;
}

/* Modal */
.ccat-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index:9999;}
.ccat-modal[aria-hidden="false"] { display: flex; }
.ccat-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.ccat-modal__dialog { position: relative; background:#fff; border-radius: 12px; width: min(100% - 2rem, 900px); max-height: 80vh; overflow: auto; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.ccat-modal__header { display:flex; align-items:center; justify-content: space-between; padding: .8rem 1rem; border-bottom: 1px solid #e5e7eb; }
.ccat-modal__title { margin: 0; font-size: 18px; }
.ccat-modal__close { background: transparent; border: 0; font-size: 24px; cursor: pointer; padding: .2rem .5rem; }
.ccat-modal__body { padding: 1rem; }
.ccat-loading { text-align:center; padding: 1rem; }


/* Accessible helpers */
.screen-reader-text { position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }