:root{--cb-border:#e5e7eb;--cb-primary:#4d5e4a;--cb-primaryText:#fff;--cb-input:#cbd5e1}
.cb-container{max-width:820px;margin:1rem auto;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial}
.cb-card{background:#fff;border:1px solid var(--cb-border);border-radius:12px;padding:1.1rem 1.25rem;margin:0 0 1rem}
.cb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cb-inline{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cb-actions{text-align:center;padding:10px 0 0}
#cb-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}
.cb-table-btn{padding:.7rem;border:1px solid var(--cb-border);border-radius:10px;background:#f9fafb;cursor:pointer}
.cb-table-btn.selected{outline:3px solid var(--cb-primary)}
.button.cb-primary{background:var(--cb-primary)!important;color:var(--cb-primaryText)!important;border-color:var(--cb-primary)!important}
.cb-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:9999;display:none;padding:.9rem 1.1rem;border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.cb-toast.show{display:block}
.cb-gdpr{display:inline-flex;align-items:center;gap:10px;margin:8px 0 10px}
.cb-msg{margin-top:.6rem;color:#555}
.cb-top-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem}
.cb-right-buttons .button{margin-left:.5rem}
.cb-bulk-bar{display:flex;align-items:center;gap:.5rem;margin:6px 0 10px}
.cb-filter .button{margin-left:.5rem}
.cb-card label{display:block}
.cb-card label span{display:block;margin:0 0 .3rem;color:#2b3340;font-weight:600}
.cb-card input[type="text"],
.cb-card input[type="tel"],
.cb-card input[type="email"],
.cb-card input[type="number"],
.cb-card input[type="date"],
.cb-card select,
.cb-card textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--cb-input);border-radius:8px;background:#fff}
.cb-card input:focus,
.cb-card select:focus,
.cb-card textarea:focus{outline:none;border-color:var(--cb-primary);box-shadow:0 0 0 3px rgba(77,94,74,.15)}
.button.is-loading{position:relative;pointer-events:none;opacity:.85}
.button.is-loading:after{content:"";position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(255,255,255,.7);border-left-color:transparent;border-radius:50%;animation:cbspin .7s linear infinite}
@keyframes cbspin{to{transform:rotate(360deg)}}
.wrap .cb-card{padding:18px 20px}
.wrap .cb-card + .cb-card{margin-top:16px}
.cb-card table{margin-top:8px}
.cb-filter{margin-bottom:8px}
@media (max-width:720px){.cb-grid{grid-template-columns:1fr}}