/* Cadastros - visualizacao padronizada a partir das telas de referencia. */
.reg-workspace{width:100%;color:#36465a;padding-bottom:45px}
.reg-header{border-bottom:1px solid #d9dfe7;padding:0 0 15px;margin:0 0 18px}
.reg-header-main{display:flex;align-items:center;gap:14px}
.reg-header-main>.icon-svg{width:22px;height:22px;stroke-width:1.35;color:#586981}
.reg-header-main h2{font-size:21px;font-weight:400;margin:0;color:#3e4d61}
.reg-header-main>span{font-size:12px;color:#8e9bac;border-left:1px solid #d9dfe7;padding-left:20px;margin-left:9px}
.reg-list-toolbar{display:flex;gap:5px;align-items:center;padding:0 0 15px;border-bottom:1px solid #d7dfe8;margin-bottom:22px;min-height:53px}
.reg-list-toolbar select,.reg-search input,.reg-advanced{height:31px;font-size:12px;color:#8290a2;border:1px solid #bfc5cf;background:#fff;border-radius:3px;padding:4px 9px}
.reg-search{position:relative;min-width:210px}
.reg-search input{padding-right:35px;width:100%}
.reg-search .icon-svg{position:absolute;right:9px;top:8px;width:15px;height:15px;color:#96a4b0;pointer-events:none}
.reg-advanced{display:flex;gap:5px;align-items:center;background:#96999e;border-color:#96999e;color:#fff;cursor:pointer}
.reg-advanced .icon-svg{height:12px;width:12px}
.reg-list-actions{margin-left:auto;display:flex;gap:4px}
.reg-list-actions button{min-width:150px;min-height:40px}
.reg-advanced-panel{background:white;border:1px solid #e2e7ee;padding:15px;margin:-10px 0 15px;display:flex;gap:12px;align-items:end}
.reg-advanced-panel label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#8291a0}
.reg-advanced-panel select{height:36px;min-width:145px;border:1px solid #d6dfe8}
.reg-advanced-panel button{height:36px;padding:0 15px;border:1px solid #bed2eb;color:#1672d1;background:white;border-radius:3px;cursor:pointer}
.reg-record{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr)) 120px 110px;gap:12px;align-items:center;padding:12px 16px;min-height:61px;background:#fff;margin-bottom:7px;box-shadow:0 1px 6px #2334470c;border:1px solid #edf1f5}
.reg-record-cell{min-width:0}
.reg-record-cell small{display:block;font-size:10px;margin-bottom:5px;color:#93a0af}
.reg-record-cell span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:#3d4e61}
.reg-pill{justify-self:center;border-radius:15px;padding:5px 12px;font-size:10px;background:#b2bcc7;color:white;font-weight:600}
.reg-pill.on{background:#388c52}.reg-pill.off{background:#aeb5bf}
.reg-row-actions{position:relative;justify-self:end}
.reg-row-actions>button{border:0;background:#eee;color:#3d4b5b;border-radius:4px;padding:9px 12px;font-size:11px;cursor:pointer;min-width:93px}
.reg-row-actions>button:hover{background:#e0eaf5}
.reg-menu{z-index:15;position:absolute;top:38px;right:0;display:flex;flex-direction:column;background:#fff;min-width:145px;border:1px solid #e1e6ef;box-shadow:0 7px 19px #1b283b23;padding:5px;border-radius:4px}
.reg-menu button{font-size:12px;text-align:left;color:#4c5a6b;border:0;padding:10px;background:#fff;cursor:pointer}
.reg-menu button:hover{background:#f0f6fc}
.reg-empty{min-height:200px;display:grid;place-items:center;color:#8799aa;font-size:13px;background:#fff}
.reg-pager{display:flex;gap:15px;align-items:center;justify-content:flex-end;font-size:12px;color:#7a8998}
.reg-pager button{height:31px;padding:0 12px;border:1px solid #c7d5e5;color:#1376cf;background:#fff;cursor:pointer;border-radius:4px}
.reg-pager button:disabled{opacity:.45;cursor:default}
.reg-tabs{display:flex;gap:0;overflow-x:auto;align-items:center;margin:16px 0 0}
.reg-tabs button{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;background:transparent;border:0;border-top:4px solid transparent;border-radius:4px 4px 0 0;padding:13px 19px;color:#748195;cursor:pointer}
.reg-tabs button .icon-svg{width:18px;height:18px;stroke-width:1.45}
.reg-tabs button.active{border-top-color:#0873db;color:#0670d1;background:#fff}
.reg-card{padding:20px 23px 29px;background:#fff;margin:0 0 21px;border:1px solid #edf1f5;box-shadow:0 2px 6px #1a31420c}
.reg-card h3{font-size:17px;font-weight:400;margin:0 0 26px;color:#38475b}
.reg-card h3:empty{display:none}
.reg-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 20px;align-items:end}
.reg-span-1{grid-column:span 1}.reg-span-2{grid-column:span 2}.reg-span-3{grid-column:span 3}
.reg-span-4{grid-column:span 4}.reg-span-5{grid-column:span 5}.reg-span-6{grid-column:span 6}
.reg-span-7{grid-column:span 7}.reg-span-8{grid-column:span 8}.reg-span-9{grid-column:span 9}
.reg-span-10{grid-column:span 10}.reg-span-12{grid-column:span 12}
.reg-field{min-width:0;display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:400;color:#8491a3}
.reg-field input,.reg-field select,.reg-field textarea{width:100%;height:41px;border:1px solid #d9dfe8;border-radius:2px;background:white;color:#37475a;padding:8px 11px;font-size:12px;min-width:0}
.reg-field textarea{height:auto;min-height:86px;resize:vertical;line-height:1.5}
.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus{outline:1px solid #0e82e6;border-color:#0e82e6}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:#a7b1bd}
.reg-check{display:flex;gap:7px;align-items:center;min-height:39px;font-size:12px;color:#4b6074;cursor:pointer}
.reg-check input{appearance:auto;accent-color:#0670d5;height:17px;width:17px;margin:0;cursor:pointer}
.reg-switch{align-items:center;flex-direction:column;gap:9px;justify-content:center;position:relative;color:#465c74}
.reg-switch input{appearance:none;width:53px;height:27px;border-radius:22px;background:#d7d7d7;position:relative;cursor:pointer;transition:background .2s}
.reg-switch input:before{content:"";position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s}
.reg-switch input:checked{background:#0872ce}
.reg-switch input:checked:before{transform:translateX(26px)}
.reg-product-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px}
.reg-product-fields{min-width:0}
.reg-product-photo{display:flex;flex-direction:column;align-items:center;gap:10px;color:#8c9bab;font-size:12px}
.reg-photo-drop{height:205px;width:205px;background:#fff;border:1px solid #d6dfe7;display:grid;place-items:center;text-align:center;color:#8995a2;padding:12px;line-height:1.5;cursor:pointer;font-size:11px;overflow:hidden}
.reg-photo-drop img{max-width:100%;max-height:100%;object-fit:contain}
.reg-photo-drop.dragging{border:2px dashed #0d73cb;background:#f0f8ff}
.reg-product-photo input[type=file]{font-size:10px;max-width:205px;overflow:hidden}
.reg-mini-action{background:transparent;border:0;text-decoration:underline;color:#6883a1;font-size:11px;cursor:pointer}
.reg-people-types{display:flex;align-items:center;justify-content:space-evenly;gap:15px;flex-wrap:wrap}
.reg-people-types strong{font-size:15px;font-weight:400;color:#3d4c5d}
.reg-ref-list{display:flex;flex-direction:column;gap:13px;margin-bottom:22px;min-height:70px}
.reg-ref-list p{font-size:12px;color:#8895a4}
.reg-ref-option{display:flex;gap:9px;align-items:center;font-size:12px;color:#546477}
.reg-ref-option input{width:16px;height:16px;accent-color:#0771d4}
.reg-lookup{position:relative}
.reg-lookup input{padding-right:42px}
.reg-lookup-btn{position:absolute;right:1px;bottom:1px;height:39px;width:42px;border:0;border-left:1px solid #dfe4eb;background:#eceef1;cursor:pointer;display:grid;place-items:center;color:#687c8f}
.reg-lookup-btn .icon-svg{width:16px;height:16px}
.reg-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 15px}
.reg-footer .module-primary,.reg-footer .module-outline{min-width:100px;height:41px}
.reg-disclaimer{color:#8a9aab;font-size:11px;line-height:1.6;margin:10px 0}
.reg-rule-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.reg-rule-heading h3{margin:0}
.reg-rule-heading button{display:flex;gap:6px;align-items:center}
.reg-rule-heading button .icon-svg{width:16px;height:16px}
.reg-rule-scroll{overflow-x:auto;width:100%}
.reg-rules-table{border-collapse:collapse;min-width:1040px;width:100%}
.reg-rules-table th{text-align:left;background:#f1f2f4;padding:14px 7px;font-size:11px;font-weight:600;color:#57677a}
.reg-rules-table td{border-bottom:1px solid #eef0f2;padding:7px 5px}
.reg-rules-table td input,.reg-rules-table td select{height:35px;padding:5px 7px;border:1px solid #d8e1ea;width:100%;min-width:45px;background:#fff;color:#4c5c6c;font-size:11px}
.reg-rules-table th:first-child,.reg-rules-table td:first-child{min-width:130px}
.reg-rules-table th:nth-child(3),.reg-rules-table td:nth-child(3){min-width:140px}
.reg-rules-table th:nth-child(4),.reg-rules-table td:nth-child(4){min-width:80px}
.reg-rule-actions{white-space:nowrap}
.reg-rule-actions button{background:transparent;color:#337dc2;border:0;cursor:pointer;padding:4px}
.reg-rule-actions button .icon-svg{width:16px;height:16px}
.reg-advanced-panel.hidden,.reg-menu.hidden,[data-reg-pane].hidden{display:none!important}
@media(max-width:1380px){
 .reg-grid{gap:13px}
 .reg-product-layout{grid-template-columns:165px 1fr}
 .reg-photo-drop{height:170px;width:165px}
 .reg-product-photo input[type=file]{max-width:165px}
 .reg-record{grid-template-columns:repeat(4,minmax(75px,1fr)) 78px 98px;padding:11px}
}
@media(max-width:980px){
 .reg-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .reg-grid>.reg-span-7,.reg-grid>.reg-span-8,.reg-grid>.reg-span-9,.reg-grid>.reg-span-10,.reg-grid>.reg-span-12{grid-column:span 6}
 .reg-grid>.reg-span-5,.reg-grid>.reg-span-4,.reg-grid>.reg-span-3,.reg-grid>.reg-span-2,.reg-grid>.reg-span-1{grid-column:span 3}
 .reg-list-toolbar{flex-wrap:wrap}
 .reg-list-actions{width:100%;justify-content:flex-end}
 .reg-record{grid-template-columns:repeat(2,minmax(120px,1fr)) 75px 95px}
 .reg-product-layout{grid-template-columns:1fr}
 .reg-product-photo{align-items:flex-start}
}
@media(max-width:620px){
 .reg-header-main{flex-wrap:wrap}.reg-header-main>span{flex-basis:100%;border-left:0;padding:0;margin:0}
 .reg-grid{grid-template-columns:1fr}
 .reg-grid>[class*=reg-span-]{grid-column:span 1!important}
 .reg-card{padding:16px 13px}
 .reg-list-actions button{min-width:0;flex:1}
 .reg-record{grid-template-columns:1fr 1fr}
 .reg-product-photo{align-items:center}
 .reg-photo-drop{width:195px;height:195px}
 .reg-people-types{align-items:flex-start;justify-content:flex-start;flex-direction:column}
}

/* Salvar sempre acessivel, inclusive quando o atendimento flutuante aparece. */
.reg-footer{padding-right:108px}
@media(max-width:700px){.reg-footer{padding-right:83px}}

/* Controles compactos: mesmo padrao em todos os cadastros. */
.reg-check{min-height:24px;gap:7px}
.reg-check:not(.reg-switch) input{width:15px;height:15px;min-height:15px;flex:none}
.reg-switch{min-height:31px;gap:6px}
.reg-switch input{width:38px;height:20px;min-height:20px;border-radius:18px;flex:none}
.reg-switch input:before{top:3px;left:3px;width:14px;height:14px}
.reg-switch input:checked:before{transform:translateX(18px)}
.reg-people-types .reg-switch{gap:5px;min-width:78px}
.edit-inline-option input[type=checkbox],.check-row input[type=checkbox],
.admin-module-grid input[type=checkbox],.reg-ref-option input[type=checkbox],
.reg-ref-list input[type=checkbox]{width:15px;height:15px;min-height:15px;flex:none}
.reg-inline-mask{position:fixed;inset:0;background:#1a2b3e90;z-index:70;display:grid;place-items:center;padding:15px}
.reg-inline-dialog{background:#fff;width:min(600px,100%);padding:0 22px 22px;box-shadow:0 14px 45px #0002}
.reg-inline-dialog h3{background:#086fd2;color:white;margin:0 -22px 20px;padding:17px 22px;font-size:16px;font-weight:600}
.reg-inline-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px}
.reg-ref-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:16px}
.reg-ref-toolbar select{min-width:230px;max-width:100%;flex:1;height:39px;border:1px solid #d6dfe8;padding:6px 10px}
.reg-ref-toolbar button{height:39px}
.reg-ref-list{min-height:32px;gap:9px}
.reg-ref-option{padding:8px 11px;background:#f7f9fc;border:1px solid #e5eaf0;border-radius:3px}
.reg-field-hint{font-size:11px;color:#73899e;grid-column:span 12;margin-top:-8px}
.reg-cest-help{grid-column:span 12;font-size:11px;line-height:1.5;color:#5c819c}
.reg-cest-choices{grid-column:span 12;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.reg-cest-choices button{border:1px solid #b9d5ef;background:#f0f8ff;color:#076abf;border-radius:3px;padding:7px 10px;font-size:12px}

/* Normaliza checkboxes contra padding/min-height globais dos inputs do painel. */
input[type="checkbox"]{padding:0;border:0;box-sizing:border-box;min-height:0}
.reg-switch input[type="checkbox"]{padding:0;border:0;box-sizing:border-box;height:20px;min-height:20px;width:38px}
.reg-check:not(.reg-switch) input[type="checkbox"],.edit-inline-option input[type="checkbox"],
.check-row input[type="checkbox"],.admin-module-grid input[type="checkbox"],
.reg-ref-option input[type="checkbox"],.reg-ref-list input[type="checkbox"]{height:15px;min-height:15px;width:15px;padding:0}
