/* Shared resource views keep Bootstrap forms/tables; these primitives replace AdminLTE. */
.card { background: var(--calaco-surface); border: 1px solid var(--calaco-line); border-radius: var(--calaco-radius); box-shadow: var(--calaco-shadow) !important; margin-bottom: 24px; min-width: 0; }
.card-header { background: transparent; border-bottom: 1px solid var(--calaco-line); padding: 20px 24px; border-radius: var(--calaco-radius) var(--calaco-radius) 0 0 !important; }
.card-title { margin: 0; font-size: 16px; font-weight: 650; }
.card-body { padding: 24px; }
.card-footer { background: #fafbfd; border-top: 1px solid var(--calaco-line); padding: 18px 24px; border-radius: 0 0 var(--calaco-radius) var(--calaco-radius); }
.card-tools { float: right; margin-top: -24px; }
.collapsed-card > .card-body, .collapsed-card > .card-footer { display: none; }
.card-header .nav-tabs { border-bottom: 0; gap: 5px; }
.nav-tabs .nav-link { border: 0; color: var(--calaco-muted); font-size: 13px; border-radius: 8px; padding: 11px 14px; }
.nav-tabs .nav-link.active { background: var(--calaco-primary-soft); color: var(--calaco-primary); font-weight: 600; }
.nav-pills .nav-link.active { background: var(--calaco-primary); }
.content-header { margin-bottom: 24px; }
.content-header > .container-fluid { padding: 0; }
.content-header h1 { font-size: 25px; line-height: 1.4; font-weight: 700; }
.content-header h1 small { font-size: 13px; color: var(--calaco-muted); letter-spacing: 0; font-weight: 400; }
.breadcrumb { background: transparent !important; padding: 5px 0 !important; font-size: 11px; }
.btn { min-height: 40px; padding: 9px 17px; border-radius: 9px; font-size: 13px; font-weight: 600; transition: background var(--calaco-motion), box-shadow var(--calaco-motion); }
.btn-sm { min-height: 34px; padding: 7px 11px; font-size: 12px; }
.btn-primary { background: var(--calaco-primary); border-color: var(--calaco-primary); }
.btn-primary:hover, .btn-primary:focus { background: var(--calaco-primary-hover); border-color: var(--calaco-primary-hover); }
.btn-default, .btn-light, .btn-outline-secondary { background: white; border: 1px solid var(--calaco-line); color: var(--calaco-ink); }
.btn-tool { color: var(--calaco-muted); padding: 5px 10px; }
.btn-success { background: var(--calaco-success); border-color: var(--calaco-success); }
.btn-danger { background: var(--calaco-danger); border-color: var(--calaco-danger); }
.btn:disabled { cursor: not-allowed; opacity: .55; }
.form-group { margin-bottom: 22px; }
.form-group > label, .control-label { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.form-control, .custom-select { min-height: 44px; padding: 10px 13px; color: var(--calaco-ink); background: #fff; border: 1px solid #ccd5e1; border-radius: 8px; font-size: 14px; }
.form-control:focus { border-color: var(--calaco-primary); box-shadow: 0 0 0 3px rgb(36 89 211 / 12%); }
textarea.form-control { min-height: 120px; }
.form-control[readonly], .form-control:disabled { background: #f2f5f8; }
.input-group-text { background: #f8fafc; border-color: #ccd5e1; color: var(--calaco-muted); border-radius: 8px; }
.select2-container--bootstrap4 .select2-selection { min-height: 44px !important; border-color: #ccd5e1 !important; border-radius: 8px !important; }
.invalid-feedback { color: var(--calaco-danger); font-size: 12px; }
.form-text { color: var(--calaco-muted); font-size: 12px; line-height: 1.6; }
.table { color: var(--calaco-ink); font-size: 13px; margin-bottom: 0; }
.table thead th { border-top: 0; border-bottom: 1px solid var(--calaco-line); background: #fafbfd; color: var(--calaco-muted); font-size: 11px; font-weight: 600; padding: 13px 18px; white-space: nowrap; }
.table td { border-top: 1px solid #edf0f5; padding: 16px 18px; vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { background: transparent; }
.table-hover tbody tr:hover, .table-striped tbody tr:hover { background: #fafbfd; }
.table-responsive, .dataTables_wrapper { width: 100%; overflow-x: auto; }
.dataTables_wrapper .dataTables_filter input { border: 1px solid var(--calaco-line); border-radius: 7px; min-height: 36px; }
.dataTables_wrapper .dataTables_info, .dataTables_wrapper label { font-size: 12px; color: var(--calaco-muted); }
.page-link { border-color: var(--calaco-line); color: var(--calaco-muted); border-radius: 6px; margin: 0 3px; font-size: 12px; }
.page-item.active .page-link { background: var(--calaco-primary); border-color: var(--calaco-primary); }
.dropdown-menu { border: 1px solid var(--calaco-line); border-radius: 12px; padding: 7px; box-shadow: 0 12px 40px rgb(20 35 65 / 12%); max-width: min(340px, calc(100vw - 24px)); }
.dropdown-item { padding: 11px 13px; font-size: 13px; border-radius: 6px; white-space: normal; }
.dropdown-item.active, .dropdown-item:active { color: var(--calaco-primary); background: var(--calaco-primary-soft); }
.badge { padding: 6px 9px; font-size: 10px; font-weight: 600; border-radius: 6px; white-space: normal; }
.badge-success, .bg-success { color: var(--calaco-success) !important; background: var(--calaco-success-soft) !important; }
.badge-primary, .badge-info, .bg-info { color: var(--calaco-primary) !important; background: var(--calaco-primary-soft) !important; }
.badge-warning { color: var(--calaco-warning); background: var(--calaco-warning-soft); }
.alert { border-radius: 10px; font-size: 13px; border-width: 0; padding: 16px 20px; }
.modal-content { border: 0; border-radius: 16px; }
.modal-header, .modal-footer { border-color: var(--calaco-line); padding: 20px 24px; }
.modal-title { font-size: 18px; font-weight: 650; }
.modal-body { padding: 24px; }
.small-box, .info-box { background: white; border: 1px solid var(--calaco-line); border-radius: 14px; padding: 20px; margin-bottom: 20px; position: relative; }
.small-box .inner h3 { font-weight: 700; font-size: 28px; }.small-box .icon { position: absolute; right: 20px; top: 20px; color: var(--calaco-primary); }
.small-box-footer { font-size: 12px; }.info-box { display: flex; gap: 16px; }.info-box-content { display: flex; flex-direction: column; }
.products-list, .users-list, .todo-list { padding: 0; list-style: none; }.products-list .item { padding: 14px 0; border-bottom: 1px solid var(--calaco-line); }
.product-img img, .table img { max-width: 60px; max-height: 60px; object-fit: cover; }.product-info { margin-left: 65px; }.product-description { display: block; color: var(--calaco-muted); }
.note-editor.note-frame { border: 1px solid #ccd5e1; border-radius: 8px; }.dropzone { border: 1px dashed #aabbcf; border-radius: 12px; background: #fafbfd; }
.calaco-empty { text-align: center; padding: 48px 24px; color: var(--calaco-muted); }.calaco-empty i { font-size: 28px; margin-bottom: 14px; color: #8b9bb5; }.calaco-empty strong { display: block; color: var(--calaco-ink); margin-bottom: 6px; }.calaco-empty p { margin: 0; font-size: 13px; }
@media (max-width: 575px) {
  .card-header, .card-body, .card-footer { padding: 18px 16px; }
  .content-header h1 { font-size: 23px; }.content-header h1 small { display: block; margin: 6px 0 0 !important; }.content-header h1 small.mx-3 { display: none; }
  .form-control, .custom-select { font-size: 16px; }.card-tools { margin-top: 0; }.table td { padding: 14px; }
}

/* Historical theme choices must not leave old resource actions unstyled. */
.btn.bg-primary,.btn.bg-indigo,.btn.bg-purple,.btn.bg-fuchsia,.btn.bg-pink,.btn.bg-maroon,.btn.bg-navy,.btn.bg-lime,.btn.bg-teal,.btn.bg-lightblue,.btn.bg-cyan,.btn.bg-orange,.btn.bg-olive{background:var(--calaco-primary)!important;color:#fff!important}
.btn.bg-success{color:#fff!important}.btn.bg-warning{color:#302300!important}.text-bold{font-weight:700}.img-circle{border-radius:50%}.img-fluid{max-width:100%;height:auto}
@media(max-width:767px){.form-group.flex-column>.col-4,.form-group.flex-column>.col-8{max-width:100%;width:100%;flex-basis:auto;padding-left:0;padding-right:0}.form-group.flex-column>.control-label{text-align:left!important}}

.form-group .select2-container{max-width:100%;width:100%!important}.note-toolbar .btn{min-height:32px;padding:5px 10px}.dropzone .dz-message{font-size:13px;line-height:1.7}
@media print{.calaco-sidebar,.calaco-topbar,.main-footer,.calaco-backdrop,.calaco-skip,.no-print{display:none!important}.calaco-workspace{margin:0}.content-wrapper{padding:0}.card{box-shadow:none!important;break-inside:avoid}body{background:white}}
