/* Sprint 005 / Etapa 5.6B — Gestão leve de produtos */
.catalog56b-shell{max-width:1280px;margin:0 auto;padding:20px 18px 46px}
.catalog56b-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 5px 18px rgba(15,23,42,.05);width:max-content;max-width:100%;overflow:auto}
.catalog56b-tabs button{border:0;background:transparent;color:#6b7280;font-weight:800;padding:10px 16px;border-radius:10px;white-space:nowrap;cursor:pointer}
.catalog56b-tabs button.active{background:#d71920;color:#fff;box-shadow:0 4px 10px rgba(215,25,32,.18)}
.catalog56b-panel{display:none}.catalog56b-panel.active{display:block}
.pm56b-shell{font-family:inherit;color:#20242a}
.pm56b-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.pm56b-kicker{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#d71920;margin-bottom:6px}
.pm56b-head h1{font-size:27px;line-height:1.1;margin:0;color:#24272d}.pm56b-head p{margin:7px 0 0;color:#737982;font-size:13px}
.pm56b-head-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pm56b-table-badge{background:#fff;border:1px solid #e3e5e8;border-radius:12px;padding:9px 12px;min-width:190px;display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.pm56b-table-badge small{font-size:10px;color:#8b9199;text-transform:uppercase;font-weight:800}.pm56b-table-badge strong{font-size:13px;margin-top:2px}.pm56b-table-badge span{font-size:10px;color:#8b9199;margin-top:2px}
.pm56b-btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:850;cursor:pointer;transition:.15s ease;white-space:nowrap}
.pm56b-btn.primary{background:#d71920;color:#fff}.pm56b-btn.primary:hover{background:#bd131a}.pm56b-btn.secondary{background:#fff;color:#383d44;border-color:#d9dce0}.pm56b-btn.secondary:hover{border-color:#d71920;color:#d71920}.pm56b-btn:disabled{opacity:.58;cursor:wait}
.pm56b-feedback{display:none;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:12px;font-weight:700}.pm56b-feedback.info{display:block;background:#eef5ff;color:#285f9d;border:1px solid #cfe0f5}.pm56b-feedback.success{display:block;background:#eaf8ef;color:#176a37;border:1px solid #c6e8d1}.pm56b-feedback.error{display:block;background:#fff0f0;color:#a11a1f;border:1px solid #f0c5c7}
.pm56b-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.pm56b-summary>div{background:#fff;border:1px solid #e3e5e8;border-radius:13px;padding:13px 14px;display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(15,23,42,.035)}.pm56b-summary small{font-size:10px;text-transform:uppercase;font-weight:850;color:#8b9199}.pm56b-summary strong{font-size:24px;line-height:1.05;margin:4px 0;color:#23262b}.pm56b-summary span{font-size:10px;color:#7b8189}
.pm56b-toolbar{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(145px,.6fr));gap:8px;background:#fff;border:1px solid #e3e5e8;border-radius:13px;padding:10px;margin-bottom:10px}.pm56b-toolbar input,.pm56b-toolbar select{width:100%;border:1px solid #d8dce1;border-radius:9px;padding:10px 11px;background:#fff;color:#30343a;font-size:12px;outline:none}.pm56b-toolbar input:focus,.pm56b-toolbar select:focus{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.08)}
.pm56b-list-card{background:#fff;border:1px solid #e3e5e8;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(15,23,42,.04)}.pm56b-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #eef0f2}.pm56b-list-head strong{font-size:13px}.pm56b-list-head span{font-size:10px;color:#8a9098}.pm56b-table-wrap{overflow:auto;max-width:100%}
.pm56b-table{border-collapse:collapse;width:100%;min-width:1050px}.pm56b-table th{background:#fafafa;color:#7b8189;font-size:10px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:10px 12px;border-bottom:1px solid #e6e8eb;white-space:nowrap}.pm56b-table td{font-size:11px;padding:11px 12px;border-bottom:1px solid #eff1f3;vertical-align:middle}.pm56b-table tbody tr:hover{background:#fffafa}.pm56b-table tr.is-discontinued{opacity:.72;background:#fafafa}
.pm56b-product{display:flex;flex-direction:column;min-width:180px}.pm56b-product strong{font-size:12px}.pm56b-product small,.pm56b-block{display:block;color:#8b9199;font-size:9.5px;margin-top:2px;font-weight:500}.pm56b-kind{display:inline-flex;border-radius:999px;background:#fff0e5;color:#99500a;padding:4px 8px;font-size:9px;font-weight:850}.pm56b-kind.service{background:#eef2ff;color:#424b93}.pm56b-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;text-transform:uppercase}.pm56b-status.active{background:#e7f7ec;color:#147138}.pm56b-status.warning{background:#fff5da;color:#956000}.pm56b-status.off{background:#eeeeef;color:#666b72}.pm56b-budget{font-size:9px;font-weight:850;border-radius:999px;padding:4px 8px;background:#f0f1f3;color:#71767e}.pm56b-budget.yes{background:#e9f7ed;color:#196d39}.pm56b-alert{color:#b3262d;font-weight:800}.pm56b-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.pm56b-actions button{border:1px solid #d9dce0;background:#fff;color:#4a4f56;border-radius:7px;padding:6px 8px;font-size:9.5px;font-weight:800;cursor:pointer}.pm56b-actions button:hover{border-color:#d71920;color:#d71920}.pm56b-empty,.pm56b-loading{padding:28px;text-align:center;color:#888e96;font-size:12px}
.pm56b-modal-overlay{position:fixed;inset:0;background:rgba(18,22,28,.58);z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px}.pm56b-modal-card{width:min(820px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:17px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:20px}.pm56b-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #eceef0;margin-bottom:15px}.pm56b-modal-head small{font-size:10px;color:#d71920;text-transform:uppercase;font-weight:900}.pm56b-modal-head h2{font-size:21px;margin:3px 0;color:#25282e}.pm56b-modal-head p{font-size:11px;color:#858b93;margin:0}.pm56b-modal-head>button{border:0;background:#f1f2f4;border-radius:9px;width:34px;height:34px;font-size:20px;cursor:pointer;color:#555b62}
.pm56b-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pm56b-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:850;color:#565c64}.pm56b-form-grid label.wide{grid-column:1/-1}.pm56b-form-grid input,.pm56b-form-grid select{width:100%;border:1px solid #d8dce1;border-radius:9px;padding:10px 11px;font-size:12px;color:#2f3339;background:#fff;outline:none}.pm56b-form-grid input:focus,.pm56b-form-grid select:focus{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.08)}.pm56b-form-grid label small{font-size:9px;color:#8b9199;font-weight:500}.pm56b-form-grid .pm56b-check{flex-direction:row;align-items:center;background:#fafafa;border:1px solid #e7e8eb;border-radius:9px;padding:11px}.pm56b-check input{width:auto;margin:0}.pm56b-current-price{border:1px solid #e1e4e7;border-radius:10px;background:#fafafa;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pm56b-current-price small{font-size:9px;color:#858b93;text-transform:uppercase;font-weight:850}.pm56b-current-price strong{font-size:15px}.pm56b-current-price button{align-self:flex-start;border:0;background:none;color:#d71920;font-size:10px;font-weight:850;padding:2px 0;cursor:pointer}.pm56b-form-error{display:none;margin-top:13px;border:1px solid #efb7ba;background:#fff1f1;color:#9d171d;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:800;line-height:1.4}.pm56b-form-error.show{display:block}.pm56b-form-grid input[aria-invalid="true"],.pm56b-form-grid select[aria-invalid="true"]{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.1)}
.pm56b-modal-note{background:#fff8df;border:1px solid #f3df9e;color:#715c13;border-radius:10px;padding:10px 12px;font-size:10.5px;line-height:1.45;margin-top:14px}.pm56b-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.pm56b-modal-actions button{border:1px solid #d9dce0;background:#fff;color:#4a5057;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:850;cursor:pointer}.pm56b-modal-actions button.primary{background:#d71920;border-color:#d71920;color:#fff}.pm56b-modal-actions button:disabled{opacity:.6;cursor:wait}
.pm56b-detail{display:flex;flex-direction:column;gap:14px}.pm56b-identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pm56b-identity-grid>div{background:#fafafa;border:1px solid #e7e9eb;border-radius:10px;padding:10px;display:flex;flex-direction:column}.pm56b-identity-grid small{font-size:9px;color:#888e96;text-transform:uppercase;font-weight:850}.pm56b-identity-grid strong{font-size:11px;margin-top:4px}.pm56b-detail section h3{font-size:13px;margin:0 0 8px}.pm56b-alias-list{border:1px solid #e5e7e9;border-radius:10px;overflow:hidden}.pm56b-alias-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #edf0f2}.pm56b-alias-list>div:last-child{border-bottom:0}.pm56b-alias-list strong{font-size:11px}.pm56b-alias-list span{font-size:9px;color:#858b93;text-align:right}
@media(max-width:900px){.catalog56b-shell{padding:14px 10px 36px}.pm56b-head{flex-direction:column}.pm56b-head-actions{width:100%;justify-content:flex-start}.pm56b-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pm56b-toolbar{grid-template-columns:1fr 1fr}.pm56b-table-badge{flex:1}.pm56b-form-grid{grid-template-columns:1fr}.pm56b-form-grid label.wide{grid-column:auto}.pm56b-identity-grid{grid-template-columns:1fr}}
@media(max-width:560px){.catalog56b-tabs{width:100%}.catalog56b-tabs button{flex:1}.pm56b-head h1{font-size:23px}.pm56b-summary{grid-template-columns:1fr 1fr}.pm56b-summary strong{font-size:20px}.pm56b-toolbar{grid-template-columns:1fr}.pm56b-modal-overlay{padding:8px}.pm56b-modal-card{padding:15px;border-radius:14px}.pm56b-modal-actions{position:sticky;bottom:-15px;background:#fff;padding:10px 0 2px}.pm56b-alias-list>div{flex-direction:column}.pm56b-alias-list span{text-align:left}}
