:root{--green:#006b3f;--dark:#063d29;--light:#f3f7f5;--text:#11201a;--muted:#667085;--line:#e8eeeb;--shadow:0 10px 30px rgba(16,24,40,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(120deg,#f6faf8,#eef4f1);color:var(--text)}a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}.side{width:260px;background:linear-gradient(180deg,#073d29,#042b1e);color:#fff;padding:22px 14px;position:fixed;inset:0 auto 0 0;overflow:auto}.logo{display:flex;gap:12px;align-items:center;margin-bottom:22px}.logo-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#8ee64f,#00a55b);display:grid;place-items:center;font-size:27px}.brand{font-size:28px;font-weight:900;letter-spacing:.5px}.subtitle{color:#bdf5d7;font-size:13px;font-weight:600}.menu-title{font-size:12px;color:#a9c8b8;margin:22px 8px 8px;text-transform:uppercase}.side a{display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:10px;margin:4px 0;font-weight:600;color:#f5fff9}.side a:hover,.side a.active{background:rgba(27,184,96,.28)}.side-footer{margin-top:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);padding:14px;border-radius:14px;font-size:13px}.main{margin-left:260px;width:calc(100% - 260px);padding:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.page{padding:24px}.hamb{font-size:22px;color:#344054}.crumb{font-size:13px;color:var(--muted);margin-top:4px}.top-actions{display:flex;align-items:center;gap:18px}.icon-btn{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);background:#fff}.user{display:flex;align-items:center;gap:12px;padding-left:14px;border-left:1px solid var(--line)}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#d5f8e5,#0ca15d);display:grid;place-items:center;font-weight:900;color:#073d29}.user strong{display:block}.user small{color:var(--muted)}.hero,.card,.panel{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.hero{padding:24px;margin-bottom:18px}.hero h1{margin:0 0 6px;font-size:26px}.hero p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;margin-bottom:18px}.card{padding:20px}.metric{display:flex;align-items:center;gap:14px}.metric .ico{width:52px;height:52px;border-radius:16px;background:#e7f8ef;display:grid;place-items:center;font-size:24px}.num{font-size:28px;font-weight:900;color:#008e50}.muted{color:var(--muted);font-size:13px}.grid-2{display:grid;grid-template-columns:1.5fr .85fr;gap:18px;margin-bottom:18px}.panel{padding:20px}.panel h3{margin:0 0 16px}.fake-chart{height:240px;background:linear-gradient(180deg,#fff,#f3fbf7);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.fake-chart:before{content:"";position:absolute;inset:25px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 37px,#e7eeea 38px),linear-gradient(145deg,transparent 0 22%,rgba(0,142,80,.18) 22% 54%,transparent 54%)}.fake-line{position:absolute;left:42px;right:28px;top:70px;height:120px;border-bottom:3px solid #009754;transform:skewY(-8deg);border-radius:20px}.donut{width:190px;height:190px;border-radius:50%;background:conic-gradient(#00a65a 0 42%,#2d8cff 42% 68%,#8b5cf6 68% 83%,#ffb13b 83% 94%,#aab4bd 94%);margin:auto;position:relative}.donut:after{content:"";position:absolute;inset:48px;background:#fff;border-radius:50%}.modules{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px}.module{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px;align-items:flex-start;background:#fff}.module .ico{width:44px;height:44px;border-radius:14px;background:#e7f8ef;display:grid;place-items:center;font-size:22px}.module strong{display:block}.module small{color:var(--muted)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.table th{font-size:12px;text-transform:uppercase;color:#475467;background:#f8fbf9}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:#008e50;color:#fff;border-radius:10px;font-weight:700;border:0}.btn.secondary{background:#eef5f1;color:#06452f}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form label{font-weight:700;font-size:13px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #d6e2dc;border-radius:10px;margin-top:6px;font:inherit}.full{grid-column:1/-1}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#0aa45d55,transparent 30%),linear-gradient(135deg,#052d20,#071510)}.login-card{width:390px;background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.login-card h1{text-align:center;color:#063d29}.login-card input{width:100%;padding:13px;border:1px solid #d6e2dc;border-radius:12px;margin:8px 0 14px}.login-card button{width:100%;padding:13px;border:0;background:#008e50;color:#fff;border-radius:12px;font-weight:800}.profile-menu{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;max-width:380px}.profile-menu a{display:block;padding:12px;border-radius:10px}.profile-menu a:hover{background:#f3f7f5}@media(max-width:1000px){.side{position:relative;width:100%;min-height:auto}.app{display:block}.main{margin-left:0;width:100%}.cards,.grid-2,.modules{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* Login moderno SIGAS */
.login-modern{min-height:100vh;background:#021b12;overflow:hidden;color:#fff;position:relative}
.login-modern:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 22% 22%,rgba(0,170,92,.28),transparent 28%),radial-gradient(circle at 76% 28%,rgba(118,224,64,.16),transparent 24%),linear-gradient(120deg,#052f20 0%,#031f16 45%,#020f0b 100%);z-index:-3}
.login-modern:after{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(65,255,118,.35) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,#000 0 17%,transparent 35%,transparent 70%,#000 100%);opacity:.45;z-index:-2}
.login-wrap{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:54px 6vw 20px;position:relative}
.login-wrap:before{content:"";position:absolute;left:32%;right:-10%;top:30%;height:240px;background:repeating-linear-gradient(165deg,rgba(0,188,88,.24) 0 1px,transparent 1px 12px);transform:skewY(-9deg);filter:blur(.2px);opacity:.5;z-index:-1}
.login-left{position:relative;min-height:700px}.login-brand-row{display:flex;align-items:center;gap:20px;margin-bottom:70px}.login-brand-icon,.panel-logo-icon{width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,#9ee84f,#028d4e);display:grid;place-items:center;color:#063d29;font-size:48px;box-shadow:0 20px 45px rgba(0,0,0,.3);font-weight:900}.login-brand-title{font-size:76px;line-height:.9;font-weight:1000;letter-spacing:5px;text-shadow:0 8px 20px rgba(0,0,0,.35)}.login-brand-subtitle{font-size:25px;color:#8ee24b;font-weight:900;letter-spacing:1px;margin-top:10px}.login-headline h2{font-size:29px;margin:0 0 6px;font-weight:900}.login-headline h1{font-size:44px;margin:0;color:#05b75d;font-weight:1000}.login-headline span,.green-line{display:block;width:86px;height:7px;background:#05b75d;border-radius:30px;margin:25px 0}.login-headline p{font-size:28px;line-height:1.55;max-width:520px;margin:0 0 40px;color:#f5fff9}.login-features{display:grid;gap:22px}.login-feature{display:flex;align-items:center;gap:20px}.feature-icon{width:70px;height:70px;border-radius:18px;background:linear-gradient(135deg,#0db957,#036c3f);display:grid;place-items:center;font-size:30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 14px 30px rgba(0,0,0,.25)}.login-feature strong{display:block;font-size:18px}.login-feature small{display:block;font-size:17px;color:#d8efe3;margin-top:6px}.login-family-art{position:absolute;right:0;bottom:50px;width:330px;height:260px;opacity:.92;filter:drop-shadow(0 22px 30px rgba(0,0,0,.45))}.house-roof{position:absolute;left:75px;top:18px;width:190px;height:190px;border-left:28px solid #0faf58;border-top:28px solid #0faf58;transform:rotate(45deg);border-radius:18px}.house-body{position:absolute;left:84px;top:84px;width:172px;height:132px;border:28px solid #0faf58;border-top:0;border-radius:0 0 22px 22px;text-align:center}.house-body span{font-size:58px;color:#82df3c;line-height:95px}.person{position:absolute;bottom:22px;background:linear-gradient(135deg,#8fe247,#05a955);border-radius:50px 50px 18px 18px}.person:before{content:"";position:absolute;top:-44px;left:17px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#9ce54c,#08a854)}.person.p1{left:120px;width:85px;height:95px}.person.p2{left:195px;width:70px;height:82px}.person.p2:before{width:44px;height:44px;top:-38px}.login-panel{display:flex;justify-content:center}.login-card-modern{width:min(570px,100%);background:rgba(255,255,255,.98);color:#17211c;border-radius:34px;padding:44px 42px 34px;box-shadow:0 35px 90px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.7)}.panel-logo{display:flex;justify-content:center;align-items:center;gap:18px}.panel-logo-icon{width:84px;height:84px;border-radius:24px;font-size:42px;box-shadow:none}.panel-logo h1{font-size:64px;line-height:.8;margin:0;color:#053723;letter-spacing:2px}.panel-logo strong{display:block;color:#36af3f;font-size:20px;margin-top:10px}.login-card-modern .green-line{height:5px;margin:23px auto;width:92px}.system-name{text-align:center;font-size:17px;color:#606c66;margin:0 0 28px}.welcome{text-align:center;font-size:22px;margin-bottom:7px}.login-sub{text-align:center;color:#707a75;margin:0 0 26px;font-size:17px}.login-card-modern label:not(.remember){display:block;font-weight:900;margin:18px 0 8px}.input-icon{display:flex;align-items:center;border:1px solid #dbe5df;border-radius:14px;background:#f9fbfa;min-height:60px;padding:0 14px;gap:12px}.input-icon input{border:0;outline:0;background:transparent;font:inherit;font-size:17px;flex:1;color:#18251f}.input-icon:focus-within{border-color:#04a65a;box-shadow:0 0 0 4px rgba(0,166,90,.12);background:#fff}.toggle-pass{border:0;background:transparent;font-size:18px;cursor:pointer}.remember{display:flex;align-items:center;gap:9px;color:#59645f;margin:14px 0 16px}.remember input{width:18px;height:18px}.forgot-box{margin:8px 0 22px;color:#0a7c48}.forgot-box strong{display:block}.forgot-box small{display:block;color:#66736d;margin:7px 0 0 30px}.login-btn{width:100%;height:62px;border:0;border-radius:14px;background:linear-gradient(135deg,#08a95c,#008848);color:#fff;font-size:20px;font-weight:900;box-shadow:0 14px 28px rgba(0,142,80,.28);cursor:pointer}.login-btn:hover{filter:brightness(1.04)}.support-box{text-align:center;margin-top:26px;color:#5c6761;display:grid;gap:7px}.support-box strong{color:#07814b}.support-box span{display:block}.login-error{border-radius:12px;text-align:center;padding:12px;margin-bottom:14px}.login-footer{position:fixed;left:4%;right:4%;bottom:22px;height:64px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;gap:12px;color:#edf8f2}.login-footer span{color:#c7d8cf}@media(max-width:1100px){.login-wrap{grid-template-columns:1fr;padding:24px 18px 110px}.login-left{display:none}.login-card-modern{padding:34px 24px}.login-footer{position:absolute;height:auto;min-height:60px;flex-wrap:wrap;text-align:center;padding:12px}.panel-logo h1{font-size:48px}.panel-logo-icon{width:66px;height:66px}.login-panel{align-self:center}}

/* Ajuste responsivo da tela de login - v3.1
   Objetivo: caber corretamente em notebook/monitor com zoom do navegador em 100%. */
.login-modern{
    min-height:100vh;
    overflow:hidden;
}
.login-wrap{
    height:100vh;
    min-height:0;
    grid-template-columns:minmax(430px,1fr) minmax(360px,430px);
    gap:34px;
    padding:28px 5vw 70px;
    align-items:center;
}
.login-left{
    min-height:560px;
}
.login-brand-row{
    gap:14px;
    margin-bottom:36px;
}
.login-brand-icon{
    width:72px;
    height:72px;
    border-radius:21px;
    font-size:34px;
}
.login-brand-title{
    font-size:56px;
    line-height:.9;
    letter-spacing:3px;
}
.login-brand-subtitle{
    font-size:18px;
    margin-top:6px;
}
.login-headline h2{
    font-size:22px;
    margin-bottom:4px;
}
.login-headline h1{
    font-size:36px;
}
.login-headline span,
.green-line{
    width:72px;
    height:5px;
    margin:18px 0;
}
.login-headline p{
    font-size:20px;
    line-height:1.45;
    max-width:450px;
    margin-bottom:26px;
}
.login-features{
    gap:14px;
}
.login-feature{
    gap:14px;
}
.feature-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    font-size:23px;
}
.login-feature strong{
    font-size:15px;
}
.login-feature small{
    font-size:14px;
    margin-top:3px;
}
.login-family-art{
    width:230px;
    height:180px;
    right:5%;
    bottom:78px;
    transform:scale(.72);
    transform-origin:bottom right;
}
.login-panel{
    align-items:center;
}
.login-card-modern{
    width:400px;
    max-width:100%;
    border-radius:24px;
    padding:24px 28px 20px;
}
.panel-logo{
    gap:12px;
}
.panel-logo-icon{
    width:58px;
    height:58px;
    border-radius:17px;
    font-size:28px;
}
.panel-logo h1{
    font-size:42px;
    letter-spacing:1px;
}
.panel-logo strong{
    font-size:14px;
    margin-top:5px;
}
.login-card-modern .green-line{
    width:72px;
    height:4px;
    margin:15px auto;
}
.system-name{
    font-size:13px;
    margin-bottom:16px;
}
.welcome{
    font-size:16px;
    margin-bottom:4px;
}
.login-sub{
    font-size:13px;
    margin-bottom:14px;
}
.login-card-modern label:not(.remember){
    font-size:13px;
    margin:10px 0 6px;
}
.input-icon{
    min-height:45px;
    border-radius:11px;
    padding:0 12px;
    gap:10px;
}
.input-icon input{
    font-size:14px;
}
.toggle-pass{
    font-size:15px;
}
.remember{
    font-size:13px;
    margin:9px 0 10px;
}
.remember input{
    width:15px;
    height:15px;
}
.forgot-box{
    margin:4px 0 14px;
    font-size:13px;
}
.forgot-box small{
    margin-top:3px;
    margin-left:24px;
    font-size:12px;
}
.login-btn{
    height:47px;
    border-radius:11px;
    font-size:16px;
}
.support-box{
    margin-top:15px;
    gap:3px;
    font-size:12px;
}
.login-footer{
    left:5vw;
    right:5vw;
    bottom:14px;
    height:44px;
    min-height:44px;
    border-radius:14px;
    gap:8px;
    font-size:12px;
}
.login-footer span{
    font-size:12px;
}

@media(max-height:800px){
    .login-wrap{padding-top:18px;padding-bottom:58px;gap:26px;}
    .login-left{min-height:500px;}
    .login-brand-row{margin-bottom:28px;}
    .login-brand-icon{width:64px;height:64px;font-size:30px;}
    .login-brand-title{font-size:50px;}
    .login-brand-subtitle{font-size:16px;}
    .login-headline h2{font-size:20px;}
    .login-headline h1{font-size:32px;}
    .login-headline p{font-size:18px;margin-bottom:20px;}
    .login-features{gap:10px;}
    .feature-icon{width:46px;height:46px;font-size:20px;}
    .login-feature strong{font-size:14px;}
    .login-feature small{font-size:13px;}
    .login-family-art{display:none;}
    .login-card-modern{width:390px;padding:20px 26px 16px;}
    .panel-logo-icon{width:52px;height:52px;font-size:25px;}
    .panel-logo h1{font-size:38px;}
    .system-name{font-size:12px;margin-bottom:12px;}
    .welcome{font-size:15px;}
    .login-sub{font-size:12px;margin-bottom:10px;}
    .input-icon{min-height:41px;}
    .forgot-box{margin-bottom:10px;}
    .login-btn{height:43px;}
    .support-box{margin-top:10px;font-size:11px;}
    .login-footer{bottom:8px;height:38px;min-height:38px;font-size:11px;}
    .login-footer span{font-size:11px;}
}

@media(max-width:1100px){
    .login-modern{overflow:auto;}
    .login-wrap{
        height:auto;
        min-height:100vh;
        grid-template-columns:1fr;
        padding:22px 16px 80px;
    }
    .login-left{display:none;}
    .login-card-modern{width:390px;}
    .login-footer{position:fixed;left:16px;right:16px;bottom:10px;}
}
.actions{display:flex;gap:10px;align-items:center}.btn.danger{background:#fff1f0;color:#b42318}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel.form{box-shadow:var(--shadow)}
@media(max-width:900px){.table{font-size:13px}.table th,.table td{padding:9px}.btn{padding:8px 10px}.top-actions{display:none}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.details p{font-size:16px;line-height:1.45}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#e5f8ee;color:#04764a;padding:6px 10px;font-weight:800;font-size:12px}.btn.danger{background:#d92d20}.btn.primary{background:#1677f2}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-top:12px}.check-card{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f9fbfa;font-weight:800}.check-card input{width:auto!important;margin:0!important}.actions{display:flex;gap:10px;align-items:center}@media(max-width:1000px){.grid2,.check-grid{grid-template-columns:1fr}.check-card{font-size:14px}}

/* Perfil e alteração de senha */
.big-avatar{width:70px;height:70px;font-size:28px}.profile-head h2{margin:0 0 6px}.alert{padding:12px 14px;border-radius:12px;margin:12px 0;font-weight:700}.alert.success{background:#e7f8ef;color:#04764a;border:1px solid #b9ebd0}.alert.error{background:#fff1f0;color:#b42318;border:1px solid #ffd0cc}.form.one-col{grid-template-columns:1fr}.form input[readonly]{background:#f3f7f5;color:#667085}.profile-menu h3{margin-top:0}

/* Campos digitáveis padronizados visualmente em maiúsculo.
   Tipos técnicos/sensíveis são preservados por CSS/JS/servidor. */
input:not([type="email"]):not([type="password"]):not([type="number"]):not([type="date"]):not([type="datetime-local"]):not([type="time"]):not([type="tel"]):not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
textarea {
  text-transform: uppercase;
}

/* Ajuste v21 - login centralizado
   Mantém o fundo visual do SIGAS e coloca o card exatamente no centro da tela. */
body.login-modern{
    min-height:100vh;
    overflow:hidden;
}
.login-modern .login-wrap{
    min-height:100vh !important;
    height:100vh !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    padding:0 20px 58px !important;
    margin:0 !important;
}
.login-modern .login-left{
    display:none !important;
}
.login-modern .login-panel{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
}
.login-modern .login-card-modern{
    width:400px !important;
    max-width:calc(100vw - 40px) !important;
    margin:0 auto !important;
}
.login-modern .login-footer{
    position:fixed !important;
    left:5vw !important;
    right:5vw !important;
    bottom:14px !important;
}
@media(max-height:800px){
    .login-modern .login-wrap{padding-bottom:48px !important;}
    .login-modern .login-card-modern{width:390px !important;}
}
@media(max-width:600px){
    .login-modern .login-wrap{padding:12px 12px 70px !important;}
    .login-modern .login-card-modern{width:100% !important;}
    .login-modern .login-footer{left:12px !important;right:12px !important;}
}


/* SIGAS v22 - login realmente centralizado e sem coluna lateral */
body.login-modern{
  min-height:100vh !important;
  overflow:hidden !important;
}
body.login-modern .login-wrap{
  min-height:100vh !important;
  height:100vh !important;
  width:100vw !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px 16px 72px !important;
  margin:0 !important;
  grid-template-columns:none !important;
  gap:0 !important;
}
body.login-modern .login-wrap:before{left:0 !important;right:0 !important;top:30% !important;}
body.login-modern .login-left{display:none !important;visibility:hidden !important;width:0 !important;height:0 !important;overflow:hidden !important;}
body.login-modern .login-panel{width:auto !important;max-width:100% !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 auto !important;}
body.login-modern .login-card-modern{width:400px !important;max-width:calc(100vw - 32px) !important;margin:0 auto !important;}
body.login-modern .login-footer{position:fixed !important;left:5vw !important;right:5vw !important;bottom:12px !important;z-index:3 !important;}
@media(max-height:760px){body.login-modern .login-card-modern{transform:scale(.92);transform-origin:center center;} body.login-modern .login-wrap{padding-bottom:54px!important;}}
@media(max-width:520px){body.login-modern .login-wrap{padding:14px 10px 78px!important;} body.login-modern .login-card-modern{width:100%!important;} body.login-modern .login-footer{left:10px!important;right:10px!important;font-size:11px!important;}}


/* =========================================================
   RESPONSIVO SIGAS WEB - TABLETS E CELULARES
   Ajuste geral para uso em Chrome/Android, tablets e celulares.
   ========================================================= */

/* Base de toque e prevenção de zoom indevido em campos no Android/iOS */
button, .btn, .icon-btn, .side a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}
input, select, textarea, button {
  font-size: 16px;
}

/* Tabelas e listagens nunca devem estourar a tela */
.table {
  min-width: 720px;
}
.table-responsive,
.panel,
.card,
.hero {
  max-width: 100%;
}
.page {
  overflow-x: hidden;
}
.panel:has(.table),
.card:has(.table) {
  overflow-x: auto;
}

/* Botão/ícone do menu mobile */
.hamb {
  cursor: pointer;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  user-select: none;
}
.hamb:hover {
  background: #eef5f1;
}

/* Fundo escuro quando o menu mobile abre */
.mobile-backdrop {
  display: none;
}

@media (max-width: 1180px) {
  .cards {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
  .modules {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  body {
    background: #f4f8f6;
  }

  .app {
    display: block;
    min-height: 100vh;
  }

  .side {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(84vw, 330px);
    min-height: 100vh;
    z-index: 1000;
    transform: translateX(-105%);
    transition: transform .25s ease;
    box-shadow: 24px 0 70px rgba(0,0,0,.32);
    border-right: 1px solid rgba(255,255,255,.12);
    padding: 18px 14px 28px;
  }

  body.menu-open .side {
    transform: translateX(0);
  }

  .mobile-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 900;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  body.menu-open .mobile-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .main {
    width: 100%;
    margin-left: 0;
  }

  .topbar {
    height: 66px;
    padding: 0 12px;
    position: sticky;
    top: 0;
    z-index: 800;
    box-shadow: 0 6px 22px rgba(16,24,40,.06);
  }

  .crumb {
    font-size: 12px;
    max-width: 56vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .top-actions {
    gap: 6px;
  }

  .icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .top-actions .icon-btn:nth-child(n+3) {
    display: none;
  }

  .user {
    padding-left: 6px;
    gap: 8px;
  }

  .user .avatar {
    width: 36px;
    height: 36px;
  }

  .user strong,
  .user small {
    display: none;
  }

  .page {
    padding: 14px;
  }

  .hero {
    padding: 18px;
    border-radius: 16px;
    margin-bottom: 14px;
  }

  .hero h1 {
    font-size: 24px;
  }

  .hero p {
    font-size: 14px;
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  .card {
    padding: 14px;
    border-radius: 15px;
  }

  .metric {
    gap: 10px;
  }

  .metric .ico {
    width: 44px;
    height: 44px;
    font-size: 21px;
    border-radius: 14px;
  }

  .num {
    font-size: 24px;
  }

  .grid-2 {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 14px;
  }

  .panel {
    padding: 15px;
    border-radius: 16px;
    overflow-x: auto;
  }

  .fake-chart {
    height: 180px;
  }

  .donut {
    width: 150px;
    height: 150px;
  }

  .donut:after {
    inset: 38px;
  }

  .modules {
    grid-template-columns: 1fr;
  }

  .module {
    padding: 14px;
  }

  .form {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .full {
    grid-column: 1;
  }

  .form input,
  .form select,
  .form textarea {
    min-height: 48px;
    border-radius: 12px;
  }

  .btn {
    min-height: 44px;
    justify-content: center;
    border-radius: 12px;
    padding: 12px 16px;
  }

  .table {
    min-width: 760px;
    font-size: 14px;
  }

  .table th,
  .table td {
    padding: 11px 10px;
  }

  .logo {
    margin-bottom: 16px;
  }

  .logo-icon {
    width: 44px;
    height: 44px;
  }

  .brand {
    font-size: 25px;
  }

  .side a {
    min-height: 48px;
    font-size: 16px;
    border-radius: 12px;
  }

  .menu-title {
    margin-top: 16px;
  }

  .side-footer {
    margin-top: 20px;
  }
}

@media (max-width: 520px) {
  .page {
    padding: 10px;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  .topbar {
    height: 60px;
  }

  .hamb {
    width: 40px;
    height: 40px;
  }

  .crumb {
    display: none;
  }

  .hero h1 {
    font-size: 22px;
  }

  .panel h3 {
    font-size: 17px;
  }

  .side {
    width: 88vw;
  }

  .login-card {
    width: calc(100vw - 28px);
    padding: 22px;
  }

  .login-wrap {
    display: block;
    padding: 20px 14px 80px;
  }

  .login-left {
    display: none;
  }

  .login-panel {
    width: 100% !important;
    max-width: 430px;
    margin: 0 auto;
  }
}

/* Correção específica para telas em modo paisagem/tablets Android */
@media (max-width: 1024px) and (orientation: landscape) {
  .side {
    width: min(72vw, 330px);
  }
  .page {
    padding: 12px;
  }
  .cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.table-mobile-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;}
.table-mobile-scroll .table{margin-bottom:0;}

/* Relatórios SIGAS no padrão visual do SIMAE */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rel-hero{background:linear-gradient(135deg,#ffffff,#f1fbf6)}.rel-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.rel-menu .module{transition:.2s;min-height:86px}.rel-menu .module:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,24,40,.12);border-color:#bdebd2}.rel-grid{grid-template-columns:1fr 1fr}.chart-panel{min-height:340px}.chart-panel canvas{width:100%;display:block;border-radius:14px;background:linear-gradient(180deg,#fff,#f7fbf9);border:1px solid var(--line);padding:6px}.rel-filter{margin-bottom:18px}.report-header{margin-bottom:18px}.print-title{display:none}.report-table{font-size:13px}.printable-report{overflow:auto}.btn{cursor:pointer}.btn.secondary:hover{filter:brightness(.98)}
@media(max-width:900px){.rel-grid{grid-template-columns:1fr}.chart-panel{min-height:280px}.top .actions{width:100%}.top .actions .btn{flex:1;justify-content:center}.report-table{font-size:12px}}
@media print{body{background:#fff}.side,.topbar,.no-print,.hamb,.mobile-backdrop{display:none!important}.main{margin-left:0!important;width:100%!important}.page{padding:0}.hero,.panel,.card{box-shadow:none!important;border:0!important}.report-header{display:none}.printable-report{padding:0;overflow:visible}.print-title{display:block;text-align:center;margin-bottom:16px}.print-title h2{margin:0 0 5px;font-size:18px}.print-title p{margin:0;color:#667085}.table{box-shadow:none;border:1px solid #d0d5dd}.table th,.table td{padding:7px;font-size:10px}.cards{display:none}.chart-panel{page-break-inside:avoid;margin-bottom:14px}.chart-panel canvas{border:1px solid #ddd}.btn{display:none!important}@page{size:A4 landscape;margin:10mm}}
/* Ajustes v36 - filtros em cards e impressão/PDF */
.filter-group{background:#f8fbf9;border:1px solid var(--line);border-radius:16px;padding:14px}.filter-group strong{display:block;margin-bottom:10px}.filter-chips{display:flex;gap:10px;flex-wrap:wrap}.filter-chip{position:relative;display:inline-flex!important;align-items:center;gap:8px;margin:0!important;font-weight:800!important;cursor:pointer}.filter-chip input{position:absolute;opacity:0;width:1px;height:1px}.filter-chip span{display:inline-flex;align-items:center;gap:6px;padding:11px 14px;border:1px solid #cfe1d8;border-radius:999px;background:#fff;color:#06452f;box-shadow:0 5px 14px rgba(16,24,40,.05);transition:.16s}.filter-chip span:before{content:"";width:13px;height:13px;border-radius:50%;border:2px solid #9cbbae;background:#fff}.filter-chip input:checked + span{background:#008e50;color:#fff;border-color:#008e50;box-shadow:0 10px 22px rgba(0,142,80,.22)}.filter-chip input:checked + span:before{background:#fff;border-color:#fff;box-shadow:inset 0 0 0 3px #008e50}.chart-wrap{position:relative}.chart-tooltip{position:absolute;z-index:3;pointer-events:none;background:#10261d;color:#fff;padding:9px 11px;border-radius:10px;font-size:12px;box-shadow:0 12px 28px rgba(0,0,0,.20);display:none;white-space:nowrap}.chart-tooltip strong{display:block;font-size:13px;margin-bottom:2px}.chart-panel canvas{cursor:crosshair}@media(max-width:700px){.filter-chip span{width:100%;justify-content:center}.filter-chip{flex:1 1 145px}.form{grid-template-columns:1fr!important}}

/* v37 - Filtros em botão expansível com cards, sem quadradinho aparente */
.filter-dropdown{position:relative;background:#f8fbf9;border:1px solid var(--line);border-radius:16px;padding:0;overflow:visible}
.filter-toggle{width:100%;border:0;background:#fff;border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(16,24,40,.04);font:inherit;color:#11201a}
.filter-toggle strong{display:block;font-size:15px;margin-bottom:4px}
.filter-toggle small{display:block;color:#667085;font-weight:700;white-space:normal}
.filter-toggle b{font-size:22px;color:#008e50;transition:.18s}
.filter-card-box{display:none;margin-top:10px;padding:14px;background:#fff;border:1px solid #dfeae4;border-radius:16px;box-shadow:0 18px 38px rgba(16,24,40,.12)}
.filter-card-box.open{display:block}
.filter-dropdown:has(.filter-card-box.open) .filter-toggle b{transform:rotate(180deg)}
.filter-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.filter-chip{display:block!important;margin:0!important;font-weight:900!important;cursor:pointer}
.filter-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.filter-chip span{display:flex!important;align-items:center;justify-content:center;min-height:54px;padding:13px 15px;border:1px solid #cfe1d8;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbf9);color:#06452f;box-shadow:0 8px 18px rgba(16,24,40,.06);transition:.16s;text-align:center}
.filter-chip span:before{display:none!important;content:none!important}
.filter-chip input:checked + span{background:linear-gradient(135deg,#008e50,#03a65e);color:#fff;border-color:#008e50;box-shadow:0 12px 28px rgba(0,142,80,.25);transform:translateY(-1px)}
.filter-chip input:focus + span{outline:3px solid rgba(0,142,80,.18)}

/* v37 - Tooltip dos gráficos mais parecido com o SIMAE */
.chart-tooltip{background:#111827!important;color:#fff!important;border-radius:8px!important;padding:10px 12px!important;font-size:13px!important;box-shadow:0 14px 32px rgba(0,0,0,.35)!important;border:1px solid rgba(255,255,255,.08)}
.chart-tooltip strong{font-size:13px!important;text-transform:uppercase;letter-spacing:.2px;margin-bottom:5px!important;color:#fff!important}
.chart-tooltip .tip-row{display:flex;align-items:center;gap:7px;white-space:nowrap}
.chart-tooltip .tip-dot{width:11px;height:11px;border-radius:3px;display:inline-block;background:#20a8ff}
.chart-tooltip .tip-value{font-weight:800;color:#eaf7ff}
.chart-panel canvas{cursor:pointer!important}

/* Ajuste v39: tooltip dos gráficos igual ao SIMAE, sem texto fixo abaixo do gráfico */
.chart-panel{overflow:visible!important}
.chart-tooltip{position:absolute!important;z-index:9999!important;pointer-events:none!important;background:#111827!important;color:#fff!important;border-radius:8px!important;padding:10px 12px!important;font-size:13px!important;box-shadow:0 14px 32px rgba(0,0,0,.38)!important;border:1px solid rgba(255,255,255,.10)!important;display:none;white-space:nowrap!important;transform:translate(-50%, calc(-100% - 14px))!important}
.chart-tooltip:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border-width:7px 7px 0 7px;border-style:solid;border-color:#111827 transparent transparent transparent}
.chart-tooltip strong{display:block!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.2px!important;margin-bottom:5px!important;color:#fff!important}
.chart-tooltip .tip-row{display:flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important}
.chart-tooltip .tip-dot{width:11px!important;height:11px!important;border-radius:3px!important;display:inline-block!important}
.chart-tooltip .tip-value{font-weight:800!important;color:#eaf7ff!important}
.chart-hover-label,.chart-hover-info,.chart-selected-info,.chart-detail,.chart-info,.hover-info,.grafico-info,.chartjs-tooltip{display:none!important}


/* v41 - Rodapé global discreto com identidade EduSys, desenvolvedor e suporte */
.main{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.page{
  flex:1 0 auto;
}
.app-footer{
  flex:0 0 auto;
  min-height:68px;
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--line);
  box-shadow:0 -10px 30px rgba(16,24,40,.05);
  display:grid;
  grid-template-columns:170px minmax(250px,1fr) minmax(210px,.75fr) minmax(230px,.8fr) minmax(150px,.55fr);
  align-items:center;
  gap:0;
  padding:10px 26px;
  color:#26352f;
}
.app-footer .footer-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-right:20px;
}
.app-footer .footer-brand img{
  width:128px;
  max-width:100%;
  max-height:46px;
  object-fit:contain;
  display:block;
}
.app-footer .footer-block{
  min-height:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:0 18px;
  border-left:1px solid #dde7e2;
  font-size:12px;
  line-height:1.22;
}
.app-footer strong{font-weight:900;color:#10231b;}
.app-footer small{font-size:11px;color:#667085;font-weight:700;}
.app-footer span{font-size:12px;color:#667085;}
.app-footer .footer-support span{color:#344054;}
.app-footer .footer-version strong{color:#007e48;}
.side-footer-dev{font-size:12px;line-height:1.35;}
.side-footer-dev span{color:#bdf5d7;}
.side-footer-dev small{display:block;margin-top:8px;color:#d8efe3;}
.side-footer-dev b{color:#fff;}

/* Rodapé discreto na tela de login, sem ocupar espaço do formulário */
.sigas-login-footer-edusys{
  left:18px!important;
  right:18px!important;
  bottom:10px!important;
  min-height:46px!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:112px minmax(220px,1fr) minmax(160px,.7fr) minmax(210px,.8fr) minmax(130px,.45fr)!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:0!important;
  padding:6px 14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  color:#15231d!important;
  text-align:left!important;
  backdrop-filter:blur(10px)!important;
}
.sigas-login-footer-edusys img{
  width:94px;
  max-height:34px;
  object-fit:contain;
  display:block;
}
.sigas-login-footer-edusys div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  min-height:34px;
  padding:0 12px;
  border-left:1px solid rgba(11,61,41,.14);
}
.sigas-login-footer-edusys div:first-of-type{border-left:0;}
.sigas-login-footer-edusys strong{color:#10231b;font-size:12px;line-height:1.15;}
.sigas-login-footer-edusys small{color:#667085;font-size:10px;font-weight:700;}
.sigas-login-footer-edusys span{color:#475467!important;font-size:11px!important;line-height:1.1;}
.sigas-login-footer-edusys div:last-child strong{color:#007e48;}

@media(max-width:1200px){
  .app-footer{grid-template-columns:140px 1fr 1fr;row-gap:8px;}
  .app-footer .footer-support,.app-footer .footer-version{grid-column:auto;}
  .sigas-login-footer-edusys{grid-template-columns:100px 1fr 1fr;row-gap:4px;}
}
@media(max-width:900px){
  .app-footer{grid-template-columns:1fr;gap:8px;padding:12px 16px;text-align:center;}
  .app-footer .footer-brand{justify-content:center;padding-right:0;}
  .app-footer .footer-block{border-left:0;border-top:1px solid #e8eeeb;padding-top:8px;min-height:auto;}
  .sigas-login-footer-edusys{
    position:static!important;
    margin:8px 12px 12px!important;
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .sigas-login-footer-edusys img{margin:0 auto;}
  .sigas-login-footer-edusys div{border-left:0!important;border-top:1px solid rgba(11,61,41,.12);padding-top:5px;min-height:auto;}
}
@media(max-width:520px){
  .app-footer .footer-brand img{width:115px;}
  .app-footer span,.app-footer .footer-block{font-size:11px;}
}


/* v42: login limpo sem rodape grande */
body.sigas-login-body .sigas-login-footer-edusys{display:none!important;}


/* Correção v47: menu lateral mobile/touch */
@media (max-width: 900px) {
  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }
  body.menu-open .side {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .side {
    will-change: transform;
  }
  .hamb {
    position: relative;
    z-index: 1200;
    border: 0;
    background: #eef5f1;
  }
  .mobile-backdrop {
    display: block;
  }
}


/* Correção v48: menu mobile definitivo - evita duplo clique/touch e garante abertura */
.mobile-backdrop { display: none; }
@media (max-width: 900px) {
  html.menu-open, body.menu-open {
    overflow: hidden !important;
  }
  .side {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(84vw, 330px) !important;
    min-height: 100vh !important;
    z-index: 1000 !important;
    transform: translateX(-105%) !important;
    transition: transform .25s ease !important;
    box-shadow: 24px 0 70px rgba(0,0,0,.32) !important;
  }
  body.menu-open .side, html.menu-open .side {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .mobile-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.45) !important;
    z-index: 900 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
  }
  body.menu-open .mobile-backdrop, html.menu-open .mobile-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .main {
    width: 100% !important;
    margin-left: 0 !important;
  }
  #menuToggle, .hamb {
    cursor: pointer !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    background: #eef5f1 !important;
    position: relative !important;
    z-index: 1200 !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}


/* v49: menu mobile/tablet definitivo - funciona em celulares e tablets com viewport maior */
@media (max-width: 1200px) {
  .app {
    display: block !important;
    min-height: 100vh !important;
  }
  .main {
    width: 100% !important;
    margin-left: 0 !important;
  }
  .topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 800 !important;
  }
  .side {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(86vw, 340px) !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    z-index: 2000 !important;
    transform: translate3d(-110%, 0, 0) !important;
    transition: transform .25s ease !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    box-shadow: 24px 0 70px rgba(0,0,0,.35) !important;
  }
  body.menu-open .side,
  html.menu-open .side {
    transform: translate3d(0, 0, 0) !important;
  }
  .mobile-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.45) !important;
    z-index: 1900 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
  }
  body.menu-open .mobile-backdrop,
  html.menu-open .mobile-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body.menu-open,
  html.menu-open {
    overflow: hidden !important;
  }
  #menuToggle,
  .hamb {
    display: inline-grid !important;
    place-items: center !important;
    cursor: pointer !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #eef5f1 !important;
    position: relative !important;
    z-index: 2100 !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

@media (min-width: 1201px) {
  .mobile-backdrop { display: none !important; }
  .side { transform: none !important; }
}

.btn.view{background:#0ea5e9;color:white}.actions{display:flex;gap:6px;flex-wrap:wrap}.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) input,.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) select,.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) textarea{background:#f3f6f5;color:#374151;pointer-events:none}.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) button[type=submit],.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) .salvar,.view-mode form:not(.agenda-inline-form):not(.atendimento-inline-form):not(.atendimento-modal-form):not(.acompanhamento-editavel-form) button:not(.keep-visible){display:none!important}


/* Menu lateral provisório: Recepção + Menu Geral recolhível */
.side-group{margin:4px 0;}
.side-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:10px;margin:4px 0;border:0;background:transparent;color:#f5fff9;font:inherit;font-weight:700;cursor:pointer;text-align:left;}
.side-toggle:hover{background:rgba(27,184,96,.28)}
.side-arrow{font-size:12px;color:#bdf5d7;transition:transform .18s ease;}
.side-submenu{display:none;margin:0 0 6px 14px;padding-left:10px;border-left:3px solid rgba(141,230,79,.55);}
.side-submenu.open{display:block;}
.side-submenu a{font-size:14px;padding:10px 12px;margin:3px 0;background:rgba(255,255,255,.04);}
.side-submenu a:hover{background:rgba(27,184,96,.30)}

/* Menu lateral - Recepção com clique separado no link e na seta */
.side-row-toggle{display:flex;align-items:center;gap:4px;margin:4px 0;border-radius:10px;}
.side-row-toggle .side-main-link{flex:1;margin:0;}
.side-main-link-disabled{display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:10px;font-weight:600;color:#f5fff9;opacity:.85;}
.side-arrow-btn{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#f5fff9;font:inherit;font-weight:900;cursor:pointer;}
.side-arrow-btn:hover{background:rgba(27,184,96,.28)}
.side-arrow-btn .side-arrow{font-size:14px;line-height:1;}

/* v55 - Página Usuários da Recepção */
.usuarios-page{display:grid;gap:16px}.usuarios-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:22px}.usuarios-head h2{margin:0 0 6px;font-size:25px}.usuarios-head p{margin:0;color:var(--muted)}.usuarios-filtros{display:grid;gap:14px}.usuarios-filtros label{font-size:12px;text-transform:uppercase;color:#475467;font-weight:900}.usuarios-filtros input,.usuarios-filtros select{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d6e2dc;border-radius:12px;background:#fff;font:inherit}.usuarios-filtros-linha{display:flex;align-items:end;justify-content:space-between;gap:18px}.campo-equipamento{width:min(360px,100%)}.check-menor{display:flex!important;align-items:center;gap:9px;text-transform:none!important;font-size:14px!important;color:var(--text)!important;white-space:nowrap;margin-bottom:11px}.check-menor input{width:auto!important;margin:0!important}.usuarios-pesquisa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.usuarios-lista{display:grid;gap:12px}.usuario-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px;display:grid;grid-template-columns:1.3fr .95fr;gap:18px;align-items:center;text-decoration:none;color:inherit;cursor:pointer;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.usuario-card:hover,.usuario-card:focus-visible{background:#f1f6f3;box-shadow:0 10px 28px rgba(16,37,29,.12);transform:translateY(-1px);outline:none}.usuario-card:focus-visible{box-shadow:0 0 0 3px rgba(18,183,106,.22),0 10px 28px rgba(16,37,29,.12)}.usuario-identidade{display:flex;gap:14px;align-items:flex-start;min-width:0}.usuario-avatar{flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:#e7f8ef;color:#04764a;display:grid;place-items:center;font-size:20px;font-weight:1000}.usuario-nome{display:block;font-size:16px;color:#10251d;margin-bottom:5px}.usuario-filiacao{font-size:13px;color:#344054;margin:2px 0}.usuario-filiacao span:first-child{color:var(--muted);font-weight:800}.usuario-dados{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.usuario-dados span{background:transparent;border:0;border-radius:0;padding:2px 0;font-size:12px;color:#344054}.usuario-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.usuario-linha span{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:2px}.usuario-linha strong{font-size:13px;color:#17211c}.status-ativo{display:inline-flex;align-items:center;gap:6px;color:#04764a!important;background:#e7f8ef;border-radius:999px;padding:4px 9px}.status-ativo:before{content:"";width:7px;height:7px;background:#12b76a;border-radius:50%}.status-ativo.inativo{color:#b42318!important;background:#fff1f0}.status-ativo.inativo:before{background:#f04438}.usuario-acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.usuario-vazio{text-align:center;color:var(--muted);font-weight:800}@media(max-width:1100px){.usuario-card{grid-template-columns:1fr}.usuario-info{grid-template-columns:1fr 1fr}.usuario-acoes{justify-content:flex-start}.usuarios-pesquisa-grid{grid-template-columns:1fr}.usuarios-filtros-linha{align-items:flex-start;flex-direction:column}.check-menor{white-space:normal;margin-bottom:0}}@media(max-width:650px){.usuarios-head{flex-direction:column}.usuarios-head .btn{width:100%;justify-content:center}.usuario-info{grid-template-columns:1fr}.usuario-dados{display:grid;grid-template-columns:1fr}.usuario-card{padding:14px}.usuario-identidade{gap:10px}.usuario-avatar{width:40px;height:40px;flex-basis:40px}}

/* v56 - Formulário completo de Usuários da Recepção */
.usuario-form-page .usuarios-head{margin-bottom:0}.sigas-user-form{display:block}.form-section-title{font-weight:900;color:#10251d;font-size:16px;margin:8px 0 12px}.form-grid{display:grid;gap:16px;margin-bottom:20px}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:1.1fr 1.1fr 1fr .55fr .55fr}.grid-6{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.sigas-user-form label{font-weight:700;color:#061232;font-size:14px}.sigas-user-form input,.sigas-user-form select,.sigas-user-form textarea{width:100%;padding:12px 14px;border:1px solid #d6e2dc;border-radius:10px;margin-top:8px;font:inherit;background:#fff;color:#061232;outline:none}.sigas-user-form input:focus,.sigas-user-form select:focus,.sigas-user-form textarea:focus{border-color:#2f80ff;box-shadow:0 0 0 3px rgba(47,128,255,.10)}.sigas-user-form input.invalid{border-color:#f04438!important;background:#fff8f7}.field-msg{display:block;margin-top:5px;color:#b42318;font-weight:800}.section-separator{height:1px;background:#e6ece9;margin:24px 0}.section-separator.dashed{background:none;border-top:1px dashed #cfd8d3}.grid-checks{grid-template-columns:repeat(6,auto);justify-content:flex-start;align-items:center;gap:14px 22px}.inline-check{display:flex!important;align-items:center;gap:8px;margin:0!important;white-space:nowrap;font-size:14px!important}.inline-check input{width:18px!important;height:18px!important;margin:0!important}.span-2{grid-column:span 2}.docs-box{border:1px solid #d6e2dc;border-radius:14px;padding:14px;background:#f8fbf9;display:grid;gap:10px;margin-top:8px}.docs-box input{margin:0;background:#fff}.docs-box small{color:#667085;line-height:1.35}.doc-list{margin:0;padding-left:18px;color:#344054}.doc-list li{margin:4px 0}.form-actions-line{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:22px}.alert{border-radius:12px;padding:12px 14px;font-weight:800;margin-bottom:14px}.alert.success{background:#e7f8ef;color:#04764a;border:1px solid #b9ebd0}.alert.error{background:#fff1f0;color:#b42318;border:1px solid #ffd0cc}.view-mode .sigas-user-form input,.view-mode .sigas-user-form select,.view-mode .sigas-user-form textarea{background:#f3f6f5;color:#374151;pointer-events:none}.view-mode .sigas-user-form button[type=submit],.view-mode #documentosInput,.view-mode #limparDocs{display:none!important}@media(max-width:1250px){.grid-6,.grid-5,.grid-4{grid-template-columns:repeat(2,1fr)}.grid-checks{grid-template-columns:repeat(3,auto)}}@media(max-width:760px){.grid-6,.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.span-2{grid-column:auto}.grid-checks{grid-template-columns:1fr}.form-actions-line{flex-direction:column}.form-actions-line .btn{justify-content:center}.sigas-user-form{padding:14px}}


/* Modal de validação e salvamento de usuário */
.usuario-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.usuario-modal.aberto{display:flex}.usuario-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,20,.68);backdrop-filter:blur(2px)}.usuario-modal-card{position:relative;z-index:1;width:min(520px,100%);min-height:260px;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:42px 34px 32px;text-align:center;display:flex;align-items:center;justify-content:center}.usuario-modal-fechar{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#475467;font-size:32px;line-height:1;cursor:pointer}.usuario-modal-estado{width:100%}.usuario-modal-estado h3{font-size:23px;margin:18px 0 8px;color:#16231d}.usuario-modal-estado p{margin:0 auto;color:#667085;max-width:390px}.usuario-spinner{width:86px;height:86px;margin:0 auto;border-radius:50%;border:5px solid #c7f0ec;border-top-color:#18bdb5;animation:usuarioGirar .8s linear infinite}@keyframes usuarioGirar{to{transform:rotate(360deg)}}.usuario-check{width:90px;height:90px;margin:0 auto;border:5px solid #bfeeea;border-radius:50%;position:relative}.usuario-check span:before{content:"";position:absolute;width:21px;height:42px;border-right:6px solid #16b8af;border-bottom:6px solid #16b8af;transform:rotate(45deg);left:31px;top:15px}.usuario-alerta{width:78px;height:78px;border-radius:50%;margin:0 auto;background:#fff4df;color:#d97706;border:4px solid #fed7aa;display:grid;place-items:center;font-size:42px;font-weight:900}.usuario-alerta.erro{background:#fff1f0;color:#d92d20;border-color:#fecdca}.usuario-modal-acoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}.modal-bloqueado{overflow:hidden}@media(max-width:560px){.usuario-modal-card{padding:38px 20px 26px;min-height:240px}.usuario-modal-acoes .btn{width:100%;justify-content:center}}


/* v63 - modal de salvamento no padrão visual demonstrado em vídeo */
.usuario-modal{padding:16px;}
.usuario-modal-backdrop{background:rgba(0,0,0,.69);backdrop-filter:none;}
.usuario-modal-card{width:min(405px,calc(100vw - 32px));min-height:185px;border-radius:7px;padding:28px 28px 24px;box-shadow:0 8px 24px rgba(0,0,0,.35);}
.usuario-modal-estado h3{font-size:20px;font-weight:500;margin:20px 0 0;color:#202942;}
.usuario-modal-estado p{font-size:15px;}
.usuario-spinner{width:66px;height:66px;border-width:4px;border-color:#c5efec;border-top-color:#13bbb3;animation-duration:.85s;}
.usuario-check{width:70px;height:70px;border-width:4px;border-color:#bcecea;}
.usuario-check span:before{width:17px;height:34px;border-right-width:5px;border-bottom-width:5px;left:24px;top:11px;}
.usuario-modal-fechar{right:11px;top:7px;font-size:27px;}
#modalCarregando,#modalSucesso{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#modalCarregando[hidden],#modalSucesso[hidden]{display:none!important;}
@media(max-width:560px){.usuario-modal-card{width:min(405px,calc(100vw - 24px));min-height:175px;padding:24px 20px 22px;}}

/* v65 - Prontuário individual do usuário */
.pessoa-detalhes-page{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.pessoa-resumo-card,.pessoa-conteudo-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.pessoa-resumo-card{padding:20px;position:sticky;top:16px;text-align:center}.pessoa-foto-placeholder{height:245px;border-radius:14px;background:linear-gradient(145deg,#f4f6f5,#dfe4e2);position:relative;overflow:hidden;margin-bottom:20px}.pessoa-silhueta-cabeca{position:absolute;width:104px;height:104px;border-radius:50%;background:#b9bdc0;left:50%;top:38px;transform:translateX(-50%)}.pessoa-silhueta-corpo{position:absolute;width:170px;height:150px;border-radius:85px 85px 18px 18px;background:#b9bdc0;left:50%;bottom:-20px;transform:translateX(-50%)}.pessoa-resumo-card h2{font-size:18px;margin:0 0 4px;overflow-wrap:anywhere}.pessoa-resumo-cpf{font-size:12px;color:var(--muted);margin-bottom:18px}.pessoa-menu-interno{display:grid;gap:5px;text-align:left}.pessoa-menu-item{width:100%;border:0;background:transparent;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:10px;font:inherit;color:#25332d;cursor:pointer;transition:.18s}.pessoa-menu-item:hover{background:#f2f6f4}.pessoa-menu-item.ativo{background:#eef6f2;color:#079455;font-weight:900}.pessoa-conteudo-card{overflow:hidden}.pessoa-detalhes-topo{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line)}.pessoa-detalhes-topo h1{font-size:20px;margin:0 0 3px}.pessoa-detalhes-topo p{margin:0;color:var(--muted);font-size:13px}.pessoa-topo-acoes{display:flex;gap:9px;flex-wrap:wrap}.pessoa-aba{display:none;padding:22px}.pessoa-aba.ativo{display:block}.pessoa-secao{padding:0 0 22px;margin-bottom:22px;border-bottom:1px dashed #d7dfdb}.pessoa-grid{display:grid;gap:20px 26px;margin-bottom:22px}.pessoa-grid:last-child{margin-bottom:0}.pessoa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pessoa-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pessoa-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pessoa-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.pessoa-campo{min-width:0}.pessoa-campo span{display:block;color:#475467;font-size:12px;margin-bottom:4px}.pessoa-campo strong{display:block;color:#101828;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.pessoa-campo-bloco{min-height:48px}.preservar-quebras{white-space:pre-wrap}.pessoa-subabas{display:flex;gap:2px;border-bottom:1px solid #dce4e0;overflow-x:auto}.pessoa-subaba{border:1px solid transparent;border-bottom:0;background:transparent;padding:11px 16px;cursor:pointer;font:inherit;color:#667085;white-space:nowrap}.pessoa-subaba.ativo{color:#0b7d55;background:#fff;border-color:#dce4e0;border-radius:8px 8px 0 0;font-weight:800}.pessoa-subconteudo{display:none;border:1px solid #dce4e0;border-top:0;padding:18px}.pessoa-subconteudo.ativo{display:block}.pessoa-modulo-vazio{text-align:center;padding:70px 24px}.pessoa-modulo-vazio h3{font-size:22px;margin:0 0 8px}.pessoa-modulo-vazio p{color:var(--muted);margin:0 auto 18px;max-width:560px}@media(max-width:1200px){.pessoa-detalhes-page{grid-template-columns:250px minmax(0,1fr)}.pessoa-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.pessoa-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.pessoa-detalhes-page{grid-template-columns:1fr}.pessoa-resumo-card{position:static}.pessoa-foto-placeholder{height:200px}.pessoa-menu-interno{grid-template-columns:repeat(2,minmax(0,1fr))}.pessoa-detalhes-topo{align-items:flex-start;flex-direction:column}.pessoa-grid-5,.pessoa-grid-4,.pessoa-grid-3,.pessoa-grid-2{grid-template-columns:1fr 1fr}}@media(max-width:580px){.pessoa-menu-interno{grid-template-columns:1fr}.pessoa-grid-5,.pessoa-grid-4,.pessoa-grid-3,.pessoa-grid-2{grid-template-columns:1fr}.pessoa-aba{padding:16px}.pessoa-detalhes-topo{padding:16px}.pessoa-topo-acoes{width:100%}.pessoa-topo-acoes .btn{flex:1;justify-content:center}}
@media print{.sidebar,.topbar,.pessoa-menu-interno,.pessoa-topo-acoes{display:none!important}.content{margin:0!important;padding:0!important}.pessoa-detalhes-page{display:block}.pessoa-resumo-card{box-shadow:none;border:0}.pessoa-conteudo-card{box-shadow:none;border:0}.pessoa-aba{display:none!important}.pessoa-aba[data-conteudo="detalhes"]{display:block!important}.pessoa-subconteudo{display:block!important;border:0;padding:12px 0}.pessoa-subabas{display:none}}

/* v66 - ações do prontuário individual */
.pessoa-topo-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pessoa-excluir-form{display:inline-flex;margin:0}
.btn.danger.pessoa-btn-excluir{background:#d92d20!important;color:#fff!important;border-color:#d92d20!important}
.btn.danger.pessoa-btn-excluir:hover{background:#b42318!important;color:#fff!important}
@media print{.pessoa-topo-acoes,.pessoa-excluir-form{display:none!important}}


/* v67 - refinamentos do prontuário e feedback de edição */
.pessoa-topo-acoes .btn,.pessoa-topo-acoes button.btn{
  min-height:38px!important;
  padding:8px 14px!important;
  font-size:14px!important;
  line-height:1.1!important;
  border-radius:10px!important;
}
.pessoa-topo-acoes{gap:8px!important}
.pessoa-campo span{color:#293a33!important;font-weight:600!important}
.pessoa-detalhes-topo h1,.pessoa-resumo-card h2{color:#111827!important;font-weight:800!important}
.pessoa-resumo-cpf{color:#52605a!important}
.btn.danger.pessoa-btn-excluir{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#d92d20!important;color:#fff!important;border:1px solid #d92d20!important}
.btn.danger.pessoa-btn-excluir:hover{background:#b42318!important;border-color:#b42318!important}
@media(max-width:580px){.pessoa-topo-acoes .btn,.pessoa-topo-acoes button.btn{font-size:13px!important;padding:8px 10px!important}}

/* SIGAS v68 - anexos removíveis e confirmação personalizada de exclusão */
.doc-subtitulo{margin:14px 0 7px;font-size:13px;font-weight:800;color:#344054}
.doc-list-editavel{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:8px}
.doc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d9e4df;border-radius:10px;background:#fff}
.doc-item-nome{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263b32;font-size:14px}
.doc-remover{flex:0 0 30px;width:30px;height:30px;border:0;border-radius:8px;background:#fee4e2;color:#b42318;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;font-weight:700}
.doc-remover:hover{background:#d92d20;color:#fff}
.doc-remover:disabled,.doc-remover.carregando{opacity:.55;cursor:wait}
.excluir-usuario-card{width:min(520px,calc(100vw - 32px));min-height:360px;padding:42px 34px 34px}
.excluir-alerta{background:#fff!important;color:#f59e0b!important;border-color:#f59e0b!important;font-size:48px!important;font-weight:500!important}
.excluir-usuario-card .usuario-modal-estado h3{font-size:25px;font-weight:600;color:#17213a;margin-top:22px}
.excluir-usuario-card .usuario-modal-estado p{font-size:17px;color:#26324d;margin-top:18px}
.excluir-usuario-card .usuario-modal-acoes{margin-top:30px}
.excluir-usuario-card .usuario-modal-acoes .btn{min-width:112px}
.excluir-usuario-card .btn.danger{background:#e73535!important;border-color:#e73535!important;color:#fff!important}
.excluir-usuario-card .btn.danger:hover{background:#c92525!important;border-color:#c92525!important}
@media(max-width:560px){.excluir-usuario-card{min-height:330px;padding:34px 20px 26px}.doc-item-nome{font-size:13px}}

/* v69 - Agendamentos por usuário e integração com a Recepção */
.oculto-por-aba{display:none!important}
.agenda-historico-topo{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.agenda-historico-topo h2{margin:0 0 4px;font-size:21px;color:#111827}
.agenda-historico-topo p{margin:0;color:#667085;font-size:13px}
.agenda-btn-novo{background:#0b1739!important;color:#fff!important;white-space:nowrap}
.agenda-btn-novo:hover{background:#06102b!important;color:#fff!important}
.agenda-tabela-wrap{overflow-x:auto;border:1px solid #e2e8e5;border-radius:12px;background:#fff}
.agenda-historico-table{margin:0;min-width:900px;box-shadow:none;border:0}
.agenda-historico-table th{font-size:12px;color:#25332d;background:#f7faf8;white-space:nowrap}
.agenda-historico-table td{font-size:13px;vertical-align:middle}
.agenda-historico-table small{color:#667085}
.agenda-vazio{text-align:center!important;padding:36px!important;color:#667085}
.agenda-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:900;white-space:nowrap;background:#e8f8f2;color:#067647}
.agenda-status.status-agendado{background:#e9f2ff;color:#175cd3}
.agenda-status.status-aguardando{background:#fff4e5;color:#b54708}
.agenda-status.status-em-atendimento{background:#f3e8ff;color:#7f56d9}
.agenda-status.status-atendido{background:#d9f7ee;color:#087f5b}
.agenda-status.status-cancelado{background:#fee4e2;color:#b42318}
.agenda-pessoa-form-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.agenda-pessoa-form-topo{padding:22px 26px;border-bottom:1px solid var(--line)}
.agenda-pessoa-form-topo h1{margin:0 0 5px;font-size:24px;color:#111827}
.agenda-pessoa-form-topo p{margin:0;color:#667085}
.agenda-pessoa-form{padding:26px}
.agenda-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;max-width:980px}
.agenda-form-grid label{display:block;font-weight:700;margin-bottom:7px;color:#25332d}
.agenda-form-grid input,.agenda-form-grid select,.agenda-form-grid textarea{width:100%;border:1px solid #d6e2dc;border-radius:10px;padding:12px 13px;font:inherit;background:#fff}
.agenda-form-observacao{grid-column:1/-1}
.agenda-form-acoes{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid #e5ebe8}
.recepcao-agenda-topo{margin-top:20px}
.recepcao-agenda-topo small{color:#667085}
.recepcao-agenda-wrap{margin-bottom:24px}
@media(max-width:760px){.agenda-historico-topo{align-items:flex-start;flex-direction:column}.agenda-btn-novo{width:100%;justify-content:center}.agenda-form-grid{grid-template-columns:1fr}.agenda-form-acoes{flex-direction:column}.agenda-form-acoes .btn{width:100%;justify-content:center}}


/* v70 - Agenda do prontuário compacta, responsiva e editável */
.agenda-alerta-quantidade{display:flex;align-items:center;gap:12px;margin:-2px 0 18px;padding:13px 16px;border-radius:9px;background:#2f96ee;color:#fff;font-size:14px;box-shadow:0 2px 7px rgba(47,150,238,.18)}
.agenda-alerta-icone{display:inline-grid;place-items:center;width:28px;height:28px;border:2px solid rgba(255,255,255,.9);border-radius:6px;font-size:16px;line-height:1}
.agenda-historico-topo{margin-bottom:14px}
.agenda-historico-topo h2{font-size:19px}
.agenda-btn-novo{padding:8px 12px!important;font-size:12px!important;border-radius:7px!important;min-height:34px!important}
.agenda-sucesso{margin:0 0 12px!important;padding:10px 13px!important;font-size:13px!important}
.agenda-tabela-wrap{overflow:visible;border-radius:10px}
.agenda-historico-table{width:100%!important;min-width:0!important;table-layout:fixed}
.agenda-historico-table th{padding:9px 7px!important;font-size:10px!important;line-height:1.2;white-space:normal!important}
.agenda-historico-table td{padding:9px 7px!important;font-size:10.5px!important;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.agenda-historico-table th:nth-child(1),.agenda-historico-table td:nth-child(1){width:9%}
.agenda-historico-table th:nth-child(2),.agenda-historico-table td:nth-child(2){width:6%}
.agenda-historico-table th:nth-child(3),.agenda-historico-table td:nth-child(3){width:15%}
.agenda-historico-table th:nth-child(4),.agenda-historico-table td:nth-child(4){width:17%}
.agenda-historico-table th:nth-child(5),.agenda-historico-table td:nth-child(5){width:16%}
.agenda-historico-table th:nth-child(6),.agenda-historico-table td:nth-child(6){width:10%}
.agenda-historico-table th:nth-child(7),.agenda-historico-table td:nth-child(7){width:18%}
.agenda-historico-table th:nth-child(8),.agenda-historico-table td:nth-child(8){width:7%;text-align:center}
.agenda-status{padding:4px 7px;font-size:9.5px;border-radius:6px}
.agenda-btn-editar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:#0b1739;color:#fff!important;text-decoration:none;font-size:16px;font-weight:900;transition:.15s ease}
.agenda-btn-editar:hover{background:#00984a;transform:translateY(-1px)}

.agenda-pessoa-form-card{max-width:1080px;margin:0 auto}
.agenda-pessoa-form-topo{padding:18px 22px}
.agenda-pessoa-form-topo h1{font-size:21px}
.agenda-pessoa-form-topo p{font-size:13px}
.agenda-pessoa-form{padding:20px 22px}
.agenda-form-grid{max-width:760px;gap:14px 18px}
.agenda-form-grid label{font-size:13px;margin-bottom:5px}
.agenda-form-grid input,.agenda-form-grid select,.agenda-form-grid textarea{padding:10px 11px;border-radius:8px;font-size:14px}
.agenda-form-observacao textarea{min-height:120px;resize:vertical}
.agenda-form-acoes{justify-content:flex-start;align-items:center;margin-top:20px;padding-top:18px;gap:10px}
.agenda-form-acoes .btn{width:auto!important;min-width:108px!important;min-height:38px!important;padding:8px 16px!important;font-size:13px!important;border-radius:7px!important}
.agenda-form-btn-cancelar{order:2}

@media(max-width:900px){
  .agenda-tabela-wrap{border:0;background:transparent}
  .agenda-historico-table,.agenda-historico-table tbody,.agenda-historico-table tr,.agenda-historico-table td{display:block;width:100%!important}
  .agenda-historico-table thead{display:none}
  .agenda-historico-table tr{margin-bottom:12px;padding:10px 12px;border:1px solid #e2e8e5;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.04)}
  .agenda-historico-table td{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:6px 0!important;border:0!important;font-size:12px!important;text-align:left!important}
  .agenda-historico-table td::before{content:attr(data-label);font-weight:800;color:#344054}
  .agenda-historico-table td.agenda-col-acao{align-items:center}
  .agenda-historico-table td.agenda-vazio{display:block;text-align:center!important}
}
@media(max-width:760px){
  .agenda-alerta-quantidade{font-size:12px;padding:11px 12px}
  .agenda-historico-topo{gap:10px}
  .agenda-btn-novo{width:auto!important}
  .agenda-pessoa-form-card{border-radius:12px}
  .agenda-pessoa-form-topo,.agenda-pessoa-form{padding:16px}
  .agenda-form-grid{grid-template-columns:1fr}
  .agenda-form-acoes{flex-direction:row!important;justify-content:flex-start!important}
  .agenda-form-acoes .btn{width:auto!important;flex:0 0 auto!important}
}
@media(max-width:440px){
  .agenda-form-acoes{flex-direction:column!important;align-items:stretch!important}
  .agenda-form-acoes .btn{width:100%!important}
  .agenda-historico-table td{grid-template-columns:92px 1fr}
}


/* v71 - edição de agendamento dentro do prontuário */
.agenda-inline-edicao{margin:0 0 18px;padding:18px;border:1px solid #dce8e2;border-radius:14px;background:#fdfefe;box-shadow:0 5px 18px rgba(19,64,45,.06)}
.agenda-inline-topo{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e4ece8}
.agenda-inline-topo h3{margin:0 0 3px;font-size:18px;color:#10251b}
.agenda-inline-topo p{margin:0;color:#667085;font-size:13px}
.agenda-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;max-width:820px}
.agenda-inline-grid label:not(.agenda-cancelar-check){display:block;margin-bottom:5px;font-size:13px;font-weight:700;color:#263b31}
.agenda-inline-grid input,.agenda-inline-grid select,.agenda-inline-grid textarea{width:100%;padding:10px 11px;border:1px solid #d4e2db;border-radius:8px;background:#fff;font:inherit;font-size:14px}
.agenda-inline-observacao{grid-column:1/-1}
.agenda-inline-observacao textarea{min-height:120px;resize:vertical}
.agenda-cancelar-check{grid-column:1/-1;display:inline-flex!important;align-items:center;gap:9px;width:max-content;margin-top:1px;font-size:14px;font-weight:700;color:#a51616;cursor:pointer}
.agenda-cancelar-check input{width:18px!important;height:18px;accent-color:#dc2626;cursor:pointer}
.agenda-inline-acoes{display:flex;gap:10px;align-items:center;margin-top:15px}
.agenda-inline-acoes .btn{min-width:118px;min-height:38px;padding:8px 16px!important;font-size:13px!important;border-radius:7px!important}
@media(max-width:760px){.agenda-inline-edicao{padding:14px}.agenda-inline-grid{grid-template-columns:1fr}.agenda-inline-acoes{flex-direction:column;align-items:stretch}.agenda-inline-acoes .btn{width:100%!important;justify-content:center}}


/* v72 - formulário de edição de agendamento realmente editável e ações no rodapé */
.agenda-inline-form{
  display:block!important;
  width:100%;
  max-width:none;
}
.agenda-inline-form input,
.agenda-inline-form select,
.agenda-inline-form textarea{
  pointer-events:auto!important;
  opacity:1!important;
  cursor:auto;
  background:#fff!important;
  color:#10251d!important;
}
.agenda-inline-form select{cursor:pointer!important}
.agenda-inline-form input[type="date"],
.agenda-inline-form input[type="time"]{cursor:text!important}
.agenda-inline-form textarea{cursor:text!important}
.agenda-inline-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  gap:14px 18px!important;
  width:100%!important;
  max-width:860px!important;
}
.agenda-inline-observacao{grid-column:1/-1!important}
.agenda-cancelar-check{
  grid-column:1/-1!important;
  margin-top:2px!important;
}
.agenda-inline-acoes{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:860px!important;
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid #e4ece8;
}
.agenda-inline-acoes .btn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  min-width:132px!important;
  min-height:38px!important;
  padding:9px 16px!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
@media(max-width:760px){
  .agenda-inline-grid{grid-template-columns:1fr!important;max-width:none!important}
  .agenda-inline-acoes{max-width:none!important;flex-wrap:wrap!important}
  .agenda-inline-acoes .btn{width:auto!important;min-width:125px!important}
}
@media(max-width:440px){
  .agenda-inline-acoes{flex-direction:column!important;align-items:stretch!important}
  .agenda-inline-acoes .btn{width:100%!important}
}

/* v74 - manter botao Salvar alteracoes visivel no modo prontuario */
.view-mode .agenda-inline-form button[type="submit"],
.view-mode form.agenda-inline-form button[type="submit"],
.pessoa-detalhes-page .agenda-inline-form .agenda-btn-salvar {
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}


/* v75 - refinamentos visuais de agendamentos */
/* Prontuário mais compacto para liberar espaço ao conteúdo */
.pessoa-detalhes-page{
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:16px!important;
}
.pessoa-resumo-card{padding:16px!important}
.pessoa-foto-placeholder{
  height:190px!important;
  margin-bottom:14px!important;
}
.pessoa-silhueta-cabeca{width:82px!important;height:82px!important;top:28px!important}
.pessoa-silhueta-corpo{width:138px!important;height:120px!important;bottom:-16px!important}
.pessoa-resumo-card h2{font-size:16px!important;margin-bottom:3px!important}
.pessoa-resumo-cpf{margin-bottom:14px!important}
.pessoa-menu-item{padding:9px 10px!important;font-size:14px!important}

/* Formulário de novo agendamento: ações abaixo da observação */
.agenda-pessoa-form{display:block!important}
.agenda-form-grid{width:100%!important;max-width:760px!important}
.agenda-form-acoes{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:760px!important;
  margin-top:16px!important;
  padding-top:16px!important;
}
.agenda-form-acoes .btn{
  display:inline-flex!important;
  width:auto!important;
  min-width:104px!important;
  min-height:36px!important;
  padding:8px 15px!important;
  font-size:13px!important;
  border-radius:7px!important;
  justify-content:center!important;
}

/* Tabela mais legível: espaço entre Status e Cadastro */
.agenda-historico-table th:nth-child(1),.agenda-historico-table td:nth-child(1){width:10%!important}
.agenda-historico-table th:nth-child(2),.agenda-historico-table td:nth-child(2){width:7%!important}
.agenda-historico-table th:nth-child(3),.agenda-historico-table td:nth-child(3){width:16%!important}
.agenda-historico-table th:nth-child(4),.agenda-historico-table td:nth-child(4){width:16%!important}
.agenda-historico-table th:nth-child(5),.agenda-historico-table td:nth-child(5){width:16%!important}
.agenda-historico-table th:nth-child(6),.agenda-historico-table td:nth-child(6){width:11%!important;padding-right:14px!important}
.agenda-historico-table th:nth-child(7),.agenda-historico-table td:nth-child(7){width:17%!important;padding-left:14px!important}
.agenda-historico-table th:nth-child(8),.agenda-historico-table td:nth-child(8){width:7%!important}
.agenda-historico-table td:nth-child(1){white-space:nowrap!important;overflow-wrap:normal!important}
.agenda-sem-acao{display:inline-block;color:#98a2b3;font-weight:800}

/* Evita mensagem de sucesso duplicada dentro da aba */
.agenda-sucesso{display:none!important}

@media(max-width:1200px){
  .pessoa-detalhes-page{grid-template-columns:220px minmax(0,1fr)!important}
  .pessoa-foto-placeholder{height:170px!important}
}
@media(max-width:900px){
  .pessoa-detalhes-page{grid-template-columns:1fr!important}
  .pessoa-resumo-card{position:static!important}
  .agenda-historico-table th:nth-child(n),.agenda-historico-table td:nth-child(n){width:100%!important;padding-left:0!important;padding-right:0!important}
}
@media(max-width:440px){
  .agenda-form-acoes{flex-direction:column!important;align-items:stretch!important}
  .agenda-form-acoes .btn{width:100%!important}
}


/* v76 - responsividade global e refinamentos de agenda */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.main,.page,.pessoa-conteudo-card,.agenda-pessoa-form-card{min-width:0}
.page{width:100%;max-width:100%;padding:clamp(12px,2vw,28px)}
.card,.panel,.hero,.pessoa-conteudo-card,.agenda-pessoa-form-card{max-width:100%}
input,select,textarea,button{max-width:100%}
.table-mobile-scroll{max-width:100%}

/* O alerta azul considera somente agendamentos não cancelados */
.agenda-alerta-quantidade{margin-bottom:18px}

/* Mensagens transitórias de sucesso */
.auto-hide-alert{transition:opacity .35s ease,transform .35s ease,max-height .35s ease,margin .35s ease,padding .35s ease;overflow:hidden}
.auto-hide-alert.saindo{opacity:0;transform:translateY(-8px);max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important}

/* Formulário de novo agendamento: botões sempre abaixo da observação */
.agenda-pessoa-form-card{width:min(100%,1100px)}
.agenda-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:760px!important}
.agenda-form-observacao{grid-column:1/-1!important}
.agenda-form-acoes{grid-column:1/-1!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;margin:0!important;padding:14px 0 0!important;border-top:1px solid #e5ece8!important;max-width:none!important}
.agenda-form-acoes .btn{position:static!important;inset:auto!important;transform:none!important;margin:0!important;min-width:108px!important;width:auto!important;min-height:38px!important;padding:8px 16px!important;font-size:13px!important}

/* Tabela de agenda usa toda a largura sem estourar */
.agenda-tabela-wrap{width:100%;overflow:hidden}
.agenda-historico-table{width:100%!important;table-layout:fixed!important}
.agenda-historico-table th,.agenda-historico-table td{overflow-wrap:anywhere;word-break:normal}
.agenda-historico-table td:nth-child(1),.agenda-historico-table td:nth-child(2){white-space:nowrap!important}

/* Layout fluido para zoom e resoluções intermediárias */
@media (min-width:901px) and (max-width:1400px){
  .pessoa-detalhes-page{grid-template-columns:clamp(190px,20vw,235px) minmax(0,1fr)!important}
  .pessoa-resumo-card{padding:14px!important}
  .pessoa-foto-placeholder{height:clamp(145px,18vw,180px)!important}
  .pessoa-menu-item{font-size:13px!important;padding:8px!important}
  .pessoa-conteudo-card{min-width:0!important}
  .agenda-historico-table th,.agenda-historico-table td{font-size:11px!important;padding:8px 6px!important}
}

@media(max-width:900px){
  .page{padding:12px!important}
  .topbar{padding-left:12px!important;padding-right:12px!important}
  .top-actions{gap:6px!important}
  .user div:last-child{display:none}
  .pessoa-detalhes-page{display:block!important}
  .pessoa-resumo-card{margin-bottom:14px!important}
  .agenda-pessoa-form-card{margin:0!important}
  .agenda-form-grid{grid-template-columns:1fr!important;max-width:none!important}
  .agenda-form-acoes{flex-wrap:wrap!important}
}

@media(max-width:600px){
  .page{padding:8px!important}
  .agenda-pessoa-form-topo,.agenda-pessoa-form{padding:14px!important}
  .agenda-pessoa-form-topo h1{font-size:20px!important}
  .agenda-form-acoes{flex-direction:row!important;align-items:center!important}
  .agenda-form-acoes .btn{flex:1 1 120px!important;min-width:0!important}
  .pessoa-resumo-card h2{font-size:15px!important}
  .agenda-alerta-quantidade{font-size:12px!important}
}

@media(max-width:380px){
  .agenda-form-acoes{flex-direction:column!important;align-items:stretch!important}
  .agenda-form-acoes .btn{width:100%!important;flex:none!important}
}

/* v77 - Recepção com submenu por hover, agenda geral e fluxo de atendimento */
@media(min-width:1201px){
  .side-group:hover>.side-submenu-hover,.side-group:focus-within>.side-submenu-hover{display:block!important}
  .side-submenu-hover{margin-top:2px}
}
@media(max-width:1200px){
  .side-group>.side-submenu-hover{display:block!important;margin-left:14px}
}

.agenda-geral-card{background:#fff;border-radius:22px;box-shadow:0 14px 36px rgba(9,48,34,.08);padding:clamp(16px,2vw,28px);min-width:0}
.agenda-geral-topo{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7eeea;padding-bottom:18px;margin-bottom:20px}
.agenda-geral-topo h1{margin:0 0 4px;font-size:clamp(22px,2vw,30px)}
.agenda-geral-topo p{margin:0;color:#607067}
.agenda-filtros{display:grid;grid-template-columns:minmax(220px,2.2fr) repeat(2,minmax(150px,.85fr)) minmax(180px,1fr) auto;gap:14px;align-items:end;margin-bottom:18px}
.agenda-filtros label{display:block;font-size:12px;font-weight:800;margin:0 0 5px;color:#23352d}
.agenda-filtros input,.agenda-filtros select{width:100%;height:44px;border:1px solid #d7e3dc;border-radius:10px;padding:0 13px;background:#fff}
.agenda-filtrar-btn{height:44px;padding:0 18px}
.agenda-geral-tabela-wrap{width:100%;overflow-x:auto;border:1px solid #e0e9e4;border-radius:14px}
.agenda-geral-tabela{width:100%;border-collapse:collapse;table-layout:fixed;min-width:980px}
.agenda-geral-tabela th{font-size:12px;text-align:left;padding:12px 10px;background:#f7faf8;color:#14271e;border-bottom:1px solid #e1e9e5}
.agenda-geral-tabela td{font-size:12px;padding:13px 10px;border-bottom:1px solid #e7ece9;vertical-align:middle;overflow-wrap:anywhere}
.agenda-geral-tabela th:nth-child(1){width:15%}.agenda-geral-tabela th:nth-child(2){width:9%}.agenda-geral-tabela th:nth-child(3){width:7%}.agenda-geral-tabela th:nth-child(4){width:13%}.agenda-geral-tabela th:nth-child(5){width:17%}.agenda-geral-tabela th:nth-child(6){width:14%}.agenda-geral-tabela th:nth-child(7){width:10%}.agenda-geral-tabela th:nth-child(8){width:15%}
.agenda-geral-linha{cursor:pointer;transition:background .18s ease,transform .18s ease}
.agenda-geral-linha:hover,.agenda-geral-linha:focus{background:#edf4f0;outline:none}
.agenda-status,.atendimento-status{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap;background:#e8eefb;color:#0757d8}
.agenda-status.cancelado,.atendimento-status.cancelado{background:#ffe5e5;color:#c51d1d}.agenda-status.atendido,.atendimento-status.finalizado{background:#d7f6ee;color:#03836b}.agenda-status.em-atendimento,.atendimento-status.em-andamento{background:#dcecff;color:#0066d8}.agenda-status.aguardando{background:#fff2cc;color:#8a6200}.agenda-status.faltou,.agenda-status.nao-compareceu,.agenda-status.não-compareceu,.agenda-status.status-nao-compareceu,.agenda-status.status-não-compareceu{background:#ffe9d9;color:#b44900}

.agenda-modal{display:none;position:fixed;inset:0;z-index:3000;align-items:center;justify-content:center;padding:18px}
.agenda-modal.aberto{display:flex}.agenda-modal-backdrop{position:absolute;inset:0;background:rgba(5,15,12,.70)}
.agenda-modal-card{position:relative;width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.30);z-index:1;padding:26px}
.agenda-modal-card h2{margin:0 0 24px;font-size:23px}.agenda-modal-fechar{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;color:#65736c;cursor:pointer}
.agenda-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.agenda-modal-campo{border-bottom:1px solid #e4e9e6;padding-bottom:16px}.agenda-modal-campo span{display:block;color:#43544b;font-size:13px;margin-bottom:7px}.agenda-modal-campo strong{font-size:16px;color:#13251d}.agenda-modal-largo{grid-column:1/-1}.agenda-modal-nome{grid-column:1/-1}
.agenda-modal-acoes{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid #e6ece8}.agenda-modal-acoes form{margin:0}.agenda-modal-acoes .btn{min-height:40px;padding:9px 15px;font-size:13px}.agenda-prontuario-btn{background:#318af0!important}.agenda-modal-acoes.centralizadas{justify-content:center;border:0}
.agenda-confirmacao-card{width:min(470px,94vw);text-align:center;padding:42px 30px}.agenda-confirmacao-card .agenda-alerta-icone{width:86px;height:86px;border:4px solid #f4a000;color:#f4a000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:54px;margin:0 auto 24px}.agenda-confirmacao-card p{font-size:16px;line-height:1.5}

.atendimento-em-andamento-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#20beb7;color:#fff;border-radius:10px;padding:14px 18px;margin-bottom:18px;font-size:16px}.atendimento-em-andamento-bar>div{display:flex;align-items:center;gap:12px}.atendimento-alerta-icone{font-size:24px}.atendimento-encerrar-btn{background:#101633!important;font-size:12px!important;padding:9px 14px!important}
.atendimento-pessoa-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.atendimento-pessoa-topo h2{margin:0 0 4px}.atendimento-pessoa-topo p{margin:0;color:#66766e}.atendimento-novo-btn{font-size:12px!important;padding:9px 14px!important}
.atendimento-pessoa-tabela-wrap{overflow-x:auto;border:1px solid #e2e9e5;border-radius:12px}.atendimento-pessoa-tabela{width:100%;border-collapse:collapse;min-width:760px}.atendimento-pessoa-tabela th,.atendimento-pessoa-tabela td{text-align:left;padding:13px 11px;border-bottom:1px solid #e5ebe8;font-size:12px}.atendimento-pessoa-tabela th{background:#f7faf8}

@media(max-width:1100px){.agenda-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-filtros>input:first-child{grid-column:1/-1}.agenda-filtrar-btn{width:max-content}}
@media(max-width:760px){
  .agenda-geral-card{padding:14px;border-radius:14px}.agenda-filtros{grid-template-columns:1fr}.agenda-filtros>input:first-child{grid-column:auto}.agenda-filtrar-btn{width:100%}
  .agenda-geral-tabela{min-width:0;display:block}.agenda-geral-tabela thead{display:none}.agenda-geral-tabela tbody,.agenda-geral-tabela tr,.agenda-geral-tabela td{display:block;width:100%}.agenda-geral-linha{padding:10px 12px;border-bottom:1px solid #dfe9e3}.agenda-geral-tabela td{display:grid;grid-template-columns:110px 1fr;gap:10px;border:0;padding:6px 0}.agenda-geral-tabela td:before{content:attr(data-label);font-weight:800;color:#405148}.agenda-geral-tabela-wrap{overflow:visible}
  .agenda-modal-grid{grid-template-columns:1fr}.agenda-modal-largo,.agenda-modal-nome{grid-column:auto}.agenda-modal-card{padding:22px 16px}.agenda-modal-acoes{align-items:stretch}.agenda-modal-acoes form,.agenda-modal-acoes .btn{width:100%}
  .atendimento-em-andamento-bar,.atendimento-pessoa-topo{flex-direction:column;align-items:stretch}.atendimento-em-andamento-bar form,.atendimento-encerrar-btn,.atendimento-novo-btn{width:100%!important;text-align:center}
  .atendimento-pessoa-tabela{min-width:0;display:block}.atendimento-pessoa-tabela thead{display:none}.atendimento-pessoa-tabela tbody,.atendimento-pessoa-tabela tr,.atendimento-pessoa-tabela td{display:block;width:100%}.atendimento-pessoa-tabela tr{padding:10px;border-bottom:1px solid #e4ebe7}.atendimento-pessoa-tabela td{border:0;display:grid;grid-template-columns:120px 1fr;gap:10px;padding:6px}.atendimento-pessoa-tabela td:before{content:attr(data-label);font-weight:800}
}


/* v79 - agenda ordenada, alerta compacto e filtros automáticos */
.agenda-alerta-quantidade{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:0!important;margin:0 0 16px!important;padding:10px 14px!important;border-radius:9px!important;font-size:13px!important;line-height:1.25!important}
.agenda-alerta-quantidade .agenda-alerta-icone{flex:0 0 26px!important;width:26px!important;height:26px!important;margin:0!important;border-width:2px!important;border-radius:6px!important;font-size:15px!important;color:#fff!important}
.agenda-alerta-quantidade strong{font-size:13px!important;font-weight:800!important}
.agenda-filtros{grid-template-columns:minmax(220px,2.2fr) repeat(2,minmax(150px,.85fr)) minmax(180px,1fr)!important}
.agenda-filtrar-btn{display:none!important}
@media(max-width:1100px){.agenda-filtros{grid-template-columns:repeat(2,minmax(0,1fr))!important}.agenda-filtros>input:first-child{grid-column:1/-1}}
@media(max-width:760px){.agenda-filtros{grid-template-columns:1fr!important}.agenda-alerta-quantidade{padding:9px 11px!important;font-size:12px!important}.agenda-alerta-quantidade strong{font-size:12px!important}}

/* v80 - filtros compactos e separação visual entre Status e Cadastro */
@media (min-width:1101px){
  .agenda-filtros{
    grid-template-columns:minmax(300px,420px) 180px 180px 220px!important;
    justify-content:start!important;
    column-gap:14px!important;
  }
  .agenda-filtros>input:first-child{max-width:420px!important}
  .agenda-filtros>div{width:180px!important}
  .agenda-filtros>select{width:220px!important}
}
.agenda-geral-tabela th,.agenda-geral-tabela td{box-sizing:border-box!important}
.agenda-geral-tabela th:nth-child(1),.agenda-geral-tabela td:nth-child(1){width:15%!important}
.agenda-geral-tabela th:nth-child(2),.agenda-geral-tabela td:nth-child(2){width:9%!important}
.agenda-geral-tabela th:nth-child(3),.agenda-geral-tabela td:nth-child(3){width:7%!important}
.agenda-geral-tabela th:nth-child(4),.agenda-geral-tabela td:nth-child(4){width:13%!important}
.agenda-geral-tabela th:nth-child(5),.agenda-geral-tabela td:nth-child(5){width:16%!important}
.agenda-geral-tabela th:nth-child(6),.agenda-geral-tabela td:nth-child(6){width:13%!important}
.agenda-geral-tabela th:nth-child(7),.agenda-geral-tabela td:nth-child(7){width:11%!important;padding-right:20px!important}
.agenda-geral-tabela th:nth-child(8),.agenda-geral-tabela td:nth-child(8){width:16%!important;padding-left:20px!important}
@media(max-width:1100px){
  .agenda-filtros>div,.agenda-filtros>select,.agenda-filtros>input:first-child{width:100%!important;max-width:none!important}
}
@media(max-width:760px){
  .agenda-geral-tabela th:nth-child(n),.agenda-geral-tabela td:nth-child(n){width:100%!important;padding-left:0!important;padding-right:0!important}
}

/* v81 - Atendimento do usuário: botão encerrar visível e colunas com espaçamento */
.atendimento-em-andamento-bar form{margin:0;flex:0 0 auto}
.atendimento-encerrar-btn{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;min-width:156px}
.atendimento-pessoa-tabela{table-layout:fixed}
.atendimento-pessoa-tabela th:nth-child(1),.atendimento-pessoa-tabela td:nth-child(1){width:25%}
.atendimento-pessoa-tabela th:nth-child(2),.atendimento-pessoa-tabela td:nth-child(2){width:24%}
.atendimento-pessoa-tabela th:nth-child(3),.atendimento-pessoa-tabela td:nth-child(3){width:18%}
.atendimento-pessoa-tabela th:nth-child(4),.atendimento-pessoa-tabela td:nth-child(4){width:17%;padding-right:26px}
.atendimento-pessoa-tabela th:nth-child(5),.atendimento-pessoa-tabela td:nth-child(5){width:16%;padding-left:26px}
.atendimento-pessoa-tabela td:nth-child(4),.atendimento-pessoa-tabela td:nth-child(5){vertical-align:middle}
@media(max-width:760px){
  .atendimento-em-andamento-bar form,.atendimento-encerrar-btn{width:100%!important}
  .atendimento-pessoa-tabela th:nth-child(n),.atendimento-pessoa-tabela td:nth-child(n){width:100%;padding-left:6px;padding-right:6px}
}


/* v82 - garante visibilidade do botão Encerrar atendimento no prontuário */
.view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.atendimento-encerrar-form{display:block!important;margin:0!important;flex:0 0 auto!important}
@media(max-width:760px){
  .atendimento-encerrar-form,.view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible{width:100%!important}
}


/* v83 - alinhamento correto do botão Encerrar Atendimento */
.atendimento-em-andamento-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
}
.atendimento-em-andamento-bar>div{
  flex:1 1 auto!important;
  min-width:0!important;
}
.atendimento-encerrar-form{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible,
.atendimento-encerrar-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:166px!important;
  max-width:none!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:10px 16px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
@media(max-width:760px){
  .atendimento-em-andamento-bar{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .atendimento-encerrar-form{
    width:100%!important;
    justify-content:stretch!important;
  }
  .view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible,
  .atendimento-encerrar-btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* v84 - posicionamento definitivo do botão Encerrar Atendimento */
.atendimento-em-andamento-bar{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:62px!important;
  padding:14px 220px 14px 18px!important;
}
.atendimento-em-andamento-bar>div{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.atendimento-encerrar-form{
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  margin:0!important;
  display:block!important;
}
.view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible,
.atendimento-encerrar-btn{
  width:auto!important;
  min-width:166px!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .atendimento-em-andamento-bar{
    padding:14px!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .atendimento-encerrar-form{
    position:static!important;
    transform:none!important;
    width:100%!important;
    margin-top:10px!important;
  }
  .view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible,
  .atendimento-encerrar-btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* v85 - restaura faixa de atendimento e histórico completo no prontuário */
.pessoa-aba[data-conteudo="atendimentos"].ativo{
  display:block!important;
}
.atendimento-em-andamento-bar{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  width:100%!important;
  min-height:76px!important;
  padding:14px 18px!important;
  margin:0 0 16px!important;
  border:1px solid rgba(0,105,112,.18)!important;
  border-radius:8px!important;
  background:#20beb7!important;
  color:#fff!important;
  box-sizing:border-box!important;
}
.atendimento-em-andamento-mensagem{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:18px!important;
  line-height:1.25!important;
}
.atendimento-em-andamento-mensagem strong{
  color:#fff!important;
  font-weight:800!important;
  white-space:normal!important;
}
.atendimento-alerta-icone{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:34px!important;
  height:34px!important;
  font-size:26px!important;
  line-height:1!important;
  color:#fff!important;
}
.atendimento-encerrar-form,
.view-mode form.atendimento-encerrar-form.keep-visible{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 0 auto!important;
}
.atendimento-encerrar-btn,
.view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:178px!important;
  max-width:none!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 18px!important;
  border-radius:6px!important;
  background:#101633!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.atendimento-pessoa-topo{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 16px!important;
}
.atendimento-pessoa-topo h2{font-size:22px!important;margin:0 0 5px!important}
.atendimento-pessoa-topo p{margin:0!important;color:#61716b!important}
.atendimento-novo-btn{flex:0 0 auto!important;white-space:nowrap!important}
.atendimento-pessoa-tabela-wrap{
  width:100%!important;
  overflow-x:auto!important;
  border:1px solid #dde6e1!important;
  border-radius:10px!important;
  background:#fff!important;
}
.atendimento-pessoa-tabela{
  width:100%!important;
  min-width:760px!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
}
.atendimento-pessoa-tabela th,
.atendimento-pessoa-tabela td{
  padding:14px 12px!important;
  border-bottom:1px solid #e3e9e6!important;
  text-align:left!important;
  vertical-align:middle!important;
  font-size:13px!important;
  overflow-wrap:anywhere!important;
}
.atendimento-pessoa-tabela th{background:#f7faf8!important;color:#0b1712!important;font-weight:800!important}
.atendimento-pessoa-tabela tbody tr:hover{background:#f1f4f8!important}
.atendimento-pessoa-tabela tbody tr:last-child td{border-bottom:0!important}
.atendimento-pessoa-tabela th:nth-child(1),.atendimento-pessoa-tabela td:nth-child(1){width:27%!important}
.atendimento-pessoa-tabela th:nth-child(2),.atendimento-pessoa-tabela td:nth-child(2){width:25%!important}
.atendimento-pessoa-tabela th:nth-child(3),.atendimento-pessoa-tabela td:nth-child(3){width:18%!important}
.atendimento-pessoa-tabela th:nth-child(4),.atendimento-pessoa-tabela td:nth-child(4){width:15%!important;padding-right:20px!important}
.atendimento-pessoa-tabela th:nth-child(5),.atendimento-pessoa-tabela td:nth-child(5){width:15%!important;padding-left:20px!important}
.atendimento-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:6px!important;
  padding:5px 9px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  background:#e6edf9!important;
  color:#0752c9!important;
}
.atendimento-status.finalizado{background:#16c2b8!important;color:#fff!important}
.atendimento-status.em-andamento{background:#2f91ff!important;color:#fff!important}
.atendimento-status.cancelado{background:#ffe0e0!important;color:#c90000!important}
.atendimento-status.aberto{background:#fff0cc!important;color:#8b5a00!important}
.atendimento-vazio-linha .agenda-vazio{padding:42px 20px!important;text-align:center!important;color:#66766f!important}
.atendimento-vazio-linha .agenda-vazio strong{display:block!important;color:#24332d!important;margin-bottom:5px!important}
.atendimento-vazio-linha .agenda-vazio span{font-size:12px!important}
@media(max-width:900px){
  .atendimento-em-andamento-bar{min-height:0!important}
  .atendimento-em-andamento-mensagem{font-size:16px!important}
  .atendimento-encerrar-btn,
  .view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible{min-width:160px!important}
}
@media(max-width:760px){
  .atendimento-em-andamento-bar{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:14px!important;
  }
  .atendimento-em-andamento-mensagem{font-size:15px!important}
  .atendimento-encerrar-form,
  .view-mode form.atendimento-encerrar-form.keep-visible{width:100%!important;margin:0!important}
  .atendimento-encerrar-btn,
  .view-mode form.atendimento-encerrar-form button[type=submit].atendimento-encerrar-btn.keep-visible{width:100%!important;min-width:0!important}
  .atendimento-pessoa-topo{flex-direction:column!important;align-items:stretch!important}
  .atendimento-novo-btn{width:100%!important;text-align:center!important}
  .atendimento-pessoa-tabela{display:block!important;min-width:0!important}
  .atendimento-pessoa-tabela thead{display:none!important}
  .atendimento-pessoa-tabela tbody,.atendimento-pessoa-tabela tr,.atendimento-pessoa-tabela td{display:block!important;width:100%!important}
  .atendimento-pessoa-tabela tr{padding:10px!important;border-bottom:1px solid #e3e9e6!important}
  .atendimento-pessoa-tabela td{display:grid!important;grid-template-columns:minmax(110px,38%) 1fr!important;gap:10px!important;padding:7px 6px!important;border:0!important}
  .atendimento-pessoa-tabela td::before{content:attr(data-label)!important;font-weight:800!important;color:#1a2923!important}
}

/* ===== SIGAS v86: Novo Atendimento / prontuário ===== */
.atendimento-form-card{min-width:0}
.atendimento-novo-form{padding:24px 28px 28px}
.atendimento-form-grid{display:grid;grid-template-columns:minmax(260px,500px);gap:22px;max-width:820px}
.atendimento-campo label{display:block;margin-bottom:7px;font-size:14px;font-weight:800;color:#17251f}
.atendimento-campo input,.atendimento-campo textarea{width:100%;border:1px solid #d3e1da;border-radius:9px;padding:12px 14px;background:#fff;color:#17251f;font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}
.atendimento-campo input:focus,.atendimento-campo textarea:focus{border-color:#19bdb8;box-shadow:0 0 0 3px rgba(25,189,184,.12)}
.atendimento-campo textarea{resize:vertical;min-height:145px}
.atendimento-campo small{display:block;margin-top:7px;color:#667085;font-size:12px}
.obrigatorio{color:#d92d20}
.atendimento-combobox{position:relative}
.atendimento-combobox-trigger{width:100%;min-height:48px;border:1px solid #d3e1da;border-radius:9px;background:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;color:#667085;cursor:pointer}
.atendimento-combobox-trigger:hover{border-color:#20b9b3}
.atendimento-combobox-menu{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #d7e2dd;border-radius:10px;box-shadow:0 18px 40px rgba(16,40,30,.18);padding:10px}
.atendimento-combobox-menu[hidden]{display:none!important}
.atendimento-combobox-menu input{margin-bottom:8px}
.atendimento-combobox-opcoes{max-height:285px;overflow:auto;border-top:1px solid #edf1ef}
.atendimento-combobox-opcao{display:block;width:100%;border:0;border-bottom:1px solid #f0f3f2;background:#fff;padding:11px 10px;text-align:left;font:inherit;color:#17251f;cursor:pointer;line-height:1.25}
.atendimento-combobox-opcao:hover,.atendimento-combobox-opcao:focus{background:#eef6f2;color:#087647;outline:0}
.atendimento-combobox-opcao[hidden]{display:none}
.atendimento-combobox-vazio{padding:14px 10px;color:#667085;font-size:13px}
.atendimento-opcoes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 42px;margin-top:28px;padding-top:24px;border-top:1px dashed #d6dfdb;max-width:980px}
.atendimento-opcao-bloco{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px 18px;min-width:0}
.atendimento-opcao-bloco legend{width:100%;font-size:14px;font-weight:800;color:#17251f;margin-bottom:4px}
.atendimento-opcao-bloco label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#26362f;white-space:nowrap}
.atendimento-opcao-bloco input[type=radio]{appearance:none;width:19px;height:19px;border:1.5px solid #b9c9c1;border-radius:50%;background:#fff;display:grid;place-content:center;margin:0;cursor:pointer;flex:0 0 auto}
.atendimento-opcao-bloco input[type=radio]::before{content:"";width:9px;height:9px;border-radius:50%;transform:scale(0);background:#20bdb7;transition:.12s}
.atendimento-opcao-bloco input[type=radio]:checked{border-color:#20bdb7}
.atendimento-opcao-bloco input[type=radio]:checked::before{transform:scale(1)}
.atendimento-forma-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,max-content))}
.atendimento-forma-opcoes legend{grid-column:1/-1}
.atendimento-form-acoes{display:flex;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e5ebe8}
.atendimento-form-acoes .btn{min-width:145px;justify-content:center}
.pessoa-menu-interno a.pessoa-menu-item{text-decoration:none}
@media(max-width:1050px){.atendimento-form-grid{max-width:none}.atendimento-opcoes-grid{max-width:none}.atendimento-forma-opcoes{grid-template-columns:repeat(2,minmax(0,max-content))}}
@media(max-width:760px){.atendimento-novo-form{padding:18px}.atendimento-opcoes-grid{grid-template-columns:1fr;gap:22px}.atendimento-forma-opcoes{grid-template-columns:repeat(2,minmax(0,1fr))}.atendimento-forma-opcoes label{white-space:normal}.atendimento-form-acoes{flex-direction:column}.atendimento-form-acoes .btn{width:100%}}
@media(max-width:430px){.atendimento-novo-form{padding:14px}.atendimento-form-grid{grid-template-columns:1fr}.atendimento-forma-opcoes{grid-template-columns:1fr}.atendimento-combobox-menu{position:fixed;left:12px;right:12px;top:15vh;max-height:70vh}.atendimento-combobox-opcoes{max-height:48vh}}

/* ===== SIGAS v88: detalhes e ações do atendimento ===== */
.atendimento-linha-clicavel{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.atendimento-linha-clicavel:hover{background:#eaf7f3!important;box-shadow:inset 4px 0 0 #19bdb8}
.atendimento-linha-clicavel:focus{outline:2px solid #19bdb8;outline-offset:-2px;background:#eefaf7!important}
.atendimento-linha-clicavel:active{transform:scale(.998)}
.atendimento-indicado-mini{display:block;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fff4cc;color:#8a6100;font-size:10px;font-weight:800;white-space:nowrap}
.atendimento-detalhes-page{max-width:1180px;margin:0 auto;padding:4px 0 28px}
.atendimento-detalhes-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.atendimento-voltar{display:inline-block;margin-bottom:12px;color:#087a65;font-size:13px;font-weight:800;text-decoration:none}
.atendimento-voltar:hover{text-decoration:underline}
.atendimento-titulo-linha{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.atendimento-titulo-linha h1{margin:0;font-size:28px;color:#14231d}
.atendimento-detalhes-header p{margin:7px 0 0;color:#67766f}
.atendimento-indicado-selo{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff3c4;color:#805b00;font-size:12px;font-weight:900}
.atendimento-acoes-menu{position:relative;flex:0 0 auto}
.atendimento-menu-trigger{width:44px;height:44px;border:1px solid #d8e2de;border-radius:10px;background:#fff;color:#23342d;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(22,45,36,.08)}
.atendimento-menu-trigger:hover,.atendimento-menu-trigger[aria-expanded=true]{background:#eef8f5;border-color:#19bdb8}
.atendimento-menu-popover{position:absolute;right:0;top:50px;z-index:150;width:230px;padding:7px;background:#fff;border:1px solid #dce5e1;border-radius:12px;box-shadow:0 18px 45px rgba(17,44,34,.18)}
.atendimento-menu-popover form{margin:0}
.atendimento-menu-item{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:8px;padding:11px 12px;background:transparent;text-align:left;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.atendimento-menu-item:hover{background:#f0f6f3}
.atendimento-menu-item.indicar{color:#6f5700}.atendimento-menu-item.excluir{color:#b42318}
.atendimento-detalhes-card{background:#fff;border:1px solid #dfe7e3;border-radius:14px;padding:24px;box-shadow:0 8px 28px rgba(20,50,39,.07)}
.atendimento-detalhes-card-topo{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #e7ece9}
.atendimento-detalhes-card-topo>div span,.atendimento-info-grid span,.atendimento-textos-grid span,.atendimento-responsavel-card span{display:block;margin-bottom:5px;color:#718078;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.atendimento-detalhes-card-topo strong{font-size:18px;color:#12221b}
.atendimento-detalhes-card h2{margin:25px 0 13px;font-size:16px;color:#173229}
.atendimento-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.atendimento-info-grid>div,.atendimento-textos-grid>div{min-width:0;padding:14px;border:1px solid #e1e8e5;border-radius:10px;background:#fafcfb}
.atendimento-info-grid strong{display:block;color:#1c2e27;font-size:13px;overflow-wrap:anywhere}
.atendimento-textos-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.atendimento-textos-grid p{margin:0;color:#33463e;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.atendimento-responsavel-card{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #dce8e3;border-radius:10px;background:#f3faf7}
.atendimento-responsavel-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#dff3ec;font-size:22px}
.atendimento-responsavel-card strong{display:block;color:#173128}.atendimento-responsavel-card small{display:block;margin-top:3px;color:#68776f}
.atendimento-modal{display:none;position:fixed;inset:0;z-index:500;align-items:center;justify-content:center;padding:20px}
.atendimento-modal.aberto{display:flex}.atendimento-modal-backdrop{position:absolute;inset:0;background:rgba(10,24,19,.55)}
.atendimento-modal-card{position:relative;z-index:1;width:min(440px,100%);padding:28px;border-radius:15px;background:#fff;text-align:center;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.atendimento-modal-icone{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:#fee4e2;color:#b42318;font-size:30px;font-weight:900}
.atendimento-modal-card h3{margin:0 0 8px;font-size:21px}.atendimento-modal-card p{margin:0;color:#68766f}
.atendimento-modal-acoes{display:flex;justify-content:center;gap:10px;margin-top:24px}.atendimento-modal-acoes form{margin:0}
.atendimento-lista-geral tbody tr td{vertical-align:middle}
@media(max-width:900px){.atendimento-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.atendimento-detalhes-header{gap:10px}.atendimento-titulo-linha h1{font-size:23px}.atendimento-detalhes-card{padding:16px}.atendimento-info-grid,.atendimento-textos-grid{grid-template-columns:1fr}.atendimento-modal-acoes{flex-direction:column}.atendimento-modal-acoes .btn,.atendimento-modal-acoes form{width:100%}}

/* ===== SIGAS v89: prontuário visual do atendimento ===== */
.atendimento-prontuario-page{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.atendimento-prontuario-sidebar,.atendimento-prontuario-conteudo{background:#fff;border:1px solid #e4e8f0;border-radius:8px;box-shadow:0 8px 24px rgba(34,45,80,.05)}.atendimento-prontuario-sidebar{padding:32px 26px;position:sticky;top:20px}.atendimento-prontuario-avatar{width:180px;height:220px;margin:0 auto 22px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#171922,#42485a);font-size:78px;color:#fff}.atendimento-prontuario-sidebar h2{text-align:center;margin:0;font-size:19px;color:#10152b}.atendimento-prontuario-documento{text-align:center;margin:7px 0 26px;font-size:12px;color:#666d8a}.atendimento-prontuario-nav{display:grid;gap:6px}.atendimento-prontuario-nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:7px;color:#242a43;text-decoration:none;font-size:14px}.atendimento-prontuario-nav a:hover,.atendimento-prontuario-nav a.ativo{background:#f0f3f8;color:#087cff}.atendimento-prontuario-conteudo{padding:0 28px 28px;min-width:0}.atendimento-prontuario-topo{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0 18px;border-bottom:1px solid #e8ebf2}.atendimento-voltar{margin:0 0 8px}.atendimento-prontuario-titulo-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.atendimento-prontuario-titulo h1{font-size:20px;margin:0;color:#0d142c}.atendimento-status-chip{padding:6px 11px;border-radius:5px;background:#18c5be;color:#fff;font-size:12px;font-weight:800}.atendimento-prontuario-acoes{display:flex;align-items:center;gap:12px}.atendimento-imprimir{border:0;border-radius:5px;background:#f3f5f9;color:#8991a8;padding:9px 13px;cursor:pointer}.atendimento-menu-trigger-clean{border:0;box-shadow:none;background:transparent;color:#a5acc0}.atendimento-prontuario-secao{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 42px;padding:28px 0;border-bottom:1px dashed #dfe3eb}.atendimento-campo{min-width:0}.atendimento-campo span,.atendimento-encerramento span{display:block;font-size:14px;color:#20263f;margin-bottom:3px}.atendimento-campo strong,.atendimento-encerramento strong{display:block;font-size:14px;color:#080e29;overflow-wrap:anywhere}.atendimento-campo-span-2{grid-column:span 2}.atendimento-encerramento{margin:28px 0;padding:20px;background:#f7f8fb;display:grid;grid-template-columns:1fr;gap:20px}.atendimento-prontuario-duas-colunas{display:grid;grid-template-columns:1fr 320px;gap:55px;padding:28px 0;border-top:1px dashed #dfe3eb}.atendimento-prontuario-duas-colunas h2{font-size:16px;margin:0 0 14px;color:#10162d}.atendimento-prontuario-duas-colunas p{margin:0;font-size:13px;color:#333a52}.atendimento-gerenciador{padding:10px 4px;border-bottom:1px solid #e5e8ef;font-size:13px}.atendimento-historico-card{border:1px solid #e1e5ed;border-radius:6px;overflow:hidden;margin-top:5px}.atendimento-historico-card>header{padding:22px;border-bottom:1px solid #e5e8ef;color:#8f97ad}.atendimento-historico-card>header strong{color:#11172f;margin-left:8px}.atendimento-historico-corpo{padding:42px 26px 28px}.atendimento-historico-item{padding:15px;border-radius:18px;background:#e5e7f0;display:grid;gap:6px;color:#0c1330}.atendimento-historico-item small{font-size:12px}.atendimento-menu-popover[hidden]{display:none!important}@media(max-width:1000px){.atendimento-prontuario-page{grid-template-columns:240px minmax(0,1fr)}.atendimento-prontuario-sidebar{padding:24px 16px}.atendimento-prontuario-avatar{width:150px;height:180px}.atendimento-prontuario-secao{grid-template-columns:repeat(2,minmax(0,1fr))}.atendimento-prontuario-duas-colunas{grid-template-columns:1fr 260px}}@media(max-width:760px){.atendimento-prontuario-page{grid-template-columns:1fr}.atendimento-prontuario-sidebar{position:static}.atendimento-prontuario-avatar{width:120px;height:120px;border-radius:50%;font-size:52px}.atendimento-prontuario-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.atendimento-prontuario-conteudo{padding:0 18px 20px}.atendimento-prontuario-topo{align-items:flex-start}.atendimento-imprimir span{display:none}.atendimento-prontuario-duas-colunas{grid-template-columns:1fr;gap:28px}}@media(max-width:520px){.atendimento-prontuario-nav{grid-template-columns:1fr}.atendimento-prontuario-topo{flex-direction:column}.atendimento-prontuario-acoes{align-self:flex-end;margin-top:-48px}.atendimento-prontuario-secao{grid-template-columns:1fr;gap:20px}.atendimento-campo-span-2{grid-column:span 1}.atendimento-prontuario-titulo h1{font-size:18px}.atendimento-historico-corpo{padding:24px 14px}}@media print{.atendimento-prontuario-sidebar,.atendimento-prontuario-acoes,.atendimento-voltar,.atendimento-menu-popover{display:none!important}.atendimento-prontuario-page{display:block}.atendimento-prontuario-conteudo{border:0;box-shadow:none;padding:0}.atendimento-prontuario-topo{padding-top:0}}

/* v90 - comportamento seguro para agendamentos encerrados */
.agenda-modal-acoes form[hidden],.agenda-modal-acoes a[hidden]{display:none!important}
.agenda-modal-acoes.somente-consulta{justify-content:flex-end}
.agenda-status-card{width:min(520px,94vw);text-align:center;padding:42px 32px;overflow:visible}
.agenda-status-card h2{margin:22px 0 10px;font-size:24px;color:#10172f}
.agenda-status-card p{margin:0 auto;color:#5f6b66;max-width:390px;line-height:1.55}
.agenda-spinner{width:86px;height:86px;margin:0 auto;border-radius:50%;border:5px solid #bceee9;border-top-color:#13bdb6;animation:agendaGirar .8s linear infinite}
.agenda-sucesso-icone{width:88px;height:88px;margin:0 auto;border-radius:50%;border:5px solid #bceee9;color:#13bdb6;display:flex;align-items:center;justify-content:center;font-size:54px;line-height:1;font-weight:500}
.agenda-realizado-acoes{margin-top:28px!important;padding-top:0!important}
.agenda-realizado-acoes .btn{min-height:48px;padding:12px 20px;font-size:16px}
.agenda-ok-btn{background:#11162f!important;color:#fff!important}
@keyframes agendaGirar{to{transform:rotate(360deg)}}
@media (max-width:600px){
  .agenda-status-card{padding:34px 20px}
  .agenda-status-card h2{font-size:21px}
  .agenda-realizado-acoes{display:grid;grid-template-columns:1fr}
  .agenda-realizado-acoes .btn{width:100%}
  .agenda-modal-acoes.somente-consulta{justify-content:stretch}
}
@media (prefers-reduced-motion:reduce){.agenda-spinner{animation-duration:1.6s}}

/* v92 - separacao visual das secoes do menu lateral */
.side-section-divider{display:flex;align-items:center;gap:10px;margin:18px 8px 10px;color:#a9c8b8;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.side-section-divider::before,.side-section-divider::after{content:"";height:1px;background:rgba(255,255,255,.18);flex:1}
.side-section-divider span{padding:0 2px}
@media(max-width:1200px){.side-section-divider{margin-top:16px}}

/* SIGAS v93 - Fundação intersetorial */
.rede-hero{display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#2563eb;margin-bottom:8px}.rede-kpis{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px}.rede-kpis>div{background:rgba(255,255,255,.9);border:1px solid #dbeafe;border-radius:14px;padding:14px;text-align:center;box-shadow:0 6px 18px rgba(15,23,42,.06)}.rede-kpis strong{display:block;font-size:1.6rem;color:#0f3d63}.rede-kpis span{font-size:.78rem;color:#64748b}.rede-tabs{display:flex;gap:8px;position:sticky;top:72px;z-index:3;background:#f5f7fb;padding:10px 0;margin-bottom:12px;overflow:auto}.rede-tabs a{white-space:nowrap;background:white;border:1px solid #dbe3ee;border-radius:999px;padding:9px 14px;font-weight:700;text-decoration:none;color:#334155}.rede-section{scroll-margin-top:132px;margin-bottom:18px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-head h2{margin:0 0 4px}.section-head p{margin:0;color:#64748b}.rede-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.rede-card{border:1px solid #e2e8f0;border-radius:16px;padding:17px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 22px rgba(15,23,42,.05)}.rede-card-top{display:flex;justify-content:space-between;align-items:center}.rede-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;font-size:1.25rem}.rede-card h3{margin:14px 0 6px}.rede-card p,.rede-card small{color:#64748b}.status-pill{padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.inactive{background:#fee2e2;color:#991b1b}.card-actions{border-top:1px solid #edf2f7;margin-top:15px;padding-top:12px;display:flex;gap:16px}.danger-link{color:#b91c1c!important}.empty-state{grid-column:1/-1;text-align:center;padding:35px;color:#64748b;border:1px dashed #cbd5e1;border-radius:14px}.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px 15px;border-radius:12px;margin-bottom:14px}
@media(max-width:800px){.rede-hero{align-items:stretch;flex-direction:column}.rede-kpis{grid-template-columns:repeat(3,1fr)}.section-head{align-items:stretch;flex-direction:column}.section-head .btn{width:100%;text-align:center}.rede-tabs{top:58px}.rede-section{scroll-margin-top:118px}}
@media(max-width:480px){.rede-kpis{grid-template-columns:1fr}.rede-grid{grid-template-columns:1fr}}

/* SIGAS v94 - vínculos profissionais e permissões intersetoriais */
.vinculo-filtros{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:14px;align-items:end;margin:18px 0 24px;padding:18px;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:14px}.vinculo-filtros label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#344054}.vinculo-filtros select{min-height:43px}.filter-actions{display:flex;gap:8px}.table-scroll{overflow-x:auto}.vinculo-table{min-width:1050px}.profile-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf3ff;color:#244aa5;font-size:.76rem;font-weight:800}.permission-tags{display:flex;gap:5px;flex-wrap:wrap;max-width:310px}.permission-tags span{padding:4px 7px;border:1px solid #d9e3f2;border-radius:7px;background:#f8fafc;font-size:.7rem;color:#40516b}.row-actions{display:flex;flex-direction:column;gap:5px;white-space:nowrap}.form-section-title{border-bottom:1px solid #e7ebf1;padding:4px 0 13px;margin-top:8px}.form-section-title h2{margin:0 0 4px;font-size:1.1rem}.form-section-title p{margin:0;color:#667085}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:12px}.permission-card{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;cursor:pointer;transition:.18s}.permission-card:hover{border-color:#9db3d4;box-shadow:0 5px 18px rgba(30,55,90,.08)}.permission-card input{width:18px;height:18px;margin-top:2px}.permission-card span{display:flex;flex-direction:column;gap:3px}.permission-card b{color:#25334a}.permission-card small{color:#667085;line-height:1.25}.rede-tabs a.active{background:#274d86;color:#fff;border-color:#274d86}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}
@media(max-width:1050px){.vinculo-filtros{grid-template-columns:repeat(2,minmax(180px,1fr))}.permission-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}}@media(max-width:680px){.vinculo-filtros{grid-template-columns:1fr}.filter-actions{width:100%}.filter-actions .btn{flex:1}.permission-grid{grid-template-columns:1fr}.rede-kpis{grid-template-columns:repeat(2,1fr)!important}}

/* v95 - detalhes do atendimento dentro do prontuário do usuário */
.atendimento-inline-detalhes{background:#fff;border:1px solid #e0e8e4;border-radius:14px;overflow:visible;box-shadow:0 8px 28px rgba(19,48,37,.06)}
.atendimento-inline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e6ece9}
.atendimento-inline-voltar{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;color:#087b45;font-size:13px;font-weight:800;text-decoration:none}
.atendimento-inline-voltar:hover{text-decoration:underline}
.atendimento-inline-titulo-linha{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.atendimento-inline-titulo-linha h2{margin:0!important;font-size:23px!important;color:#101d17}
.atendimento-inline-acoes{display:flex;align-items:center;gap:10px;position:relative}
.atendimento-inline-detalhes .atendimento-prontuario-secao{margin:0;padding:22px;border-bottom:1px dashed #dbe4df}
.atendimento-inline-detalhes .atendimento-encerramento{margin:0 22px 20px}
.atendimento-inline-detalhes .atendimento-prontuario-duas-colunas{padding:0 22px 22px;margin-top:20px}
.atendimento-inline-detalhes .atendimento-historico-card{margin:0 22px 22px}
.atendimento-texto-quebra{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.atendimento-linha-clicavel{cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.atendimento-linha-clicavel:hover,.atendimento-linha-clicavel:focus{background:#f0f7f3!important;box-shadow:inset 4px 0 0 #12bda9;outline:none}
.atendimento-linha-clicavel:active{transform:translateY(1px)}
@media(max-width:900px){
  .atendimento-inline-header{padding:18px;gap:14px}
  .atendimento-inline-detalhes .atendimento-prontuario-secao{padding:18px}
  .atendimento-inline-detalhes .atendimento-encerramento{margin:0 18px 18px}
  .atendimento-inline-detalhes .atendimento-prontuario-duas-colunas{padding:0 18px 18px}
  .atendimento-inline-detalhes .atendimento-historico-card{margin:0 18px 18px}
}
@media(max-width:650px){
  .atendimento-inline-header{flex-direction:column;align-items:stretch;padding:16px}
  .atendimento-inline-acoes{justify-content:flex-end}
  .atendimento-inline-titulo-linha h2{font-size:20px!important}
  .atendimento-inline-detalhes .atendimento-prontuario-secao{padding:16px}
  .atendimento-inline-detalhes .atendimento-encerramento{margin:0 16px 16px}
  .atendimento-inline-detalhes .atendimento-prontuario-duas-colunas{padding:0 16px 16px;grid-template-columns:1fr}
  .atendimento-inline-detalhes .atendimento-historico-card{margin:0 16px 16px}
  .atendimento-imprimir span{display:none}
}
@media print{
  .sidebar,.topbar,.pessoa-menu,.atendimento-inline-voltar,.atendimento-inline-acoes,.pessoa-topo-acoes{display:none!important}
  .pessoa-layout{display:block!important}.pessoa-conteudo{width:100%!important}.atendimento-inline-detalhes{box-shadow:none;border:0}
}

/* v95 - confirmação visível da exclusão de atendimento */
.atendimento-modal-acoes .atendimento-excluir-form{display:block!important;margin:0!important}
.atendimento-modal-acoes .atendimento-confirmar-exclusao{display:inline-flex!important;visibility:visible!important;opacity:1!important;background:#d92d20!important;border:1px solid #d92d20!important;color:#fff!important;align-items:center;justify-content:center;min-width:190px}
.atendimento-modal-acoes .atendimento-confirmar-exclusao:hover{background:#b42318!important;border-color:#b42318!important}
@media(max-width:650px){.atendimento-modal-acoes .atendimento-excluir-form,.atendimento-modal-acoes .atendimento-confirmar-exclusao{width:100%!important}}

/* v95.1 - botão de confirmação da exclusão sempre visível em telas somente leitura */
.view-mode .atendimento-excluir-form{display:block!important;visibility:visible!important;opacity:1!important}
.view-mode .atendimento-excluir-form button[type=submit].atendimento-confirmar-exclusao.keep-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.atendimento-modal-acoes{align-items:stretch}
.atendimento-modal-acoes .atendimento-excluir-form{flex:0 0 auto}

/* v95.3 — Lista compacta de usuários */
.usuarios-lista{
  gap:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.usuarios-lista-cabecalho{
  display:grid;
  grid-template-columns:minmax(330px,2.8fr) minmax(130px,1.15fr) minmax(92px,.75fr) minmax(110px,1fr) minmax(125px,1fr) minmax(130px,1.1fr) 28px;
  gap:16px;
  align-items:center;
  min-height:44px;
  padding:8px 16px;
  background:#f7faf8;
  border-bottom:1px solid var(--line);
  color:#475467;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.usuario-card{
  grid-template-columns:minmax(330px,2.8fr) minmax(130px,1.15fr) minmax(92px,.75fr) minmax(110px,1fr) minmax(125px,1fr) minmax(130px,1.1fr) 28px;
  gap:16px;
  min-height:104px;
  padding:12px 16px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  align-items:center;
}
.usuario-card:last-of-type{border-bottom:0}
.usuario-card:hover,.usuario-card:focus-visible{
  background:#f1f6f3;
  transform:none;
  box-shadow:inset 4px 0 0 #12b76a;
}
.usuario-card:focus-visible{outline:2px solid rgba(18,183,106,.32);outline-offset:-2px}
.usuario-identidade{gap:12px;align-items:center}
.usuario-avatar{
  width:44px;
  height:44px;
  flex-basis:44px;
  border-radius:50%;
  font-size:18px;
}
.usuario-nome{font-size:15px;margin-bottom:3px;line-height:1.2}
.usuario-filiacao{display:inline;font-size:12px;margin-right:8px;line-height:1.35}
.usuario-filiacao + .usuario-filiacao:before{content:"•";margin-right:8px;color:#98a2b3}
.usuario-dados{gap:5px 9px;margin-top:5px;line-height:1.25}
.usuario-dados span{font-size:11px;padding:0}
.usuario-linha span{display:none}
.usuario-linha strong{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.status-ativo{width:max-content;padding:3px 8px;font-size:12px!important}
.status-ativo:before{width:6px;height:6px}
.usuario-card-indicador{
  color:#667085;
  font-size:25px;
  line-height:1;
  text-align:center;
  transition:transform .18s ease,color .18s ease;
}
.usuario-card:hover .usuario-card-indicador{transform:translateX(2px);color:#04764a}
.usuario-vazio{border:0;border-radius:0;box-shadow:none;margin:0}

@media(max-width:1250px){
  .usuarios-lista-cabecalho,
  .usuario-card{
    grid-template-columns:minmax(300px,2.5fr) minmax(125px,1fr) minmax(90px,.7fr) minmax(105px,.85fr) minmax(120px,.95fr) 28px;
  }
  .usuarios-lista-cabecalho span:nth-child(6),
  .usuario-col-criado{display:none}
}
@media(max-width:1000px){
  .usuarios-lista{background:transparent;border:0;border-radius:0;box-shadow:none;gap:10px;overflow:visible}
  .usuarios-lista-cabecalho{display:none}
  .usuario-card{
    grid-template-columns:minmax(0,1fr) minmax(120px,.6fr) 28px;
    grid-template-areas:
      "identidade tipo indicador"
      "identidade status indicador"
      "identidade equipamento indicador"
      "identidade data indicador"
      "identidade criado indicador";
    gap:5px 14px;
    min-height:112px;
    padding:13px 15px;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
  }
  .usuario-card:last-of-type{border-bottom:1px solid var(--line)}
  .usuario-identidade{grid-area:identidade}
  .usuario-col-tipo{grid-area:tipo}
  .usuario-col-status{grid-area:status}
  .usuario-col-equipamento{grid-area:equipamento}
  .usuario-col-data{grid-area:data}
  .usuario-col-criado{grid-area:criado;display:block}
  .usuario-card-indicador{grid-area:indicador;align-self:center}
  .usuario-linha{display:flex;align-items:center;gap:8px}
  .usuario-linha span{display:block;min-width:86px;margin:0;font-size:9px}
}
@media(max-width:700px){
  .usuario-card{
    grid-template-columns:minmax(0,1fr) 24px;
    grid-template-areas:
      "identidade indicador"
      "tipo indicador"
      "status indicador"
      "equipamento indicador"
      "data indicador"
      "criado indicador";
    min-height:auto;
    padding:12px;
  }
  .usuario-identidade{align-items:flex-start}
  .usuario-filiacao{display:block;margin-right:0}
  .usuario-filiacao + .usuario-filiacao:before{content:none}
  .usuario-dados{display:flex;grid-template-columns:none}
  .usuario-linha span{min-width:92px}
}


/* v95.4 — fluxo seguro de atendimento */
.agenda-status.status-em-atendimento,.agenda-status.em-atendimento{background:#f79009!important;color:#fff!important;border-color:#f79009!important}
#agendaFormFaltou .btn.danger{color:#fff!important}
.agenda-pendente-card{max-width:560px}
.agenda-pendente-identificacao{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;margin:22px auto;padding:16px 18px;max-width:430px;text-align:left;background:#f7f9f8;border:1px solid #dce6e1;border-radius:14px}
.agenda-pendente-identificacao span{color:#64726c;font-size:13px}.agenda-pendente-identificacao strong{color:#13231c;overflow-wrap:anywhere}
.agenda-encerrar-pendente{color:#fff!important}
@media(max-width:600px){.agenda-pendente-identificacao{grid-template-columns:1fr;gap:3px}.agenda-pendente-identificacao strong{margin-bottom:8px}.agenda-pendente-card .agenda-modal-acoes{flex-direction:column}.agenda-pendente-card .agenda-modal-acoes>*{width:100%}.agenda-pendente-card .btn{width:100%;justify-content:center}}

/* v95.6 - fluxo correto entre agendamento e atendimento */
.agenda-alerta-icone-laranja{background:#fff1e8!important;color:#f79009!important;border:2px solid #f79009!important}
.agenda-pendente-card{width:min(92vw,590px)!important;padding:30px!important}
.agenda-pendente-card>p{max-width:470px;margin:0 auto 18px;text-align:center;line-height:1.5}
.agenda-pendente-card .agenda-modal-acoes{gap:12px;justify-content:center;flex-wrap:wrap}
.agenda-pendente-card .agenda-modal-acoes form{margin:0}
@media(max-width:600px){
  .agenda-pendente-card{padding:22px 16px!important}
  .agenda-pendente-card .agenda-modal-acoes{flex-direction:column}
  .agenda-pendente-card .agenda-modal-acoes>*{width:100%}
  .agenda-pendente-card .agenda-modal-acoes .btn{width:100%;display:flex;justify-content:center}
}


/* ===== SIGAS v95.11: atendimento ativo realmente editável no prontuário ===== */
.view-mode .pessoa-detalhes-page form.atendimento-inline-form{
  display:block!important;
  opacity:1!important;
  filter:none!important;
}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form input:not([type="hidden"]),
.view-mode .pessoa-detalhes-page form.atendimento-inline-form select,
.view-mode .pessoa-detalhes-page form.atendimento-inline-form textarea,
.view-mode .pessoa-detalhes-page form.atendimento-inline-form button{
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form input:not([type="hidden"]),
.view-mode .pessoa-detalhes-page form.atendimento-inline-form select,
.view-mode .pessoa-detalhes-page form.atendimento-inline-form textarea,
.view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-combobox-trigger{
  background:#fff!important;
  color:#17251f!important;
  border-color:#c8d9d1!important;
  -webkit-text-fill-color:#17251f!important;
  cursor:text!important;
}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form input[type="radio"]{
  background:#fff!important;
  cursor:pointer!important;
}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-combobox-trigger{cursor:pointer!important}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-btn-salvar,
.view-mode .pessoa-detalhes-page form.atendimento-inline-form button[type="submit"].atendimento-btn-salvar.keep-visible{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  background:#079447!important;
  color:#fff!important;
  border-color:#079447!important;
  min-width:170px!important;
  justify-content:center!important;
}
.view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-btn-salvar:hover{background:#067a3c!important}
@media(max-width:760px){
  .view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-form-acoes{display:grid!important;grid-template-columns:1fr!important}
  .view-mode .pessoa-detalhes-page form.atendimento-inline-form .atendimento-form-acoes .btn{width:100%!important}
}


/* SIGAS 97 - ações completas do atendimento */
.atendimento-acoes-principais{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.atendimento-acao-topo{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:0;border-radius:7px;background:#101633;color:#fff!important;font-weight:800;font-size:13px;text-decoration:none;cursor:pointer;box-shadow:0 5px 14px rgba(16,22,51,.12)}
.atendimento-acao-topo:hover{transform:translateY(-1px);background:#182248;text-decoration:none}
.atendimento-acao-topo.observacao{background:#101633}.atendimento-acao-topo.editar{background:#101633}.atendimento-acao-topo.encerrar{background:#101633}
.atendimento-form-modal-card{text-align:left!important;width:min(570px,100%)!important;padding:30px!important}.atendimento-form-modal-card>h3,.atendimento-form-modal-card>p{text-align:center}.atendimento-modal-fechar{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:27px;color:#56635d;cursor:pointer}.atendimento-modal-icone.observacao{background:#e8f3ff;color:#175cd3}.atendimento-modal-icone.encerrar{background:#dcfae6;color:#067647}
.atendimento-modal-form{display:block!important;margin-top:22px!important}.atendimento-modal-form label{display:block;margin-bottom:8px;font-weight:800;color:#10251d}.atendimento-modal-form textarea{display:block!important;width:100%!important;min-height:130px;padding:13px 14px;border:1px solid #cbd9d2;border-radius:9px;background:#fff!important;color:#10251d!important;opacity:1!important;resize:vertical;font:inherit;line-height:1.5}.atendimento-modal-form textarea:focus{outline:3px solid rgba(32,190,183,.15);border-color:#20beb7}.atendimento-modal-form .atendimento-modal-acoes{display:flex!important}.atendimento-salvar-observacao,.atendimento-confirmar-encerramento{display:inline-flex!important;visibility:visible!important;opacity:1!important;background:#079447!important;color:#fff!important}.atendimento-confirmar-encerramento{background:#101633!important}
.atendimento-observacoes-lista{display:grid;gap:10px}.atendimento-observacao-item{padding:13px 14px;border:1px solid #dfe8e3;border-radius:9px;background:#f8fbf9}.atendimento-observacao-item>div{display:flex;gap:9px;align-items:center;justify-content:space-between}.atendimento-observacao-item>div span{font-size:11px;font-weight:800;text-transform:uppercase;color:#087443;background:#dcfae6;border-radius:999px;padding:4px 8px}.atendimento-observacao-item p{margin:8px 0;color:#263b32}.atendimento-observacao-item small{color:#66776f}.atendimento-historico-item.encerrado{border-left-color:#20beb7}
@media(max-width:900px){.atendimento-acoes-principais{justify-content:flex-start}.atendimento-acao-topo,.atendimento-imprimir{flex:1 1 auto}}
@media(max-width:620px){.atendimento-acoes-principais{display:grid;grid-template-columns:1fr 1fr;width:100%}.atendimento-acao-topo,.atendimento-imprimir,.atendimento-acoes-menu{width:100%!important}.atendimento-menu-trigger-clean{width:100%!important}.atendimento-form-modal-card{padding:24px 18px!important}.atendimento-modal-form .atendimento-modal-acoes{flex-direction:column}.atendimento-modal-form .atendimento-modal-acoes .btn{width:100%!important}.atendimento-observacao-item>div{align-items:flex-start;flex-direction:column}}


/* SIGAS 98 - modal de observação totalmente editável */
.pessoa-detalhes-page.view-mode .atendimento-acao-modal form.atendimento-modal-form,
.pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}
.pessoa-detalhes-page.view-mode .atendimento-acao-modal form.atendimento-modal-form textarea,
.pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form textarea{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  background:#fff!important;color:#10251d!important;cursor:text!important;user-select:text!important;
  -webkit-user-select:text!important;filter:none!important;
}
.pessoa-detalhes-page.view-mode .atendimento-acao-modal form.atendimento-modal-form .atendimento-modal-acoes,
.pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form .atendimento-modal-acoes{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  justify-content:flex-end!important;gap:10px!important;margin-top:22px!important;
}
.pessoa-detalhes-page.view-mode .atendimento-acao-modal form.atendimento-modal-form button,
.pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form button{
  display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}
.atendimento-form-modal-card{max-height:min(88vh,720px)!important;overflow-y:auto!important}
@media(max-width:620px){
  .atendimento-form-modal-card{width:calc(100% - 24px)!important;max-height:92vh!important;padding:22px 16px!important}
  .pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form .atendimento-modal-acoes{display:grid!important;grid-template-columns:1fr!important}
  .pessoa-detalhes-page .atendimento-acao-modal form.atendimento-modal-form .atendimento-modal-acoes .btn{width:100%!important;justify-content:center!important}
}


/* SIGAS v99 - ajustes do histórico e observação única */
.atendimento-pessoa-topo-simples {
  justify-content: flex-end;
  min-height: 0;
  margin-bottom: 14px;
}
.atendimento-observacao-unica {
  border: 1px solid #dfe9e4;
  background: #f8fbf9;
  border-radius: 12px;
  padding: 16px 18px;
  min-height: 92px;
}
.atendimento-observacao-unica p {
  margin: 0 0 12px;
  white-space: pre-wrap;
  line-height: 1.55;
}
.atendimento-observacao-unica small {
  color: #607068;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.atendimento-sem-observacao {
  color: #66766e;
  padding: 12px 0;
}
@media (max-width: 700px) {
  .atendimento-pessoa-topo-simples { justify-content: stretch; }
  .atendimento-pessoa-topo-simples .atendimento-novo-btn { width: 100%; text-align: center; }
  .atendimento-observacao-unica { padding: 14px; }
}

/* SIGAS v102 — encaminhamento múltiplo de atendimentos */
.atendimento-encaminhamento-box{
  display:none;
  grid-column:1/-1;
  margin:2px 0 4px;
  padding:22px;
  border:1px solid #cfe1d9;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfefd 0%,#f4faf7 100%);
}
.atendimento-encaminhamento-box.visivel{display:block}
.atendimento-encaminhamento-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.atendimento-encaminhamento-cabecalho h3{margin:0 0 4px;font-size:18px;color:#10261c}
.atendimento-encaminhamento-cabecalho p{margin:0;color:#5e7067;line-height:1.45}
.atendimento-encaminhamento-contador{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#e4f7ed;color:#08783f;font-size:12px;font-weight:800}
.atendimento-encaminhamento-pesquisa{display:block;margin-bottom:14px}
.atendimento-encaminhamento-pesquisa>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800;color:#17251f}
.atendimento-encaminhamento-pesquisa input{width:100%;height:46px;padding:0 14px;border:1px solid #cbd9d2;border-radius:10px;background:#fff;color:#122019;font:inherit;outline:none}
.atendimento-encaminhamento-pesquisa input:focus{border-color:#069653;box-shadow:0 0 0 3px rgba(6,150,83,.12)}
.atendimento-servidores-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:330px;overflow:auto;padding:2px}
.atendimento-servidor-item{position:relative;display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #dce7e2;border-radius:12px;background:#fff;cursor:pointer;transition:.18s ease}
.atendimento-servidor-item:hover{border-color:#95cdb0;transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,70,42,.07)}
.atendimento-servidor-item input{width:18px;height:18px;accent-color:#079653}
.atendimento-servidor-item:has(input:checked){border-color:#0a9b58;background:#effbf5;box-shadow:0 0 0 2px rgba(10,155,88,.08)}
.atendimento-servidor-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#e0f5e9;color:#087943;font-weight:900;text-transform:uppercase}
.atendimento-servidor-dados{min-width:0;display:flex;flex-direction:column;gap:3px}
.atendimento-servidor-dados strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#10231a;font-size:14px}
.atendimento-servidor-dados small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68786f;font-size:12px}
.atendimento-servidor-check{opacity:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#079653;color:#fff;font-weight:900;transition:.18s ease}
.atendimento-servidor-item:has(input:checked) .atendimento-servidor-check{opacity:1}
.atendimento-servidor-vazio{grid-column:1/-1;padding:26px;text-align:center;color:#68776f;background:#fff;border:1px dashed #ccd9d3;border-radius:12px}
.atendimento-encaminhados-resumo{margin:0 24px 18px;padding:18px 20px;border:1px solid #cfe4d9;border-radius:14px;background:#f6fcf8}
.atendimento-encaminhados-titulo{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.atendimento-encaminhados-titulo h3{margin:0 0 2px;font-size:17px}
.atendimento-encaminhados-titulo p{margin:0;color:#64746c;font-size:13px}
.atendimento-encaminhados-icone{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#daf4e6;color:#087944;font-size:20px;font-weight:900}
.atendimento-encaminhados-chips{display:flex;flex-wrap:wrap;gap:9px}
.atendimento-encaminhado-chip{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #d7e7df}
.atendimento-encaminhado-chip b{font-size:13px;color:#14231b}
.atendimento-encaminhado-chip small{font-size:11px;color:#68766f}
@media(max-width:820px){
  .atendimento-servidores-lista{grid-template-columns:1fr;max-height:370px}
  .atendimento-encaminhamento-cabecalho{flex-direction:column}
  .atendimento-encaminhados-resumo{margin:0 16px 16px}
}
@media(max-width:520px){
  .atendimento-encaminhamento-box{padding:15px;border-radius:12px}
  .atendimento-servidor-item{grid-template-columns:auto 38px minmax(0,1fr);padding:10px}
  .atendimento-servidor-check{display:none}
  .atendimento-servidor-avatar{width:38px;height:38px}
  .atendimento-encaminhados-resumo{margin:0 12px 14px;padding:15px}
  .atendimento-encaminhado-chip{width:100%}
}

/* SIGAS v104 - busca de unidade de saúde e validação de datas */
.unidade-saude-field{position:relative}.unidade-saude-field small{display:block;margin-top:6px;line-height:1.35}.unidade-saude-field .field-msg{color:#b42318;font-weight:700}.unidade-saude-field input:invalid{border-color:#dc2626}.data-controlada:invalid{border-color:#dc2626}
@media(max-width:760px){.unidade-saude-field{grid-column:1/-1}.unidade-saude-field input{font-size:16px}}

/* v107 - Recepção com atalhos permanentemente visíveis */
.side-group > .side-submenu-hover{
  display:block !important;
  margin:2px 0 8px 14px;
  padding-left:10px;
  border-left:3px solid rgba(141,230,79,.72);
}
.side-group > .side-submenu-hover a{
  display:flex;
  align-items:center;
  min-height:44px;
  border-radius:10px;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.side-group > .side-submenu-hover a:hover,
.side-group > .side-submenu-hover a:focus-visible{
  background:rgba(27,184,96,.30);
  transform:translateX(2px);
  outline:none;
}
.side-group > .side-submenu-hover a.active{
  background:rgba(27,184,96,.24);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(141,230,79,.14);
}
@media(max-width:1200px){
  .side-group > .side-submenu-hover{margin-left:10px}
}
@media(max-width:560px){
  .side-group > .side-submenu-hover{margin-left:8px;padding-left:8px}
  .side-group > .side-submenu-hover a{min-height:42px;padding:9px 10px;font-size:14px}
}

/* SIGAS v108 - Acompanhamentos */
.acompanhamento-inline{padding:22px}.acompanhamento-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:20px}.acompanhamento-cabecalho h3{margin:0 0 4px}.acompanhamento-form-inline{display:grid;gap:18px;max-width:100%;padding:0 4px}.acompanhamento-form-titulo{padding:18px 0;border-bottom:1px solid #e1e7e4;font-size:18px}.acompanhamento-form-inline label{display:grid;gap:7px;font-weight:600}.acompanhamento-form-inline input,.acompanhamento-form-inline textarea,.acompanhamento-form-inline select,.acompanhamento-filtros input,.acompanhamento-filtros select{width:100%;border:1px solid #d5dfdb;border-radius:9px;padding:12px 14px;background:#fff;color:#10241b;font:inherit}.acompanhamento-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.radio-row{display:flex;gap:18px}.radio-row label{display:flex;grid-template-columns:auto auto;align-items:center;gap:7px;font-weight:400}.acompanhamento-acoes{display:flex;justify-content:space-between;border-top:1px solid #e1e7e4;padding-top:20px}.acompanhamento-filtros{display:grid;grid-template-columns:1.5fr 1.1fr 1.1fr .75fr auto;gap:14px;margin-bottom:18px}.acompanhamento-tabela-wrap{overflow:auto;border:1px solid #dfe8e4;border-radius:12px}.acompanhamento-tabela{min-width:900px;margin:0}.status-pill{display:inline-flex;padding:6px 11px;border-radius:8px;font-weight:700;font-size:12px;white-space:nowrap}.status-pill.em-acompanhamento{background:#2698f2;color:#fff}.status-pill.ativo{background:#18bea9;color:#fff}.acao-editar{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;background:#111a3a;color:#fff;border-radius:7px;text-decoration:none;font-size:20px}.acompanhamento-lista-panel{padding:22px}.empty{text-align:center;padding:32px!important;color:#66736d}@media(max-width:900px){.acompanhamento-filtros{grid-template-columns:1fr 1fr}.acompanhamento-filtros .btn{width:100%}.acompanhamento-grid{grid-template-columns:1fr}}@media(max-width:620px){.acompanhamento-inline{padding:14px}.acompanhamento-cabecalho{align-items:stretch;flex-direction:column}.acompanhamento-cabecalho .btn{width:100%;text-align:center}.acompanhamento-filtros{grid-template-columns:1fr}.acompanhamento-acoes{flex-direction:column;gap:10px}.acompanhamento-acoes .btn{width:100%;text-align:center}.acompanhamento-form-inline input,.acompanhamento-form-inline textarea,.acompanhamento-form-inline select{font-size:16px}}

/* SIGAS 109 - acompanhamento editável, compacto e sigiloso */
.pessoa-aba[data-conteudo="acompanhamento"].ativo{padding-top:10px}
.acompanhamento-inline{padding-top:0!important}
.acompanhamento-form-inline{gap:14px!important;padding-top:0!important}
.acompanhamento-form-titulo{padding:6px 0 12px!important;margin:0!important}
.acompanhamento-editavel-form input:not([type="radio"]):not([type="checkbox"]),.acompanhamento-editavel-form textarea,.acompanhamento-editavel-form select{background:#fff!important;color:#10241b!important;opacity:1!important;cursor:text!important}
.acompanhamento-editavel-form select{cursor:pointer!important}
.acompanhamento-editavel-form button[type="submit"]{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.acompanhamento-autorizados{border:1px solid #d9e5df;border-radius:12px;background:#f8fbf9;padding:15px;display:grid;gap:12px}
.acompanhamento-autorizados.oculto{display:none}
.acompanhamento-autorizados p{margin:3px 0 0;color:#66736d;font-size:13px;font-weight:400}
.acompanhamento-servidores-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;padding:2px}
.acompanhamento-servidor-item{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:10px!important;padding:10px;border:1px solid #dce6e1;border-radius:9px;background:#fff;font-weight:400!important;cursor:pointer}
.acompanhamento-servidor-item input{width:auto!important;margin-top:3px}
.acompanhamento-servidor-item span{display:grid;gap:2px}.acompanhamento-servidor-item small{color:#66736d}
@media(max-width:700px){.acompanhamento-servidores-lista{grid-template-columns:1fr}.pessoa-aba[data-conteudo="acompanhamento"].ativo{padding-top:6px}}

/* SIGAS v110 - formulario de acompanhamento */
.view-mode form.acompanhamento-editavel-form button[type="submit"].acompanhamento-salvar.keep-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center;justify-content:center}
.acompanhamento-editavel-form input:not([type="radio"]):not([type="checkbox"]),.acompanhamento-editavel-form textarea,.acompanhamento-editavel-form select{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.acompanhamento-editavel-form input:not([type="radio"]):not([type="checkbox"]):focus,.acompanhamento-editavel-form textarea:focus,.acompanhamento-editavel-form select:focus{outline:none!important;border-color:#078f4f!important;box-shadow:0 0 0 4px rgba(7,143,79,.14)!important;background:#fff!important}
.acompanhamento-ajuda{display:block;color:#68766f;font-size:12px;font-weight:500;margin-top:1px}
.acompanhamento-salvar{background:#078f4f!important;color:#fff!important;min-width:190px}
.acompanhamento-salvar:hover{background:#057943!important}
@media(max-width:620px){.acompanhamento-salvar{width:100%;min-width:0}.acompanhamento-acoes{display:flex!important;flex-direction:column}.acompanhamento-acoes .secondary{order:2}}

/* SIGAS v111 - encerramento de agendamento sem atendimento */
.agenda-alerta-quantidade{justify-content:space-between!important;flex-wrap:wrap!important}
.agenda-alerta-conteudo{display:flex;align-items:center;gap:10px;min-width:0}
.agenda-btn-encerrar{margin-left:auto;background:#101733!important;color:#fff!important;border:0!important;font-weight:800!important;white-space:nowrap;padding:10px 18px!important;border-radius:8px!important;box-shadow:0 4px 10px rgba(5,12,35,.18)}
.agenda-btn-encerrar:hover{transform:translateY(-1px);filter:brightness(1.08)}
.agenda-encerrar-agendamento-card{width:min(620px,calc(100vw - 30px));max-height:calc(100vh - 32px);overflow:auto;text-align:center;position:relative}
.agenda-modal-fechar{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;line-height:1;color:#40524a;cursor:pointer}
.agenda-encerrar-form{text-align:left;margin-top:18px}
.agenda-encerrar-lista{border:0;padding:0;margin:0 0 16px;display:grid;gap:9px}
.agenda-encerrar-lista legend{font-weight:800;margin-bottom:9px;color:#102119}
.agenda-encerrar-item{display:flex;align-items:flex-start;gap:12px;border:1px solid #d8e4dd;border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff;transition:.18s ease}
.agenda-encerrar-item:hover,.agenda-encerrar-item:has(input:checked){border-color:#19b990;background:#f0fcf8;box-shadow:0 0 0 3px rgba(25,185,144,.10)}
.agenda-encerrar-item input{margin-top:3px;accent-color:#0a9c70}
.agenda-encerrar-item span{display:grid;gap:3px}
.agenda-encerrar-item strong{font-size:14px}
.agenda-encerrar-item small{color:#53665e;line-height:1.3}
.agenda-encerrar-motivo{display:grid;gap:7px;font-weight:800;margin-bottom:16px}
.agenda-encerrar-motivo small{font-weight:500;color:#6a7770}
.agenda-encerrar-motivo textarea{width:100%;resize:vertical;min-height:86px;border:1px solid #ccd9d2;border-radius:9px;padding:12px;font:inherit;background:#fff;color:#102119}
.agenda-encerrar-motivo textarea:focus{outline:0;border-color:#11a878;box-shadow:0 0 0 3px rgba(17,168,120,.12)}
.agenda-confirmar-encerramento{background:#c62828!important;color:#fff!important}
.agenda-status-motivo{display:block;margin-top:5px;color:#a12a2a;font-weight:700;font-size:10px;line-height:1.15}
@media(max-width:760px){
  .agenda-alerta-quantidade{align-items:stretch!important}
  .agenda-alerta-conteudo{width:100%}
  .agenda-btn-encerrar{width:100%;margin:2px 0 0!important;text-align:center}
  .agenda-encerrar-agendamento-card{padding:25px 18px!important}
  .agenda-modal-acoes.centralizadas{display:grid!important;grid-template-columns:1fr!important}
  .agenda-modal-acoes.centralizadas .btn{width:100%!important}
}

/* v112 - mantém o botão de exclusão do usuário visível no prontuário em modo consulta */
.pessoa-detalhes-page.view-mode .pessoa-excluir-form{display:block!important;margin:0}
.pessoa-detalhes-page.view-mode .pessoa-excluir-form .pessoa-btn-excluir.keep-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center;justify-content:center}
@media(max-width:640px){.pessoa-topo-acoes{width:100%;display:grid;grid-template-columns:1fr;gap:10px}.pessoa-topo-acoes .btn,.pessoa-topo-acoes form{width:100%}.pessoa-topo-acoes .btn{justify-content:center}}

/* v113 - exclusão de usuário sempre visível quando autorizada */
body.view-mode .pessoa-excluir-form{display:inline-flex!important;margin:0!important}
body.view-mode .pessoa-excluir-form button[type="submit"].pessoa-btn-excluir.keep-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important}

/* v115 - campos obrigatórios e anexos seguros */
.required-mark{position:relative;border:0;background:transparent;color:#e11919;font-size:18px;font-weight:1000;line-height:1;padding:0 2px;cursor:pointer;vertical-align:middle}.required-mark:focus{outline:2px solid #18a66b;outline-offset:2px;border-radius:3px}.required-mark::after{content:attr(data-required-message);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:250px;padding:8px 10px;border-radius:8px;background:#15211c;color:#fff;font-size:12px;font-weight:700;line-height:1.3;box-shadow:0 8px 24px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.18s;z-index:30}.required-mark::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#15211c;opacity:0;transition:.18s;z-index:31}.required-mark:focus::after,.required-mark:focus::before,.required-mark[data-tooltip-visible=true]::after,.required-mark[data-tooltip-visible=true]::before{opacity:1;transform:translateX(-50%) translateY(0)}.docs-box input[type=file]::file-selector-button{border:0;border-radius:8px;padding:9px 12px;background:#e9f5ef;color:#075a39;font-weight:800;cursor:pointer}@media(max-width:760px){.required-mark::after{left:0;transform:translateX(0);max-width:210px}.required-mark:focus::after,.required-mark[data-tooltip-visible=true]::after{transform:translateX(0)}}


/* v116 - modal de encerramento funcional no prontuário e lista de origem sem Recepção */
.pessoa-detalhes-page.view-mode .agenda-encerrar-form,
body.view-mode .agenda-encerrar-form{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.pessoa-detalhes-page.view-mode .agenda-encerrar-form textarea,
.pessoa-detalhes-page.view-mode .agenda-encerrar-form input,
body.view-mode .agenda-encerrar-form textarea,
body.view-mode .agenda-encerrar-form input{pointer-events:auto!important;opacity:1!important;filter:none!important}
.pessoa-detalhes-page.view-mode .agenda-encerrar-form .agenda-modal-acoes,
body.view-mode .agenda-encerrar-form .agenda-modal-acoes{display:flex!important;visibility:visible!important;opacity:1!important}
.pessoa-detalhes-page.view-mode .agenda-encerrar-form .agenda-cancelar-encerramento.keep-visible,
.pessoa-detalhes-page.view-mode .agenda-encerrar-form .agenda-confirmar-encerramento.keep-visible,
body.view-mode .agenda-encerrar-form .agenda-cancelar-encerramento.keep-visible,
body.view-mode .agenda-encerrar-form .agenda-confirmar-encerramento.keep-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important}
@media(max-width:640px){.agenda-encerrar-form .agenda-modal-acoes{display:grid!important;grid-template-columns:1fr!important}.agenda-encerrar-form .agenda-modal-acoes .btn{width:100%!important}}

/* SIGAS v117 - rodapé fixo e confirmação sempre visível no modal Encerrar Agendamento */
.agenda-encerrar-agendamento-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  max-height:min(760px,calc(100vh - 24px))!important;
  padding-bottom:0!important;
}
.agenda-encerrar-agendamento-card .agenda-encerrar-form{
  display:block!important;
  overflow-y:auto!important;
  min-height:0!important;
  padding:0 2px 12px!important;
  margin-top:18px!important;
}
.agenda-encerrar-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  flex:0 0 auto!important;
  width:calc(100% + 4px)!important;
  margin:0 -2px!important;
  padding:16px 2px 18px!important;
  border-top:1px solid #e1e9e5!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,35,27,.08)!important;
  display:flex!important;
  justify-content:center!important;
  gap:12px!important;
  visibility:visible!important;
  opacity:1!important;
}
.agenda-encerrar-footer .agenda-cancelar-encerramento,
.agenda-encerrar-footer .agenda-confirmar-encerramento{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:170px!important;
  min-height:44px!important;
}
.agenda-encerrar-footer .agenda-confirmar-encerramento{
  background:#c62828!important;
  border-color:#c62828!important;
  color:#fff!important;
}
.agenda-encerrar-footer .agenda-confirmar-encerramento:hover{
  background:#a91f1f!important;
}
@media(max-width:640px){
  .agenda-encerrar-agendamento-card{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:22px 14px 0!important}
  .agenda-encerrar-footer{display:grid!important;grid-template-columns:1fr!important;padding:12px 0 14px!important}
  .agenda-encerrar-footer .btn{width:100%!important;min-width:0!important}
}
@media(min-width:641px) and (max-width:1100px){
  .agenda-encerrar-agendamento-card{width:min(700px,calc(100vw - 36px))!important}
}

/* SIGAS v120 - menu lateral retrátil em desktop e status encerrado */
@media (min-width: 901px){
  .side,
  .main{
    transition: transform .24s ease, margin-left .24s ease, width .24s ease;
  }
  body.sidebar-collapsed .side,
  html.sidebar-collapsed .side{
    transform: translateX(-100%);
    visibility:hidden;
    pointer-events:none;
  }
  body.sidebar-collapsed .main,
  html.sidebar-collapsed .main{
    margin-left:0!important;
    width:100%!important;
  }
  body.sidebar-collapsed .topbar,
  html.sidebar-collapsed .topbar{
    padding-left:18px;
  }
}

/* Botão menor, discreto e acessível em qualquer tela */
#menuToggle.hamb{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:9px!important;
  border:1px solid #cfd9d4!important;
  background:#f8fbf9!important;
  color:#17372a!important;
  font-size:18px!important;
  line-height:1!important;
  padding:0!important;
  box-shadow:0 2px 7px rgba(16,24,40,.06);
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#menuToggle.hamb:hover,
#menuToggle.hamb:focus-visible{
  background:#eaf5ef!important;
  box-shadow:0 0 0 3px rgba(0,142,80,.12)!important;
  outline:none!important;
}
#menuToggle.hamb:active{transform:scale(.96)}

/* Status encerrado destacado como selo vermelho */
.acompanhamento-tabela .status-pill.finalizado,
.pessoa-aba[data-conteudo="acompanhamento"] .status-pill.finalizado{
  background:#dc2626!important;
  color:#fff!important;
  border:1px solid #b91c1c!important;
  box-shadow:0 2px 5px rgba(185,28,28,.16);
  text-transform:uppercase;
}

@media (max-width: 900px){
  #menuToggle.hamb{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    font-size:19px!important;
    position:relative!important;
    z-index:1200!important;
  }
  body.sidebar-collapsed .side,
  html.sidebar-collapsed .side{
    transform:translateX(-105%)!important;
  }
}

@media (min-width: 1500px){
  #menuToggle.hamb{width:36px!important;height:36px!important;min-width:36px!important}
}


/* SIGAS v121 - controles independentes para menu lateral e barra superior */
.panel-hamb{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border:1px solid #cfd9d4;
  border-radius:9px;
  background:#f8fbf9;
  color:#17372a;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(16,24,40,.08);
  transition:left .24s ease,top .24s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.panel-hamb:hover,.panel-hamb:focus-visible{
  background:#eaf5ef;
  box-shadow:0 0 0 3px rgba(0,142,80,.14);
  outline:none;
}
.panel-hamb:active{transform:scale(.96)}

/* Controle próprio do menu lateral: permanece acessível mesmo recolhido */
.side-panel-hamb{
  position:fixed;
  top:14px;
  left:214px;
  z-index:1305;
  background:rgba(255,255,255,.96);
}
body.sidebar-collapsed .side-panel-hamb,
html.sidebar-collapsed .side-panel-hamb{left:10px}

/* Controle próprio da barra superior */
.topbar-left{display:flex;align-items:flex-start;gap:10px;min-width:0}
.topbar-panel-hamb{flex:0 0 auto}
.topbar{transition:height .24s ease,padding .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease}
body.topbar-collapsed .topbar,
html.topbar-collapsed .topbar{
  height:0!important;
  min-height:0!important;
  padding:0!important;
  border-bottom-color:transparent!important;
  background:transparent!important;
  overflow:visible!important;
  box-shadow:none!important;
}
body.topbar-collapsed .topbar .crumb,
body.topbar-collapsed .topbar .top-actions,
html.topbar-collapsed .topbar .crumb,
html.topbar-collapsed .topbar .top-actions{display:none!important}
body.topbar-collapsed .topbar-left,
html.topbar-collapsed .topbar-left{display:block!important}
body.topbar-collapsed .topbar-panel-hamb,
html.topbar-collapsed .topbar-panel-hamb{
  position:fixed;
  top:10px;
  left:278px;
  z-index:1304;
  background:#fff;
}
body.sidebar-collapsed.topbar-collapsed .topbar-panel-hamb,
html.sidebar-collapsed.topbar-collapsed .topbar-panel-hamb{left:54px}
body.topbar-collapsed .page,
html.topbar-collapsed .page{padding-top:54px}

/* O antigo seletor não deve mais comandar os dois painéis */
#menuToggle{display:none!important}

@media(max-width:900px){
  .side-panel-hamb{
    top:10px;
    left:10px;
    z-index:1405;
    width:36px;
    height:36px;
    min-width:36px;
    font-size:19px;
  }
  body.menu-open .side-panel-hamb,
  html.menu-open .side-panel-hamb{left:min(224px,calc(100vw - 48px))}
  .topbar{padding-left:56px!important}
  body.topbar-collapsed .topbar-panel-hamb,
  html.topbar-collapsed .topbar-panel-hamb,
  body.sidebar-collapsed.topbar-collapsed .topbar-panel-hamb,
  html.sidebar-collapsed.topbar-collapsed .topbar-panel-hamb{
    left:56px;
    top:10px;
  }
  body.topbar-collapsed .page,
  html.topbar-collapsed .page{padding-top:52px}
}

@media(min-width:901px) and (max-width:1200px){
  .side-panel-hamb{left:212px}
  body.topbar-collapsed .topbar-panel-hamb,
  html.topbar-collapsed .topbar-panel-hamb{left:276px}
}

@media(min-width:1600px){
  .side-panel-hamb,.topbar-panel-hamb{width:36px;height:36px;min-width:36px}
}

/* SIGAS v129 - validação visual do acompanhamento */
.acompanhamento-erro-campo{display:block;margin-top:6px;color:#c62828;font-size:12px;font-weight:800;line-height:1.35}
.acompanhamento-form-inline input.campo-invalido,.acompanhamento-form-inline select.campo-invalido,.acompanhamento-form-inline textarea.campo-invalido{border-color:#d32f2f!important;box-shadow:0 0 0 3px rgba(211,47,47,.14)!important;background:#fff8f8}
.acompanhamento-required-mark{font-size:17px;margin-left:2px}
@media(max-width:760px){.acompanhamento-required-mark{font-size:16px}.acompanhamento-erro-campo{font-size:11.5px}}


/* SIGAS v131 - formulario de acompanhamento sempre editavel */
body.view-mode form.acompanhamento-editavel-form,
.pessoa-detalhes-page.view-mode form.acompanhamento-editavel-form{
  display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}
body.view-mode form.acompanhamento-editavel-form input,
body.view-mode form.acompanhamento-editavel-form textarea,
body.view-mode form.acompanhamento-editavel-form select,
body.view-mode form.acompanhamento-editavel-form button,
.pessoa-detalhes-page.view-mode form.acompanhamento-editavel-form input,
.pessoa-detalhes-page.view-mode form.acompanhamento-editavel-form textarea,
.pessoa-detalhes-page.view-mode form.acompanhamento-editavel-form select,
.pessoa-detalhes-page.view-mode form.acompanhamento-editavel-form button{
  pointer-events:auto!important;opacity:1!important;visibility:visible!important;filter:none!important;
}
body.view-mode form.acompanhamento-editavel-form input:not([type=radio]):not([type=checkbox]),
body.view-mode form.acompanhamento-editavel-form textarea,
body.view-mode form.acompanhamento-editavel-form select{
  background:#fff!important;color:#10241b!important;cursor:text!important;
}
body.view-mode form.acompanhamento-editavel-form select{cursor:pointer!important}
body.view-mode form.acompanhamento-editavel-form button[type=submit].acompanhamento-salvar{display:inline-flex!important}

/* v132 - campos obrigatorios do acompanhamento */
.acompanhamento-campo-label{display:flex;flex-direction:column;gap:8px}.acompanhamento-label-texto{display:inline-flex;align-items:center;gap:4px;font-weight:800;line-height:1.2}.acompanhamento-required-mark{display:inline-flex;align-items:center;justify-content:center;position:relative;top:0;margin:0;padding:0 2px;line-height:1;color:#d71920}.acompanhamento-campo-label input,.acompanhamento-campo-label textarea,.acompanhamento-campo-label select{width:100%}@media(max-width:760px){.acompanhamento-label-texto{font-size:14px}}


/* v141 - botão Excluir do prontuário independente do bloqueio de formulários em modo consulta */
.pessoa-topo-acoes > .pessoa-btn-excluir.keep-visible{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  background:#d92d20!important;
  color:#fff!important;
  border:1px solid #d92d20!important;
}
.pessoa-topo-acoes > .pessoa-btn-excluir.keep-visible:hover{background:#b42318!important;border-color:#b42318!important}
.pessoa-excluir-form-oculto{display:none!important}
@media(max-width:580px){.pessoa-topo-acoes > .pessoa-btn-excluir.keep-visible{width:100%!important}}
@media print{.pessoa-topo-acoes > .pessoa-btn-excluir.keep-visible{display:none!important}}

/* ===== SIGAS v147: voltar no topo e validação visual do tipo ===== */
.atendimento-form-inline-header{align-items:center}
.atendimento-inline-cabecalho-conteudo{min-width:0}
.atendimento-voltar-topo{flex:0 0 auto;white-space:nowrap;min-width:112px;justify-content:center}
.atendimento-campo-erro{margin-top:7px;color:#b42318;font-size:12px;font-weight:800;line-height:1.35}
.atendimento-combobox.tem-erro .atendimento-combobox-trigger,
.atendimento-combobox.tem-erro [data-combobox-input]{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}
.atendimento-combobox.tem-erro .atendimento-combobox-trigger{color:#b42318}
@media(max-width:760px){
  .atendimento-form-inline-header{align-items:stretch}
  .atendimento-voltar-topo{width:100%;min-height:44px}
}


/* v148 - Prontuário familiar integrado */
.familia-page{display:grid;gap:18px}.familia-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.familia-cabecalho h2{margin:4px 0 5px;font-size:24px}.familia-cabecalho p{margin:0;color:#667085;max-width:720px}.familia-etiqueta{font-size:11px;font-weight:900;letter-spacing:.08em;color:#087a50}.familia-resumo{min-width:135px;padding:14px 18px;background:linear-gradient(135deg,#087a50,#0aa867);color:#fff;border-radius:14px;text-align:center;box-shadow:0 8px 22px rgba(8,122,80,.18)}.familia-resumo strong{display:block;font-size:28px;line-height:1}.familia-resumo span{font-size:11px}.familia-inicio-card,.familia-alerta{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #d9e5df;border-radius:16px;background:#f8fbf9}.familia-inicio-card>div:nth-child(2){flex:1}.familia-inicio-card h3,.familia-inicio-card p,.familia-alerta p{margin:0}.familia-inicio-card p,.familia-alerta p{color:#667085;margin-top:5px}.familia-inicio-icone{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#e8f6ef;color:#087a50;font-size:27px}.familia-alerta{background:#fff8e8;border-color:#f4d58c;margin-bottom:18px}.familia-alerta>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f79009;color:#fff;font-weight:900}.familia-grid-topo{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:18px}.familia-painel{border:1px solid #dfe7e3;border-radius:16px;background:#fff;overflow:hidden}.familia-painel-titulo{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px;border-bottom:1px solid #e7ece9}.familia-painel-titulo h3{margin:0 0 3px;font-size:17px}.familia-painel-titulo p{margin:0;color:#667085;font-size:12px}.familia-painel-titulo>span,.familia-painel-titulo>a{font-size:11px;font-weight:800;color:#087a50;background:#ecf8f2;padding:6px 9px;border-radius:999px;text-decoration:none;white-space:nowrap}.familia-busca-wrap{position:relative;margin:16px}.familia-busca-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px;color:#667085}.familia-busca-wrap input{width:100%;height:46px;padding:0 112px 0 42px;border:1px solid #cfdad5;border-radius:12px;background:#fbfdfc;font:inherit;outline:none}.familia-busca-wrap input:focus{border-color:#0a9a61;box-shadow:0 0 0 3px rgba(10,154,97,.12)}.familia-busca-loading{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:#087a50}.familia-resultados{max-height:390px;overflow:auto;border-top:1px solid #eef1ef}.familia-busca-vazia{padding:28px;text-align:center;color:#667085}.familia-busca-vazia.erro{color:#b42318}.familia-resultado{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #eef1ef}.familia-resultado:last-child{border-bottom:0}.familia-resultado.bloqueado{background:#fafafa;opacity:.75}.familia-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e6f6ee;color:#087a50;font-weight:900;font-size:17px;flex:0 0 auto}.familia-resultado-info{min-width:0}.familia-resultado-info strong,.familia-resultado-info small{display:block}.familia-resultado-info strong{font-size:13px}.familia-resultado-info small{color:#667085;font-size:11px;overflow-wrap:anywhere;margin-top:2px}.familia-resultado-info em{display:inline-block;margin-top:5px;font-style:normal;font-size:10px;font-weight:800;color:#087a50}.familia-resultado-info em.aviso{color:#b42318}.familia-vinculo-form{display:grid;gap:7px;min-width:175px}.familia-vinculo-form select{height:36px;border:1px solid #cfdad5;border-radius:8px;padding:0 8px;font-size:11px;background:#fff}.familia-vinculo-form .btn{min-height:34px;padding:7px 11px;font-size:11px;justify-content:center}.familia-dados-lista{margin:0;padding:12px 18px}.familia-dados-lista>div{padding:9px 0;border-bottom:1px dashed #e2e8e5}.familia-dados-lista>div:last-child{border:0}.familia-dados-lista dt{color:#667085;font-size:10px}.familia-dados-lista dd{margin:3px 0 0;font-weight:800;font-size:12px;overflow-wrap:anywhere}.familia-membros-painel,.familia-historico-painel{margin-top:18px}.familia-membros-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.familia-membro-card{display:flex;align-items:center;gap:11px;border:1px solid #e1e8e4;border-radius:13px;padding:13px;position:relative;min-width:0}.familia-membro-card.atual{border-color:#43b581;background:#f2fbf6}.familia-membro-info{min-width:0;flex:1}.familia-membro-nome{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.familia-membro-nome a{font-weight:900;color:#17231e;text-decoration:none;font-size:12px}.familia-membro-nome span{font-size:9px;background:#087a50;color:#fff;padding:3px 6px;border-radius:999px}.familia-membro-info p{margin:3px 0}.familia-membro-info p b{font-size:10px;color:#087a50}.familia-membro-info small{display:block;color:#667085;font-size:9px;overflow-wrap:anywhere}.familia-remover{border:0;background:#fee4e2;color:#b42318;border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:18px;line-height:1}.familia-historico-wrap{overflow:auto}.familia-historico{min-width:850px}.familia-historico td b,.familia-historico td small{display:block}.familia-historico td small{max-width:340px;color:#667085;margin-top:3px;white-space:normal}.familia-historico tr.beneficio-alerta td{background:#fffaf0}.familia-historico tr.beneficio-alerta td:first-child{box-shadow:inset 4px 0 #f79009}.familia-historico a{font-weight:800;color:#087a50;text-decoration:none}
@media(max-width:1150px){.familia-grid-topo{grid-template-columns:1fr}.familia-membros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.familia-cabecalho,.familia-inicio-card{flex-direction:column}.familia-resumo{width:100%}.familia-inicio-card form,.familia-inicio-card .btn{width:100%}.familia-membros-grid{grid-template-columns:1fr}.familia-resultado{grid-template-columns:38px minmax(0,1fr)}.familia-vinculo-form{grid-column:1/-1;grid-template-columns:1fr auto;min-width:0}.familia-vinculo-form .btn{width:auto}.familia-painel-titulo{align-items:flex-start}.familia-cabecalho h2{font-size:21px}}

/* v149 - composição familiar rápida, sem selects */
.familia-pesquisa-rapida{min-height:420px}.familia-busca-rapida input{padding-right:145px}.familia-limpar-busca{position:absolute;right:100px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:#edf2ef;color:#475467;font-size:20px;line-height:1;cursor:pointer}.familia-dica-rapida{margin:-4px 16px 14px;padding:10px 12px;border-radius:10px;background:#f3faf6;color:#42544b;font-size:11px;border:1px solid #dceee4}.familia-dica-rapida strong{color:#087a50}.familia-sugestoes-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;background:#f8fbf9;border-top:1px solid #e7eeea;border-bottom:1px solid #e7eeea}.familia-sugestoes-titulo strong{font-size:12px}.familia-sugestoes-titulo span{font-size:10px;color:#667085}.familia-resultados-rapidos{max-height:520px}.familia-resultado-rapido{grid-template-columns:42px minmax(190px,1fr);align-items:flex-start}.familia-resultado-rapido .familia-vinculos-rapidos{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-left:54px}.familia-vinculo-direto{margin:0}.familia-vinculo-direto button,.familia-mais-vinculos summary{border:1px solid #b9daca;background:#f1fbf5;color:#087a50;border-radius:999px;padding:7px 11px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap;transition:.16s ease}.familia-vinculo-direto button:hover,.familia-mais-vinculos summary:hover{background:#087a50;color:#fff;border-color:#087a50;transform:translateY(-1px)}.familia-vinculo-direto button:disabled{opacity:.65;cursor:wait;transform:none}.familia-mais-vinculos{position:relative}.familia-mais-vinculos summary{list-style:none}.familia-mais-vinculos summary::-webkit-details-marker{display:none}.familia-mais-vinculos>div{position:absolute;z-index:30;right:0;top:calc(100% + 7px);width:290px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px;border:1px solid #d8e5de;border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(15,45,31,.18)}.familia-mais-vinculos .familia-vinculo-direto button{width:100%;border-radius:8px;text-align:left}.familia-motivo{margin-right:6px}.familia-resultado-rapido.bloqueado{grid-template-columns:42px minmax(0,1fr)}
@media(min-width:1100px){.familia-grid-topo{grid-template-columns:minmax(0,1.8fr) minmax(290px,.72fr)}.familia-resultado-rapido{grid-template-columns:42px minmax(220px,1fr) minmax(360px,auto);align-items:center}.familia-resultado-rapido .familia-vinculos-rapidos{grid-column:auto;padding-left:0;justify-content:flex-end}.familia-resultado-rapido.bloqueado{grid-template-columns:42px minmax(0,1fr)}}
@media(max-width:700px){.familia-busca-rapida input{padding-right:98px}.familia-limpar-busca{right:66px}.familia-busca-loading{right:8px;font-size:9px}.familia-resultado-rapido .familia-vinculos-rapidos{padding-left:0}.familia-vinculo-direto button,.familia-mais-vinculos summary{padding:8px 10px}.familia-mais-vinculos>div{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto;max-height:55vh;overflow:auto}.familia-sugestoes-titulo{align-items:flex-start;flex-direction:column;gap:2px}}


/* SIGAS v150 - ações familiares sempre disponíveis no modo de visualização */
.pessoa-detalhes-page.view-mode form.familia-acao-form,
body.view-mode form.familia-acao-form{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.pessoa-detalhes-page.view-mode form.familia-acao-form button[type="submit"],
body.view-mode form.familia-acao-form button[type="submit"],
.view-mode .familia-vinculo-form button[type="submit"],
.view-mode .familia-criar-form button[type="submit"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
}
.familia-criar-form{margin-left:auto;flex:0 0 auto}
.familia-btn-principal{
  min-height:44px!important;
  padding:11px 18px!important;
  gap:7px;
  border-radius:11px!important;
  background:linear-gradient(135deg,#078a55,#09aa68)!important;
  border:1px solid #078a55!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(7,138,85,.20)!important;
  white-space:nowrap;
}
.familia-btn-principal:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(7,138,85,.27)!important}
@media(max-width:700px){
 .familia-criar-form{width:100%;margin-left:0}
 .familia-btn-principal{width:100%!important;white-space:normal;text-align:center}
}

/* SIGAS v151 - botão de criação do núcleo familiar imune ao modo de visualização */
.familia-inicio-card .familia-criar-form{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:290px;
  margin-left:auto;
}
.familia-inicio-card .familia-criar-form .familia-btn-principal[type="button"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
}
@media(max-width:800px){
  .familia-inicio-card .familia-criar-form{width:100%;min-width:0;margin-left:0}
  .familia-inicio-card .familia-criar-form .familia-btn-principal{width:100%!important}
}

/* SIGAS v152 - composição familiar funcional e imune ao modo consulta */
.familia-criar-acoes{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:310px}
.familia-criar-acoes small{font-size:10px;color:#667085;text-align:right}
.familia-criar-form-oculto{display:none!important}
.familia-btn-link{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;text-decoration:none!important;align-items:center;justify-content:center}
.familia-btn-link.carregando{opacity:.72!important;pointer-events:none!important}

body.view-mode .familia-vinculo-direto,
.pessoa-detalhes-page.view-mode .familia-vinculo-direto,
.view-mode form.familia-vinculo-direto{
  display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;margin:0!important;
}
body.view-mode form.familia-vinculo-direto button.familia-vinculo-btn,
.pessoa-detalhes-page.view-mode form.familia-vinculo-direto button.familia-vinculo-btn,
.view-mode form.familia-vinculo-direto button.familia-vinculo-btn,
.familia-vinculo-direto button.familia-vinculo-btn{
  display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  align-items:center!important;justify-content:center!important;
}
.familia-resultado-rapido .familia-vinculos-rapidos{min-width:0!important;position:relative;z-index:2}
.familia-resultado-rapido{overflow:visible!important}
.familia-resultados-rapidos{overflow-x:hidden!important}
.familia-vinculo-btn{min-height:32px}

@media(max-width:800px){
  .familia-criar-acoes{width:100%;min-width:0;margin-left:0;align-items:stretch}
  .familia-criar-acoes small{text-align:center}
  .familia-btn-link{width:100%!important;white-space:normal!important;text-align:center}
}

/* SIGAS v153 - seleção, salvamento e remoção de vínculos familiares */
.familia-vinculo-selecao{grid-column:1/-1;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;margin-top:10px;padding:12px;border:1px solid #dbe8e1;border-radius:12px;background:#f8fcfa}
.familia-vinculo-selecao label,.familia-editar-vinculo label{display:block;margin-bottom:6px;font-size:10px;font-weight:800;color:#34463d}
.familia-vinculo-selecao-linha,.familia-editar-vinculo-linha{display:flex;gap:8px;align-items:center}
.familia-vinculo-selecao select,.familia-editar-vinculo select{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;min-width:220px;height:38px;border:1px solid #b9cec3;border-radius:9px;background:#fff;padding:0 10px;color:#17231e;font-size:11px;flex:1}
.familia-salvar-vinculo{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:9px;padding:0 14px;background:#078a55;color:#fff;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 5px 12px rgba(7,138,85,.18)}
.familia-salvar-vinculo:hover{background:#056f45;transform:translateY(-1px)}
.familia-salvar-vinculo:disabled{opacity:.65!important;cursor:wait;transform:none}
.familia-editar-vinculo{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;margin-top:10px}
.familia-remover-form{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:absolute;right:10px;top:10px;z-index:4}
.familia-remover-form .familia-remover{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;place-items:center;width:30px;height:30px;border:1px solid #f2b8b5;background:#fff0ef;color:#b42318;font-size:20px;font-weight:800;box-shadow:0 3px 9px rgba(180,35,24,.12)}
.familia-remover-form .familia-remover:hover{background:#b42318;color:#fff;border-color:#b42318}
.familia-membro-card{padding-right:48px}
.familia-membro-card .familia-membro-info{width:100%}
body.view-mode .familia-vinculo-selecao,body.view-mode .familia-editar-vinculo,body.view-mode .familia-remover-form,
.pessoa-detalhes-page.view-mode .familia-vinculo-selecao,.pessoa-detalhes-page.view-mode .familia-editar-vinculo,.pessoa-detalhes-page.view-mode .familia-remover-form{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body.view-mode .familia-vinculo-selecao select,body.view-mode .familia-editar-vinculo select,
body.view-mode .familia-salvar-vinculo,body.view-mode .familia-remover{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:700px){
 .familia-vinculo-selecao-linha,.familia-editar-vinculo-linha{flex-direction:column;align-items:stretch}
 .familia-vinculo-selecao select,.familia-editar-vinculo select{width:100%;min-width:0}
 .familia-salvar-vinculo{width:100%}
 .familia-membro-card{padding-right:44px}
}

/* SIGAS v154 - nova composição familiar */
.familia-nova-page{display:grid;gap:18px}.familia-nova-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.familia-nova-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:#087a50;margin-bottom:5px}.familia-nova-header h2{margin:0 0 6px;font-size:24px;color:#14251d}.familia-nova-header p{margin:0;color:#667085;max-width:760px}.familia-nova-contador{min-width:120px;border-radius:16px;padding:14px 18px;text-align:center;background:linear-gradient(135deg,#087a50,#0aa867);color:#fff;box-shadow:0 10px 24px rgba(8,122,80,.18)}.familia-nova-contador strong{display:block;font-size:28px;line-height:1}.familia-nova-contador span{font-size:11px}.familia-nova-vazio{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;border:1px solid #d9e5df;border-radius:18px;background:linear-gradient(180deg,#fbfefc,#f5faf7)}.familia-nova-vazio-icone{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#e8f6ef;color:#087a50;font-size:28px}.familia-nova-vazio h3{margin:0 0 5px}.familia-nova-vazio p{margin:0;color:#667085}.familia-nova-conteudo{display:grid;gap:18px}.familia-nova-card{border:1px solid #dfe7e3;border-radius:18px;background:#fff;overflow:visible;box-shadow:0 5px 18px rgba(28,62,45,.04)}.familia-nova-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;border-bottom:1px solid #e8eeeb}.familia-nova-card-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.familia-nova-card-head h3{margin:0;font-size:18px}.familia-nova-card-head p{grid-column:2;margin:3px 0 0;color:#667085;font-size:12px}.familia-nova-step{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8f6ef;color:#087a50;font-weight:900;font-size:12px}.familia-nova-form{padding:20px}.familia-nova-grid-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:16px;align-items:start}.familia-nova-field{position:relative}.familia-nova-field label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#263b31}.familia-nova-field select,.familia-nova-searchbox input{width:100%;height:46px;border:1px solid #c8d6cf;border-radius:12px;background:#fff;font:inherit;color:#17231e;outline:none}.familia-nova-field select{padding:0 12px}.familia-nova-field select:focus,.familia-nova-searchbox input:focus{border-color:#0a9a61;box-shadow:0 0 0 3px rgba(10,154,97,.12)}.familia-nova-field select:disabled{background:#f4f6f5;color:#98a2b3}.familia-nova-searchbox{position:relative}.familia-nova-searchbox>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#667085;font-size:20px}.familia-nova-searchbox input{padding:0 42px}.familia-nova-searchbox button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:#eef4f1;color:#34463d;cursor:pointer;font-size:18px}.familia-nova-loading{position:absolute;right:8px;top:72px;font-size:10px;color:#087a50}.familia-nova-resultados{position:absolute;z-index:50;top:76px;left:0;right:0;max-height:310px;overflow:auto;border:1px solid #cddbd4;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(21,57,39,.16)}.familia-nova-result-item{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px 13px;border:0;border-bottom:1px solid #edf1ef;background:#fff;text-align:left;cursor:pointer;color:inherit}.familia-nova-result-item:last-child{border-bottom:0}.familia-nova-result-item:hover:not(:disabled){background:#f4fbf7}.familia-nova-result-item:disabled{cursor:not-allowed;opacity:.58;background:#fafafa}.familia-nova-result-info{min-width:0}.familia-nova-result-info strong,.familia-nova-result-info small{display:block}.familia-nova-result-info strong{font-size:12px}.familia-nova-result-info small{font-size:10px;color:#667085;margin-top:2px;overflow-wrap:anywhere}.familia-nova-result-action{font-size:10px;font-weight:900;color:#087a50;white-space:nowrap}.familia-nova-empty{padding:22px;text-align:center;color:#667085;font-size:12px}.familia-nova-empty.erro{color:#b42318}.familia-nova-selecionado{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px 15px;border:1px solid #b9dec9;border-radius:13px;background:#f3fbf6}.familia-nova-selecionado>div:nth-child(2){flex:1;min-width:0}.familia-nova-selecionado strong,.familia-nova-selecionado small{display:block}.familia-nova-selecionado small{margin-top:2px;color:#667085}.familia-nova-selecionado>button{border:0;width:30px;height:30px;border-radius:50%;background:#fee4e2;color:#b42318;font-size:19px;cursor:pointer}.familia-nova-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5f6ed;color:#087a50;font-weight:900;flex:0 0 auto}.familia-nova-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #edf1ef}.familia-nova-btn-primary,.familia-nova-btn-save{background:#087a50!important;color:#fff!important;border-color:#087a50!important}.familia-nova-btn-primary:disabled,.familia-nova-btn-save:disabled{opacity:.5;cursor:not-allowed}.familia-nova-membros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.familia-nova-membro{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid #dfe7e3;border-radius:14px;background:#fff;position:relative}.familia-nova-membro.atual{border-color:#4fbd87;background:#f3fbf6}.familia-nova-membro-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.familia-nova-membro-title a{font-weight:900;color:#15251d;text-decoration:none;font-size:13px}.familia-nova-membro-title span{font-size:9px;padding:3px 7px;border-radius:999px;background:#087a50;color:#fff}.familia-nova-membro-title span.visualizando{background:#e9f3ee;color:#087a50}.familia-nova-membro-main small{display:block;color:#667085;font-size:10px;margin-top:3px}.familia-nova-vinculo-atual{display:inline-block;margin-top:7px;font-size:10px;color:#087a50}.familia-nova-membro-acoes{display:flex;align-items:center;gap:8px}.familia-nova-edit-form{display:flex!important;align-items:center;gap:7px}.familia-nova-edit-form select{height:36px;min-width:190px;border:1px solid #c8d6cf;border-radius:9px;background:#fff;padding:0 9px;font-size:11px}.familia-nova-btn-save{min-height:36px!important;padding:7px 12px!important;font-size:11px!important}.familia-nova-remove{display:grid!important;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#fee4e2;color:#b42318;font-size:20px;cursor:pointer}.familia-nova-badge{font-size:10px;font-weight:900;color:#087a50;background:#eaf7f0;padding:6px 9px;border-radius:999px;white-space:nowrap}.familia-nova-historico-card{overflow:hidden}
body.view-mode .familia-nova-form,body.view-mode .familia-nova-edit-form,body.view-mode .familia-acao-form,.pessoa-detalhes-page.view-mode .familia-nova-form,.pessoa-detalhes-page.view-mode .familia-nova-edit-form,.pessoa-detalhes-page.view-mode .familia-acao-form{display:block;visibility:visible;opacity:1;pointer-events:auto}body.view-mode .familia-nova-grid-form,.pessoa-detalhes-page.view-mode .familia-nova-grid-form{display:grid}body.view-mode .familia-nova-edit-form,.pessoa-detalhes-page.view-mode .familia-nova-edit-form{display:flex!important}body.view-mode .familia-nova-page button,body.view-mode .familia-nova-page select,body.view-mode .familia-nova-page input,.pessoa-detalhes-page.view-mode .familia-nova-page button,.pessoa-detalhes-page.view-mode .familia-nova-page select,.pessoa-detalhes-page.view-mode .familia-nova-page input{visibility:visible!important;opacity:1;pointer-events:auto}
@media(max-width:1100px){.familia-nova-membros{grid-template-columns:1fr}.familia-nova-membro{grid-template-columns:42px minmax(0,1fr)}.familia-nova-membro-acoes{grid-column:1/-1;justify-content:flex-end;padding-top:10px;border-top:1px solid #edf1ef}}
@media(max-width:760px){.familia-nova-header{flex-direction:column}.familia-nova-contador{width:100%}.familia-nova-vazio{grid-template-columns:1fr;text-align:center}.familia-nova-vazio-icone{margin:auto}.familia-nova-grid-form{grid-template-columns:1fr}.familia-nova-results{position:static}.familia-nova-actions{flex-direction:column-reverse}.familia-nova-actions .btn{width:100%;justify-content:center}.familia-nova-membros{padding:12px}.familia-nova-membro-acoes{align-items:stretch;flex-direction:column}.familia-nova-edit-form{width:100%;flex-direction:column;align-items:stretch!important}.familia-nova-edit-form select{width:100%;min-width:0}.familia-nova-remove{align-self:flex-end}.familia-nova-card-head{padding:15px}.familia-nova-form{padding:15px}.familia-nova-result-item{grid-template-columns:38px minmax(0,1fr)}.familia-nova-result-action{grid-column:2}.familia-nova-search-field{z-index:3}}

/* SIGAS v155 - identificação familiar e prevenção de duplicidade de benefícios */
.familia-nova-search-help{display:block;margin:7px 2px 0;color:#667085;font-size:10px;line-height:1.4}.familia-nova-result-title{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;background:#edf8f2;border-bottom:1px solid #d9eae1;color:#087a50}.familia-nova-result-title strong{font-size:11px}.familia-nova-result-title span{font-size:9px;color:#667085}.familia-nova-result-item{cursor:default}.familia-nova-result-item.familia-encontrada{background:#fffaf0}.familia-nova-result-info em{display:block;margin-top:5px;color:#087a50;font-size:9px;font-style:normal;font-weight:800}.familia-nova-result-info .familia-nova-family-info{margin-top:6px;padding-top:5px;border-top:1px dashed #d7e3dd;color:#34463d;font-weight:800}.familia-nova-result-info .familia-nova-last-benefit{color:#b54708;font-weight:800}.familia-nova-result-action{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid #a9d7bf;border-radius:9px;background:#eef9f3;color:#087a50;text-decoration:none;cursor:pointer}.familia-nova-result-action:hover{background:#087a50;color:#fff;border-color:#087a50}.familia-nova-open{background:#fff5e8;border-color:#f2c783;color:#9a5b0b}
.familia-beneficios-card{overflow:hidden}.familia-beneficios-card .familia-nova-badge{text-decoration:none}.familia-beneficios-resumo{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px;padding:18px 20px;background:linear-gradient(135deg,#fff9ed,#fffdf8);border-bottom:1px solid #f4e5c8}.familia-beneficios-resumo>div{padding-right:18px;border-right:1px solid #efd9ac}.familia-beneficios-resumo span,.familia-beneficios-resumo strong,.familia-beneficios-resumo small{display:block}.familia-beneficios-resumo span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#a15c06}.familia-beneficios-resumo strong{font-size:30px;line-height:1.1;color:#b54708}.familia-beneficios-resumo small{font-size:10px;color:#667085}.familia-beneficios-resumo p{margin:0;color:#6f4b14;font-size:12px;line-height:1.5}.familia-beneficios-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:16px}.familia-beneficios-lista article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid #eadfc9;border-radius:13px;background:#fffdf9}.familia-beneficio-icone{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff0d5;color:#b54708}.familia-beneficios-lista article p{margin:3px 0;color:#475467;font-size:10px}.familia-beneficios-lista article small{display:block;color:#667085;font-size:9px}.familia-beneficio-data{text-align:right}.familia-beneficio-data strong,.familia-beneficio-data span{display:block}.familia-beneficio-data strong{font-size:11px}.familia-beneficio-data span{margin-top:5px;padding:3px 6px;border-radius:999px;background:#e7f7ee;color:#087a50;font-size:8px;font-weight:900}.familia-beneficios-vazio{display:flex;align-items:center;gap:12px;padding:20px}.familia-beneficios-vazio>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f7ee;color:#087a50;font-weight:900}.familia-beneficios-vazio strong,.familia-beneficios-vazio p{display:block;margin:0}.familia-beneficios-vazio p{margin-top:3px;color:#667085;font-size:11px}

.busca-familiar-page{display:grid;gap:18px}.busca-familiar-hero{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);gap:28px;align-items:end;padding:26px;border-radius:20px;background:linear-gradient(135deg,#073f2d,#087a50 58%,#0aa867);color:#fff;box-shadow:0 14px 34px rgba(7,80,52,.2)}.busca-familiar-hero>div>span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#bfe8d2}.busca-familiar-hero h1{margin:7px 0;font-size:27px;line-height:1.15}.busca-familiar-hero p{margin:0;color:#d9f0e4;font-size:12px;line-height:1.5}.busca-familiar-form label{display:block;margin-bottom:7px;font-size:11px;font-weight:800}.busca-familiar-form>div{display:flex;gap:8px;padding:6px;border-radius:14px;background:#fff}.busca-familiar-form input{min-width:0;flex:1;height:44px;border:0;padding:0 10px;font:inherit;outline:0}.busca-familiar-form .btn{flex:0 0 auto}.busca-familiar-dica{padding:14px 16px;border:1px solid #cfe5da;border-radius:13px;background:#f2faf6;color:#42544b;font-size:12px}.busca-familiar-resumo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 16px;border:1px solid #dce7e1;border-radius:13px;background:#fff}.busca-familiar-resumo strong{font-size:19px;color:#087a50;margin-left:12px}.busca-familiar-resumo strong:first-child{margin-left:0}.busca-familiar-resumo span{font-size:11px;color:#667085}.busca-familiar-section{border:1px solid #dde7e2;border-radius:18px;background:#fff;overflow:hidden}.busca-familiar-title{padding:17px 19px;border-bottom:1px solid #e7eeea}.busca-familiar-title>div{display:flex;align-items:center;gap:11px}.busca-familiar-title>div>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9f6ef;color:#087a50}.busca-familiar-title h2,.busca-familiar-title p{margin:0}.busca-familiar-title h2{font-size:17px}.busca-familiar-title p{margin-top:2px;color:#667085;font-size:11px}.busca-grupos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.busca-grupo-card{display:flex;flex-direction:column;border:1px solid #dfe7e3;border-radius:15px;padding:15px;min-width:0}.busca-grupo-card>header{display:flex;align-items:center;gap:11px}.busca-grupo-avatar,.busca-pessoa-avatar{width:42px;height:42px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e5f6ed;color:#087a50;font-weight:900}.busca-grupo-card header small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#087a50}.busca-grupo-card h3,.busca-grupo-card p{margin:0}.busca-grupo-card h3{font-size:14px}.busca-grupo-card header p{margin-top:3px;color:#667085;font-size:9px;overflow-wrap:anywhere}.busca-grupo-indicadores{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.busca-grupo-indicadores span{padding:5px 8px;border-radius:999px;background:#eff6f2;color:#42544b;font-size:9px}.busca-grupo-indicadores span.alerta{background:#fff0d5;color:#9a5b0b}.busca-grupo-membros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.busca-grupo-membros a{display:block;padding:8px 9px;border-radius:9px;background:#f8fbf9;text-decoration:none;min-width:0}.busca-grupo-membros strong,.busca-grupo-membros small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.busca-grupo-membros strong{font-size:10px;color:#17231e}.busca-grupo-membros small{margin-top:2px;font-size:8px;color:#087a50}.busca-grupo-ultimo{margin-top:10px;padding:10px;border-left:3px solid #f79009;border-radius:8px;background:#fffaf0}.busca-grupo-ultimo span,.busca-grupo-ultimo strong,.busca-grupo-ultimo small{display:block}.busca-grupo-ultimo span{font-size:8px;color:#667085}.busca-grupo-ultimo strong{font-size:11px;color:#9a5b0b}.busca-grupo-ultimo small{font-size:9px;color:#667085}.busca-grupo-abrir{margin-top:auto;align-self:stretch;justify-content:center}.busca-pessoas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}.busca-pessoa-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e1e8e4;border-radius:12px;text-decoration:none;color:#17231e;min-width:0}.busca-pessoa-card:hover{border-color:#55b989;background:#f4fbf7}.busca-pessoa-card>span:last-child{min-width:0}.busca-pessoa-card strong,.busca-pessoa-card small,.busca-pessoa-card em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.busca-pessoa-card strong{font-size:11px}.busca-pessoa-card small{margin-top:2px;color:#667085;font-size:8px}.busca-pessoa-card em{margin-top:5px;color:#087a50;font-size:8px;font-style:normal;font-weight:800}.busca-atendimentos-wrap{overflow:auto;padding:0 16px 16px}.busca-atendimentos-wrap table{min-width:720px}.busca-atendimentos-wrap a{font-weight:800;color:#087a50;text-decoration:none}.busca-familiar-vazia{text-align:center;padding:55px 20px;border:1px dashed #ccd9d2;border-radius:18px;background:#fff}.busca-familiar-vazia>span{font-size:38px;color:#98a2b3}.busca-familiar-vazia h2{margin:8px 0 4px}.busca-familiar-vazia p{margin:0;color:#667085}
@media(max-width:1050px){.busca-familiar-hero{grid-template-columns:1fr}.busca-grupos-grid{grid-template-columns:1fr}.busca-pessoas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.familia-beneficios-lista{grid-template-columns:1fr}}
@media(max-width:700px){.familia-beneficios-resumo{grid-template-columns:1fr}.familia-beneficios-resumo>div{padding:0 0 12px;border-right:0;border-bottom:1px solid #efd9ac}.familia-beneficios-lista{padding:12px}.familia-beneficios-lista article{grid-template-columns:36px minmax(0,1fr)}.familia-beneficio-data{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.familia-beneficio-data span{margin:0}.busca-familiar-hero{padding:20px}.busca-familiar-hero h1{font-size:22px}.busca-familiar-form>div{flex-direction:column}.busca-familiar-form .btn{width:100%}.busca-pessoas-grid{grid-template-columns:1fr}.busca-grupos-grid{padding:12px}.busca-grupo-membros{grid-template-columns:1fr}.busca-familiar-resumo{justify-content:center}.familia-nova-result-item{grid-template-columns:38px minmax(0,1fr)}.familia-nova-result-action{grid-column:2;width:100%;margin-top:4px}.familia-nova-resultados{max-height:55vh}}
.beneficio-alerta-familia{padding:0!important;border:1px solid #f1ce91!important;border-radius:14px!important;background:#fffaf0!important;overflow:hidden}.beneficio-alerta-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid #f2dfbc}.beneficio-alerta-head>span{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#f79009;color:#fff;font-weight:900}.beneficio-alerta-head>div{flex:1}.beneficio-alerta-head strong,.beneficio-alerta-head p{display:block;margin:0}.beneficio-alerta-head p{margin-top:2px;color:#7a5b25;font-size:10px}.beneficio-alerta-head>b{padding:5px 8px;border-radius:999px;background:#fff0d5;color:#9a5b0b;font-size:9px}.beneficio-historico-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.beneficio-historico-lista article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #eadfc9;border-radius:10px;background:#fff}.beneficio-historico-lista article>span{color:#b54708}.beneficio-historico-lista strong,.beneficio-historico-lista small{display:block}.beneficio-historico-lista strong{font-size:10px}.beneficio-historico-lista small{margin-top:2px;color:#667085;font-size:8px}.beneficio-historico-lista article>div:last-child{text-align:right}.beneficio-historico-lista article b,.beneficio-historico-lista article em{display:block}.beneficio-historico-lista article b{font-size:9px}.beneficio-historico-lista article em{margin-top:3px;color:#087a50;font-size:8px;font-style:normal;font-weight:900}.beneficio-historico-vazio{grid-column:1/-1;padding:15px;text-align:center;color:#667085;font-size:10px}.beneficio-historico-vazio.sucesso{color:#087a50}.beneficio-historico-vazio.erro{color:#b42318}@media(max-width:760px){.beneficio-historico-lista{grid-template-columns:1fr}.beneficio-alerta-head{align-items:flex-start;flex-wrap:wrap}.beneficio-alerta-head>b{margin-left:45px}}


/* SIGAS v156 - ações familiares sempre editáveis no prontuário */
body.view-mode .familia-nova-page form.familia-interativa,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body.view-mode .familia-nova-page form.familia-nova-form.familia-interativa,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-nova-form.familia-interativa{display:block!important}
body.view-mode .familia-nova-page form.familia-interativa input,
body.view-mode .familia-nova-page form.familia-interativa select,
body.view-mode .familia-nova-page form.familia-interativa button,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa input,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa select,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa button{visibility:visible!important;opacity:1!important;pointer-events:auto!important;filter:none!important}
body.view-mode .familia-nova-page form.familia-interativa button.btn,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa button{display:inline-flex!important}
body.view-mode .familia-nova-page form.familia-interativa button.btn{display:inline-flex!important}
body.view-mode .familia-nova-page form.familia-interativa input:disabled,
body.view-mode .familia-nova-page form.familia-interativa select:disabled,
body.view-mode .familia-nova-page form.familia-interativa button:disabled,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa input:disabled,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa select:disabled,
.pessoa-detalhes-page.view-mode .familia-nova-page form.familia-interativa button:disabled{pointer-events:none!important;opacity:.5!important}
.familia-criar-form{justify-content:flex-end}
.familia-nova-remove{width:auto!important;min-height:36px!important;height:auto!important;border-radius:9px!important;padding:7px 10px!important;gap:6px!important;font-size:11px!important;font-weight:800!important}
.familia-remover-texto{font-size:10px}
@media(max-width:760px){.familia-criar-form{width:100%;justify-content:stretch}.familia-criar-form .btn{width:100%;justify-content:center}.familia-nova-remove{align-self:stretch!important;justify-content:center!important;width:100%!important}}


/* SIGAS v157 - correção definitiva de visibilidade e responsividade das ações familiares */
.familia-nova-page .familia-acao-form{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.familia-nova-page .familia-criar-form{display:flex!important}
.familia-nova-page .familia-nova-form{display:block!important}
.familia-nova-page .familia-nova-edit-form,.familia-nova-page .familia-remover-membro-form{display:flex!important}
.familia-nova-page .familia-acao-form button[type=submit]{visibility:visible!important;pointer-events:auto!important}
.familia-nova-page .familia-criar-form button,.familia-nova-page .familia-nova-edit-form button,.familia-nova-page .familia-remover-membro-form button{display:inline-flex!important;opacity:1!important}
.familia-nova-page .familia-nova-edit-form select{pointer-events:auto!important;opacity:1!important;background:#fff!important;color:#17231e!important}
.familia-responsavel-fixo{display:grid;gap:2px;justify-items:end;padding:7px 10px;border:1px solid #b9dec9;border-radius:9px;background:#f3fbf6;color:#087a50;white-space:nowrap}.familia-responsavel-fixo span{font-size:11px;font-weight:900}.familia-responsavel-fixo small{font-size:9px;color:#667085}
@media(max-width:1100px){.familia-responsavel-fixo{grid-column:1/-1;justify-items:start;width:100%}}
@media(max-width:760px){.familia-nova-page .familia-criar-form,.familia-nova-page .familia-nova-edit-form,.familia-nova-page .familia-remover-membro-form{width:100%!important}.familia-nova-page .familia-nova-edit-form,.familia-nova-page .familia-remover-membro-form{flex-direction:column!important;align-items:stretch!important}.familia-nova-page .familia-nova-edit-form button,.familia-nova-page .familia-remover-membro-form button{width:100%!important;justify-content:center!important}.familia-responsavel-fixo{justify-items:center;text-align:center}}

/* v158 - Familia funcional: campos claros, botoes visiveis e responsividade */
.familia-nova-page .familia-nova-searchbox input,
.familia-nova-page .familia-nova-field select,
.familia-nova-page .familia-nova-edit-form select{
  background:transparent!important;
  color:#17231e!important;
  border:1px solid #aebfb6!important;
  opacity:1!important;
  visibility:visible!important;
}
.familia-nova-page .familia-nova-field select:disabled{
  background:transparent!important;
  color:#667085!important;
  opacity:.8!important;
  cursor:not-allowed;
}
.familia-nova-page #familiaSalvarMembro{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:150px;
  min-height:42px;
  visibility:visible!important;
}
.familia-nova-page #familiaSalvarMembro:not(:disabled){opacity:1!important;cursor:pointer!important}
.familia-nova-page #familiaSalvarMembro:disabled{opacity:.55!important;cursor:not-allowed!important}
.familia-nova-page .familia-nova-result-item{cursor:default}
.familia-nova-page .familia-nova-select{
  border:0;
  border-radius:9px;
  padding:8px 12px;
  background:#087a50;
  color:#fff;
  cursor:pointer;
}
@media(max-width:980px){
  .familia-nova-grid-form{grid-template-columns:1fr!important}
  .familia-nova-membro{grid-template-columns:42px minmax(0,1fr)!important}
  .familia-nova-membro-acoes,.familia-responsavel-fixo{grid-column:1/-1;width:100%}
  .familia-nova-membro-acoes{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:760px){
  .familia-nova-page{min-width:0}
  .familia-nova-header,.familia-nova-vazio{width:100%}
  .familia-nova-form{padding:14px!important}
  .familia-nova-actions{display:grid!important;grid-template-columns:1fr!important}
  .familia-nova-actions .btn,#familiaSalvarMembro{width:100%!important}
  .familia-nova-resultados{position:static!important;margin-top:8px;max-height:340px}
  .familia-nova-membros{grid-template-columns:1fr!important}
  .familia-nova-membro{grid-template-columns:42px minmax(0,1fr)!important}
  .familia-nova-membro-acoes{display:grid!important;grid-template-columns:1fr!important}
  .familia-nova-edit-form,.familia-remover-membro-form{width:100%!important}
  .familia-nova-edit-form{display:grid!important;grid-template-columns:1fr!important}
  .familia-nova-remove{width:100%!important;height:40px!important;border-radius:9px!important}
  .familia-remover-texto{display:inline!important}
}

/* SIGAS v159 - fluxo familiar selecionável, transferível e responsivo */
.familia-nova-result-item[data-select-index]{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.familia-nova-result-item[data-select-index]:hover,.familia-nova-result-item[data-select-index]:focus{background:#f0faf5;border-color:#74c69d;outline:2px solid rgba(8,122,80,.12);outline-offset:-2px}
.familia-nova-searchbox input,.familia-nova-field select{background:transparent!important;color:#15251d!important}
.familia-nova-field select:not(:disabled){border-color:#52aa7c!important;box-shadow:0 0 0 3px rgba(8,122,80,.08)}
.familia-responsavel-fixo{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:190px}
.familia-encerrar-form{display:block!important;margin:2px 0 0!important}
.familia-encerrar-form .familia-nova-remove{width:100%!important;height:auto!important;min-height:34px;padding:7px 10px;border-radius:9px!important;font-size:10px!important;font-weight:900;gap:5px}
@media(max-width:900px){.familia-nova-membros{grid-template-columns:1fr}.familia-nova-membro{grid-template-columns:42px minmax(0,1fr)}.familia-nova-membro-acoes,.familia-responsavel-fixo{grid-column:1/-1;width:100%}}
@media(max-width:560px){.familia-nova-result-item{padding:10px}.familia-nova-result-info strong{font-size:11px}.familia-nova-result-action{grid-column:1/-1!important}.familia-nova-actions{position:sticky;bottom:0;background:#fff;padding-bottom:4px;z-index:2}}

/* SIGAS v160 - paginação dos históricos familiares e acompanhamento integrado */
.familia-paginacao{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:16px 18px;border-top:1px solid #e4ece8;background:linear-gradient(180deg,#fff,#f8fbf9)}
.familia-pagina-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid #cfe0d7;border-radius:10px;background:#fff;color:#185b43;font-weight:800;cursor:pointer;transition:.18s ease;box-shadow:0 2px 7px rgba(12,76,51,.06)}
.familia-pagina-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#0b8b5d;background:#effaf4;color:#087a50}
.familia-pagina-btn.ativo{background:#078757;border-color:#078757;color:#fff;box-shadow:0 6px 16px rgba(7,135,87,.22)}
.familia-pagina-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
.familia-pagina-reticencias{padding:0 2px;color:#80928a;font-weight:900}
.familia-pagina-info{margin-left:8px;color:#66776f;font-size:11px;font-weight:700;white-space:nowrap}
.familia-acompanhamento-historico .familia-nova-step{background:#eaf5ff;color:#1768a6}
.familia-acompanhamento-historico .familia-nova-badge{background:#eef7ff;color:#1768a6}
.familia-historico tbody tr[hidden]{display:none!important}
@media(max-width:760px){
  .familia-paginacao{justify-content:flex-start;padding:12px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .familia-pagina-btn{min-width:34px;height:34px;flex:0 0 auto}
  .familia-pagina-info{margin-left:auto;padding-right:4px}
  .familia-nova-historico-card .familia-historico-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .familia-nova-historico-card .familia-historico{min-width:780px}
}

/* SIGAS v161 - seletor de quantidade de linhas nos históricos familiares */
.familia-paginacao-barra{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(300px,1fr);align-items:center;gap:14px;padding:13px 18px;border-top:1px solid #e4ece8;background:linear-gradient(180deg,#fff,#f8fbf9)}
.familia-paginacao-barra .familia-paginacao{padding:0;border-top:0;background:transparent;justify-content:flex-end}
.familia-paginacao-resumo{color:#50635a;font-size:12px;font-weight:700}
.familia-paginacao-tamanho{display:flex;align-items:center;justify-content:center;gap:8px;color:#263a31;font-size:12px;font-weight:700;white-space:nowrap}
.familia-paginacao-tamanho select{height:38px;min-width:68px;padding:0 28px 0 12px;border:1px solid #b8d2c5;border-radius:10px;background:#fff;color:#0b5d3d;font-weight:900;cursor:pointer;box-shadow:0 2px 8px rgba(12,76,51,.06)}
.familia-paginacao-tamanho select:focus{outline:3px solid rgba(7,135,87,.14);border-color:#078757}
@media(max-width:980px){.familia-paginacao-barra{grid-template-columns:1fr auto}.familia-paginacao-barra .familia-paginacao{grid-column:1/-1;justify-content:center}}
@media(max-width:620px){.familia-paginacao-barra{display:flex;flex-direction:column;align-items:stretch;padding:12px;gap:10px}.familia-paginacao-resumo{text-align:center}.familia-paginacao-tamanho{justify-content:center;flex-wrap:wrap}.familia-paginacao-barra .familia-paginacao{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:2px 0 5px}.familia-paginacao-barra .familia-pagina-info{margin-left:auto}}

/* v162 — indicadores do Dashboard totalmente clicáveis */
.metric-link{
  position:relative;
  width:100%;
  min-width:0;
  color:inherit;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
  outline:none;
}
.metric-link:hover,.metric-link:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(16,24,40,.14);
  border-color:rgba(0,142,80,.28);
  background:linear-gradient(135deg,#fff,#f4fbf7);
}
.metric-link:focus-visible{box-shadow:0 0 0 4px rgba(0,142,80,.16),0 16px 34px rgba(16,24,40,.14)}
.metric-link:active{transform:translateY(-1px)}
.metric-link>div:nth-child(2){min-width:0;flex:1}
.metric-link .metric-arrow{
  margin-left:auto;
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  font-size:25px;line-height:1;
  color:#087b4b;background:#ecf8f1;
  opacity:.72;transition:transform .18s ease,opacity .18s ease;
}
.metric-link:hover .metric-arrow,.metric-link:focus-visible .metric-arrow{transform:translateX(3px);opacity:1}
@media(max-width:700px){
  .dashboard-metrics{grid-template-columns:1fr!important}
  .metric-link{min-height:86px}
}
@media(min-width:701px) and (max-width:1200px){
  .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Dashboard v166 - filtro geral e gráficos reais */
.dashboard-filter{display:flex;align-items:end;gap:14px;padding:18px 20px;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.dashboard-filter .filter-heading{margin-right:auto;min-width:230px}.filter-heading strong,.filter-heading span{display:block}.filter-heading span{font-size:13px;color:var(--muted);margin-top:4px;text-transform:capitalize}
.dashboard-filter label{font-size:12px;font-weight:800;color:#344054}.dashboard-filter select,.dashboard-filter input{display:block;margin-top:6px;min-width:170px;padding:10px 12px;border:1px solid #cfdcd6;border-radius:10px;background:#fff;font:inherit;color:#11201a}
.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.panel-title h3{margin:0 0 3px}.panel-title span{font-size:12px;color:var(--muted);text-transform:capitalize}.panel-title>strong{font-size:27px;color:#008e50}
.real-chart{height:260px;position:relative;padding:8px 5px 32px}.real-chart svg{width:100%;height:210px;overflow:visible}.real-chart svg line{stroke:#e5ede9;stroke-width:.45}.real-chart svg polyline{fill:none;stroke:#009754;stroke-width:2.3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(0,151,84,.16))}
.chart-labels{display:flex;justify-content:space-between;gap:3px;font-size:10px;color:#667085;white-space:nowrap;overflow:hidden}.chart-labels span{flex:1;text-align:center}.empty-state{position:absolute;inset:55px 15px auto;text-align:center;color:#667085;background:rgba(255,255,255,.88);padding:18px;border-radius:12px}
.type-chart-wrap{display:flex;align-items:center;justify-content:center;gap:25px;min-height:260px}.donut.dynamic{flex:0 0 180px;width:180px;height:180px}.donut.dynamic:after{inset:42px}.donut.dynamic>div{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.donut.dynamic strong{font-size:28px;color:#073d29}.donut.dynamic small{color:#667085}.chart-legend{min-width:190px}.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #edf2ef;font-size:12px}.chart-legend i{width:10px;height:10px;border-radius:50%}.legend-c0{background:#00a65a}.legend-c1{background:#2d8cff}.legend-c2{background:#8b5cf6}.legend-c3{background:#ffb13b}.legend-c4{background:#aab4bd}
@media(max-width:1100px){.dashboard-filter{flex-wrap:wrap}.dashboard-filter .filter-heading{width:100%;margin-right:0}.dashboard-filter label{flex:1}.dashboard-filter select,.dashboard-filter input{width:100%;min-width:0}.type-chart-wrap{flex-wrap:wrap}}
@media(max-width:600px){.dashboard-filter{align-items:stretch}.dashboard-filter label,.dashboard-filter .btn{width:100%}.dashboard-filter .btn{justify-content:center}.real-chart{height:230px}.real-chart svg{height:180px}.chart-labels span:nth-child(even){display:none}.type-chart-wrap{display:block}.donut.dynamic{margin:10px auto 20px}.chart-legend{min-width:0}}


/* SIGAS v167 — card de acompanhamentos com resumo por status */
.acompanhamento-metric{align-items:center;min-height:104px}
.acompanhamento-metric-content{display:flex;flex-direction:column;gap:9px;min-width:0;flex:1}
.acompanhamento-metric-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.acompanhamento-metric-header .num{line-height:1}
.acompanhamento-total-label{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#edf8f2;color:#087b4b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.acompanhamento-status-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1ece6;border-radius:10px;overflow:hidden;background:#fbfdfc}
.acompanhamento-status{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px}
.acompanhamento-status+ .acompanhamento-status{border-left:1px solid #e1ece6}
.acompanhamento-status strong{font-size:16px;line-height:1}
.acompanhamento-status span{font-size:10px;font-weight:800;line-height:1.15;color:#53665d}
.acompanhamento-status.andamento strong{color:#087b4b}
.acompanhamento-status.encerrado strong{color:#667085}
.acompanhamento-metric:hover .acompanhamento-status-grid,.acompanhamento-metric:focus-visible .acompanhamento-status-grid{border-color:#badcca;background:#fff}
@media(max-width:700px){
  .acompanhamento-metric{min-height:116px}
  .acompanhamento-status{padding:9px 10px}
  .acompanhamento-status strong{font-size:18px}
  .acompanhamento-status span{font-size:11px}
}
@media(max-width:390px){
  .acompanhamento-status-grid{grid-template-columns:1fr}
  .acompanhamento-status+ .acompanhamento-status{border-left:0;border-top:1px solid #e1ece6}
}

/* SIGAS v168 - Encaminhamentos profissionais */
.enc-page{display:grid;gap:18px}.enc-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px}.enc-header h1{margin:4px 0 5px}.enc-header p{margin:0;color:#64748b}.enc-kicker{font-size:11px;font-weight:900;letter-spacing:.11em;color:#087f45}.enc-form{padding:0;overflow:hidden}.enc-section{padding:24px 28px;border-bottom:1px solid #e4ece8}.enc-section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.enc-section-title>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e8f8ef;color:#087f45;font-weight:900}.enc-section-title h2{font-size:18px;margin:1px 0 3px}.enc-section-title p{margin:0;color:#64748b;font-size:13px}.enc-grid{display:grid;gap:15px}.enc-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.enc-form label,.enc-status-panel label{display:grid;gap:7px;font-size:13px;font-weight:800}.enc-form input,.enc-form select,.enc-form textarea,.enc-status-panel select,.enc-status-panel textarea{width:100%;border:1px solid #cfded7;background:transparent;border-radius:10px;padding:12px 13px;color:#15231d;box-sizing:border-box}.enc-form input:focus,.enc-form select:focus,.enc-form textarea:focus{outline:3px solid rgba(7,149,78,.12);border-color:#07954e}.enc-person-card{display:flex;align-items:center;gap:13px;border:1px solid #d6e6dd;border-radius:14px;padding:15px;background:#fbfefc}.enc-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dff6e9;color:#06733f;font-weight:900}.enc-person-card small{display:block;color:#64748b;margin-top:3px}.enc-family-count{margin-left:auto;background:#e8f8ef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;color:#087f45}.enc-benefits{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.enc-benefits span{background:#f0f7f3;border:1px solid #d6e6dd;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.enc-benefits.empty{color:#64748b;font-size:13px}.enc-option-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #d6e6dd;border-radius:14px;padding:16px;background:#f9fcfa}.enc-option-card.warning{background:#fffaf0;border-color:#edd9a2}.enc-option-card p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}.switch{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto;width:50px;height:30px;cursor:pointer;user-select:none;border-radius:999px}.switch input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer!important;z-index:3}.switch .switch-track{display:block;width:48px;height:27px;border-radius:999px;background:#aeb9b3;position:relative;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;box-shadow:inset 0 0 0 1px rgba(20,50,35,.08)}.switch .switch-track i{position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .22s ease}.switch input:checked+.switch-track,.switch.is-on .switch-track{background:#089650;box-shadow:0 0 0 3px rgba(8,150,80,.12)}.switch input:checked+.switch-track i,.switch.is-on .switch-track i{transform:translateX(21px)}.switch input:focus-visible+.switch-track{outline:3px solid rgba(8,150,80,.28);outline-offset:3px}.switch:hover .switch-track{box-shadow:0 0 0 4px rgba(8,150,80,.10)}.enc-members-preview{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.enc-members-preview span{font-size:11px;padding:6px 9px;border-radius:999px;background:#eff5f1;color:#42544b}.enc-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.enc-checks{margin-top:16px;align-items:end}.enc-checks>label:not(:last-child){display:flex;align-items:center;gap:8px;border:1px solid #d6e6dd;border-radius:10px;padding:12px}.enc-checks input[type=checkbox]{width:auto}.enc-counter{display:block;text-align:right;color:#7b8b83}.enc-summary{padding:22px 28px;background:linear-gradient(135deg,#f4fbf7,#fff);border-bottom:1px solid #e4ece8}.enc-summary h3{margin-top:0}.enc-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.enc-summary-grid span{display:grid;gap:3px;padding:11px;border-radius:10px;background:#fff;border:1px solid #deebe4}.enc-summary-grid b{font-size:11px;color:#64748b;text-transform:uppercase}.enc-summary-grid em{font-style:normal;font-weight:800}.enc-actions{display:flex;justify-content:space-between;padding:20px 28px}.enc-submit{min-width:220px}.enc-list-card{overflow:auto}.enc-list-card small,.enc-prontuario-body small{display:block;color:#64748b;margin-top:3px}.enc-priority{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef3f0;font-size:11px;font-weight:900}.enc-priority.alta{background:#fff2cc;color:#7c5300}.enc-priority.urgente{background:#ffe2e2;color:#a01313}.enc-priority.média{background:#e7f1ff;color:#1759a0}.enc-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.enc-detail-main,.enc-status-panel{padding:24px}.enc-detail-top{display:flex;gap:10px;align-items:center;border-bottom:1px solid #e4ece8;padding-bottom:15px}.enc-content{white-space:pre-wrap;line-height:1.65;background:#f8fbf9;border-radius:12px;padding:15px}.enc-locked{text-align:center;padding:50px 20px;background:#fffaf0;border:1px solid #edd9a2;border-radius:14px}.enc-timeline{border-left:3px solid #dce8e1;margin:18px 0 24px;padding-left:18px;display:grid;gap:20px}.enc-timeline>div{position:relative}.enc-timeline>div:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#bdc8c2;left:-25px;top:3px}.enc-timeline>div.done:before{background:#07954e}.enc-timeline small{display:block;color:#64748b;margin-top:4px}.enc-status-panel form{display:grid;gap:13px}.enc-prontuario-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.enc-prontuario-head h3{margin:3px 0}.enc-prontuario-head p{margin:0;color:#64748b}.enc-prontuario-list{display:grid;gap:10px}.enc-prontuario-item{display:grid;grid-template-columns:68px 1fr 28px;align-items:center;gap:12px;border:1px solid #dce8e1;border-radius:13px;padding:13px;text-decoration:none;color:inherit;background:#fff;transition:.18s}.enc-prontuario-item:hover{transform:translateY(-2px);border-color:#8bc8a6;box-shadow:0 8px 22px #0a553314}.enc-prontuario-date{display:grid;text-align:center;padding-right:12px;border-right:1px solid #e3ece7}.enc-prontuario-date b{color:#087f45}.enc-prontuario-date small{color:#64748b}.enc-prontuario-body>div{display:flex;gap:9px;align-items:center}.enc-prontuario-body p{margin:5px 0;color:#34473e}.enc-open{font-size:25px;color:#087f45}.encaminhamento-prontuario{padding:24px}
@media(max-width:1100px){.enc-grid-4,.enc-summary-grid{grid-template-columns:repeat(2,1fr)}.enc-detail-grid{grid-template-columns:1fr}.enc-options-grid{grid-template-columns:1fr}}
@media(max-width:700px){.enc-header,.enc-prontuario-head,.enc-actions{align-items:stretch;flex-direction:column}.enc-header{padding:20px}.enc-section{padding:20px}.enc-grid-4,.enc-summary-grid{grid-template-columns:1fr}.enc-person-card{align-items:flex-start}.enc-family-count{margin-left:0}.enc-option-card{align-items:flex-start}.enc-prontuario-item{grid-template-columns:55px 1fr 18px}.enc-summary{padding:18px}.enc-actions{gap:10px}.enc-actions .btn{width:100%}}

@media(max-width:640px){.enc-option-card{align-items:flex-start}.enc-option-card .switch{margin-top:2px;min-width:50px}.switch{width:52px;height:32px}.switch .switch-track{width:50px;height:29px}.switch .switch-track i{width:23px;height:23px}.switch input:checked+.switch-track i,.switch.is-on .switch-track i{transform:translateX(21px)}}

/* SIGAS v190 - central profissional de anexos do prontuário */
.anexos-central{display:flex;flex-direction:column;gap:18px;padding:4px 0}.anexos-central-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid #d9e8e1;border-radius:16px;background:linear-gradient(135deg,#f8fcfa,#eef8f3)}.anexos-central-topo h3{margin:3px 0 5px;font-size:20px;color:#10231b}.anexos-central-topo p{margin:0;color:#60736a;max-width:720px}.anexos-etiqueta{font-size:11px;font-weight:900;letter-spacing:.08em;color:#087b45}.anexos-btn-imprimir{white-space:nowrap;align-self:center}.anexos-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.anexo-card{overflow:hidden;border:1px solid #dbe8e3;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(16,35,27,.06);transition:.2s ease}.anexo-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(16,35,27,.11);border-color:#8ac9aa}.anexo-preview{height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#edf6f2,#f9fcfb);overflow:hidden}.anexo-preview img{width:100%;height:100%;object-fit:cover}.anexo-icone-grande{width:76px;height:76px;border-radius:20px;background:#e4f5ec;color:#087b45;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;box-shadow:inset 0 0 0 1px #cce8da}.anexo-card-corpo{display:flex;flex-direction:column;gap:14px;padding:15px}.anexo-card-corpo>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.anexo-card-corpo strong{font-size:15px}.anexo-card-corpo span{font-size:11px;font-weight:900;color:#087b45;background:#e8f7ef;padding:5px 8px;border-radius:999px}.anexo-card-acoes{display:flex;gap:8px;flex-wrap:wrap}.anexo-card-acoes .btn{flex:1;min-width:110px;text-align:center}.anexo-btn-ver{background:#087b45!important;color:#fff!important}.anexos-vazio{padding:36px;text-align:center;border:1px dashed #a9c9ba;border-radius:16px;background:#fbfdfc}.anexos-vazio>span{display:block;font-size:42px;margin-bottom:8px}.anexos-vazio strong{display:block;font-size:17px;margin-bottom:4px}.anexos-vazio p{margin:0;color:#6a7d74}.anexo-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,26,18,.78);backdrop-filter:blur(5px)}.anexo-modal.aberto{display:flex}.anexo-modal-card{width:min(1120px,96vw);height:min(820px,92vh);display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 90px #0007}.anexo-modal-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #dce9e3}.anexo-modal-topo span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#087b45}.anexo-modal-topo h2{margin:3px 0 0;font-size:20px}.anexo-modal-fechar{width:42px;height:42px;border:0;border-radius:50%;background:#edf4f1;color:#17382e;font-size:26px;cursor:pointer}.anexo-modal-conteudo{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#e9f1ee;padding:14px;overflow:auto}.anexo-modal-conteudo img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 5px 24px #0002}.anexo-modal-conteudo iframe{width:100%;height:100%;border:0;background:#fff;border-radius:8px}.anexo-modal-rodape{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #dce9e3}.anexo-modal-aviso{text-align:center}.anexo-modal-aviso span{display:block;font-size:50px}.modal-documento-aberto{overflow:hidden}
@media(max-width:1000px){.anexos-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.anexos-central-topo{flex-direction:column}.anexos-btn-imprimir{width:100%;text-align:center}.anexos-grade{grid-template-columns:1fr}.anexo-preview{height:210px}.anexo-modal{padding:8px}.anexo-modal-card{width:100%;height:96vh;border-radius:14px}.anexo-modal-rodape{flex-direction:column}.anexo-modal-rodape .btn{width:100%;text-align:center}}

/* v192 - aba de anexos simplificada */
.anexos-simples{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #d9e8e1;border-radius:16px;background:linear-gradient(135deg,#fbfdfc,#eef8f3);min-height:112px}
.anexos-simples-texto{min-width:0}.anexos-simples h3{margin:4px 0 6px;font-size:20px;color:#10231b}.anexos-simples p{margin:0;color:#60736a;line-height:1.5}.anexos-simples .anexos-btn-imprimir{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:10px;white-space:nowrap;box-shadow:0 6px 16px rgba(8,123,69,.15)}
@media(max-width:700px){.anexos-simples{align-items:stretch;flex-direction:column;padding:18px}.anexos-simples .anexos-btn-imprimir{width:100%;margin-left:0}}

/* Confirmação profissional de salvamento - 2,5 segundos */
.confirmacao-profissional .usuario-modal-backdrop,
#usuarioModal .usuario-modal-backdrop{background:rgba(13,35,28,.80);backdrop-filter:blur(5px)}
.confirmacao-profissional-card,
#usuarioModal .usuario-modal-card{width:min(520px,calc(100vw - 32px));min-height:340px;border-radius:22px;padding:40px 34px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.36)}
.confirmacao-profissional-icone{width:82px;height:82px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#73c9a9;color:#fff;font-size:48px;font-weight:500;box-shadow:0 14px 34px rgba(41,158,113,.24);animation:confirmacaoEntrada .35s ease-out both}
.confirmacao-profissional-conteudo h3,
.confirmacao-profissional-card h3{margin:28px 0 8px!important;font-size:24px!important;line-height:1.25;font-weight:850!important;color:#10251c!important}
.confirmacao-profissional-conteudo p,
.confirmacao-profissional-card p{max-width:410px;margin:0 auto!important;color:#53657d!important;font-size:16px!important;line-height:1.55}
.confirmacao-profissional-badge{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:7px 14px;border-radius:999px;background:#edf9f3;color:#087a50;font-size:12px;font-weight:900;letter-spacing:.02em}
.confirmacao-profissional-progresso{width:min(320px,100%);height:6px;margin:24px auto 0;border-radius:999px;background:#e5f1eb;overflow:hidden}
.confirmacao-profissional-progresso span{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#0aa45d,#087a50);animation:confirmacaoTempo 2.5s linear forwards}
@keyframes confirmacaoEntrada{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@keyframes confirmacaoTempo{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:560px){.confirmacao-profissional-card,#usuarioModal .usuario-modal-card{min-height:310px;padding:34px 20px;border-radius:18px}.confirmacao-profissional-icone{width:72px;height:72px;font-size:42px}.confirmacao-profissional-conteudo h3,.confirmacao-profissional-card h3{font-size:21px!important}.confirmacao-profissional-conteudo p,.confirmacao-profissional-card p{font-size:15px!important}}


/* v196 - confirmação verde padronizada como janela principal */
.usuario-modal.confirmacao-verde-ativa,
.acompanhamento-status-modal.confirmacao-verde-ativa{
  position:fixed;inset:0;z-index:16000;display:flex;align-items:center;justify-content:center;padding:20px;
}
.usuario-modal.confirmacao-verde-ativa .usuario-modal-backdrop,
.acompanhamento-status-modal.confirmacao-verde-ativa .usuario-modal-backdrop{
  position:absolute;inset:0;background:rgba(13,35,28,.82);backdrop-filter:blur(6px);
}
.usuario-modal.confirmacao-verde-ativa .usuario-modal-card,
.acompanhamento-status-modal.confirmacao-verde-ativa .usuario-modal-card{
  position:relative;z-index:1;width:min(520px,calc(100vw - 32px));min-height:360px;padding:42px 34px;
  border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center;text-align:center;
}
.usuario-modal.confirmacao-verde-ativa .usuario-modal-fechar{display:none!important}
.usuario-modal.confirmacao-verde-ativa .confirmacao-profissional-icone,
.acompanhamento-status-modal.confirmacao-verde-ativa .confirmacao-profissional-icone{
  width:82px;height:82px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#73c9a9;color:#fff;
  font-size:48px;font-weight:500;box-shadow:0 14px 34px rgba(41,158,113,.24);animation:confirmacaoEntrada .35s ease-out both;
}
.usuario-modal.confirmacao-verde-ativa h3,
.acompanhamento-status-modal.confirmacao-verde-ativa h3{
  margin:28px 0 8px!important;font-size:24px!important;line-height:1.25;font-weight:850!important;color:#10251c!important;
}
.usuario-modal.confirmacao-verde-ativa p,
.acompanhamento-status-modal.confirmacao-verde-ativa p{
  max-width:410px;margin:0 auto!important;color:#53657d!important;font-size:16px!important;line-height:1.55;
}
.usuario-modal.confirmacao-verde-ativa .confirmacao-profissional-badge,
.acompanhamento-status-modal.confirmacao-verde-ativa .confirmacao-profissional-badge{
  display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:7px 14px;border-radius:999px;background:#edf9f3;
  color:#087a50;font-size:12px;font-weight:900;letter-spacing:.02em;
}
.usuario-modal.confirmacao-verde-ativa .confirmacao-profissional-progresso,
.acompanhamento-status-modal.confirmacao-verde-ativa .confirmacao-profissional-progresso{
  width:min(320px,100%);height:6px;margin:24px auto 0;border-radius:999px;background:#e5f1eb;overflow:hidden;
}
.usuario-modal.confirmacao-verde-ativa .confirmacao-profissional-progresso span,
.acompanhamento-status-modal.confirmacao-verde-ativa .confirmacao-profissional-progresso span{
  display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#0aa45d,#087a50);animation:confirmacaoTempo 2.5s linear forwards;
}
@media(max-width:560px){
  .usuario-modal.confirmacao-verde-ativa,.acompanhamento-status-modal.confirmacao-verde-ativa{padding:14px}
  .usuario-modal.confirmacao-verde-ativa .usuario-modal-card,.acompanhamento-status-modal.confirmacao-verde-ativa .usuario-modal-card{min-height:310px;padding:34px 20px;border-radius:18px}
  .usuario-modal.confirmacao-verde-ativa .confirmacao-profissional-icone,.acompanhamento-status-modal.confirmacao-verde-ativa .confirmacao-profissional-icone{width:72px;height:72px;font-size:42px}
  .usuario-modal.confirmacao-verde-ativa h3,.acompanhamento-status-modal.confirmacao-verde-ativa h3{font-size:21px!important}
  .usuario-modal.confirmacao-verde-ativa p,.acompanhamento-status-modal.confirmacao-verde-ativa p{font-size:15px!important}
}


/* v197 - janela principal de confirmação: cópia exata da Atividade Coletiva */
.atividade-status-loading{position:fixed;inset:0;z-index:17000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,24,18,.74);backdrop-filter:blur(4px)}
.atividade-status-loading.aberto{display:flex}
.atividade-status-loading-card{width:min(520px,100%);min-height:300px;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34);padding:42px 32px;text-align:center;display:flex;align-items:center;justify-content:center}
.atividade-status-loading h2{margin:22px 0 8px;font-size:24px;color:#14251d}
.atividade-status-loading p{margin:0 auto;color:#667085;max-width:390px;line-height:1.5}
.atividade-status-loading-badge{display:inline-flex;margin-top:18px;padding:7px 12px;border-radius:999px;background:#fff0ef;color:#b42318;font-size:12px;font-weight:900}
.atividade-status-sucesso{background:rgba(7,24,18,.78)}
.atividade-status-sucesso .atividade-status-loading-card{min-height:320px}
.atividade-status-sucesso-icone{width:88px;height:88px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0ba35a,#087a50);color:#fff;font-size:48px;font-weight:900;box-shadow:0 14px 30px rgba(8,122,80,.28);animation:atividadeStatusSucesso .35s ease-out both}
.atividade-status-sucesso .atividade-status-loading-badge{background:#eef9f3;color:#087a50}
.atividade-status-progresso{width:min(320px,100%);height:6px;margin:24px auto 0;border-radius:999px;background:#e7f2ec;overflow:hidden}
.atividade-status-progresso span{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#0ba35a,#087a50);animation:atividadeStatusTempo 2.5s linear forwards}
@keyframes atividadeStatusSucesso{from{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes atividadeStatusTempo{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:560px){.atividade-status-loading{padding:14px}.atividade-status-loading-card{min-height:270px;padding:34px 20px;border-radius:18px}.atividade-status-loading h2{font-size:21px}.atividade-status-sucesso-icone{width:74px;height:74px;font-size:40px}}
@media(prefers-reduced-motion:reduce){.atividade-status-sucesso-icone{animation:none}}

/* v198 — confirmação principal padronizada pelo modal de benefícios */
.sigas-confirmacao-overlay{position:fixed;inset:0;z-index:30000;display:none;place-items:center;padding:20px;background:rgba(16,39,31,.78);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.sigas-confirmacao-overlay.aberto{display:grid;animation:sigasConfirmacaoEntrada .2s ease-out both}
.sigas-confirmacao-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:42px 38px 38px;text-align:center;box-shadow:0 28px 80px rgba(4,31,22,.34)}
.sigas-confirmacao-icone{width:78px;height:78px;margin:0 auto 25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#8cddb9,#5dc69a);color:#fff;font-size:50px;font-weight:800;line-height:1;box-shadow:0 14px 32px rgba(39,166,111,.20)}
.sigas-confirmacao-card h2{margin:0;color:#102a20;font-size:25px;line-height:1.25}
.sigas-confirmacao-card p{margin:12px auto 20px;color:#536a61;max-width:410px;line-height:1.55}
.sigas-confirmacao-tag{display:inline-flex;padding:6px 14px;border-radius:999px;background:#e9f8f0;color:#087744;font-size:12px;font-weight:900;letter-spacing:.02em}
.sigas-confirmacao-progresso{height:5px;margin:25px auto 0;max-width:320px;overflow:hidden;border-radius:999px;background:#e3eee9}
.sigas-confirmacao-progresso span{display:block;width:100%;height:100%;background:#099657;transform-origin:left;animation:sigasConfirmacaoTempo 2.5s linear forwards}
@keyframes sigasConfirmacaoTempo{to{transform:scaleX(0)}}
@keyframes sigasConfirmacaoEntrada{from{opacity:0}to{opacity:1}}
@media(max-width:560px){.sigas-confirmacao-overlay{padding:14px}.sigas-confirmacao-card{padding:34px 22px 30px;border-radius:20px}.sigas-confirmacao-icone{width:70px;height:70px;font-size:43px;margin-bottom:21px}.sigas-confirmacao-card h2{font-size:21px}.sigas-confirmacao-card p{font-size:14px}.sigas-confirmacao-progresso{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.sigas-confirmacao-overlay.aberto{animation:none}.sigas-confirmacao-progresso span{animation-duration:2.5s}}

/* v199 - impedimentos detalhados na exclusão de usuário */
.usuario-exclusao-pendencias{max-height:min(78vh,720px);overflow-y:auto;padding:2px 4px 6px;scrollbar-width:thin}
.usuario-impedimentos{display:grid;gap:12px;margin:22px auto 4px;max-width:460px;text-align:left}
.usuario-impedimento-card{display:grid;gap:9px;padding:15px;border:1px solid #e4e9e6;border-radius:14px;background:#f8fbf9;box-shadow:0 5px 16px rgba(15,62,42,.07)}
.usuario-impedimento-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.usuario-impedimento-tipo{font-size:12px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;color:#9a3412}
.usuario-impedimento-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#fff1df;color:#9a4d00;font-size:11px;font-weight:900;text-transform:uppercase}
.usuario-impedimento-card strong{font-size:15px;color:#17231d;line-height:1.3}
.usuario-impedimento-card small{color:#66756d;font-size:12px;line-height:1.45}
.usuario-impedimento-acao{width:100%;min-height:42px;justify-content:center;background:#078c4d!important;border-color:#078c4d!important;color:#fff!important;text-decoration:none!important;font-weight:800}
.usuario-impedimento-acao:hover{background:#056f3d!important;border-color:#056f3d!important;color:#fff!important}
.excluir-usuario-card:has(.usuario-exclusao-pendencias:not([hidden])){width:min(600px,calc(100vw - 28px));min-height:unset;max-height:92vh;padding:34px 28px 26px}
@media(max-width:560px){.usuario-impedimentos{margin-top:16px}.usuario-impedimento-card{padding:13px}.excluir-usuario-card:has(.usuario-exclusao-pendencias:not([hidden])){padding:28px 16px 20px}.usuario-exclusao-pendencias{max-height:82vh}}
.usuario-impedimento-orientacao{max-width:470px;margin:14px auto 0;padding:12px 14px;border-radius:12px;background:#eef8f2;color:#315846;font-size:13px;line-height:1.5;text-align:center;border:1px solid #d7eadf}
.usuario-exclusao-pendencias .usuario-modal-acoes{margin-top:18px}
.usuario-impedimento-card{animation:usuarioImpedimentoEntrada .24s ease both}
@keyframes usuarioImpedimentoEntrada{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* v202 — Central de impedimentos da exclusão de usuário */
.excluir-usuario-card:has(.usuario-exclusao-central:not([hidden])){width:min(650px,94vw);max-height:92vh;padding:26px 28px 20px;overflow:auto}
.usuario-exclusao-central{width:100%;text-align:center}
.usuario-exclusao-alerta{width:70px;height:70px;margin:0 auto 14px;font-size:40px;border:3px solid #ffb8b8;background:#fff4f4;color:#e33030}
.usuario-exclusao-central>h3{font-size:27px;line-height:1.2;margin:0 0 10px;color:#101b37}
.usuario-exclusao-central>#excluirUsuarioErroMensagem{max-width:510px;margin:0 auto;color:#263552;font-size:15px;line-height:1.48}
.usuario-exclusao-divisor{height:1px;background:#dfe6e2;margin:22px 0 15px}
.usuario-exclusao-cabecalho-lista,.usuario-proximos-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#17213a}
.usuario-exclusao-cabecalho-lista{margin-bottom:12px;font-size:15px}
.usuario-exclusao-cabecalho-lista span,.usuario-proximos-titulo span{font-size:13px;color:#536177;font-weight:700}
.usuario-impedimento-principal{margin:0}
.usuario-impedimento-card-principal{display:grid;grid-template-columns:60px minmax(0,1fr) 150px;align-items:center;gap:14px;padding:17px;border:1.5px solid #78aefb;border-radius:12px;background:linear-gradient(135deg,#f6faff,#eef6ff);box-shadow:0 8px 22px rgba(37,99,235,.09);text-align:left}
.usuario-impedimento-icone{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;background:#dcecff;color:#1262d6}
.usuario-impedimento-icone.tipo-acompanhamento{background:#e9e3ff;color:#6741d9}.usuario-impedimento-icone.tipo-agendamento{background:#fff0d6;color:#e67d00}.usuario-impedimento-icone.tipo-encaminhamento{background:#daf5e3;color:#138a4e}.usuario-impedimento-icone.tipo-beneficio{background:#fff4cc;color:#9c7500}.usuario-impedimento-icone.tipo-prontuario{background:#e7eef5;color:#48647d}
.usuario-impedimento-conteudo{display:flex;min-width:0;flex-direction:column;gap:5px}
.usuario-impedimento-conteudo .usuario-impedimento-tipo{align-self:flex-start;padding:4px 8px;border-radius:999px;background:#cfe3ff;color:#0757c8;font-size:10px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.usuario-impedimento-conteudo>strong{font-size:15px;color:#152039;line-height:1.25}.usuario-impedimento-conteudo>small{font-size:12px;color:#4f5c70;line-height:1.35}.usuario-impedimento-situacao b{color:#17213a}.usuario-impedimento-situacao{color:#0a58ca!important}
.usuario-impedimento-acao-principal{min-height:52px;padding:9px 12px;border-radius:8px;background:#1168e8!important;border-color:#1168e8!important;color:#fff!important;text-align:center;line-height:1.3;font-size:13px;font-weight:850;display:flex;align-items:center;justify-content:center;text-decoration:none!important}.usuario-impedimento-acao-principal:hover{background:#0b55c3!important;border-color:#0b55c3!important;color:#fff!important;transform:translateY(-1px)}
.usuario-impedimento-orientacao{max-width:none;margin:14px 0 20px;padding:13px 15px;border:1px solid #b9d5fb;background:#edf6ff;color:#263b59;text-align:left;font-size:13px;border-radius:10px}
.usuario-proximos-bloco{padding-top:17px;border-top:1px solid #dfe6e2}.usuario-proximos-titulo{margin-bottom:10px}
.usuario-impedimentos-proximos{display:grid;gap:8px;margin:0;max-width:none}
.usuario-impedimento-card-resumo{display:grid;grid-template-columns:42px minmax(0,1fr) 82px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #f1d39c;border-radius:9px;background:#fff9ef;box-shadow:none;text-align:left}
.usuario-impedimento-card-resumo:nth-child(even){border-color:#b7dec6;background:#f0fbf4}
.usuario-impedimento-card-resumo .usuario-impedimento-icone{width:38px;height:38px;font-size:19px}
.usuario-impedimento-card-resumo .usuario-impedimento-conteudo{gap:2px}.usuario-impedimento-card-resumo .usuario-impedimento-conteudo .usuario-impedimento-tipo{font-size:9px;padding:3px 6px}.usuario-impedimento-card-resumo .usuario-impedimento-conteudo>strong{font-size:13px}.usuario-impedimento-card-resumo .usuario-impedimento-conteudo>small{font-size:10px}.usuario-impedimento-card-resumo .usuario-impedimento-situacao{display:none}
.usuario-impedimento-acao-resumo{min-height:34px;padding:6px 8px;border:1px solid #d4ddd8!important;border-radius:7px;background:#f7faf8!important;color:#18231d!important;font-size:11px;font-weight:800;text-decoration:none!important;text-align:center}.usuario-impedimento-acao-resumo:hover{background:#e8f2ec!important;color:#0a6639!important}
.usuario-exclusao-rodape{margin-top:16px;padding-top:14px;border-top:1px solid #e2e7e4}.usuario-exclusao-rodape .btn{min-width:220px;border:1px solid #bdc9c2!important;background:#fff!important;color:#087642!important;font-weight:850}
@media(max-width:700px){.excluir-usuario-card:has(.usuario-exclusao-central:not([hidden])){padding:22px 16px 16px}.usuario-exclusao-central>h3{font-size:22px}.usuario-impedimento-card-principal{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:14px}.usuario-impedimento-card-principal .usuario-impedimento-icone{width:44px;height:44px;font-size:21px}.usuario-impedimento-acao-principal{grid-column:1/-1;width:100%;min-height:44px}.usuario-impedimento-card-resumo{grid-template-columns:38px minmax(0,1fr)}.usuario-impedimento-card-resumo .usuario-impedimento-acao-resumo{grid-column:1/-1;width:100%}.usuario-exclusao-rodape .btn{width:100%;min-width:0}}


/* v204 - botão Deletar visível no modal de atendimento */
#excluirAtendimentoModal .atendimento-modal-acoes{display:flex!important;justify-content:center!important;align-items:stretch!important;gap:12px!important;flex-wrap:wrap!important}
#excluirAtendimentoModal .atendimento-excluir-form{display:block!important;visibility:visible!important;opacity:1!important;margin:0!important;position:relative!important;width:auto!important;height:auto!important;overflow:visible!important}
#excluirAtendimentoModal .atendimento-confirmar-exclusao{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;min-width:150px!important;min-height:44px!important;padding:11px 22px!important;border-radius:10px!important;background:#d92d20!important;border:1px solid #d92d20!important;color:#fff!important;font-weight:800!important;line-height:1!important;align-items:center!important;justify-content:center!important;box-shadow:0 7px 16px rgba(217,45,32,.22)!important}
#excluirAtendimentoModal .atendimento-confirmar-exclusao:hover,#excluirAtendimentoModal .atendimento-confirmar-exclusao:focus{background:#b42318!important;border-color:#b42318!important;color:#fff!important;transform:translateY(-1px)!important}
@media(max-width:650px){#excluirAtendimentoModal .atendimento-modal-acoes{flex-direction:column!important}#excluirAtendimentoModal .atendimento-modal-acoes>.btn,#excluirAtendimentoModal .atendimento-excluir-form,#excluirAtendimentoModal .atendimento-confirmar-exclusao{width:100%!important}}

/* V207 — exclusão administrativa definitiva de pessoa */
.exclusao-definitiva-card{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:36px 34px 30px}
.exclusao-definitiva-aviso{max-width:500px!important;line-height:1.55!important;color:#344054!important}
.exclusao-pessoa-identificacao{margin:20px auto 14px;padding:14px 16px;border:1px solid #e4e7ec;border-radius:12px;background:#f8faf9;display:flex;flex-direction:column;gap:4px;max-width:500px;text-align:left}
.exclusao-pessoa-identificacao strong{font-size:16px;color:#101828}.exclusao-pessoa-identificacao span{font-size:13px;color:#667085}
.exclusao-resumo-carregando{margin:14px auto;color:#667085;font-size:14px}
.exclusao-resumo{max-width:500px;margin:14px auto 18px;border:1px solid #f0b4b0;border-radius:13px;overflow:hidden;background:#fffafa;text-align:left}
.exclusao-resumo-topo{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff1f0;border-bottom:1px solid #fecdca;color:#912018;font-size:13px}
.exclusao-resumo-lista{max-height:170px;overflow:auto}.exclusao-resumo-item{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid #f2f4f7;font-size:14px;color:#344054}.exclusao-resumo-item:last-child{border-bottom:0}.exclusao-resumo-item strong{color:#b42318}
.exclusao-confirmacao-label{display:block;max-width:500px;margin:0 auto;text-align:left;color:#344054;font-size:14px}.exclusao-confirmacao-label input{width:100%;margin-top:8px;height:45px;border:1px solid #d0d5dd;border-radius:10px;padding:0 13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;outline:none}.exclusao-confirmacao-label input:focus{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12)}.exclusao-confirmacao-label input.confirmacao-correta{border-color:#12b76a;background:#f0fdf4;box-shadow:0 0 0 3px rgba(18,183,106,.12)}
.exclusao-confirmacao-ajuda{display:block;max-width:500px;margin:6px auto 0;text-align:left;color:#667085}
.exclusao-definitiva-acoes .btn.danger:disabled{background:#e4e7ec!important;border-color:#e4e7ec!important;color:#98a2b3!important;cursor:not-allowed;box-shadow:none}
.exclusao-definitiva-acoes .btn.danger:not(:disabled){color:#fff!important}
@media(max-width:640px){.exclusao-definitiva-card{padding:30px 18px 22px;max-height:calc(100vh - 20px)}.exclusao-resumo-topo{flex-direction:column;gap:4px}.exclusao-definitiva-acoes{flex-direction:column-reverse}.exclusao-definitiva-acoes .btn{width:100%;min-height:44px}.exclusao-pessoa-identificacao,.exclusao-resumo,.exclusao-confirmacao-label,.exclusao-confirmacao-ajuda{max-width:none}}

/* v213 — reforço responsivo global do SIGAS */
html{max-width:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden}.main,.content,.page-content,.panel,.hero{min-width:0}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:720px}.form input,.form select,.form textarea,input,select,textarea{max-width:100%;box-sizing:border-box}img,video,iframe{max-width:100%}.btn{max-width:100%;white-space:normal;text-align:center;justify-content:center}
@media(max-width:1200px){.content{padding-left:18px!important;padding-right:18px!important}.hero{gap:14px}.panel{max-width:100%}}
@media(max-width:900px){.hero{flex-wrap:wrap}.grid-2,.grid-3,.grid-4,.cards,.modules{grid-template-columns:1fr!important}.table th,.table td{white-space:nowrap}.panel{border-radius:15px}.content{padding:14px!important}}
@media(max-width:640px){.hero{padding:17px!important}.hero h1{font-size:23px!important}.panel{padding:14px!important}.btn{min-height:42px}.topbar{padding-left:12px!important;padding-right:12px!important}.content{padding:10px!important}}

/* v217 — formulários de pessoas: pesquisa de município, anexos e responsividade */
.usuario-form-page input[list] { background-image: linear-gradient(45deg,transparent 50%,#557166 50%),linear-gradient(135deg,#557166 50%,transparent 50%); background-position: calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:38px; }
.usuario-form-page input[readonly] { background:#f3f8f5; color:#244538; font-weight:700; cursor:not-allowed; }
.field-help { display:block; margin-top:6px; color:#667c73; font-size:.78rem; line-height:1.35; font-weight:500; }
.required-mark-static { color:#d92d20; font-weight:900; }
.docs-box { border:1px solid #d8e5df; border-radius:14px; padding:14px; background:#fbfdfc; transition:.2s ease; }
.docs-box:focus-within { border-color:#079447; box-shadow:0 0 0 3px rgba(7,148,71,.11); }
.docs-box-invalid { border-color:#d92d20 !important; box-shadow:0 0 0 3px rgba(217,45,32,.10) !important; background:#fff8f7; }
@media (max-width: 1100px){
  .usuario-form-page .grid-5,.usuario-form-page .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .usuario-form-page .grid-2{grid-template-columns:1fr!important}
}
@media (max-width: 720px){
  .usuario-form-page{padding:0!important}
  .usuario-form-page .usuarios-head{align-items:flex-start;gap:12px;padding:18px!important}
  .usuario-form-page .usuarios-head h2{font-size:1.35rem}
  .usuario-form-page .panel{padding:16px!important;border-radius:16px!important}
  .usuario-form-page .form-grid,.usuario-form-page .grid-5,.usuario-form-page .grid-3,.usuario-form-page .grid-2,.usuario-form-page .grid-1{grid-template-columns:1fr!important;gap:12px!important}
  .usuario-form-page .grid-checks{grid-template-columns:1fr 1fr!important}
  .usuario-form-page input,.usuario-form-page select,.usuario-form-page textarea{font-size:16px!important;min-height:46px;width:100%!important;max-width:100%!important}
  .usuario-form-page .form-actions-line{position:sticky;bottom:0;z-index:10;background:rgba(255,255,255,.96);padding:12px 0 4px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .usuario-form-page .form-actions-line .btn{width:100%;justify-content:center}
}
@media (max-width: 420px){.usuario-form-page .grid-checks{grid-template-columns:1fr!important}}
