/* Zaref ERP · Cadastro de grupos · v1.0.2
   Estilo independente da regra de negocio do cadastro. */
.groups-page {margin:0;min-height:100vh;background:#f5f7f9;color:#1b2a38;font-family:var(--font-body);font-size:14px}
.groups-topbar{position:sticky;top:0;z-index:15;background:linear-gradient(105deg,#121e28,#0d151d);border-bottom:1px solid #34414c;box-shadow:0 8px 28px rgba(8,15,21,.13)}
.groups-topbar-inner{min-height:80px;max-width:1740px;margin:auto;padding:9px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.groups-brand{display:inline-flex;align-items:center;min-width:0}
.groups-brand img{display:block;width:222px;height:auto;max-height:60px;object-fit:contain}
.groups-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.groups-top-actions a{font-size:12px;font-weight:800;display:inline-flex;align-items:center;padding:11px 15px;border:1px solid #465462;border-radius:8px;white-space:nowrap;color:#e7edf1}
.groups-top-actions .groups-checklist{border-color:#a58442;color:#f3cf84;background:rgba(198,163,91,.06)}
.groups-top-actions a:hover{background:rgba(255,255,255,.07)}
.groups-layout{min-height:calc(100vh - 80px);display:grid;grid-template-columns:240px minmax(0,1fr)}
.groups-sidebar{background:linear-gradient(165deg,#152431,#101b25);color:#d0dae3;padding:30px 14px;display:flex;flex-direction:column;gap:7px;border-right:1px solid #283b49}
.groups-sidebar-label{font-size:10px;text-transform:uppercase;color:#8396a5;font-weight:800;letter-spacing:.17em;padding:0 14px 15px}
.groups-sidebar a{display:flex;align-items:center;gap:13px;padding:14px 14px;border-radius:8px;font-weight:700;font-size:12px;color:#d0dae3;min-height:48px}
.groups-sidebar a:hover{background:rgba(255,255,255,.07)}
.groups-sidebar .groups-sidebar-active{background:rgba(198,163,91,.15);color:#e8c579;box-shadow:inset 3px 0 0 #c6a35b}
.groups-sidebar-note{margin-top:auto;font-size:11px;line-height:1.6;color:#93a3ae;border-top:1px solid rgba(255,255,255,.08);padding:20px 14px 0}
.groups-content{min-width:0;padding:31px clamp(16px,3vw,48px) 60px;max-width:1650px;width:100%;margin:auto}
.groups-breadcrumb{font-size:12px;color:#8795a1;margin-bottom:20px}.groups-breadcrumb strong{color:#6d5325}
.groups-page-title{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.groups-eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#a17b38;margin-bottom:10px}
.groups-page-title h1{font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);letter-spacing:-.035em;font-weight:800;margin:0;color:#152531}
.groups-page-title p{font-size:13px;color:#74838f;margin:8px 0 0}
.groups-module-badge{border:1px solid #e4c890;border-radius:30px;color:#876322;background:#fffaee;padding:8px 15px;font-size:11px;font-weight:800}
.groups-page .container{max-width:1240px;margin:0;padding:0;width:100%}
.groups-page .card{border-radius:15px;border:1px solid #e1e8ed;background:#fff;box-shadow:0 8px 27px rgba(13,32,43,.04);margin-bottom:24px;overflow:hidden}
.groups-page .card-header{padding:20px 24px;background:#fcfdfe;border-bottom:1px solid #e6edf0;font-family:var(--font-display);font-weight:800;font-size:16px;color:#1d303e}
.groups-page .card-body{padding:23px 24px}
.groups-page .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.groups-page .col-2{grid-column:span 2}.groups-page .col-8{grid-column:span 8}.groups-page .col-12{grid-column:span 12}
.groups-page label{display:block;color:#526674;font-size:12px;font-weight:700;margin-bottom:8px}
.groups-page input:not([type="hidden"]),.groups-page select,.groups-page textarea{width:100%;background:#fff;border:1px solid #cfd9df;border-radius:8px;color:#233544;padding:12px 13px;min-height:45px;font-family:var(--font-body);font-size:14px;box-shadow:0 1px 2px rgba(20,38,52,.025)}
.groups-page input:focus,.groups-page select:focus,.groups-page textarea:focus{border-color:#bd9955;outline:0;box-shadow:0 0 0 3px rgba(198,163,91,.16)}
.groups-page textarea{resize:vertical;min-height:92px}
.groups-page .acoes-form{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;height:100%}
.groups-page .btn{border-radius:8px;font-size:12px;font-weight:800;padding:11px 16px;min-height:42px;display:inline-flex;justify-content:center;align-items:center;box-shadow:none;text-align:center;border:1px solid transparent;text-decoration:none;white-space:nowrap}
.groups-page .btn-primary{background:linear-gradient(135deg,#f0ce82,#c49a49);color:#20180b;border-color:#c9a456}
.groups-page .btn-secondary{background:#263b4c;color:#fff}
.groups-page .btn-outline{background:#fff;border-color:#cdd8df;color:#314552}
.groups-page .btn-danger{background:#fff1f0;border-color:#edc8c9;color:#b3464a}
.groups-page .btn-success{background:#e8f8f1;border-color:#aadbc5;color:#27654c}
.groups-page .btn-small{padding:7px 10px;min-height:32px;font-size:11px}
.groups-page .btn:hover{filter:brightness(.97);transform:translateY(-1px)}
.groups-page .mensagem{border-radius:10px;border:1px solid transparent;padding:14px 17px;font-size:13px;font-weight:600;margin-bottom:17px}
.groups-page .mensagem.sucesso{color:#28664f;background:#e8f7f0;border-color:#bce4d1}
.groups-page .mensagem.erro{color:#9f353c;background:#fdefee;border-color:#f2caca}
.groups-page .filtros{display:flex;gap:13px;align-items:end;flex-wrap:wrap}
.groups-page .filtro-campo{min-width:220px;flex:1}
.groups-page .filtro-status{min-width:170px;width:180px}
.groups-page .tabela-wrap{overflow-x:auto;max-width:100%}
.groups-page table{width:100%;border-collapse:collapse;font-size:12px}
.groups-page th{padding:13px 11px;border-bottom:1px solid #e0e7ec;background:#f5f8fa;text-align:left;color:#677b89;font-weight:800;white-space:nowrap}
.groups-page td{border-bottom:1px solid #ecf1f4;padding:14px 11px;vertical-align:middle;color:#2f404e}
.groups-page tr:hover td{background:#fcf9f1}
.groups-page td.codigo,.groups-page th.codigo{width:90px;white-space:nowrap}
.groups-page .acoes{white-space:nowrap;text-align:right}
.groups-page .status{display:inline-flex;align-items:center;padding:6px 11px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.02em}
.groups-page .status.ativo{background:#e0f4e9;color:#26704a}
.groups-page .status.inativo{background:#ffebe9;color:#aa4147}
.groups-page .vazio{text-align:center;padding:34px;color:#7d8c96}
.groups-page .rodape-info{color:#91a0aa;font-size:11px;margin-top:14px}
@media(max-width:1080px){.groups-layout{grid-template-columns:1fr}.groups-sidebar{display:none}.groups-content{padding:28px 22px 55px}}
@media(max-width:750px){.groups-page .col-2,.groups-page .col-8,.groups-page .col-12{grid-column:span 12}.groups-page .acoes-form{justify-content:flex-start}.groups-page .filtro-status{width:100%}.groups-page .card-body{padding:18px}.groups-topbar-inner{padding:12px 16px}.groups-brand img{width:175px}.groups-page-title{flex-wrap:wrap}.groups-module-badge{display:none}}
@media(max-width:470px){.groups-topbar-inner{align-items:flex-start;flex-direction:column}.groups-top-actions a{padding:8px 11px}.groups-content{padding:24px 14px 42px}.groups-page .card-header{padding:18px}.groups-page .filtros>div:last-child{display:flex;gap:10px;flex-wrap:wrap}}

/* v1.0.5 — shell do cadastro no mesmo padrao do menu principal */
.groups-page .groups-layout {grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.groups-page .groups-workspace {min-width:0;display:flex;flex-direction:column}
.groups-page .groups-topbar {position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e4eaee;box-shadow:none}
.groups-page .groups-topbar-inner {min-height:77px;max-width:none;padding:9px 34px}
.groups-page .groups-topbar-identity {display:flex;align-items:center;gap:14px}
.groups-page .groups-topbar-title {display:flex;flex-direction:column;gap:3px;color:#1c3040;font:800 14px var(--font-display)}
.groups-page .groups-topbar-title small {font:500 11px var(--font-body);color:#8a99a4}
.groups-page .groups-top-actions a {border-color:#dbe3e8;color:#425564;background:#fff;font-size:11px}
.groups-page .groups-top-actions .groups-checklist {border-color:#c7a559;color:#86601d;background:#fff9ed}
.groups-page .groups-top-actions a:hover {background:#f7f9fb}
.groups-page .groups-content {max-width:1500px}
.groups-page .zaref-sidebar {height:100vh;position:sticky;top:0;padding:0;gap:0;display:flex;border-right:1px solid #293b48}
.groups-page .zaref-sidebar .side-item {color:#c8d3dc}
.groups-page .zaref-sidebar .side-item.active {color:#f2d28a}
.groups-page .mobile-sidebar-toggle {display:none;cursor:pointer;font:700 12px var(--font-body);color:#273f52}
@media(max-width:900px){
 .groups-page .groups-layout{grid-template-columns:minmax(0,1fr)}
 .groups-page .zaref-sidebar {position:fixed;left:0;top:0;bottom:0;width:274px;height:100vh;transform:translateX(-101%);z-index:101}
 .groups-page .zaref-sidebar.open{transform:translateX(0)}
 .groups-page .mobile-sidebar-toggle{display:inline-flex}
 .groups-page .groups-topbar-inner{padding:12px 18px}
}
@media(max-width:600px){.groups-page .groups-topbar-inner{flex-wrap:wrap}.groups-page .groups-top-actions{gap:6px}.groups-page .groups-top-actions a{padding:8px 10px}}

/* v1.0.6 — formulario de grupos: larguras e alinhamento dos campos */
.groups-page .card-body > form[method="post"] > .grid {
    grid-template-columns: 180px minmax(300px, 450px) 160px max-content;
    align-items: end;
    justify-content: start;
    gap: 16px;
}
.groups-page .card-body > form[method="post"] > .grid > .col-2,
.groups-page .card-body > form[method="post"] > .grid > .col-6 {
    grid-column: auto;
    min-width: 0;
}
.groups-page .card-body > form[method="post"] > .grid > .col-12 {
    grid-column: 1 / -1;
}
.groups-page .card-body > form[method="post"] > .grid > .col-2 .acoes-form {
    justify-content: flex-start;
}
@media (max-width: 1150px) {
    .groups-page .card-body > form[method="post"] > .grid {
        grid-template-columns: minmax(160px, 1fr) minmax(260px, 2fr);
    }
}
@media (max-width: 650px) {
    .groups-page .card-body > form[method="post"] > .grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
