/* Santos Group 1.2 — estrutura consistente e responsiva */
:root{--sg-sidebar:248px;--sg-topbar:64px;--sg-page:1440px}
.sidebar{width:var(--sg-sidebar);padding:0 12px 14px}
.app-main{margin-left:var(--sg-sidebar);width:calc(100% - var(--sg-sidebar));min-width:0}
.sidebar-brand{min-height:76px;padding:14px 12px}
.sidebar .side-nav{padding:8px 2px 12px;gap:2px;min-height:0}
.side-label{padding:14px 10px 5px;font-size:.59rem}
.side-link{padding:8px 10px;border-radius:9px;font-size:.78rem;line-height:1.2}
.side-icon{width:18px;flex:0 0 18px}
.sidebar-foot{padding:11px 12px}
.topbar{height:var(--sg-topbar);padding:0 22px}
.topbar-quick{display:flex;align-items:center;gap:8px}
.top-chat-link,.wa-indicator{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e7e1ed;border-radius:999px;background:#fff;color:#59208e;text-decoration:none;font-size:.78rem}
.top-chat-link.active{background:#f3eafd;border-color:#d9beef}
.content-wrap{max-width:var(--sg-page);padding:24px clamp(18px,2vw,30px)}
.table-responsive{max-width:100%;overflow:auto}
.table td,.table th{overflow-wrap:anywhere}
.btn{white-space:nowrap}
.content-wrap:has(.chat-shell){width:100%;margin:0;height:calc(100vh - var(--sg-topbar));padding:12px 16px 14px!important}
.attendance-page-head,.attendance-page-head>div:first-child,.attendance-head-actions{min-width:0}
.chat-shell{width:100%;height:calc(100vh - var(--sg-topbar) - 82px)}
.chat-compose{display:block;padding:0;background:#f7f7f8}
.compose-controls{display:grid;grid-template-columns:40px 40px minmax(120px,1fr) 82px;align-items:center;gap:7px;padding:8px 10px}
.compose-controls .attach-btn,.compose-controls .record-btn{width:40px;height:40px}
.compose-controls textarea{width:100%;min-width:0}
.compose-controls #sendBtn{width:100%;padding:0 12px}
.compose-preview{background:#fff;color:#25172f;border-color:#e7dfea}
.chat-media-image,.chat-media-video{display:block;max-width:min(360px,100%);max-height:320px;border-radius:10px}
.chat-media-audio{display:block;width:min(320px,70vw);max-width:100%}
.media-load-btn{border:1px solid #d9c7e8!important;background:#fff!important;color:#6521a9!important;border-radius:9px!important;height:auto!important;padding:7px 10px!important}
.subscription-page .card-body,.admin-edit-page .card-body{padding:20px}
.service-description{max-width:42ch}
.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.agent-rating-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:1200px){
  :root{--sg-sidebar:220px}
  .topbar{padding:0 16px}.topbar-company{display:none}.content-wrap{padding:20px}.side-link{font-size:.74rem}
  .chat-shell{grid-template-columns:minmax(270px,310px) minmax(0,1fr)}
  .attendance-head-actions .btn{padding-left:8px;padding-right:8px}
}
@media(max-width:991.98px){
  .sidebar,.topbar{display:none}.app-main{margin-left:0;width:100%;padding-top:58px}
  .content-wrap:has(.chat-shell){height:calc(100vh - 58px);padding:8px!important}
  .chat-shell{height:calc(100vh - 124px);grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .attendance-page-head{display:block}.attendance-head-actions{margin-top:7px;padding-bottom:4px;overflow-x:auto}
  .attendance-head-actions .presence-pill{display:none}.chat-shell{height:calc(100vh - 132px)}
  .compose-controls{grid-template-columns:38px 38px minmax(80px,1fr) 62px;gap:4px;padding:6px}
  .compose-controls .attach-btn,.compose-controls .record-btn{width:38px;height:38px}
  .compose-controls #sendBtn{padding:0 7px;font-size:11px}
}
