/* AdminLTE 4 supplies reset, grid, cards, tables, buttons and controls.
   This is the only application stylesheet; no legacy style overrides. */
:root{--bs-body-font-size:.9375rem;--lte-sidebar-width:250px}
body{font-family:"Segoe UI",Arial,sans-serif}h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.1rem}h4{font-size:1rem}
.app-main{min-width:0}.app-header{padding:12px 24px;gap:16px;min-height:60px}.app-sidebar{overflow-y:auto;color:#c2c7d0}.kdx-brand{display:flex;align-items:center;gap:12px;padding:18px 20px;color:white;text-decoration:none;border-bottom:1px solid #ffffff20}.kdx-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--bs-primary);color:white;font-size:20px;font-weight:700}.kdx-brand b,.kdx-brand small,.kdx-public-brand b,.kdx-public-brand small{display:block}.kdx-brand small{color:#adb5bd;font-size:12px}.app-sidebar nav{padding:10px}.app-sidebar nav a{display:flex;align-items:center;gap:10px;color:#c2c7d0;text-decoration:none;padding:10px 12px;border-radius:5px;font-size:14px}.app-sidebar nav a:hover{background:#ffffff12;color:white}.app-sidebar nav a.is-active{background:var(--bs-primary);color:white}.kdx-group{display:block;font-size:11px;padding:18px 12px 6px;color:#8f9ba7}.kdx-nav-group summary{cursor:pointer;padding:11px 12px;font-weight:600;list-style:none}.kdx-nav-group summary span{float:right}.kdx-nav-group[open] summary span{transform:rotate(180deg)}.kdx-nav-group>div{padding-left:14px}.kdx-user{margin-left:auto;font-size:14px}.kdx-user small{color:var(--bs-secondary-color);padding-left:8px}.kdx-menu-toggle{border:0;background:transparent;font-size:22px;display:none}.kdx-page-head,.kdx-content{padding:20px 24px}.kdx-page-head{padding-bottom:0}.kdx-page-head>small,.kdx-eyebrow{font-size:11px;letter-spacing:1px;color:var(--bs-secondary-color)}.kdx-page-head h1{margin:6px 0}.kdx-content{max-width:1600px;width:100%;margin-inline:auto}.kdx-content>.container{max-width:none;padding:0;margin-top:0!important}.card{padding:20px;margin-bottom:20px}.card h2,.card h3{margin-bottom:12px}.form-grid,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}form{display:grid;gap:16px}.app-header form,td form{display:block}label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.actions,.inline-filter{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.inline-filter{margin-bottom:18px}.inline-filter .field{flex:1;min-width:180px}.form-control,.form-select{font-size:15px;min-height:40px}textarea.form-control{min-height:100px}.btn{font-size:14px;min-height:38px}.btn-sm{font-size:13px;min-height:32px}.radio-option{display:flex;gap:8px;align-items:center;font-weight:400}.radio-option input{width:auto}.table{font-size:14px;margin-bottom:0}.table th{font-size:13px;white-space:nowrap}.table>:not(caption)>*>*{padding:12px}.table-responsive{margin-bottom:18px}.small-text{font-size:13px;color:var(--bs-secondary-color)}.flash-messages{margin-bottom:18px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin:16px 0}.pagination-bar p{margin:0}.kdx-footer{padding:14px 24px;border-top:1px solid var(--bs-border-color);font-size:12px;color:var(--bs-secondary-color)}.kdx-footer span{float:right}
.kdx-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-top:3px solid var(--bs-primary);border-radius:6px;margin-bottom:24px}.kdx-welcome h2{font-size:25px;margin:8px 0}.kdx-welcome p,.kdx-section-heading p{color:var(--bs-secondary-color);margin-bottom:0}.kdx-welcome .btn{white-space:nowrap}.kdx-section-heading{margin-bottom:16px}.kdx-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.kdx-shortcut{display:flex;flex-direction:column;padding:20px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:6px;text-decoration:none;color:var(--bs-body-color)}.kdx-shortcut:hover{border-color:var(--bs-primary)}.kdx-shortcut-icon{font-size:25px;color:var(--bs-primary);margin-bottom:12px}.kdx-shortcut h3{font-size:17px}.kdx-shortcut p{font-size:14px;color:var(--bs-secondary-color)}.kdx-shortcut-go{margin-top:auto;color:var(--bs-primary);font-size:13px}.kdx-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.kdx-period-action{padding:16px;border:1px solid var(--bs-border-color);border-radius:6px}.kdx-period-action summary{font-weight:600;cursor:pointer}.kdx-period-action p{margin-top:12px}.kdx-public{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 16px}.kdx-public-brand{display:flex;gap:12px;align-items:center;width:min(100%,440px);margin-bottom:24px}.kdx-public-content{width:min(100%,440px)}.kdx-public-footer{margin-top:auto;padding:24px;color:var(--bs-secondary-color);font-size:12px}
/* Existing confirmation dialogs for destructive operations. */
.popup-overlay{position:fixed;inset:0;z-index:1080;display:none;align-items:center;justify-content:center;padding:20px;background:#0007}.popup-overlay.active{display:flex}.popup-card{width:min(800px,100%);max-height:90vh;overflow:auto;background:var(--bs-body-bg);padding:24px;border-radius:8px;box-shadow:var(--bs-box-shadow)}.popup-card-small{width:min(480px,100%)}.popup-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.popup-close{border:0;background:transparent;font-size:26px;color:var(--bs-secondary-color)}.danger-option{--bs-btn-bg:var(--bs-danger);--bs-btn-border-color:var(--bs-danger);--bs-btn-hover-bg:#b02a37;--bs-btn-hover-border-color:#b02a37}:focus-visible{outline:3px solid #86b7fe;outline-offset:2px}
@media(max-width:991.98px){.kdx-menu-toggle{display:block}.app-sidebar{visibility:hidden;transform:translateX(-100%)}.app-sidebar.is-open{visibility:visible;transform:translateX(0)}.kdx-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.app-header{padding:10px 14px}.kdx-page-head,.kdx-content{padding:16px}.kdx-user small{display:none}.kdx-shortcuts,.kdx-period-grid{grid-template-columns:1fr}.kdx-welcome{align-items:start;flex-direction:column;padding:20px}.pagination-bar{align-items:start;flex-direction:column}.card{padding:16px}.form-control,.form-select{font-size:16px}}

/* Bounded forms: two deliberate columns and compact data fields. */
.kdx-content form{max-width:780px}.kdx-content .kdx-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start}.kdx-form-grid>.actions,.kdx-form-grid>.btn,.kdx-form-grid>button,.kdx-form-grid>.kdx-field-wide{grid-column:1/-1}.kdx-content input.form-control,.kdx-content select.form-select{max-width:360px}.kdx-content input[type=number],.kdx-content input[type=date]{max-width:190px}.kdx-content input[type=password]{max-width:320px}.kdx-content textarea.form-control{max-width:740px}.kdx-content .kdx-field-wide{grid-column:1/-1}.kdx-content .inline-filter{max-width:100%}.kdx-content .inline-filter .field{flex:0 1 260px}.kdx-content .kdx-period-action{max-width:820px}.kdx-content .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,280px))}.kdx-content form:has(#nombre):not(.inline-filter){max-width:780px}.kdx-content .form-control,.kdx-content .form-select{min-height:38px}.kdx-content label:has(input[type=checkbox]){font-weight:400;display:flex;gap:9px;align-items:start}.kdx-content input[type=checkbox]{margin-top:5px;flex-shrink:0}.kdx-form-grid>div:has(textarea){grid-column:1/-1}@media(max-width:650px){.kdx-content .kdx-form-grid{grid-template-columns:1fr}.kdx-content input.form-control,.kdx-content select.form-select{max-width:100%}.kdx-content input[type=number],.kdx-content input[type=date]{max-width:220px}}

.kdx-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kdx-metric{margin:0;text-decoration:none;color:var(--bs-body-color);border-top:3px solid var(--bs-primary)}.kdx-metric strong{font-size:clamp(20px,2vw,28px);margin:8px 0;line-height:1.2;overflow-wrap:anywhere}.kdx-metric>span{font-size:13px;color:var(--bs-secondary-color)}.kdx-metric small{font-size:12px;color:var(--bs-secondary-color)}.kdx-metric-warning{border-top-color:var(--bs-warning)}.kdx-panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.kdx-panel-columns>.card{min-width:0}.kdx-card-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.kdx-card-heading h2{margin:0}.kdx-card-heading>a{font-size:13px;white-space:nowrap}@media(max-width:1200px){.kdx-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.kdx-panel-columns{grid-template-columns:1fr}}@media(max-width:575px){.kdx-metrics{grid-template-columns:1fr}.kdx-metric{padding:18px}}

.catalog-photo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:#f1f3f5;border:1px solid var(--bs-border-color);border-radius:6px;color:var(--bs-secondary-color);font-size:11px;text-align:center}.catalog-photo-thumb{width:56px;height:56px}.catalog-photo-cover{width:160px;height:160px;margin-bottom:12px}.catalog-photo img{width:100%;height:100%;object-fit:contain}.catalog-product-cell{display:flex;align-items:center;gap:12px}.catalog-family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:18px}.catalog-upload-preview{max-width:180px;max-height:180px;object-fit:contain;margin:12px 0}.catalog-upload-preview[hidden]{display:none}
